aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2008-11-15 18:23:17 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2008-11-15 18:23:17 +0100
commita25da5c491ac2a3820be7aaa7fa507fe7ca8b354 (patch)
treed8162d4d8d6aaf5f129e203b6bc9d3ccead522f7
parent9e167064390ce3bff7425be5c002ed3f1e7eb1d1 (diff)
parent828ced10e6eaf2048a8fd7ee7263807fab9d784d (diff)
downloadopenembedded-a25da5c491ac2a3820be7aaa7fa507fe7ca8b354.tar.gz
Merge commit 'origin/org.openembedded.dev' into holger/openmoko-merges
-rw-r--r--classes/autotools.bbclass2
-rw-r--r--classes/base.bbclass4
-rw-r--r--classes/cpan.bbclass3
-rw-r--r--classes/kernel.bbclass7
-rw-r--r--classes/package.bbclass6
-rw-r--r--classes/src_distribute.bbclass4
-rw-r--r--conf/bitbake.conf7
-rw-r--r--conf/checksums.ini5522
-rw-r--r--conf/distro/angstrom-2008.1.conf3
-rw-r--r--conf/distro/include/angstrom-2007-for-openmoko.inc2
-rw-r--r--conf/distro/include/angstrom-2008-preferred-versions.inc4
-rw-r--r--conf/distro/include/angstrom.inc26
-rw-r--r--conf/distro/include/moko-autorev.inc7
-rw-r--r--conf/distro/include/preferred-om-2008-versions.inc8
-rw-r--r--conf/distro/include/preferred-xorg-versions-X11R7.4-updates.inc3
-rw-r--r--conf/distro/include/preferred-xorg-versions-X11R7.4.inc182
-rw-r--r--conf/distro/include/sane-srcrevs.inc37
-rw-r--r--conf/distro/include/slugos.inc3
-rw-r--r--conf/distro/openmoko.conf1
-rw-r--r--conf/distro/unslung.conf1
-rw-r--r--conf/enterprise.conf2
-rw-r--r--conf/machine/beagleboard.conf2
-rw-r--r--conf/machine/epia.conf1
-rw-r--r--conf/machine/include/palm.inc1
-rw-r--r--conf/machine/ixp4xxbe.conf2
-rw-r--r--conf/machine/ixp4xxle.conf2
-rw-r--r--conf/machine/m8050.conf28
-rw-r--r--conf/machine/mx31ads.conf1
-rwxr-xr-xcontrib/angstrom/build-feeds.sh30
-rwxr-xr-xcontrib/angstrom/build-release.sh42
-rw-r--r--contrib/angstrom/source-mirror.txt5
-rw-r--r--contrib/feed-browser/includes/functions.inc4
-rwxr-xr-xcontrib/python/generate-manifest-2.5.py6
-rwxr-xr-xcontrib/weekly-changelog-report.py12
-rw-r--r--packages/angstrom/angstrom-x11-base-depends.bb2
-rw-r--r--packages/avahi/avahi_0.6.23.bb5
-rw-r--r--packages/binutils/binutils-2.19/110-arm-eabi-conf.patch22
-rw-r--r--packages/binutils/binutils-2.19/binutils-2.16.1-e300c2c3.patch19
-rw-r--r--packages/binutils/binutils-2.19/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch39
-rw-r--r--packages/binutils/binutils-2.19/binutils-uclibc-100-uclibc-conf.patch34
-rw-r--r--packages/binutils/binutils-2.19/binutils-uclibc-300-001_ld_makefile_patch.patch50
-rw-r--r--packages/binutils/binutils-2.19/binutils-uclibc-300-006_better_file_error.patch43
-rw-r--r--packages/binutils/binutils-2.19/binutils-uclibc-300-012_check_ldrunpath_length.patch47
-rw-r--r--packages/binutils/binutils-2.19/binutils-uclibc-gas-needs-libm.patch38
-rw-r--r--packages/binutils/binutils-cross-sdk_2.19.bb3
-rw-r--r--packages/binutils/binutils-cross_2.19.bb4
-rw-r--r--packages/binutils/binutils_2.18.50.0.7.bb2
-rw-r--r--packages/binutils/binutils_2.19.bb18
-rw-r--r--packages/bluez/bluez-gnome_0.26.bb4
-rw-r--r--packages/bluez/bluez-utils_3.36.bb3
-rw-r--r--packages/cacao/cacao-native_0.99.3.bb6
-rw-r--r--packages/cairo/libsvg-cairo/libsvg-cairo-libtool.diff27
-rw-r--r--packages/cairo/libsvg-cairo_20050601.bb3
-rw-r--r--packages/classpath/classpath-initial_0.93.bb7
-rw-r--r--packages/classpath/files/miscompilation-0.93.patch13
-rw-r--r--packages/clucene/clucene-core_0.9.21b.bb (renamed from packages/clucene/clucene-core_0.9.21.bb)5
-rw-r--r--packages/debianutils/debianutils_2.30.bb5
-rw-r--r--packages/dropbear/dropbear.inc7
-rw-r--r--packages/dsplink/cmemk.inc55
-rw-r--r--packages/dsplink/codec-engine_2.21.bb100
-rw-r--r--packages/dsplink/dsplink.inc1
-rw-r--r--packages/dsplink/files/cmemk-fix-class-device-api.diff89
-rw-r--r--packages/dsplink/lpm.inc54
-rw-r--r--packages/dsplink/ti-cmemk-module_2.21.bb78
-rw-r--r--packages/dsplink/ti-lpm-module_2.21.bb74
-rw-r--r--packages/dsplink/ti-paths.inc16
-rw-r--r--packages/e17/e-wm/enlightenment_start.oe1
-rw-r--r--packages/e17/e-wm/gsm-segfault-fix.patch28
-rw-r--r--packages/e17/e-wm_svn.bb86
-rw-r--r--packages/e17/exquisite/exquisite-init40
-rw-r--r--packages/e17/exquisite_svn.bb26
-rw-r--r--packages/e17/illume-theme-illume_svn.bb33
-rw-r--r--packages/e17/illume/gsm-segfault.patch27
-rw-r--r--packages/e17/illume_svn.bb58
-rw-r--r--packages/efl1/ecore_svn.bb5
-rw-r--r--packages/efl1/edje_svn.bb7
-rw-r--r--packages/efl1/eet-native_svn.bb2
-rw-r--r--packages/efl1/eet_svn.bb2
-rw-r--r--packages/efl1/eina-native_svn.bb6
-rw-r--r--packages/efl1/eina_svn.bb8
-rw-r--r--packages/evince/evince_2.24.1.bb18
-rw-r--r--packages/ffmpeg/ffmpeg.inc2
-rw-r--r--packages/ffmpeg/ffmpeg_0.4.9-pre1.bb2
-rw-r--r--packages/ffmpeg/ffmpeg_git.bb2
-rw-r--r--packages/ffmpeg/ffmpeg_svn.bb2
-rw-r--r--packages/findutils/findutils-4.2.29/mkinstalldirs.patch14
-rw-r--r--packages/findutils/findutils-native_4.4.bb9
-rw-r--r--packages/findutils/findutils.inc2
-rw-r--r--packages/findutils/findutils_4.2.29.bb7
-rw-r--r--packages/findutils/findutils_4.4.bb13
-rw-r--r--packages/freesmartphone/frameworkd-devel_git.bb11
-rw-r--r--packages/freesmartphone/frameworkd_git.bb2
-rw-r--r--packages/freesmartphone/zhone_git.bb2
-rw-r--r--packages/gcc/gcc-3.4.4.inc1
-rw-r--r--packages/gcc/gcc-3.4.4/gcc-posix.patch11
-rw-r--r--packages/gcc/gcc-3.4.6.inc1
-rw-r--r--packages/gcc/gcc-3.4.6/gcc-posix.patch11
-rw-r--r--packages/gcc/gcc-cross-sdk_3.4.4.bb2
-rw-r--r--packages/gcc/gcc-cross_3.4.4.bb2
-rw-r--r--packages/gcc/gcc-native_3.4.4.bb2
-rw-r--r--packages/gcc/gcc-native_3.4.6.bb2
-rw-r--r--packages/gcc/gcc_3.4.4.bb2
-rw-r--r--packages/gdal/files/gdal_config.patch61
-rw-r--r--packages/gdal/gdal_1.5.2.bb18
-rw-r--r--packages/glib-2.0/files/atomic-thumb.patch12
-rw-r--r--packages/glib-2.0/glib-2.0-2.18.1/atomic-thumb.patch42
-rw-r--r--packages/glib-2.0/glib-2.0-native_2.16.1.bb3
-rw-r--r--packages/glib-2.0/glib-2.0-native_2.18.0.bb3
-rw-r--r--packages/glib-2.0/glib-2.0_2.16.4.bb2
-rw-r--r--packages/glib-2.0/glib-2.0_2.18.1.bb1
-rw-r--r--packages/glibc/files/march-i686.patch38
-rw-r--r--packages/glibc/glibc-initial_2.2.5.bb2
-rw-r--r--packages/glibc/glibc_2.2.5.bb4
-rw-r--r--packages/glibc/glibc_2.6.1.bb3
-rw-r--r--packages/gloox/gloox/gloox-fix-pc.diff10
-rw-r--r--packages/gloox/gloox_0.8.9.bb3
-rw-r--r--packages/gnash/gnash-minimal.inc3
-rw-r--r--packages/gnash/gnash-minimal_0.8.2.bb2
-rw-r--r--packages/gnash/gnash-minimal_cvs.bb2
-rw-r--r--packages/gnash/gnash.inc6
-rw-r--r--packages/gnash/gnash_0.8.0.bb2
-rw-r--r--packages/gnash/gnash_0.8.1.bb2
-rw-r--r--packages/gnash/gnash_0.8.2.bb2
-rw-r--r--packages/gnash/gnash_0.8.3.bb2
-rw-r--r--packages/gnome/gnome-desktop_2.24.0.bb2
-rw-r--r--packages/gnome/gnome-games_2.24.0.bb204
-rw-r--r--packages/gnome/gnome-python-desktop_2.23.0.bb9
-rw-r--r--packages/gnome/gnome-python_2.22.1.bb21
-rw-r--r--packages/gnome/pyorbit_2.14.3.bb17
-rw-r--r--packages/gnome/pyorbit_2.24.0.bb25
-rw-r--r--packages/gnumeric/gnumeric_1.8.3.bb2
-rw-r--r--packages/gnuradio/gnuradio.inc11
-rw-r--r--packages/gnuradio/gnuradio/gnuradio-neon.patch943
-rw-r--r--packages/gnuradio/gnuradio_svn.bb5
-rw-r--r--packages/gpe-soundbite/gpe-soundbite_1.0.6.bb2
-rw-r--r--packages/gpephone/libchenabler_0.1.bb2
-rw-r--r--packages/gpephone/libgemwidget/libgemwidget-fixup.diff43
-rw-r--r--packages/gpephone/libgemwidget_1.0.bb2
-rw-r--r--packages/gpephone/libim_0.2.bb2
-rw-r--r--packages/gpephone/liblipsevent_0.1.bb2
-rw-r--r--packages/gpephone/libmsgenabler_1.0.bb2
-rw-r--r--packages/gstreamer/gst-meta-base_0.10.bb20
-rw-r--r--packages/gstreamer/gst-plugins-ugly_0.10.7.bb2
-rw-r--r--packages/gstreamer/gst-plugins.inc4
-rw-r--r--packages/gstreamer/gstreamer/registry-do-not-look-into-debug-dirs.patch39
-rw-r--r--packages/gstreamer/gstreamer_0.10.17.bb5
-rw-r--r--packages/guile/guile_1.8.5.bb4
-rw-r--r--packages/hal/hal-0.5.11/fix-configure.diff22
-rw-r--r--packages/hal/hal_0.5.11.bb14
-rw-r--r--packages/ica/ica-bin_10.6.bb29
-rw-r--r--packages/icu/icu_3.6.bb7
-rw-r--r--packages/images/beagleboard-demo-image.bb2
-rw-r--r--packages/images/fso-console-image.bb11
-rw-r--r--packages/images/fso-illume-image.bb82
-rw-r--r--packages/images/fso-image-nox.bb113
-rw-r--r--packages/images/fso-image.bb81
-rw-r--r--packages/images/x11-sato-image.bb4
-rwxr-xr-xpackages/initscripts/initscripts-1.0/bootmisc.sh6
-rwxr-xr-xpackages/initscripts/initscripts-1.0/checkroot.sh2
-rw-r--r--packages/initscripts/initscripts_1.0.bb2
-rw-r--r--packages/ipython/ipython_0.9.1.bb15
-rw-r--r--packages/libmailwrapper/libmailwrapper_1.2.4.bb5
-rw-r--r--packages/libserial/libserial_0.5.2.bb13
-rw-r--r--packages/libtorrent/libtorrent_0.12.3.bb16
-rw-r--r--packages/libtorrent/rtorrent_0.8.3.bb11
-rw-r--r--packages/libxine/libxine-fb_1.0.bb5
-rw-r--r--packages/libxine/libxine-x11_1.0.bb5
-rw-r--r--packages/libxine/libxine_1.1.0.bb5
-rw-r--r--packages/linphone/linphone-1.6.0/linphone-speex.diff13
-rw-r--r--packages/linphone/linphone_1.6.0.bb3
-rw-r--r--packages/linux-libc-headers/linux-libc-headers.inc2
-rw-r--r--packages/linux/linux-2.6.25/m8050/defconfig1009
-rw-r--r--packages/linux/linux-2.6.25/m8050/m8050.diff479085
-rw-r--r--packages/linux/linux-2.6.25/m8050/update-mach-types.diff13
-rw-r--r--packages/linux/linux-hackndev-2.6_git.bb9
-rw-r--r--packages/linux/linux-handhelds-2.6-2.6.21/gcc4x-limits.patch10
-rw-r--r--packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb3
-rw-r--r--packages/linux/linux-omap/0001-Implement-downsampling-with-debugs.patch138
-rw-r--r--packages/linux/linux-omap/0001-Removed-resolution-check-that-prevents-scaling-when.patch26
-rw-r--r--packages/linux/linux-omap/0003-DSS-Documentation-for-OMAP2-3-display-subsystem.patch259
-rw-r--r--packages/linux/linux-omap/0004-DSS-New-display-subsystem-driver-for-OMAP2-3.patch9217
-rw-r--r--packages/linux/linux-omap/0005-DSS-OMAPFB-fb-driver-for-new-display-subsystem.patch2850
-rw-r--r--packages/linux/linux-omap/0006-DSS-Add-generic-DVI-panel.patch219
-rw-r--r--packages/linux/linux-omap/0007-DSS-support-for-Beagle-Board.patch184
-rw-r--r--packages/linux/linux-omap/0008-DSS-BEAGLE-Enable-DSS-in-beagle-defconfig.patch462
-rw-r--r--packages/linux/linux-omap/0009-DSS-Sharp-LS037V7DW01-LCD-Panel-driver.patch155
-rw-r--r--packages/linux/linux-omap/0009-DSS-support-for-OMAP3-SDP-board.patch441
-rw-r--r--packages/linux/linux-omap/0010-DSS-Support-for-OMAP3-SDP-board.patch296
-rw-r--r--packages/linux/linux-omap/0011-DSS-Support-for-OMAP3-EVM-board.patch288
-rw-r--r--packages/linux/linux-omap/beagleboard/defconfig232
-rw-r--r--packages/linux/linux-omap/evm-mcspi-ts.diff132
-rw-r--r--packages/linux/linux-omap/fix-asoc.diff130
-rw-r--r--packages/linux/linux-omap/fix-clkrate-programming.diff57
-rw-r--r--packages/linux/linux-omap/fix-mmc.diff39
-rw-r--r--packages/linux/linux-omap/mru-add-clk-get-parent.diff32
-rw-r--r--packages/linux/linux-omap/mru-make-dpll4-m4-ck-programmable.diff19
-rw-r--r--packages/linux/linux-omap/omap3evm/omap3evm-dss2.diff443
-rw-r--r--packages/linux/linux-omap/omap3evm/omap3evm-lcd-redtint.diff66
-rw-r--r--packages/linux/linux-omap_git.bb25
-rw-r--r--packages/linux/linux-rp-2.6.24/defconfig-tosa1
-rw-r--r--packages/linux/linux-rp_2.6.24.bb4
-rw-r--r--packages/linux/linux_2.6.25.bb3
-rw-r--r--packages/madplay/madplay_0.15.2b.bb1
-rw-r--r--packages/meta/meta-toolchain-fso.bb7
-rw-r--r--packages/meta/meta-toolchain-opie.bb7
-rw-r--r--packages/mono/mono_1.2.6.inc1
-rw-r--r--packages/mozilla/fennec/mozconfig5
-rw-r--r--packages/mozilla/fennec_hg.bb8
-rw-r--r--packages/mozilla/firefox-3.0.1/mozconfig1
-rw-r--r--packages/mozilla/firefox.inc32
-rw-r--r--packages/mozilla/firefox_3.0.1.bb2
-rw-r--r--packages/mozilla/firefox_3.1b1.bb2
-rw-r--r--packages/mozilla/minimo_cvs.bb31
-rw-r--r--packages/mplayer/mplayer_0.0+1.0rc1.bb7
-rw-r--r--packages/mplayer/mplayer_0.0+1.0rc2.bb11
-rw-r--r--packages/mplayer/mplayer_svn.bb10
-rw-r--r--packages/mt-daapd/mt-daapd.inc3
-rw-r--r--packages/mt-daapd/mt-daapd_0.2.1.1.bb2
-rw-r--r--packages/mt-daapd/mt-daapd_0.2.2.bb2
-rw-r--r--packages/mt-daapd/mt-daapd_0.2.3.bb2
-rw-r--r--packages/musicpd/mpd-alsa_0.11.5.bb5
-rw-r--r--packages/musicpd/mpd-alsa_svn.bb3
-rw-r--r--packages/musicpd/mpd_svn.bb5
-rw-r--r--packages/mythtv/mythtv.inc3
-rw-r--r--packages/mythtv/mythtv_0.18.1.bb2
-rw-r--r--packages/mythtv/mythtv_0.20.bb2
-rw-r--r--packages/net-snmp/net-snmp_5.4.1.bb4
-rw-r--r--packages/netbase/netbase/palmt650/interfaces22
-rw-r--r--packages/numptyphysics/numptyphysics/faster.patch22
-rw-r--r--packages/numptyphysics/numptyphysics/keyb.patch189
-rw-r--r--packages/numptyphysics/numptyphysics/keyb.pngbin0 -> 2571 bytes
-rw-r--r--packages/numptyphysics/numptyphysics/next.pngbin0 -> 7054 bytes
-rw-r--r--packages/numptyphysics/numptyphysics/numptyphysics.desktop9
-rw-r--r--packages/numptyphysics/numptyphysics/replay_off.patch166
-rw-r--r--packages/numptyphysics/numptyphysics_svn.bb31
-rw-r--r--packages/opencv/opencv_1.0.0.bb2
-rw-r--r--packages/openjdk-langtools/files/0.0+jdk7-b31-build-fix.patch114
-rw-r--r--packages/openjdk-langtools/openjdk-javac-native_0.0+jdk7-b31.bb15
-rw-r--r--packages/openjdk-langtools/openjdk-langtools-native_0.0+jdk7-b31.bb45
-rw-r--r--packages/openmax/libomxil-bellagio_0.9.0.bb5
-rw-r--r--packages/opie-cardapplet/opie-cardapplet_1.2.4.bb10
-rw-r--r--packages/opkg/files/reduce-nogpg-noise.patch8
-rw-r--r--packages/perl/perl-5.8.8/native-perlinc.patch14
-rw-r--r--packages/perl/perl-native_5.8.8.bb19
-rw-r--r--packages/perl/perl_5.8.8.bb6
-rw-r--r--packages/phoneme/phoneme-advanced.inc6
-rw-r--r--packages/php/php_5.2.6.bb6
-rw-r--r--packages/pimlico/contacts-0.8/contacts-util-fixup.diff13
-rw-r--r--packages/pimlico/contacts_0.8.bb1
-rw-r--r--packages/pimlico/tasks-0.13/libtool.diff10
-rw-r--r--packages/pimlico/tasks_0.13.bb2
-rw-r--r--packages/podget/podget-0.5.8/busybox_df.patch11
-rw-r--r--packages/podget/podget_0.5.8.bb16
-rw-r--r--packages/pulseaudio/libatomics-ops_1.2.bb2
-rw-r--r--packages/pulseaudio/pulseaudio-meta_0.9.10.bb2
-rw-r--r--packages/python/python-2.5-manifest.inc6
-rw-r--r--packages/python/python-ecore_svn.bb2
-rw-r--r--packages/python/python-edje_svn.bb2
-rw-r--r--packages/python/python-evas_svn.bb2
-rw-r--r--packages/python/python-fugrep_0.50.bb11
-rw-r--r--packages/python/python-fusil_1.1.bb21
-rw-r--r--packages/python/python-pygame-1.8.1/Setup1
-rw-r--r--packages/python/python-pygame_1.8.1.bb8
-rw-r--r--packages/python/python-twisted_2.5.0.bb2
-rw-r--r--packages/python/python_2.5.2.bb2
-rw-r--r--packages/qemu/qemu-0.9.1+svn/fix_dirent_h_include.patch12
-rw-r--r--packages/qemu/qemu_svn.bb5
-rw-r--r--packages/qi/qi.inc46
-rw-r--r--packages/qi/qi_git.bb7
-rw-r--r--packages/qt4/qt4_arch.inc2
-rw-r--r--packages/scummvm/scummvm.inc2
-rw-r--r--packages/scummvm/scummvm_0.6.0.bb3
-rw-r--r--packages/scummvm/scummvm_0.6.1b.bb3
-rw-r--r--packages/scummvm/scummvm_0.9.0.bb9
-rw-r--r--packages/scummvm/scummvm_0.9.1.bb9
-rw-r--r--packages/shared-mime-info/shared-mime-info_0.20.bb9
-rw-r--r--packages/shared-mime-info/shared-mime-info_0.22.bb10
-rw-r--r--packages/squeezeclient/squeezeslave_svn.bb5
-rw-r--r--packages/swfdec/swfdec-mozilla_0.7.2.bb5
-rw-r--r--packages/swfdec/swfdec-mozilla_0.7.4.bb5
-rw-r--r--packages/swfdec/swfdec_0.4.0.bb4
-rw-r--r--packages/swfdec/swfdec_0.7.2.bb4
-rw-r--r--packages/sysvinit/sysvinit/openmoko/rc181
-rw-r--r--packages/sysvinit/sysvinit/openmoko/rcS-default25
-rw-r--r--packages/sysvinit/sysvinit_2.86.bb4
-rw-r--r--packages/tasks/task-cli-tools.bb10
-rw-r--r--packages/tasks/task-fso-toolchain-host.bb9
-rw-r--r--packages/tasks/task-fso-toolchain-target.bb69
-rw-r--r--packages/tasks/task-openmoko-feed.bb12
-rw-r--r--packages/tasks/task-opie-all.bb4
-rw-r--r--packages/tasks/task-proper-tools.bb37
-rw-r--r--packages/tasks/task-python-everything.bb4
-rw-r--r--packages/tasks/task-sdk-base.bb2
-rw-r--r--packages/tasks/task-sdk-extra.bb2
-rw-r--r--packages/tasks/task-sdk-opie.bb4
-rw-r--r--packages/tasks/task-x11-illume.bb9
-rw-r--r--packages/tasks/task-x11.bb2
-rw-r--r--packages/telepathy/empathy_2.24.0.bb2
-rw-r--r--packages/totem/totem-2.24.2/gst-detect.diff28
-rw-r--r--packages/u-boot/u-boot-omap3_git.bb6
-rw-r--r--packages/u-boot/u-boot-openmoko-devel_git.bb8
-rw-r--r--packages/u-boot/u-boot-openmoko.inc4
-rw-r--r--packages/vala-terminal/vala-terminal_git.bb13
-rw-r--r--packages/vala/files/HACK-work-around-vte-bug.patch15
-rw-r--r--packages/vala/vala-native_0.1.5.bb5
-rw-r--r--packages/vala/vala-native_0.3.5.bb5
-rw-r--r--packages/vala/vala-native_0.5.1.bb (renamed from packages/vala/vala-native_0.4.0.bb)0
-rw-r--r--packages/vala/vala_0.1.5.bb15
-rw-r--r--packages/vala/vala_0.3.5.bb5
-rw-r--r--packages/vala/vala_0.4.0.bb4
-rw-r--r--packages/vala/vala_0.5.1.bb8
-rw-r--r--packages/vlc/vlc-davinci_0.8.6h.bb5
-rw-r--r--packages/vlc/vlc-gpe_0.7.2.bb5
-rw-r--r--packages/vlc/vlc-gpe_0.8.1.bb5
-rw-r--r--packages/vlc/vlc-gpe_0.8.4.bb5
-rw-r--r--packages/vlc/vlc_0.9.2.bb5
-rw-r--r--packages/vlc/vlc_0.9.4.bb5
-rw-r--r--packages/vnc/libvncserver/autoreconf.patch113983
-rw-r--r--packages/vnc/libvncserver_0.9.1.bb3
-rw-r--r--packages/vnc/tightvnc/Vncviewer66
-rw-r--r--packages/vnc/tightvnc_1.3.9.bb18
-rw-r--r--packages/webkit/webkit-gtk_svn.bb8
-rw-r--r--packages/xerces-c/xerces-c_2.8.0.bb2
-rw-r--r--packages/xfce/exo/exo-no-tests.patch14
-rw-r--r--packages/xfce/exo_0.3.4.bb4
-rw-r--r--packages/xfce/thunar_0.9.0.bb5
-rw-r--r--packages/xfce/xfdesktop/fix-segfault-when-removable-icons-are-disabled.patch16
-rw-r--r--packages/xfce/xfdesktop_4.4.2.bb5
-rw-r--r--packages/xkeyboard-config/xkeyboard-config_1.4.bb (renamed from packages/xkeyboard-config/xkeyboard-config_1.3.bb)0
-rw-r--r--packages/xmms-embedded/xmms-embedded_20040327.bb5
-rw-r--r--packages/xorg-app/xcursorgen-native_1.0.2.bb7
-rw-r--r--packages/xorg-app/xwd_1.0.2.bb5
-rw-r--r--packages/xorg-app/xwininfo_1.0.4.bb5
-rw-r--r--packages/xorg-data/xcursor-themes_1.0.1.bb4
-rw-r--r--packages/xorg-driver/xf86-input-evdev_2.0.4.bb4
-rw-r--r--packages/xorg-driver/xf86-input-joystick_1.3.2.bb4
-rw-r--r--packages/xorg-driver/xf86-input-synaptics_0.15.0.bb4
-rw-r--r--packages/xorg-driver/xf86-input-tslib/01_fix-wrong-value-range-for-the-axises.diff47
-rw-r--r--packages/xorg-driver/xf86-input-tslib/dynamic-xy.patch17
-rw-r--r--packages/xorg-driver/xf86-input-tslib/use-hal-for-device.diff45
-rw-r--r--packages/xorg-driver/xf86-input-tslib_0.0.5.bb12
-rw-r--r--packages/xorg-driver/xf86-video-geode_2.10.1.bb5
-rw-r--r--packages/xorg-driver/xf86-video-glint_1.2.1.bb6
-rw-r--r--packages/xorg-driver/xf86-video-i128_1.3.1.bb4
-rw-r--r--packages/xorg-driver/xf86-video-impact_0.2.0.bb2
-rw-r--r--packages/xorg-driver/xf86-video-intel_2.4.2.bb5
-rw-r--r--packages/xorg-driver/xf86-video-mach64_6.8.0.bb5
-rw-r--r--packages/xorg-driver/xf86-video-mga_1.4.9.bb2
-rw-r--r--packages/xorg-driver/xf86-video-nv_2.1.12.bb4
-rw-r--r--packages/xorg-driver/xf86-video-omapfb_git.bb4
-rw-r--r--packages/xorg-driver/xf86-video-openchrome_0.2.903.bb9
-rw-r--r--packages/xorg-driver/xf86-video-r128_6.8.0.bb4
-rw-r--r--packages/xorg-driver/xf86-video-sunffb_1.2.0.bb2
-rw-r--r--packages/xorg-driver/xf86-video-sunleo_1.2.0.bb2
-rw-r--r--packages/xorg-driver/xf86-video-tga_1.2.0.bb8
-rw-r--r--packages/xorg-driver/xf86-video-vermilion_1.0.1.bb4
-rw-r--r--packages/xorg-driver/xf86-video-vesa/fix-configure-includes.patch13
-rw-r--r--packages/xorg-driver/xf86-video-vesa_2.0.0.bb9
-rw-r--r--packages/xorg-driver/xf86-video-vmware_10.16.5.bb6
-rw-r--r--packages/xorg-driver/xf86-video-wsfb_0.2.1.bb4
-rw-r--r--packages/xorg-driver/xf86-video-xgixp_1.7.99.3.bb6
-rw-r--r--packages/xorg-driver/xorg-driver-common.inc6
-rw-r--r--packages/xorg-lib/diet-x11_1.1.5.bb10
-rw-r--r--packages/xorg-lib/libsm_1.1.0.bb8
-rw-r--r--packages/xorg-lib/libx11/keysymdef_include.patch29
-rw-r--r--packages/xorg-lib/libx11_1.1.5.bb31
-rw-r--r--packages/xorg-lib/libxcursor-native_1.1.9.bb6
-rw-r--r--packages/xorg-lib/libxfixes-native_4.0.3.bb6
-rw-r--r--packages/xorg-lib/libxft_2.1.13.bb20
-rw-r--r--packages/xorg-lib/libxrandr_1.2.3.bb9
-rw-r--r--packages/xorg-lib/libxrender-native_0.9.4.bb6
-rw-r--r--packages/xorg-lib/libxxf86vm_1.0.2.bb8
-rw-r--r--packages/xorg-lib/xtrans_1.0.3.bb2
-rw-r--r--packages/xorg-lib/xtrans_1.0.4.bb2
-rw-r--r--packages/xorg-lib/xtrans_1.1.bb2
-rw-r--r--packages/xorg-lib/xtrans_1.2.1.bb2
-rw-r--r--packages/xorg-lib/xtrans_1.2.bb2
-rw-r--r--packages/xorg-proto/fixesproto-native_4.0.bb7
-rw-r--r--packages/xorg-proto/renderproto-native_0.9.3.bb7
-rw-r--r--packages/xorg-proto/xorg-proto-common.inc2
-rw-r--r--packages/xorg-proto/xproto-native_7.0.13.bb3
-rw-r--r--packages/xorg-proto/xproto_7.0.13.bb6
-rw-r--r--packages/xorg-util/util-macros_1.1.5.bb2
-rw-r--r--packages/xorg-util/util-macros_1.1.6.bb2
-rw-r--r--packages/xorg-xserver/files/xcalibrate-xorg.diff11
-rw-r--r--packages/xorg-xserver/xorg-xserver-common.inc18
-rw-r--r--packages/xorg-xserver/xserver-kdrive_1.4.0.90.bb2
-rw-r--r--packages/xorg-xserver/xserver-xorg-1.5.1/drmfix.patch13
-rw-r--r--packages/xorg-xserver/xserver-xorg-1.5.3/drmfix.patch13
-rw-r--r--packages/xorg-xserver/xserver-xorg-conf/beagleboard/xorg.conf (renamed from packages/xorg-xserver/xserver-xorg/xorg.conf)2
-rw-r--r--packages/xorg-xserver/xserver-xorg-conf/omap3evm/xorg.conf29
-rw-r--r--packages/xorg-xserver/xserver-xorg-conf/xorg.conf0
-rw-r--r--packages/xorg-xserver/xserver-xorg-conf_0.1.bb11
-rw-r--r--packages/xorg-xserver/xserver-xorg_1.2.0.bb4
-rw-r--r--packages/xorg-xserver/xserver-xorg_1.3.0.0.bb4
-rw-r--r--packages/xorg-xserver/xserver-xorg_1.4.2.bb8
-rw-r--r--packages/xorg-xserver/xserver-xorg_1.4.bb4
-rw-r--r--packages/xorg-xserver/xserver-xorg_1.5.1.bb13
-rw-r--r--packages/xorg-xserver/xserver-xorg_1.5.3.bb13
-rw-r--r--packages/xserver-common/files/gta-xorg-fixes.patch29
-rw-r--r--packages/xserver-common/files/xorg-fixes.patch25
-rw-r--r--packages/xserver-common/xserver-common_1.22.bb4
-rw-r--r--packages/xserver-kdrive-common/xserver-kdrive-common/openmoko/Xserver87
-rw-r--r--packages/zaurusd/files/zaurus-hinge.in9
-rw-r--r--packages/zaurusd/zaurusd_svn.bb2
405 files changed, 620576 insertions, 1111 deletions
diff --git a/classes/autotools.bbclass b/classes/autotools.bbclass
index 82b5311ef5..adb57f6cc9 100644
--- a/classes/autotools.bbclass
+++ b/classes/autotools.bbclass
@@ -134,7 +134,7 @@ autotools_do_configure() {
;;
esac
if [ -e ${S}/configure ]; then
- oe_runconf
+ oe_runconf $@
else
oenote "nothing to configure"
fi
diff --git a/classes/base.bbclass b/classes/base.bbclass
index 93a76aa30f..10648e9885 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -758,7 +758,7 @@ def base_get_metadata_svn_revision(d):
def base_get_metadata_git_branch(d):
import os
- branch = os.popen('cd %s; git-branch | grep "^* " | tr -d "* "' % base_get_scmbasepath(d)).read()
+ branch = os.popen('cd %s; git branch | grep "^* " | tr -d "* "' % base_get_scmbasepath(d)).read()
if len(branch) != 0:
return branch
@@ -766,7 +766,7 @@ def base_get_metadata_git_branch(d):
def base_get_metadata_git_revision(d):
import os
- rev = os.popen("cd %s; git-log -n 1 --pretty=oneline --" % base_get_scmbasepath(d)).read().split(" ")[0]
+ rev = os.popen("cd %s; git log -n 1 --pretty=oneline --" % base_get_scmbasepath(d)).read().split(" ")[0]
if len(rev) != 0:
return rev
return "<unknown>"
diff --git a/classes/cpan.bbclass b/classes/cpan.bbclass
index 3ff3f3093d..7b3faa2561 100644
--- a/classes/cpan.bbclass
+++ b/classes/cpan.bbclass
@@ -10,7 +10,8 @@ export PERLCONFIGTARGET = "${@is_target(d)}"
# Env var which tells perl where the perl include files are
export PERL_INC = "${STAGING_LIBDIR}/perl/${@get_perl_version(d)}/CORE"
-export PERL_ARCHLIB = "${STAGING_LIBDIR_NATIVE}/perl/${@get_perl_version(d)}"
+export PERL_LIB = "${STAGING_DATADIR}/perl/${@get_perl_version(d)}"
+export PERL_ARCHLIB = "${STAGING_LIBDIR}/perl/${@get_perl_version(d)}"
cpan_do_configure () {
yes '' | perl Makefile.PL ${EXTRA_CPANFLAGS}
diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass
index 266a89dd9a..a6db6815ce 100644
--- a/classes/kernel.bbclass
+++ b/classes/kernel.bbclass
@@ -91,12 +91,17 @@ kernel_do_compile() {
}
kernel_do_compile[depends] = "${INITRAMFS_TASK}"
-
kernel_do_stage() {
ASMDIR=`readlink include/asm`
mkdir -p ${STAGING_KERNEL_DIR}/include/$ASMDIR
cp -fR include/$ASMDIR/* ${STAGING_KERNEL_DIR}/include/$ASMDIR/
+ # Kernel 2.6.27 moved headers from includes/asm-${ARCH} to arch/${ARCH}/include/asm
+ if [ -e arch/${ARCH}/include/asm/ ] ; then
+ cp -fR arch/${ARCH}/include/asm/* ${STAGING_KERNEL_DIR}/include/$ASMDIR/
+ install -d ${STAGING_KERNEL_DIR}/arch/${ARCH}/include
+ cp -fR arch/${ARCH}/include/* ${STAGING_KERNEL_DIR}/arch/${ARCH}/include/
+ fi
rm -f $ASMDIR ${STAGING_KERNEL_DIR}/include/asm
ln -sf $ASMDIR ${STAGING_KERNEL_DIR}/include/asm
diff --git a/classes/package.bbclass b/classes/package.bbclass
index 4dfd5f0444..8b7d6494ea 100644
--- a/classes/package.bbclass
+++ b/classes/package.bbclass
@@ -459,7 +459,7 @@ python populate_packages () {
for pkg in package_list:
rdepends = explode_deps(bb.data.getVar('RDEPENDS_' + pkg, d, 0) or bb.data.getVar('RDEPENDS', d, 0) or "")
- remstr = "${PN} (= ${DEBPV})"
+ remstr = "${PN} (= ${EXTENDPV})"
if main_is_empty and remstr in rdepends:
rdepends.remove(remstr)
for l in dangling_links[pkg]:
@@ -551,7 +551,9 @@ emit_pkgdata[dirs] = "${PKGDATA_DIR}/runtime"
ldconfig_postinst_fragment() {
if [ x"$D" = "x" ]; then
- [ -x /sbin/ldconfig ] && [ -e /etc/ld.so.conf ] && /sbin/ldconfig
+ if [ -e /etc/ld.so.conf ] ; then
+ [ -x /sbin/ldconfig ] && /sbin/ldconfig
+ fi
fi
}
diff --git a/classes/src_distribute.bbclass b/classes/src_distribute.bbclass
index f20410d0bb..a12473950a 100644
--- a/classes/src_distribute.bbclass
+++ b/classes/src_distribute.bbclass
@@ -8,7 +8,9 @@ python do_distribute_sources () {
import re
for license in licenses:
for entry in license.split("|"):
- for s in (bb.data.getVar('A', d, 1) or "").split():
+ for url in ((bb.data.getVar('SRC_URI', d, 1) or '').split()):
+ bb.fetch.init([url], d)
+ s = bb.fetch.localpath(url, d)
s = re.sub(';.*$', '', s)
cmd = bb.data.getVar('SRC_DISTRIBUTECOMMAND', d, 1)
if not cmd:
diff --git a/conf/bitbake.conf b/conf/bitbake.conf
index edb4e4ddbc..678062ad3b 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -245,6 +245,7 @@ STAGING_DIR = "${TMPDIR}/staging"
STAGING_DIR_NATIVE = "${STAGING_DIR}/${BUILD_SYS}"
STAGING_BINDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_bindir}"
STAGING_BINDIR_CROSS = "${STAGING_DIR_NATIVE}${layout_bindir}/${MULTIMACH_HOST_SYS}"
+STAGING_BINDIR_CROSS_BASEPKG = "${STAGING_DIR_NATIVE}${layout_bindir}/${BASEPKG_TARGET_SYS}"
STAGING_LIBDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_libdir}"
STAGING_INCDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_includedir}"
STAGING_ETCDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_sysconfdir}"
@@ -337,7 +338,7 @@ EXTRA_IMAGEDEPENDS = ""
CROSS_DIR = "${TMPDIR}/cross/${BASE_PACKAGE_ARCH}"
CROSS_DATADIR = "${CROSS_DIR}/share"
-PATH_prepend = "${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${layout_sbindir}:${STAGING_BINDIR_NATIVE}:${CROSS_DIR}/bin:${STAGING_DIR_NATIVE}${layout_base_sbindir}:${STAGING_DIR_NATIVE}${layout_base_bindir}:"
+PATH_prepend = "${STAGING_BINDIR_CROSS}:${STAGING_BINDIR_CROSS_BASEPKG}:${STAGING_DIR_NATIVE}${layout_sbindir}:${STAGING_BINDIR_NATIVE}:${CROSS_DIR}/bin:${STAGING_DIR_NATIVE}${layout_base_sbindir}:${STAGING_DIR_NATIVE}${layout_base_bindir}:"
export PATH
##################################################################
@@ -547,6 +548,9 @@ export STAGING_IDLDIR = "${STAGING_DATADIR}/idl"
# library package naming
AUTO_LIBNAME_PKGS = "${PACKAGES}"
+# Globally toggle certain dependencies
+ENTERPRISE_DISTRO ?= "0"
+
###
### Config file processing
###
@@ -580,6 +584,7 @@ include conf/distro/${DISTRO}.conf
include conf/documentation.conf
require conf/sanity.conf
require conf/abi_version.conf
+require conf/enterprise.conf
##################################################################
# Weak variables (usually to retain backwards compatibility)
diff --git a/conf/checksums.ini b/conf/checksums.ini
index 3f66ef31c5..1bda49ad39 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -2,6 +2,14 @@
md5=c6a2705f6210d8ede50a947b375f1c0b
sha256=b3dbf01563dd60d63cff543ea8cd0c885381e78ecbbab8ff176e46df3f198a88
+[http://www.directfb.org/downloads/Extras/++DFB-1.0.0.tar.gz]
+md5=bfc2c45be253a5f25576587f61faff1b
+sha256=bc5b7766318ef6676defdf0103d1b53b48a3fee6b819fbe2076461caa9f94ec9
+
+[http://www.nopcode.org/0xFFFF/get/0xFFFF-0.1.tar.gz]
+md5=666fce75c418d7b72e2c9dc225fce3be
+sha256=2419708f8e0d7cd6875f4555da9c8a2bf9503374eb7c0bea08fed0841baa4655
+
[http://www.nopcode.org/0xFFFF/get/0xFFFF-0.2.tar.gz]
md5=31cd82986ccfabdf01a6a99aa00f975b
sha256=6d061f8431b76ba1dd09401880c7029e490be8c04cac14ba89db7ea7d0ab77bf
@@ -34,6 +42,10 @@ sha256=f09d4ae3365b876da9f40f49178ab7241bb7e4c1d67db9e2f310f9c76d5834a6
md5=333b0e9328194f28af83c26d3717e4ac
sha256=8930ebfdc8a606d8cb26f073d4700460c3289fb79e943e12948329e17336ca47
+[http://sense.net/zc/free42/42c_skins.tgz]
+md5=24b0e5bbfe21ea9c5a5c589bcc79c0f2
+sha256=ab877846c6caaff32efbf5be6fc5c63b7dec97a2e78c57c525da7705d2052bfc
+
[http://www.amd.com/files/connectivitysolutions/geode/geode_lx/AES_Linux_LX_02.01.0100.tar.gz]
md5=12cb241a9037fffe31ba7c68a48ed614
sha256=a6068b4aa0e2330eed6e4741bad3191dc9ca7d7326f7bfab578ac55e2b8b91a2
@@ -54,6 +66,10 @@ sha256=c456d5c73a57a567440bca5c138a549a21637aa2e4049228b5ba63cf68d75a1a
md5=fe00539dbd185f9f9b7bbf716e063d49
sha256=a22d0b958c9157c6c26c08de05b85ff89302ab2ed8ed772f7ede16ce6b0edfe0
+[http://mirror1.pdaxrom.org/source/src/AtiCore-1.0.1.tar.bz2]
+md5=b3d00a755e3be599b714f1f552db2752
+sha256=8f9124bd76c378ae2a25b6b421ebb8f0a88069da697ac6c96943571d93af8b15
+
[http://www.amd.com/files/connectivitysolutions/geode/geode_lx/Audio_LinuxALSA_5536_1.00.0500.tar.gz]
md5=8bd2a92fb94faa1b4fc43865d40bd988
sha256=a317cd11719659892bdae6ec54ee2e37549d0df7d5bdce02036963acc2ad1486
@@ -66,6 +82,14 @@ sha256=10106d94e0897c18cd5eb0b782c3212371c9785eba78a15f4623335e01dda23c
md5=aaa4907b8877093b9bb11e6cea6b029b
sha256=ec27eff76846ec95cea4e156fbeac951946b6eb1d1b3e590e48c03904a625893
+[http://heanet.dl.sourceforge.net/cheetahtemplate/Cheetah-1.0.tar.gz]
+md5=dfc27276370279a00b6bd7f8d15bf8e5
+sha256=27ea8303e43e6641b72d24bba731c3620b68ec84a34e1c83f69444319d857209
+
+[http://heanet.dl.sourceforge.net/cheetahtemplate/Cheetah-2.0.1.tar.gz]
+md5=7845a2950ea850a13c488a26b61ac50a
+sha256=70b618a03506831f59ba1ff8433907ee8d4ead5fc9f1b3f610d384e08a26938c
+
[http://search.cpan.org/CPAN/authors/id/K/KW/KWILLIAMS/Class-Container-0.12.tar.gz]
md5=6896bdb4464b96ad638e22b0400acbc9
sha256=771206f2b7a916ce0dfb93d82200472beaeb910248482734179bf36808e486b1
@@ -102,6 +126,10 @@ sha256=3cebe0a6894daee3bfa5d9619fc90e7619cb6a77ac1b04d027341cd6033ae989
md5=ad746c49dc89ba6f99df71b17bbb1dc8
sha256=125941749103c08a5263f2ace01aac1533420d2ff6741d2bdde79689e5d02a05
+[http://www.directfb.org/downloads/Old/DirectFB-1.0.0.tar.gz]
+md5=ad746c49dc89ba6f99df71b17bbb1dc8
+sha256=125941749103c08a5263f2ace01aac1533420d2ff6741d2bdde79689e5d02a05
+
[http://www.directfb.org/download/DirectFB/DirectFB-1.1.0.tar.gz]
md5=da30fa2748c7501913c8832a83e654ab
sha256=0ee87256a278079955d78e4f235c15a174afbb507b5434f1966cd3e5f5a3f23a
@@ -110,6 +138,10 @@ sha256=0ee87256a278079955d78e4f235c15a174afbb507b5434f1966cd3e5f5a3f23a
md5=da30fa2748c7501913c8832a83e654ab
sha256=0ee87256a278079955d78e4f235c15a174afbb507b5434f1966cd3e5f5a3f23a
+[http://www.directfb.org/downloads/Old/DirectFB-1.1.1.tar.gz]
+md5=c75255049ca8d5c69afe4db58f603028
+sha256=f12ec5f0864d85268a8d67e4919cb7f3d7f0e06ed6cc278c952f6c342673d931
+
[http://www.directfb.org/downloads/Old/DirectFB-1.2.3.tar.gz]
md5=caea8bcfc9c1d391e56d85e437005a5d
sha256=0875e553a17fe65e920ad810a67aa6faca582c53476d8dc75880a6b3da625d0b
@@ -118,6 +150,10 @@ sha256=0875e553a17fe65e920ad810a67aa6faca582c53476d8dc75880a6b3da625d0b
md5=835e850fddba8d8214d39ddd0646c3e8
sha256=f83af60d53ab4319e5d71a4459cc10464ffd683efabacd6bd773bb807f8771fa
+[http://www.directfb.org/downloads/Old/DirectFB-examples-1.0.0.tar.gz]
+md5=0cdfb4dd248eada3dc35db4f8cf75f8d
+sha256=c54e779a720841126e23d692de85243e23b0d94fb7792a958b96b5bd097a8b85
+
[http://media.djangoproject.com/releases/1.0/Django-1.0.tar.gz]
md5=84d0490e4126f31d1c23f640e1e86f2f
sha256=4c780b9e2906944ce02a9325b15f480d2bd4c0b12137f752aa4800c0f8563acf
@@ -138,14 +174,26 @@ sha256=9ad5a063bac80f3e77a179c91b7ea4490181640c8c1893292fdc6f2d92f40406
md5=d119f0c6c12787a8d5b255208c3c74c5
sha256=fb707b2026de62c1de6ce7fb67e9f82d586211ac09c70e81b83631e77cb47fd1
+[http://search.cpan.org/CPAN/authors/id/R/RM/RMCFARLA/Gtk2-Perl/ExtUtils-Depends-0.205.tar.gz]
+md5=02c22a93ec9efb8e457764114ce24eb4
+sha256=e098bfb3a50b0629434011a9b56314c9045c09fac7e5d06bf57d43ffd53c1918
+
[http://search.cpan.org/CPAN/authors/id/K/KW/KWILLIAMS/ExtUtils-ParseXS-2.16.tar.gz]
md5=c64fddf17ee2b27d8a90ceb455c3e570
sha256=1f8504c7f08d2d59c71a70915fc834a285b99587444ee33e23ee3f135c071da0
+[http://search.cpan.org/CPAN/authors/id/R/RM/RMCFARLA/Gtk2-Perl/ExtUtils-PkgConfig-1.07.tar.gz]
+md5=a8cf945d09c6458cb27228218e9a2f45
+sha256=8416e162d6fc921f14a61c8905e9f9a28dc25e67e1c71b75574360a13f0c28c7
+
[http://downloads.sourceforge.net/fnorb/Fnorb-1.3.tar.gz]
md5=7de1500c7ef6592a603890b45e23261b
sha256=d4380ab7fa8b8a9f564592b4e07c96117abd2d3f677b8a73c824cf4f904aa294
+[http://heanet.dl.sourceforge.net/fnorb/Fnorb-1.3.tar.gz]
+md5=7de1500c7ef6592a603890b45e23261b
+sha256=d4380ab7fa8b8a9f564592b4e07c96117abd2d3f677b8a73c824cf4f904aa294
+
[http://cheeseshop.python.org/packages/source/F/FormEncode/FormEncode-0.4.tar.gz]
md5=797852a19505f7d919db96dd994d0484
sha256=2c0de0243ce1853bf62ed9b2da122472b6682a117843af0cce4b4cf9588194ff
@@ -158,6 +206,10 @@ sha256=e6a0a5b674c4803bfd1ffda9660c29f4399294623ed095b0d1c554367c7db73c
md5=095b9f21c03204cc13f7f249e8866cd9
sha256=ffae146dc20458698acf5ccc384dc32317cea1df0c95b44b5d47cca8b26bc986
+[http://www.j-raedler.de/media/Software/FuGrep-0.50.zip]
+md5=83b738d805e17c226f43bbac453a0631
+sha256=14b0fb8ce8a97a0bf7d8f5be57f6bb67dc9e5273f1f465f3babe994c44db3d87
+
[http://ftp.gnome.org/pub/GNOME/sources/GConf/2.6/GConf-2.6.1.tar.bz2]
md5=194fab4e2e87c7ae3c7fea926fd281bc
sha256=31d894960e0d2eba8fa2746e4fde31983a1e49dc856a880adb59d5f251a690cf
@@ -170,10 +222,26 @@ sha256=fffcf07aba1ef5aef03defc88449f6ae0929813e9fcfda65c0d12d7b5c765248
md5=de859c386a1311d386b7080f4eb5c137
sha256=89eb9c69c5637e5b40f1bcb6f33ef07ff6b25841677d84ec2fd455ce741612b7
+[http://gnosis.cx/download/Gnosis_Utils.More/Gnosis_Utils-1.2.2.tar.gz]
+md5=729984e5858fa626359a8d6447a24bae
+sha256=5673927f18790511f2a01004a51110e167f7950e7accf9e1bc6832a4bfed4feb
+
+[http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/HTML-Mason-1.35.tar.gz]
+md5=c09f77e2af500b51d22e0238c0534994
+sha256=01c75ebc523b77b88d5754fa93a283eeff77bcf799536db8697b61daf42f36bd
+
[http://gallium.prg.dtu.dk/HVSC/random/HVSC_45-all-of-them.rar]
md5=5394dac412dbe34d2dfe63cb91bdce8d
sha256=6068499eeb3aad19d2f860390c65496cf38c5f5e5b54422db6ec2f67abbb8d10
+[ftp://download2.citrix.com/FILES/en/products/Linux10/ICAClient-10.6-1.i386.rpm]
+md5=f71aa1956ce18508d2438ebae2ad507c
+sha256=d3d77f54064f6b2df7ff3bf6a01e1f0b9d0e2088f31d69ba6b8e07bd587cb4f8
+
+[http://heanet.dl.sourceforge.net/imdbpy/IMDbPY-3.1.tar.gz]
+md5=90c44c69a6fb7184c483f344909c4ed7
+sha256=dd88d2f2b33855588471b6e60814c82136a2ca6d67260924f79d840d10a59eb4
+
[http://search.cpan.org/CPAN/authors/id/T/TO/TOMHUGHES/IO-Zlib-1.04.tar.gz]
md5=1abf9e6161cc6c52ccd4c629e32e582e
sha256=8401b31d22605e787edef75025eb048b2b3cfaee92ed8358bdcaedca5761f7ea
@@ -182,6 +250,10 @@ sha256=8401b31d22605e787edef75025eb048b2b3cfaee92ed8358bdcaedca5761f7ea
md5=3942a55cfc5e6d3b612a46cc1a9515b9
sha256=e6dafb82ddf7730ebe7ae2de0ce158d3052d782780b41a14c4fed304e463632e
+[http://You-Have-To-Download-The-Microcode-Manually-So-Please-Read-ixp4xx-npe_2.3.2.bb-For-Instructions/IPL_ixp400NpeLibrary-2_3_2.zip]
+md5=7cecfaae78431a851bc854264a5ee994
+sha256=31e1c0fb75d1463a6a8badd621d8169e2f8c681d9eb876ff9d5bb261f0e6b451
+
[http://You-Have-To-Download-The-Microcode-Manually-So-Please-Read-ixp4xx-npe_2.4.bb-For-Instructions/IPL_ixp400NpeLibrary-2_4.zip]
md5=9a6dc3846041b899edf9eff8a906fb11
sha256=f764d0554e236357fc55d128a012cb6ac2ceb638023f4af88c8f509511f209fd
@@ -230,6 +302,18 @@ sha256=dbe5d8a0ac16a7953b3b2d34841dabd2b3071a2f66585ff25a538bd2ad1513ca
md5=17a18e398af6c1730f72068022a152aa
sha256=f199f7558e6a071ae1ead06b9207c0819281b6b2094dcef6fc4201a4bdf8854d
+[http://heanet.dl.sourceforge.net/libvncserver/LibVNCServer-0.9.1.tar.gz]
+md5=aa00efc3dabde82fde9509bfbab0aba4
+sha256=0fbda7fc37c1f360bdbeb586e48d6203a5ef56a8cfc3b78887d7d90db683f282
+
+[http://qa.debian.org/watch/sf.php/libvncserver/LibVNCServer-0.9.1.tar.gz]
+md5=aa00efc3dabde82fde9509bfbab0aba4
+sha256=0fbda7fc37c1f360bdbeb586e48d6203a5ef56a8cfc3b78887d7d90db683f282
+
+[http://heanet.dl.sourceforge.net/libvncserver/LibVNCServer-0.9.tar.gz]
+md5=4769d70bcd9d8390afb64c5eddfcd60e
+sha256=0ef94a1857e03e826825c559b5b8f07a4b412112fb9326f5eb694d5216747071
+
[http://kernel.org/pub/linux/libs/pam/pre/library/Linux-PAM-0.79.tar.bz2]
md5=0b89b73970c7d490ad9a13718b74d27b
sha256=5ed480cb76c91c2739ddba87f15437510e58c60dfdd7ead6f469149b2da94bb7
@@ -266,22 +350,46 @@ sha256=3875b7cc85e8e7df81c02a638db6b4a970d1e66a86dad6ebf29a1d19f38f5953
md5=038f261afd091d8fad347d6c66d2833d
sha256=8a5eb39d3b9a3a4219c6d6051328c62bd51e9b53723ee5b42cd66e8672e681b9
+[http://pypi.python.org/packages/source/M/Mako/Mako-0.2.2.tar.gz]
+md5=ffeb24b3ee71b2e6354efad1136898bd
+sha256=858b2ad7850db5e477ab81d7f355f82df33d90e4ed23a235184f380a925f2813
+
[http://search.cpan.org/CPAN/authors/id/T/TE/TELS/math/Math-BigInt-GMP-1.18.tar.gz]
md5=cd17afa7e9e7e9192457f6968d538f3f
sha256=6948117f96cc9754bdbc53d92c48bca02f2de844a271a527b0a27065fcd06d24
+[http://heanet.dl.sourceforge.net/mesa3d/MesaDemos-7.0.2.tar.bz2]
+md5=11a10410bae7be85cf25bc7119966468
+sha256=ce39b26085acd8e5dffa8233618acac2605cc42203bc4f81c6e4504265f0ffaa
+
[http://downloads.sourceforge.net/mesa3d/MesaDemos-7.2.tar.bz2]
md5=22e03dc4038cd63f32c21eb60994892b
sha256=3d73988ad3e87f6084a4593cc6b3aac63aca3e893d3e9409d892a6f51558e4c4
+[http://heanet.dl.sourceforge.net/mesa3d/MesaDemos-7.2.tar.bz2]
+md5=22e03dc4038cd63f32c21eb60994892b
+sha256=3d73988ad3e87f6084a4593cc6b3aac63aca3e893d3e9409d892a6f51558e4c4
+
+[http://heanet.dl.sourceforge.net/mesa3d/MesaGLUT-7.0.2.tar.bz2]
+md5=3a33f8efc8c58a592a854cfc7a643286
+sha256=fa31ca39f00ff92c7da59d9993d0eefb8d901eb8a519743942e523fde120eb6c
+
[http://downloads.sourceforge.net/mesa3d/MesaLib-6.0.1.tar.bz2]
md5=b7f14088c5c2f14490d2739a91102112
sha256=2de039f7abe10569b681ea1d9e21fb65fd0081c8f4db40fb62b332acb11679fb
+[http://heanet.dl.sourceforge.net/mesa3d/MesaLib-6.0.1.tar.bz2]
+md5=b7f14088c5c2f14490d2739a91102112
+sha256=2de039f7abe10569b681ea1d9e21fb65fd0081c8f4db40fb62b332acb11679fb
+
[http://downloads.sourceforge.net/mesa3d/MesaLib-6.5.2.tar.bz2]
md5=e4d894181f1859651658b3704633e10d
sha256=137f50a30461d51eb9af5aac737bc788d536354cf47b26129b97bde6e41fb85f
+[http://heanet.dl.sourceforge.net/mesa3d/MesaLib-6.5.2.tar.bz2]
+md5=e4d894181f1859651658b3704633e10d
+sha256=137f50a30461d51eb9af5aac737bc788d536354cf47b26129b97bde6e41fb85f
+
[http://downloads.sourceforge.net/mesa3d/MesaLib-6.5.tar.bz2]
md5=61beda590bfc5b4a12e979d5f2d70d7a
sha256=dcacf4c18af89b57e66dc7ba39e24c3b74ff6f83b8745bcc1390170a4190eebd
@@ -290,6 +398,18 @@ sha256=dcacf4c18af89b57e66dc7ba39e24c3b74ff6f83b8745bcc1390170a4190eebd
md5=93e6ed7924ff069a4f883b4fce5349dc
sha256=9d4707b556960f6aef14480f91fcd4f868720f64321947ab1b2fd20e85ce7f9e
+[http://heanet.dl.sourceforge.net/mesa3d/MesaLib-7.0.2.tar.bz2]
+md5=93e6ed7924ff069a4f883b4fce5349dc
+sha256=9d4707b556960f6aef14480f91fcd4f868720f64321947ab1b2fd20e85ce7f9e
+
+[http://qa.debian.org/watch/sf.php/mesa3d/MesaLib-7.0.2.tar.bz2]
+md5=93e6ed7924ff069a4f883b4fce5349dc
+sha256=9d4707b556960f6aef14480f91fcd4f868720f64321947ab1b2fd20e85ce7f9e
+
+[http://heanet.dl.sourceforge.net/mesa3d/MesaLib-7.0.3.tar.bz2]
+md5=e6e6379d7793af40a6bc3ce1bace572e
+sha256=ebdf3448eac8abb56bbfc0b7c015efce8e5d88f10ee3123dcc62c1ff47b62d22
+
[http://downloads.sourceforge.net/mesa3d/MesaLib-7.1.tar.bz2]
md5=6bff7f532d16f90f944a400c8bd7074d
sha256=d63a29bf206a5304b3c319a47fa16892db3d2e14737f2c534acf1eb220e9c550
@@ -298,6 +418,10 @@ sha256=d63a29bf206a5304b3c319a47fa16892db3d2e14737f2c534acf1eb220e9c550
md5=04d379292e023df0b0266825cb0dbde5
sha256=a9cc62ab760afeebcb1319a193508734a2d470cab8effab2776a2d3c65bd9cd2
+[http://heanet.dl.sourceforge.net/mesa3d/MesaLib-7.2.tar.bz2]
+md5=04d379292e023df0b0266825cb0dbde5
+sha256=a9cc62ab760afeebcb1319a193508734a2d470cab8effab2776a2d3c65bd9cd2
+
[http://search.cpan.org/CPAN/authors/id/K/KW/KWILLIAMS/Module-Build-0.2805.tar.gz]
md5=598bb59b86c2c4842eeffb03392fab5b
sha256=8fd609d1e6b460b5c95ad5612cb823aa863d51360ed55caea987909a9bab50f5
@@ -306,6 +430,10 @@ sha256=8fd609d1e6b460b5c95ad5612cb823aa863d51360ed55caea987909a9bab50f5
md5=e6b9ea21fd91cb4a5663304da727bb70
sha256=59f44cd53cfa1189dcaa5bf2c48662d5765f347b03827feb807f4cd0ef18943e
+[http://heanet.dl.sourceforge.net/mysql-python/MySQL-python-1.2.1_p2.tar.gz]
+md5=e6b9ea21fd91cb4a5663304da727bb70
+sha256=59f44cd53cfa1189dcaa5bf2c48662d5765f347b03827feb807f4cd0ef18943e
+
[http://search.cpan.org/CPAN/authors/id/M/MA/MANU/Net-IP-1.25.tar.gz]
md5=a49c0b02a9b793ff60191cdafc0c202e
sha256=4cd6e2202fd88c46d5458d19bbea80e257b6ba0ec57ea3ac8ae94ed48c9a60c7
@@ -318,10 +446,18 @@ sha256=174415168e1fc0451f3f6e34beb5c8779b83521a477243cf4ef865be4e161834
md5=832c91aa660c7b4e7220fa1263101fe3
sha256=59eddefa715b3810af20b2b190ae16b46d0b733144d36dc7ddd51b32adac013e
+[http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/0.6/NetworkManager-0.6.5.tar.bz2]
+md5=b827d300eb28458f6588eb843cba418d
+sha256=4ba65d64599ca6937b44b98d1efd04957278679ddd733081d0d8c2ecf6c0143b
+
[http://downloads.sourceforge.net/numpy/Numeric-23.7.tar.gz]
md5=8054781c58ae9cf6fe498316860b5ea8
sha256=33225097777e84dfed251aee1265a9c0dd0976854e83f60e778a670027b12e7c
+[http://heanet.dl.sourceforge.net/numpy/Numeric-23.7.tar.gz]
+md5=8054781c58ae9cf6fe498316860b5ea8
+sha256=33225097777e84dfed251aee1265a9c0dd0976854e83f60e778a670027b12e7c
+
[http://ftp.gnome.org/pub/GNOME/sources/ORBit2/2.10/ORBit2-2.10.2.tar.bz2]
md5=c862e3261b52a84321e89f57e5600da6
sha256=d43ff15c23f5391850f85a7d40e4bd26f82fe2c86669664fe56eff91f14c1594
@@ -338,10 +474,18 @@ sha256=412e4880d79533a2bbd33757e031a2bee24a7bc771f22cf4fed3cb81790b1b68
md5=6f4bf7d803d442e9d093a0daa203d506
sha256=d60027a4a36e64d02723d00b76c08e8d92850cab6269b2edcda4a1bb30cc7723
+[http://heanet.dl.sourceforge.net/openipmi/OpenIPMI-2.0.14.tar.gz]
+md5=f766680bb237ca2f837c005efba54efa
+sha256=fbd907dde45054227568f3117df0418a7819cfee02875d3723779432e8a66dc9
+
[http://downloads.sourceforge.net/openjade/OpenSP-1.5.tar.gz]
md5=87f56e79ae0c20397f4207d61d154303
sha256=987eeb9460185950e066e5db3b5fa531e53e213742b545288405552a5a7bb704
+[http://heanet.dl.sourceforge.net/openjade/OpenSP-1.5.tar.gz]
+md5=87f56e79ae0c20397f4207d61d154303
+sha256=987eeb9460185950e066e5db3b5fa531e53e213742b545288405552a5a7bb704
+
[http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/Params-Util-0.20.tar.gz]
md5=33c4466239c97cc3e1063eff0577206c
sha256=29f7e05045a5699b211d2a8332d36113c22f9c2e96174f40939e79dbc356905d
@@ -366,6 +510,10 @@ sha256=1428a61246a98411c2f16fcaf051c7acb53fb1507b1982da52d5b6aa70f78c2b
md5=863311e29550f9b4bf6c2502fdbed1fa
sha256=e9c0b53d887b53310daab656ef83b0abecdde39b679806a0f04f3cda222fbac2
+[http://heanet.dl.sourceforge.net/plone/Plone-2.1.2.tar.gz]
+md5=863311e29550f9b4bf6c2502fdbed1fa
+sha256=e9c0b53d887b53310daab656ef83b0abecdde39b679806a0f04f3cda222fbac2
+
[http://www.vanille.de/mirror/PyMP3-0.3.4.tar.gz]
md5=28e884057750aa4f0da368678e5b20bd
sha256=e534ea5505e2d0a571ca8baa4b34260953e796f6c762013756373f13411ebd6e
@@ -374,6 +522,10 @@ sha256=e534ea5505e2d0a571ca8baa4b34260953e796f6c762013756373f13411ebd6e
md5=cc88fde823368d6c7843491cc5b4399e
sha256=d349f65afa841ebeaef7176a26613ff43f9c68857852ab70296b23760720c11b
+[http://heanet.dl.sourceforge.net/pyode/PyODE-1.2.0.tar.bz2]
+md5=ab72f3acc635371fd454978e5a97591c
+sha256=117c8f06012e0c0004e69527580a56fac3d814da1051ec1aa73d97d16b60279b
+
[http://www.vanille.de/mirror/PyQt-x11-gpl-3.13.tar.gz]
md5=a4145b39742a4d9df9b6bf06495f75f5
sha256=10482fed3832ac804a495d4e5795838a1f99d1994e1247f9dd608a99a3ec3c66
@@ -386,10 +538,18 @@ sha256=22cbbccabaea5262c1fae47bf475f06af6bb7b765898873c93149340cb2049b9
md5=706eae231519d9298c399c3b4878cc2a
sha256=ff60b2c6d307022e223d1460825cfcd313b323669143e14a526f6083c7c5a8c1
+[http://heanet.dl.sourceforge.net/pyvisa/PyVISA-1.1.tar.gz]
+md5=7f69822a42b1f35467d97321772a3575
+sha256=23f1d4b942d706bc99d7048b75feb2bc728c5cc4361db7244f65fc72c63d9d39
+
[http://downloads.sourceforge.net/pyxml/PyXML-0.8.4.tar.gz]
md5=1f7655050cebbb664db976405fdba209
sha256=9fab66f9584fb8e67aebd8745a5c97bf1c5a2e2e461adf68862bcec64e448c13
+[http://heanet.dl.sourceforge.net/pyxml/PyXML-0.8.4.tar.gz]
+md5=1f7655050cebbb664db976405fdba209
+sha256=9fab66f9584fb8e67aebd8745a5c97bf1c5a2e2e461adf68862bcec64e448c13
+
[http://pyyaml.org/download/pyyaml/PyYAML-3.05.tar.gz]
md5=04ebb924a571cfb26d8143069068ce86
sha256=27b69bf6f1452e8f41577646ddfe78f9528a437409927d5d543bc97d75e27a03
@@ -438,6 +598,10 @@ sha256=ee75c05bb8a17a7978abbbc0f38fb79b1915c1e2357889e65657a39024d5b3a3
md5=a150750ad33c512edc4afee5270b37cb
sha256=e005a93a0b463e01edba2b79038b54c29a7932efee61c851a2ac644b8a4e5dd4
+[http://www.mediaassistent.se/jarl/files/RCF-04.zip]
+md5=5ba9e3eaa598d299718189d96514e8bb
+sha256=f69f44da154b204a1ca62faae67a87b9b2939b9b66013bb8f732456653b6370f
+
[http://www.ralinktech.com.tw/data/RT71W_Firmware_V1.8.zip]
md5=1e7a5dc574e0268574fcda3fd5cf52f7
sha256=e2d3ac1aaf4815e0c9531bc3fb7f56f30604cd52351332f1f8d6a28bb9a953bf
@@ -466,6 +630,10 @@ sha256=d5a168968051536641ab5a3ba5fc234383511c77a8bc5ceb8bed619bdd42e5f9
md5=10f6432ede2b239796f2924bdc7224b4
sha256=6a3ef9f5556a3d75832b2b9138bdf3551dc59994d2849307f88a9dcd9732d16c
+[http://www.ferzkopp.net/~aschiffler/Software/SDL_gfx-2.0/SDL_gfx-2.0.17.tar.gz]
+md5=a7ab98ad530fdc59a23f7dff502db8d3
+sha256=d08d8477ff1c6639bc7193b76a415f996c98604600e9fa4e718fd4e9283f83f4
+
[http://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.3.tar.gz]
md5=d55826ffbd2bdc48b09cc64a9ed9e59e
sha256=2f710b94f547ec7e39844f7872e1fe8d6fe2a434c896cc8a54b5540854bb5a69
@@ -498,10 +666,18 @@ sha256=ac6f511404457592b88fd57c4c77f7feba8e3b55d62c3c45c117fe84f1e07a7d
md5=29d12d1b883bf834c291c93f52ba8dc5
sha256=7e2e7b46088a7b9594b255b58123598d49c5c3d11bcc3c9a8f80969cd9caa6c5
+[http://www.cpan.org/authors/id/D/DM/DMEGG/SGMLSpm-1.03ii.tar.gz]
+md5=5bcb197fd42e67d51c739b1414d514a7
+sha256=f06895c0206dada9f9e7f07ecaeb6a3651fd648f4820f49c1f76bfeaec2f2913
+
[http://downloads.sourceforge.net/pywebsvcs/SOAPpy-0.11.3.tar.gz]
md5=dbdcafe76f73dffaa6948b026607d51b
sha256=a4a0984583c32fbf69e6f9495590b9e0c8a2a4aa42cb83f20b63a75208590845
+[http://heanet.dl.sourceforge.net/pywebsvcs/SOAPpy-0.11.6.tar.gz]
+md5=51ac835366badedd932c64f26fa8336b
+sha256=42c8cb3e42b439bc36b6ba3f090ddb72a214ca9264a2babf102c98731dea8e6a
+
[http://sun.dhis.portside.net/~sakira/archive/SPainter_1.5_src.tar.gz]
md5=8bd0e7e1f4d6549baba4cbb2384de2ff
sha256=4925a4503cf7650e7880740113ee747d1bf828b6783b24580fbcb0ec894c0801
@@ -510,18 +686,38 @@ sha256=4925a4503cf7650e7880740113ee747d1bf828b6783b24580fbcb0ec894c0801
md5=9f54fc8a40e26edd61ce67902b315a66
sha256=07675051b60343820b235a818f2c2d528b86d2a19c2f56833213e3f574f9cd1a
+[http://lsc.fie.umich.mx/%7esadit/spyro/download/SPyDI-0.9.7.tar.gz]
+md5=9ca1c604330643fca1e3847f77ac8f0a
+sha256=67e939a8c3e0f33fd2de5945b9e1e50b522890df025560215d6ca56ea7204b15
+
[http://lsc.fie.umich.mx/%7esadit/spyro/download/SPyRO-0.9.14.tar.gz]
md5=2cf73a4d293e3e581a2af0246349a470
sha256=524843cba2a8afb2cb3489d3439ffcd0a7f708bd7d2addb22140058dc42e89f2
+[http://lsc.fie.umich.mx/%7esadit/spyro/download/SPyRO-0.9.22.tar.gz]
+md5=d64e540dfc65d04e186f5524da2b21ae
+sha256=4e6f28580a6f2d3bc2b017a29f4edc89ec53833f1c788fe83fecdf0e3ddd2bff
+
+[http://heanet.dl.sourceforge.net/sqlalchemy/SQLAlchemy-0.4.2p3.tar.gz]
+md5=378e1da246aa05c3776e38d945f6580d
+sha256=6612f6a25305b3affbb12dcc3fe30f5446d34c84e61afac71e392f6cd997d7ad
+
[http://cheeseshop.python.org/packages/source/S/SQLObject/SQLObject-0.7.0.tar.gz]
md5=dccb921b5df6a15312b56630ac4ac205
sha256=f6696120e12a58a922dc13bf4f0430774a72d522a9063dc4e1fc4d26ad33723b
+[http://cheeseshop.python.org/packages/source/S/SQLObject/SQLObject-0.9.1.tar.gz]
+md5=0cb952fc9d86200103c79ea52bde66b6
+sha256=ed367fde9d9b1de4de2d486ef4516d3a941028d13c3f829684f69536b2522046
+
[http://downloads.sourceforge.net/zaurus-shopper/Shopper-1.2.1.tar.gz]
md5=ed4d8ce2227abf7e68de687a8c930fa4
sha256=0e1ab08b22742d18b9ee0288874f63ddd74591e1b9f29003fe66dd0ba2289bcf
+[http://heanet.dl.sourceforge.net/zaurus-shopper/Shopper-1.2.1.tar.gz]
+md5=ed4d8ce2227abf7e68de687a8c930fa4
+sha256=0e1ab08b22742d18b9ee0288874f63ddd74591e1b9f29003fe66dd0ba2289bcf
+
[http://www.squeakvm.org/unix/release/Squeak-3.10-1.src.tar.gz]
md5=7fbac029115831d18422f3079dbb0444
sha256=d5e9cab31f25f842f42bde153e04b93547b559e75da08f1b997a47f70d003133
@@ -542,6 +738,10 @@ sha256=c6e8d8ca900c3bee61b3c66888722b79d232731c9ee8f59533f06a4e486f23ec
md5=6d53a2a9901549d52fecfafb0012134b
sha256=6fd69febfd804437a9d5b610502c6d3c2caabef7a4832a3bcac2357515adaa71
+[http://heanet.dl.sourceforge.net/supybot/Supybot-0.77.0.tar.bz2]
+md5=6d53a2a9901549d52fecfafb0012134b
+sha256=6fd69febfd804437a9d5b610502c6d3c2caabef7a4832a3bcac2357515adaa71
+
[http://sdgsystems.com/pub/ipaq/hx4700/src/TIInit_3.2.26.bts]
md5=8741490a25b98230973446400971bba9
sha256=c1f29cfd31c335a409bdc530c2e68661d20a1e3c2e5d64454470b6700a40681e
@@ -598,6 +798,10 @@ sha256=f97b3c0a36c7422d38af67dd68855e5c25581f7b6e79f8671e298e66b4d0026e
md5=9716488c2d1cf2e5f97b165be4de18db
sha256=3d92318dadef22b1d1b062925ef66bac2ad48a0fd4fc83b88dcabba38c182b7b
+[http://www.stud.uni-karlsruhe.de/~uvaue/chaos/bins/Wolf4SDL-1.6-src.zip]
+md5=61eed8ed819688663e399b5e79ed006f
+sha256=6a19418a074a7dec6fd67f00df74f3335e85eb38d2d2a17bd0e91cf8010537e3
+
[http://ring.asahi-net.or.jp/archives/XFree86/4.3.0/source/X430src-1.tgz]
md5=4f241a4f867363f40efa2b00dca292af
sha256=5276b045e154948fce7abba7d686406c65862d90b43b50f2546b33e38378f0d7
@@ -658,6 +862,10 @@ sha256=f4d2ac6f09f44eeb82621530b1970afe88fd97cfe82da43b61069800d0c06d12
md5=caa9f5bc44232dc8aeea773fea56be80
sha256=a21d724ab3b3933330194353687df82c475b5dfb997513eef4c25de6c865ec33
+[http://heanet.dl.sourceforge.net/amule/aMule-2.1.3.tar.bz2]
+md5=0aafdd159edb8ad5f0064da87998b47d
+sha256=6e97e947bb7ac231b75e3b21a509a2ec0239bcd7e9dbfc6062c520a6d13b0244
+
[http://downloads.sourceforge.net/aa-project/aalib-1.4rc5.tar.gz]
md5=9801095c42bba12edebd1902bcf0a990
sha256=fbddda9230cf6ee2a4f5706b4b11e2190ae45f5eda1f0409dc4f99b35e0a70ee
@@ -690,6 +898,10 @@ sha256=e5ffecc423e2a9214cb4abd9dbd086552a0d45387b7bc2072738f5e2a8dd90ec
md5=16748b2d6e318e0e2a25581005e1943a
sha256=4d2d7a6b69b00ffe603a136a9df7ecda9f43448c7bc723503e76eaec9ab8e9fe
+[http://www.abiword.org/downloads/abiword/2.5.1/source/abiword-plugins-2.5.1.tar.gz]
+md5=b1ce7ca49a0ee4e04f828e10eaebe6a9
+sha256=37faf6ea346c9b6473c5b2dfd1bb599457faa06b6a7cdef58e3e9f3e2773976b
+
[http://www.abiword.org/downloads/abiword/2.5.2/source/abiword-plugins-2.5.2.tar.gz]
md5=0ad700d0cb6d176b39a191b16e3886c0
sha256=5714753ce1e89e72c2ba7e7d7d95546d9965a4e86bf76c060a8779b08fc2ae85
@@ -726,10 +938,22 @@ sha256=b36d6e83ecee4748cc3b8fa3cdbc8c59e620428ce77e22e241faa19c2e0e7dad
md5=3aff94e92186e99ed5fd6dcee2db7c74
sha256=032a95967f8dd8a227ee1771de4a2646becc4d0f1123568faeca931006ec8f5f
+[http://heanet.dl.sourceforge.net/acpid/acpid-1.0.4.tar.gz]
+md5=3aff94e92186e99ed5fd6dcee2db7c74
+sha256=032a95967f8dd8a227ee1771de4a2646becc4d0f1123568faeca931006ec8f5f
+
[http://downloads.sourceforge.net/acpid/acpid-1.0.6.tar.gz]
md5=5c9b705700df51d232be223b6ab6414d
sha256=aa3c42224ec702b6cdb69ca6501284cb6dacb87473a076d7337ee9635c96f160
+[http://heanet.dl.sourceforge.net/acpid/acpid-1.0.6.tar.gz]
+md5=5c9b705700df51d232be223b6ab6414d
+sha256=aa3c42224ec702b6cdb69ca6501284cb6dacb87473a076d7337ee9635c96f160
+
+[http://qa.debian.org/watch/sf.php/acpid/acpid-1.0.6.tar.gz]
+md5=5c9b705700df51d232be223b6ab6414d
+sha256=aa3c42224ec702b6cdb69ca6501284cb6dacb87473a076d7337ee9635c96f160
+
[http://svn.o-hand.com/repos/web/trunk/patches/add-dom-functions.patch]
md5=041be9711a16e629d01487664ba97152
sha256=42956fb41341cf82ae8bce18b4cf96a7e2aa631b1b60657afb6d7e9be7cd138c
@@ -778,6 +1002,10 @@ sha256=0a2cfda6701b344eed3e760089e306c50bfd71699592e4e0711c4609814a23ba
md5=242c260c50fd774f2301dba66deb668b
sha256=67b43e51aa5afb22a7329fd78e9d17f489fceb4ac00d9861312993709739528e
+[http://heanet.dl.sourceforge.net/albumshaper/albumshaper_2.1.tar.bz2]
+md5=242c260c50fd774f2301dba66deb668b
+sha256=67b43e51aa5afb22a7329fd78e9d17f489fceb4ac00d9861312993709739528e
+
[ftp://ftp.billsgames.com/unix/agenda/aliens/src/aliens_V1.0.0.tar.gz]
md5=9d7cde75aecf4b85478c0e47343d4293
sha256=0aa0084a74f912f4002f1c40a815ce62ac13331ec84787a954d8bea06e1c96c5
@@ -858,14 +1086,30 @@ sha256=3bb546e873df39159812168180eeff14b13620c653d90739ac0a0912e898aeac
md5=14ccd0c900bf663afb36eac6f92d41d6
sha256=6a06f457d66eca75ac1ab065e64539e4ccf22ed4e53703a70194cb85203b3125
+[http://www.panix.com/~gesslein/am.tgz]
+md5=df7535050d4bbe57c5d1243c8ec2479e
+sha256=13ab5d2045d902b627725e7cf4fc82df3ec2e714e85e42b93bd48af7af9bffdc
+
+[http://ichi2.net/anki/download/anki-0.4.3.tgz]
+md5=90434860945de4c09d55cdb5dbe984fc
+sha256=18a93fb46363ca34963fc2588cadf7415dd799dd647efa681859eb8b1b22f104
+
[http://osdn.dl.sourceforge.jp/anthy/20510/anthy-7811.tar.gz]
md5=e3619c07bd175ce5f73d67388c0c2ea5
sha256=140828e8aa7d690d8f2a9a54faeac38bcbf40ea18c1f44a186af51bd6964cd13
+[http://osdn.dl.sourceforge.jp/anthy/29142/anthy-9100e.tar.gz]
+md5=1c328986005e61f503adc118909e12ac
+sha256=369fd18d406783acc92e6ced2b3536999aa0d33940398af2b4fb11dba46cbfa3
+
[http://www.antlr.org/download/antlr-2.7.5.tar.gz]
md5=1ef201f29283179c8e5ab618529cac78
sha256=744d8f3a8206fbc45a5558d92163d5ef7e5e0cc0700283bb6a617fb1201629f9
+[http://archive.apache.org/dist/tomcat/tomcat-4/v4.1.37/src/apache-tomcat-4.1.37-src.tar.gz]
+md5=fe50177a25a084ad1abf4a201d08c2a6
+sha256=65e4cc9d3ea4a7f30044bfd6c660c772adb75ac152d775342deb6049a0d19d74
+
[ftp://ftp.buici.com/pub/apex/apex-1.4.11.tar.gz]
md5=7259a49d93b1853b1b3435753893ab7c
sha256=bce6638d95fa8d32b109176a7cef6aa71e40c130068fac71b0df369d1a36c82c
@@ -886,6 +1130,10 @@ sha256=4ad287720b87213154fa272afee5f442b0d8d61c1f56e43d0d056ae25849a926
md5=b1e6309e8331e0f4e6efd311c2d97fa8
sha256=7f7d9f60b7766b852881d40b8ff91d8e39fccb0d1d913102a5c75a2dbb52332d
+[ftp://ftp.nl.debian.org/debian/pool/main/a/apmd/apmd_3.2.2.orig.tar.gz]
+md5=b1e6309e8331e0f4e6efd311c2d97fa8
+sha256=7f7d9f60b7766b852881d40b8ff91d8e39fccb0d1d913102a5c75a2dbb52332d
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/a/apmd/apmd_3.2.2.orig.tar.gz]
md5=b1e6309e8331e0f4e6efd311c2d97fa8
sha256=7f7d9f60b7766b852881d40b8ff91d8e39fccb0d1d913102a5c75a2dbb52332d
@@ -934,6 +1182,10 @@ sha256=384437f3c4eb7d53ad27fdadce6cbc295ef16653b7f7739a480d91c784082ec9
md5=8e9cc71a1303b67b3278fbeab9799f2e
sha256=5768fcc4d38fa6f811b0a89e2ef450d0f52688ff9263e548819adb096fbfc9c3
+[http://www.apache.org/dist/apr/apr-util-1.2.12.tar.gz]
+md5=e292942e22edd21b68609086352212e4
+sha256=7d70ff17bec733bdb04a6653a8e9c15ab7d88429dac91a4ae58c1db5caaee07f
+
[http://www.apache.org/dist/apr/apr-util-1.2.7.tar.gz]
md5=c3702668a640be1695956115857ec22e
sha256=8cd84eb2031a91572e1be2975f4171730a9be72c4cd88718c4c40ac7dc4fd7d3
@@ -942,10 +1194,18 @@ sha256=8cd84eb2031a91572e1be2975f4171730a9be72c4cd88718c4c40ac7dc4fd7d3
md5=26b37525371cdaaec552237e0667305d
sha256=57de084860870cccf510de62eb8ded252f5951a6e59e34a963d61d69de3aff10
+[ftp://ftp.nl.debian.org/debian/pool/main/a/apt/apt_0.5.28.6.tar.gz]
+md5=26b37525371cdaaec552237e0667305d
+sha256=57de084860870cccf510de62eb8ded252f5951a6e59e34a963d61d69de3aff10
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/a/apt/apt_0.5.28.6.tar.gz]
md5=26b37525371cdaaec552237e0667305d
sha256=57de084860870cccf510de62eb8ded252f5951a6e59e34a963d61d69de3aff10
+[ftp://ftp.nl.debian.org/debian/pool/main/a/apt/apt_0.6.25.tar.gz]
+md5=6569fd95e829036c141a5ccaf8e5948c
+sha256=fa00ce910ab6f0987c4a210962be357d4f013fc89ef72b015f39ae8649522b59
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/a/apt/apt_0.6.25.tar.gz]
md5=6569fd95e829036c141a5ccaf8e5948c
sha256=fa00ce910ab6f0987c4a210962be357d4f013fc89ef72b015f39ae8649522b59
@@ -954,18 +1214,34 @@ sha256=fa00ce910ab6f0987c4a210962be357d4f013fc89ef72b015f39ae8649522b59
md5=67d439a252996357b0313b3ad999739a
sha256=6f1a7340d0de2a9a524055d0ed4289aa919dc29e9e1fe60aae598f2019105686
+[ftp://ftp.nl.debian.org/debian/pool/main/a/apt/apt_0.6.46.2.tar.gz]
+md5=67d439a252996357b0313b3ad999739a
+sha256=6f1a7340d0de2a9a524055d0ed4289aa919dc29e9e1fe60aae598f2019105686
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/a/apt/apt_0.6.46.2.tar.gz]
md5=67d439a252996357b0313b3ad999739a
sha256=6f1a7340d0de2a9a524055d0ed4289aa919dc29e9e1fe60aae598f2019105686
+[ftp://ftp.nl.debian.org/debian/pool/main/a/apt/apt_0.7.14.tar.gz]
+md5=19efa18fb1ef20c58b9b44e94258b814
+sha256=8fc06effaf8a4e4333308eedcdc6840f1c8056f2e924210f151dfc076bcd4045
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/a/apt/apt_0.7.14.tar.gz]
md5=19efa18fb1ef20c58b9b44e94258b814
sha256=8fc06effaf8a4e4333308eedcdc6840f1c8056f2e924210f151dfc076bcd4045
+[ftp://ftp.nl.debian.org/debian/pool/main/a/apt/apt_0.7.2.tar.gz]
+md5=c66f943203fa24e85ed8c48f6ac5ad1e
+sha256=e7d58e2b202713b4df8cd5fd58bc20ba8d31c0da6e5e3b3c89a138dbf0b24ad9
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/a/apt/apt_0.7.2.tar.gz]
md5=c66f943203fa24e85ed8c48f6ac5ad1e
sha256=e7d58e2b202713b4df8cd5fd58bc20ba8d31c0da6e5e3b3c89a138dbf0b24ad9
+[ftp://ftp.nl.debian.org/debian/pool/main/a/apt/apt_0.7.3.tar.gz]
+md5=e2e6e23f43bfdf135b923205659dfaf1
+sha256=d3a71446234e567a24740b02abe5bc6c695836343df6139eb7c03ec11871e710
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/a/apt/apt_0.7.3.tar.gz]
md5=e2e6e23f43bfdf135b923205659dfaf1
sha256=d3a71446234e567a24740b02abe5bc6c695836343df6139eb7c03ec11871e710
@@ -978,6 +1254,14 @@ sha256=4a4eb39ea162df9c795b472326e9df676dbf249dc34436517b67354f32a8d23f
md5=c6b1aa28bfecdd0c693a2afc43d7679e
sha256=d5b93fb8dbfa73e4a542bb8ad7d61c8b48dcf79948da26da9e9ef3b1a49c4221
+[http://heanet.dl.sourceforge.net/arabeyes/arabic-fonts-1.0.tar.gz]
+md5=c6b1aa28bfecdd0c693a2afc43d7679e
+sha256=d5b93fb8dbfa73e4a542bb8ad7d61c8b48dcf79948da26da9e9ef3b1a49c4221
+
+[http://heanet.dl.sourceforge.net/argtable/argtable2-7.tar.gz]
+md5=a84130293aab3bc09631cbee717ede93
+sha256=f7bd2786309b6a7ce9c1e2b3fbdd75419ef0bcabfaa4444362bbe40897959f45
+
[http://avr.auctionant.de/ark3116_linux_driver/releases/ark3116-0.4.1.tgz]
md5=fb94d863514b2fa21ecd34571099a7a3
sha256=7016b5e53e1e24803186e2719cf735109289c0f42cfc3006d468dbf72fae09ab
@@ -1006,6 +1290,10 @@ sha256=31ca43436520074e90482f54ffe26cc59ea76836add50d8b7d2c1adfefd19845
md5=67196fcfe5c95bae1a5bb8a63a1bb74d
sha256=68da29f515a26ca1b5722c940615ddc4b0550b2b1ad5d11129b1da636c353160
+[http://www.kegel.com/crosstool/crosstool-0.43/patches/glibc-2.3.6/arm-ctl_bus_isa.patch]
+md5=88fa901c9a85633ab62365b0ee9df3b1
+sha256=6651eb15c9f6dabf21af4067b723cb29a87827f66570bfab74fdc00d80cab129
+
[ftp://ftp.ee.lbl.gov/arpwatch-2.1a15.tar.gz]
md5=cebfeb99c4a7c2a6cee2564770415fe7
sha256=c1df9737e208a96a61fa92ddad83f4b4d9be66f8992f3c917e9edf4b05ff5898
@@ -1014,6 +1302,14 @@ sha256=c1df9737e208a96a61fa92ddad83f4b4d9be66f8992f3c917e9edf4b05ff5898
md5=3e6bcedc549cb4c014227f882969db5c
sha256=f6277da4651bceaeab442f864b735a5d7b0998d55f9209e37cf18f7464320e3e
+[http://heanet.dl.sourceforge.net/asio/asio-1.1.1.tar.bz2]
+md5=3e6bcedc549cb4c014227f882969db5c
+sha256=f6277da4651bceaeab442f864b735a5d7b0998d55f9209e37cf18f7464320e3e
+
+[http://802.11ninja.net/~jwright/code/asleap-2.1.tgz]
+md5=eb74eca847fa71ba89a965548526f7ac
+sha256=ba77747cfb107d31cf4ae2eb27839cfa196c0fca08c98465256a4820b9d85d29
+
[http://opensource.wolfsonmicro.com/~lg/asoc/asoc-v0.13.3.patch]
md5=ce753d3c06825e3e8d6801258d63f761
sha256=1c6e90e00f3cb202f206e4b8f0524948ba295feb66aa6a68cf189f34dc851bde
@@ -1046,6 +1342,14 @@ sha256=115248cb7b1fc35dc2be24218f91a87272cf5c0d8c2050a36da2314fadc05cf4
md5=88cfcd5c3b2a8f2504e561cb93546299
sha256=cc70d2ff8a2cafe3c7cce10dc5e90146111bc686ed6e08fc753e950c7050611e
+[http://ftp.digium.com/pub/asterisk/releases/asterisk-1.2.24.tar.gz]
+md5=63dc8b7be4cd10375c5fbda893c780bc
+sha256=9debaf410636fa477e1e1f09fe0b16a1c2814afaf7195f34f29e4ce5b8debbbd
+
+[http://ftp.digium.com/pub/asterisk/releases/asterisk-1.2.28.tar.gz]
+md5=922e42ca392656d1830ffd048c8167ec
+sha256=5a44c6e86d227f092825b9d1e4a17391c5e8ca51a077965c40c8b8e938075862
+
[http://ftp.digium.com/pub/asterisk/releases/asterisk-1.4.10.tar.gz]
md5=69057e2916287f6e2a1e36dba6d6800d
sha256=72bbb19e35ec304df06dca717b7ac2cae0d3409fe47c17c2dcf75850f61ddbe1
@@ -1114,10 +1418,22 @@ sha256=bfa7def7d0f1190a111bde232920d2b3481d3932e2d1056573b3a9c4801c602a
md5=160c648e29637f2ed6301f4dfdecce21
sha256=3ec786e6df9e1a935aff4848b6989cad8f87c1fa8813dc033b338e18b17138d8
+[http://download.berlios.de/at76c503a/at76_usb-0.17.tar.gz]
+md5=b47d4fa958aaf83916b6a917626102cd
+sha256=9d1fff10d391cb64890bb8e0050d3f023520a8dd5aee43c4d3f9c6f8611da668
+
[ftp://ftp.debian.org/debian/pool/main/a/at/at_3.1.8-11.tar.gz]
md5=81dbae5162aaa8a398a81424d6631c77
sha256=0d77c73a3c151a7da647dd924f32151e5ee4574530568fd65067882f79cd5a44
+[ftp://ftp.nl.debian.org/debian/pool/main/a/at/at_3.1.8-11.tar.gz]
+md5=81dbae5162aaa8a398a81424d6631c77
+sha256=0d77c73a3c151a7da647dd924f32151e5ee4574530568fd65067882f79cd5a44
+
+[http://projects.linuxtogo.org/frs/download.php/222/atd-0.80.tar.gz]
+md5=b64a8ae8592b4d32ac9baebf0b915c1e
+sha256=456d2bf4550a37c70e829b3029acf3cb81f931908d35f1dbade7ec54f4cdb146
+
[ftp://ftp.debian.org/debian/pool/main/a/atftp/atftp_0.7-7.diff.gz]
md5=03ccc8d178ee956feb46ab970e982e94
sha256=71e8890e709ee77756368b8508f65c6c9bf8c6ed5e1501726ef30e1dc105d4f5
@@ -1142,6 +1458,10 @@ sha256=be2d537642a43b5a1e85a2d0f813167b8585781ff83203a4f68206c3ecd6a315
md5=9fc33ec48fd32933f7f630479dfad667
sha256=be2d537642a43b5a1e85a2d0f813167b8585781ff83203a4f68206c3ecd6a315
+[ftp://ftp.gnome.org/pub/GNOME/sources/atk/1.19/atk-1.19.3.tar.bz2]
+md5=2babc7fa144688274ebede271072b8e2
+sha256=f616b4b636957e6387392ecacea4d60e4ad178baa3c9713e5db1733a42326786
+
[http://ftp.gnome.org/pub/GNOME/sources/atk/1.2/atk-1.2.0.tar.bz2]
md5=06a84758129554ae044af8865ecb6f1c
sha256=feb2639dd385a828ec75c6af12ac44a44aced40fb7a24cb63252f0d056f993b7
@@ -1162,6 +1482,10 @@ sha256=f9a05f797f0b23c7e2d88c428779c450718df2f187bd83dcf0a898adbda1b3ab
md5=7f41bd9c6dcd83c8df391dc1805be653
sha256=6a33f5b7caab4e837ac671b4b6974059f62a2ef0fd62a9bc04c74d47f077ff14
+[http://www.thekelleys.org.uk/atmel/atmel-firmware-1.3.tar.gz]
+md5=415e16463151f2e953e9b3dceb7af45f
+sha256=f53160b0b4a824754957d8488f1eba68d3c6379d48c563464bd3924e7be19b3d
+
[http://downloads.sourceforge.net/atmelwlandriver/atmelwlandriver-3.3.5.6.tar.bz2]
md5=dd9a11d175ba0fbb62cf7fec5426f5de
sha256=d80b88753725e2ce83add9f80d120c022112527adbf4425368387da1936345f2
@@ -1270,6 +1594,10 @@ sha256=794d4d1c485d4dc24659a25feb92706eb8bff4552333a1df83e856db123c36ce
md5=29ebb2181958d5721ee5fc45f035a77c
sha256=2cb6a15a9fff56c0d24f3a95b7f67c52436a88716e640c7f7afd48c9a5cbd740
+[http://avahi.org/download/avahi-0.6.19.tar.gz]
+md5=a06782435d1c994ecd00a66e95a5d9d4
+sha256=a742dceda38f242f5eac72f2c3bc1bda76adf497d6913e88a9cbc624bf2dd68a
+
[http://avahi.org/download/avahi-0.6.20.tar.gz]
md5=6acdff79afa2631f765f3bbbc3e25a74
sha256=89ae5fd08018679b80cee201e1c1350d86db73bdcf6718aabb4bd3ea86f93ec9
@@ -1290,6 +1618,10 @@ sha256=dedf5325105f071e5d9f898fdb7337a7fe88a3a8a1f832a6056ba00477b8cc3d
md5=3cb3be404950ef08e51adbe59c7b811e
sha256=c3648f02dd7d4dc8c0ef9a48089fda4ca47b81a977c838b17f55e6abf7f51447
+[http://heanet.dl.sourceforge.net/avetanabt/avetanaBluetooth-20060413.tgz]
+md5=3cb3be404950ef08e51adbe59c7b811e
+sha256=c3648f02dd7d4dc8c0ef9a48089fda4ca47b81a977c838b17f55e6abf7f51447
+
[http://heanet.dl.sourceforge.net/sourceforge/bacula/bacula-1.38.11.tar.gz]
md5=0d6d6614afdc468d214de4e66f9f5a26
sha256=d095165d256771c918b80f836feaf837aedc1362b2d67171013d3ab7ac5ee47f
@@ -1306,6 +1638,10 @@ sha256=c450b49ce9903d97ed5e4aa788b388e014c0eddcfc038b000237f67cd4528a3b
md5=5afcef5d6047f14cd5f65d2fdbd86fb2
sha256=43debdc36c9aed8a2ef366bf3e98c1440e643a5ae9e7e1423b6309ddee5ae25e
+[ftp://ftp.nl.debian.org/debian/pool/main/b/base-passwd/base-passwd_3.5.19.tar.gz]
+md5=5afcef5d6047f14cd5f65d2fdbd86fb2
+sha256=43debdc36c9aed8a2ef366bf3e98c1440e643a5ae9e7e1423b6309ddee5ae25e
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/b/base-passwd/base-passwd_3.5.19.tar.gz]
md5=5afcef5d6047f14cd5f65d2fdbd86fb2
sha256=43debdc36c9aed8a2ef366bf3e98c1440e643a5ae9e7e1423b6309ddee5ae25e
@@ -1318,6 +1654,10 @@ sha256=43debdc36c9aed8a2ef366bf3e98c1440e643a5ae9e7e1423b6309ddee5ae25e
md5=2dd8ad238abcbab478db690085554d90
sha256=a9d7ac67598b2b004a53a9e70592e0f274d3c8731ed9395ed704fd0259f0c0af
+[ftp://ftp.nl.debian.org/debian/pool/main/b/base-passwd/base-passwd_3.5.9.tar.gz]
+md5=2dd8ad238abcbab478db690085554d90
+sha256=a9d7ac67598b2b004a53a9e70592e0f274d3c8731ed9395ed704fd0259f0c0af
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/b/base-passwd/base-passwd_3.5.9.tar.gz]
md5=2dd8ad238abcbab478db690085554d90
sha256=a9d7ac67598b2b004a53a9e70592e0f274d3c8731ed9395ed704fd0259f0c0af
@@ -1490,6 +1830,10 @@ sha256=0e3649531c3a5675743980ecf5ff5fcbca2801afe4dca7fb4b250aae7ac3b782
md5=e240c34f979b64bcb83c5f6567110bb1
sha256=46d427fd5b1509ec7dd980c07efd88634fde61cf07ab221dcbde9e1021bd2817
+[http://downloads.open-mesh.net/batman/stable/sources/batman-0.3.tar.gz]
+md5=54812e81f70a4155edcce88f0c7aeb02
+sha256=846f34019c6f30bbb88790088a0e205c7a4e7ee0ab656a5ea3b4b624a0a028cb
+
[http://bazaar.canonical.com/releases/src/bazaar_1.2.tar.gz]
md5=1fdb0aa41d7db06bf3429118d0136c8a
sha256=d1b657f52dea785ce1b1a8b5acfdee4492c5d779422f9b58e145162e2d33c241
@@ -1502,6 +1846,18 @@ sha256=6714d9c1285fc04d39f03b85ebad3723be6f8709ca8935e984b280ac42e97492
md5=d44b5dddebd8a7a7309aea6c36fda117
sha256=4ef6d9f17c3c0d92d8798e35666175ecd3d8efac4009d6457b5c99cea72c0e33
+[http://people.openezx.org/wyrm/bcm2035-tool.tgz]
+md5=437a39c6008ea6987af1bbaf2252e7b9
+sha256=a2e482900eb45154653a692565d81ddeb4b59cd438628c1b14beb822499afef7
+
+[http://xorg.freedesktop.org/releases/individual/app/bdftopcf-1.0.0.tar.bz2]
+md5=41f4ac6760ef5e671ba8d4baa7236f12
+sha256=8c01b85eab01f35ed6bc9d597d4c6c76cf9ddbe2596d9120d66e66135df1f9a1
+
+[http://xorg.freedesktop.org/releases/individual/app/bdftopcf-1.0.1.tar.bz2]
+md5=9685fab33d39954ab8a0d22e0969d5a4
+sha256=aaaa45ab361781aebda2093fdc7eb5c187f6215b4ba308dd6b9ff2b727e805d3
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/bdftopcf-X11R7.0-1.0.0.tar.bz2]
md5=f43667fcf613054cae0679f5dc5a1e7a
sha256=59760e300acf5b616400d08ac97d8ea265dfbb872b6131c65eb6246c61654803
@@ -1514,6 +1870,10 @@ sha256=7967b6349c7467acd9208e0b8225a6d354475d5f18633a78eaa485afbcfc72c6
md5=1472cada46e2ab9f532f984de9740386
sha256=50b574d330fecbc9faed81746a1abfcec903c264ae753ac64d4edf22c701519f
+[http://heanet.dl.sourceforge.net/beecrypt/beecrypt-3.1.0.tar.gz]
+md5=1472cada46e2ab9f532f984de9740386
+sha256=50b574d330fecbc9faed81746a1abfcec903c264ae753ac64d4edf22c701519f
+
[http://johnath.com/beep/beep-1.2.2.tar.gz]
md5=d541419fd7e5642952d7b48cbb40c712
sha256=5c0445dac43950b7c7c3f235c6fb21f620ab3fd2f3aafaf09896e5730fcf49a1
@@ -1522,10 +1882,22 @@ sha256=5c0445dac43950b7c7c3f235c6fb21f620ab3fd2f3aafaf09896e5730fcf49a1
md5=8bc2e35cdcd2e6a80eab1b77c41f2a46
sha256=00e217559c93779fe04fd948017820af118a3981d6b4371ace95107cb3b047a7
+[http://xorg.freedesktop.org/releases/individual/app/beforelight-1.0.3.tar.bz2]
+md5=d55b0e7196dafcfeb4db3886af2e1969
+sha256=cae9427fa083a0ec3f2d1a3a6391508b31a2cf0220cb8d732c5d473a8c995c4e
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/beforelight-X11R7.0-1.0.1.tar.bz2]
md5=e0326eff9d1bd4e3a1af9e615a0048b3
sha256=76c42ee8e503a34b2a95fff59bc00e342f9a8f69e677ba63123f5f53cd41ce18
+[http://www.fftw.org/benchfft/benchfft-3.1.tar.gz]
+md5=9356e5e9dcb3f1481977009720a2ccf8
+sha256=1b4a5b5e48ad5e61a21586b7b59d5c0a88691a981e73e2c6dc5868197461791b
+
+[http://www.kegel.com/crosstool/crosstool-0.43/patches/binutils-2.16.1/bfd-hash-tweak.patch]
+md5=b12426fd72bedf00c389a7fb458275a8
+sha256=5a4a5b82dd8f485b4fef941cc216eb052184cf138f72b512eb62d836b460acdb
+
[http://xorg.freedesktop.org/releases/individual/proto/bigreqsproto-1.0.2.tar.bz2]
md5=95c29d9d10bf2868996c0c47a3b9a8dc
sha256=30da0098a24578e645193464526cc4d5c2c7fecaf476d1b9dabe68118850adee
@@ -1538,6 +1910,10 @@ sha256=69d82eff84b1cef08a30e3a79de26df0bce7f531a86d2144ee0d5e43fc21ce86
md5=9ff3204eea27184ea0722f37e43fc95d
sha256=9a9411115338d2554f2e99bc676c2e9a381a8d649bf9bd9c0b2ffa2cf74b563c
+[ftp://ftp.isc.org/isc/bind9/9.3.4-P1/bind-9.3.4-P1.tar.gz]
+md5=51007c8f185cd5a9b2e57f70073bf25b
+sha256=f5cf38954e9b973cda204ff13cfd6d433ac307a8e5c4e7f6d978483becda842c
+
[ftp://ftp.isc.org/isc/bind9/9.3.5-P1/bind-9.3.5-P1.tar.gz]
md5=1446984f552b18a0ff7db63971a0cb5a
sha256=8bd6b53f5a2c5f0332aaba9a51ef3d7fc55c60f906f0c506e11b6600ed82a90b
@@ -1554,6 +1930,10 @@ sha256=6f75f36f35d16fd1fdc6600926af3ceaaa3bdca4e91ae3bf22891594afa0116e
md5=b5b1608f7308c487c0f3af8e4592a71a
sha256=204c2624b5712a3482d0e774bb84850c1ee6b1ccdfd885abfe1f7c23abf4f5c0
+[http://www.kegel.com/crosstool/crosstool-0.43/patches/binutils-2.16.1/binutils-2.15-psignal.patch]
+md5=c59d06f1874732814eef3371e2dee72b
+sha256=e8df35e97d6789fd34268e8c2e4daba8aa17e7bf6f0432f6ea8123a2e344363c
+
[http://ftp.kernel.org/pub/linux/devel/binutils/binutils-2.15.94.0.1.tar.bz2]
md5=4a4cde8e5d0c97249bf6933f095813fe
sha256=c4ad801a7ed5a4e3d5d943d73c82f0af75998c95b69184dc884460bf40e48ee9
@@ -1562,6 +1942,10 @@ sha256=c4ad801a7ed5a4e3d5d943d73c82f0af75998c95b69184dc884460bf40e48ee9
md5=4a4cde8e5d0c97249bf6933f095813fe
sha256=c4ad801a7ed5a4e3d5d943d73c82f0af75998c95b69184dc884460bf40e48ee9
+[ftp://ftp.gnu.org/gnu/binutils/binutils-2.16.1.tar.bz2]
+md5=6a9d529efb285071dad10e1f3d2b2967
+sha256=351a6846ee179a37ed87a487971547159a7f4f92a1dec598c727f184a0de61ae
+
[http://kernel.org/pub/linux/devel/binutils/binutils-2.16.91.0.6.tar.bz2]
md5=00ef9f1429d5f18702d08552f5c09441
sha256=7cffa91af850d3fd5f086e3690eae05c1d9d5ad82f915b36f0de920a3c9920be
@@ -1574,6 +1958,10 @@ sha256=af9cfdde06693ecaaf3b558e6a66e7245d04cb981812ce06d023de868aa92b41
md5=26c3fddb07bfe3128d2e09e628eb33a0
sha256=af9cfdde06693ecaaf3b558e6a66e7245d04cb981812ce06d023de868aa92b41
+[ftp://ftp.gnu.org/gnu/binutils/binutils-2.16.tar.bz2]
+md5=bcb9fabaf0eaf91bd38c4ee148658df8
+sha256=5645c3371aac47cbbcc1354eab10ec32777837d7cb4ba47b94c9043612b12f36
+
[http://ftp.gnu.org/gnu/binutils/binutils-2.16.tar.bz2]
md5=bcb9fabaf0eaf91bd38c4ee148658df8
sha256=5645c3371aac47cbbcc1354eab10ec32777837d7cb4ba47b94c9043612b12f36
@@ -1606,6 +1994,14 @@ sha256=6fe3c4b2d45a50582f832bc77deb4e3da74a15ea8e09dbb214b9c44e7c3378fc
md5=9d22ee4dafa3a194457caf4706f9cf01
sha256=487a33a452f0edcf1f8bb8fc23dff5c7a82edec3f3f8b65632b6c945e961ee9b
+[ftp://ftp.gnu.org/gnu/binutils/binutils-2.19.tar.bz2]
+md5=17a52219dee5a76c1a9d9b0bfd337d66
+sha256=bd2ea10ffc2bf62a917b05f4fbe3d02212589c2bc177fa0c51a9c874d3da528a
+
+[http://www.kegel.com/crosstool/crosstool-0.43/patches/binutils-2.16.1/binutils-skip-comments.patch]
+md5=73e76bdd997fa945d71edcfbdd356c15
+sha256=18f72b922a9a346f6c43b20fd86eba76cfd27a8d118ea32fa879050ddebe0267
+
[ftp://ftp.gnu.org/gnu/bison/bison-2.0.tar.gz]
md5=c17f964fd5504b88b07a183420de25e3
sha256=31b816846903d319a6f6cd1c9aada5ff83914206cb7df69c235ae909785109a1
@@ -1622,6 +2018,18 @@ sha256=a226f7b37694669aa6efe6c30462e2d44f5881ca70604dac15c23fce66992872
md5=0e0dacaae704aed08a940389250e61e9
sha256=fd8a9e9e916314f9385f497d1f9b81d0885487f7741ad7be790972f44fc68b25
+[http://get.bitlbee.org/src/bitlbee-1.0.4.tar.gz]
+md5=b92e301930e2322a86b73b1f6c857674
+sha256=6f23f37ea641d67e56c61b70d3ac7d404243929c393302ead4758d4ffe6d5b1c
+
+[http://xorg.freedesktop.org/releases/individual/app/bitmap-1.0.2.tar.bz2]
+md5=78e8ab5c1830e2cdfbff7a952162a5a7
+sha256=83719927ac4309f42e3cadde125a52cfba2e9c951115ac4c017f292f6e4c14bc
+
+[http://xorg.freedesktop.org/releases/individual/app/bitmap-1.0.3.tar.bz2]
+md5=98200c358e5401d648b980564d9ae39d
+sha256=863f673518af19f9ae35ee221b30bf8c8b695c76c543d18b3ac400a51b855c41
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/bitmap-X11R7.0-1.0.1.tar.bz2]
md5=bbb3df097821d3edb4d5a4b2ae731de6
sha256=ac6a5c3f4aa88f39e8f04fe43f00972f0235674ac3edb994c70ac802a1ed0219
@@ -1630,6 +2038,22 @@ sha256=ac6a5c3f4aa88f39e8f04fe43f00972f0235674ac3edb994c70ac802a1ed0219
md5=5a6228512bcce7d9fabe8fc2d66269bf
sha256=5cd1a5aeace83a9305f7221e9ec95127b5a26870c619fd00ae48f1962d59f48b
+[http://heanet.dl.sourceforge.net/blackboxwm/blackbox-0.70.1.tar.gz]
+md5=2d173b95ca5e64ef478c6a5d2deee9df
+sha256=e394561d4426cf17e21eb5cc32e2972eb1af92d04a41808a41b1fb95320bd659
+
+[http://www.blassic.org/bin/blassic-0.10.1.tgz]
+md5=ca1339d71c8bf2779613afefc5384b0a
+sha256=61e6e02a86d2da53e407b0a3724ed554fe2c85bab6775ae68e2e92a83e466406
+
+[ftp://ftp.debian.org/debian/pool/main/b/blktool/blktool_4.orig.tar.gz]
+md5=62edc09c9908107e69391c87f4f3fd40
+sha256=b1e6d5912546d2a4b704ec65c2b9664aa3b4663e7d800e06803330335a2cb764
+
+[ftp://ftp.nl.debian.org/debian/pool/main/b/blktool/blktool_4.orig.tar.gz]
+md5=62edc09c9908107e69391c87f4f3fd40
+sha256=b1e6d5912546d2a4b704ec65c2b9664aa3b4663e7d800e06803330335a2cb764
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/b/blktool/blktool_4.orig.tar.gz]
md5=62edc09c9908107e69391c87f4f3fd40
sha256=b1e6d5912546d2a4b704ec65c2b9664aa3b4663e7d800e06803330335a2cb764
@@ -1658,10 +2082,18 @@ sha256=63eda6008b0c7a422e1b4fdda91b594d936188c29af49379447cb7fb445965d6
md5=174a1f2c9ffea150c7abe4becd99f2cd
sha256=5980de18e195be06f99afbc76f3c72e7ef7dbba03f16814351d20b8a2531c474
+[http://www.alighieri.org/tools/bluesnarfer.tar.gz]
+md5=ee1fcf2e12b74e8cf65f43cdd2c47b72
+sha256=5cff4c3269cf006bef9f66ec0a788139689425b96c6d7c60024f0841632b065b
+
[http://rtpnet.nerim.net/ipaq/patches/2.6.17-1/WIP/bluetooth.patch]
md5=d76dbdbb59924ace618e48fbddbf3365
sha256=eaa1a9746a4613a75a9fe9fc0c54a724758b899c5a898b8b50578066d8a82ead
+[http://www.kernel.org/pub/linux/bluetooth/bluez-4.7.tar.gz]
+md5=2aa806940d2c841e57a9b2ab7302b750
+sha256=ed384dea4f5f21157758fcd7db64db19ce0b410509c26630706e4a3c779287a0
+
[http://bluez.sourceforge.net/download/bluez-gnome-0.14.tar.gz]
md5=7c4106e6932683c12c1e30bfb166c13d
sha256=cdc6ceea80bb1f3d951deae17dbb2854a13c214ac5f452765650d59c9014ffe6
@@ -1798,6 +2230,10 @@ sha256=36a5772fc0241298b15db3dc4fb2552dcbb43edeffd6fcea4cd8818e97ec99fe
md5=5d74113f5de3d11a400d1d6c118d41c0
sha256=7b458b6ca51c5f1c01ce328aedaab81e71028c796d37a953582e0deb55980c51
+[http://heanet.dl.sourceforge.net/beepmp/bmp-0.9.7.tar.gz]
+md5=5d74113f5de3d11a400d1d6c118d41c0
+sha256=7b458b6ca51c5f1c01ce328aedaab81e71028c796d37a953582e0deb55980c51
+
[http://www.boa.org/boa-0.94.13.tar.gz]
md5=c8d6f46f9aa60909f171529068813fe0
sha256=e00bb50eb859c736f2afc913976e82e8fc68a1fbe34fa294e014aa95f4d87366
@@ -1806,6 +2242,10 @@ sha256=e00bb50eb859c736f2afc913976e82e8fc68a1fbe34fa294e014aa95f4d87366
md5=30bdb17e11fb416f9d3c6243e02f6e73
sha256=90ec337d482a0e766e1f24679324445057abfc2e01d9d2c1f561b40ac7f1915b
+[http://heanet.dl.sourceforge.net/bochs/bochs-2.1.tar.gz]
+md5=30bdb17e11fb416f9d3c6243e02f6e73
+sha256=90ec337d482a0e766e1f24679324445057abfc2e01d9d2c1f561b40ac7f1915b
+
[http://download.sourceforge.net/bogofilter/bogofilter-0.96.0.tar.bz2]
md5=ca946b43212d8a2909e86f7140e535db
sha256=7aeb2c4eb6ad6636631f85816b4f4d21ce811f763412530b70b2c85602e795d3
@@ -1814,6 +2254,10 @@ sha256=7aeb2c4eb6ad6636631f85816b4f4d21ce811f763412530b70b2c85602e795d3
md5=00b1eee7f98b68fa762c4efb3b34caa1
sha256=2d1c6b2cfdc17d6348f25f0830e1fa5c1c1dd3f014caff74005294c9ed6a0cbf
+[http://www.coker.com.au/bonnie++/bonnie++-1.03a.tgz]
+md5=00b1eee7f98b68fa762c4efb3b34caa1
+sha256=2d1c6b2cfdc17d6348f25f0830e1fa5c1c1dd3f014caff74005294c9ed6a0cbf
+
[http://www.coker.com.au/bonnie++/bonnie++-1.03c.tgz]
md5=77a1ba78f37bdd7f024b67e1e36ad151
sha256=c674f1182f4c20f1e6d038feceb0a6617fc3e7658dfbbac89396043b49612a26
@@ -1822,26 +2266,54 @@ sha256=c674f1182f4c20f1e6d038feceb0a6617fc3e7658dfbbac89396043b49612a26
md5=b86fb56a824d4a3dedcbda12f8b1a2b3
sha256=6cdb945ac41b5ac78e05435e742b3a9928e5d1a5ff22728656deff29249edc66
+[http://heanet.dl.sourceforge.net/boost/boost-jam-3.1.11.tgz]
+md5=b86fb56a824d4a3dedcbda12f8b1a2b3
+sha256=6cdb945ac41b5ac78e05435e742b3a9928e5d1a5ff22728656deff29249edc66
+
[http://downloads.sourceforge.net/boost/boost-jam-3.1.16.tgz]
md5=1fd96a38b1a33c365e8142eec53197e7
sha256=e681f9ba5d622e0c98c249d3847359a12292a7bcc5769f6e1a35e930f7306f25
+[http://heanet.dl.sourceforge.net/boost/boost-jam-3.1.16.tgz]
+md5=1fd96a38b1a33c365e8142eec53197e7
+sha256=e681f9ba5d622e0c98c249d3847359a12292a7bcc5769f6e1a35e930f7306f25
+
[http://downloads.sourceforge.net/boost/boost_1_33_0.tar.bz2]
md5=43d87bbd827a8299f408df5efe5f0fd8
sha256=d6bcb5ad03da810c24703dde423b28aca49109591764dfe447e8a2ad5713be1d
+[http://heanet.dl.sourceforge.net/boost/boost_1_33_0.tar.bz2]
+md5=43d87bbd827a8299f408df5efe5f0fd8
+sha256=d6bcb5ad03da810c24703dde423b28aca49109591764dfe447e8a2ad5713be1d
+
[http://downloads.sourceforge.net/boost/boost_1_33_1.tar.bz2]
md5=2b999b2fb7798e1737d1fff8fac602ef
sha256=6232e93205acbc8c705f44f15977aae158550c99a384f41606cff26c16393be0
+[http://heanet.dl.sourceforge.net/boost/boost_1_33_1.tar.bz2]
+md5=2b999b2fb7798e1737d1fff8fac602ef
+sha256=6232e93205acbc8c705f44f15977aae158550c99a384f41606cff26c16393be0
+
+[http://heanet.dl.sourceforge.net/boost/boost_1_34_1.tar.bz2]
+md5=2d938467e8a448a2c9763e0a9f8ca7e5
+sha256=0f866c75b025a4f1340117a106595cc0675f48ba1e5a9b5c221ec7f19e96ec4c
+
[http://downloads.sourceforge.net/boost/boost_1_36_0.tar.bz2]
md5=328bfec66c312150e4c2a78dcecb504b
sha256=9a4a0cfbbd227c20a13519a2c41f2e707dc0d89e518a3c7bfcd381f7b7fbcdef
+[http://heanet.dl.sourceforge.net/boost/boost_1_36_0.tar.bz2]
+md5=328bfec66c312150e4c2a78dcecb504b
+sha256=9a4a0cfbbd227c20a13519a2c41f2e707dc0d89e518a3c7bfcd381f7b7fbcdef
+
[http://downloads.sourceforge.net/asio/boost_asio_0_3_7.tar.bz2]
md5=e006cde4b4a28cfce95e43710cd126a9
sha256=ade3663edc611d558f5a383abccd0a9ab87d6168f422ef4c2a38775e8b7ca575
+[http://heanet.dl.sourceforge.net/asio/boost_asio_0_3_7.tar.bz2]
+md5=e006cde4b4a28cfce95e43710cd126a9
+sha256=ade3663edc611d558f5a383abccd0a9ab87d6168f422ef4c2a38775e8b7ca575
+
[http://www.openezx.org/download/boot_usb-0.1.0.tar.bz2]
md5=83687c351b2bee53f2d9f6418522afe0
sha256=ca9006b7e5b568a1da84d2b0af00642f143247959ff45f9d9f2e9bd0a33d6c37
@@ -1854,6 +2326,10 @@ sha256=e721987d891ce97ba7a4fc17115a1b48d7659b261d12e886b614999ab12246d2
md5=4be91177d19069e21beeb106f2f77dff
sha256=7738399ecfcfb2242e9f99a316b13a5f59e89052de05074dbf705ccf4edc327d
+[http://heanet.dl.sourceforge.net/bootchart/bootchart-0.9.tar.bz2]
+md5=4be91177d19069e21beeb106f2f77dff
+sha256=7738399ecfcfb2242e9f99a316b13a5f59e89052de05074dbf705ccf4edc327d
+
[http://www.cosmicpenguin.net/pub/bootmenu/bootmenu-0.6.tar.gz]
md5=d7d8343f90a149c1604e5a14ea2f967d
sha256=3ff618bcbf9926f356aec2a604b1f1d617e3f87ad545b1d96c066ed712675845
@@ -1874,14 +2350,30 @@ sha256=56e0abb8697b62949ab085419a3b6f83dd13db02d322759f4cd6c5e5286c2240
md5=e4a7b1a7df4417d82e3f0c4d600dd78e
sha256=49020d3cc60b58a95fc94b5333c3c4a3b630c82287b08a3a94ad5a74cfe7bd75
+[http://heanet.dl.sourceforge.net/bridge/bridge-utils-0.9.7.tgz]
+md5=e4a7b1a7df4417d82e3f0c4d600dd78e
+sha256=49020d3cc60b58a95fc94b5333c3c4a3b630c82287b08a3a94ad5a74cfe7bd75
+
[http://downloads.sourceforge.net/bridge/bridge-utils-1.0.4.tar.gz]
md5=2cab42847c4654e58c4d0ba114bfe2c2
sha256=3fd05b5b77b9913b93036b48ed28d23d794e67660ba2d2ad63b0b7701b22181d
+[http://heanet.dl.sourceforge.net/bridge/bridge-utils-1.0.4.tar.gz]
+md5=2cab42847c4654e58c4d0ba114bfe2c2
+sha256=3fd05b5b77b9913b93036b48ed28d23d794e67660ba2d2ad63b0b7701b22181d
+
[http://downloads.sourceforge.net/bridge/bridge-utils-1.2.tar.gz]
md5=1e6cff57ac90d7ab984d9512fdd9f2dd
sha256=c93b9fab6b12a80bcf69114aab66d1d298455e9269c44f9e5f6430c142f9e349
+[http://heanet.dl.sourceforge.net/bridge/bridge-utils-1.2.tar.gz]
+md5=1e6cff57ac90d7ab984d9512fdd9f2dd
+sha256=c93b9fab6b12a80bcf69114aab66d1d298455e9269c44f9e5f6430c142f9e349
+
+[http://www.ludd.luth.se/~torger/files/brutefir-1.0i.tar.gz]
+md5=33fcf84a41d38f5aac24c57a66a2c3ee
+sha256=e0f3988afb0a84a89f38153fd5617615e9bcf32bb747ee981c99c44d3c4236f6
+
[http://www.holtmann.org/linux/bluetooth/bt950-0.1.tar.gz]
md5=41d6a2dfe88693b5ec999d9ae4e97aac
sha256=e3ff9a7f6dead90d55f1a4a2b1277e3bf5f0ec44ccb6ba8f375acbbedb1263c1
@@ -1898,10 +2390,18 @@ sha256=017b1b022118d7dad371d65ab4b6f4d6d7be99482a4af3facd9360ce55210780
md5=5a7760ed42d7a8b02cbfc77c4e97647c
sha256=0b71cda89cee84cba28cac91e90a30b9648ce09a16e761a370fb171a7ca12657
+[http://heanet.dl.sourceforge.net/bluetooth-alsa/btsco-0.41.tar.gz]
+md5=111efb0f7092c92c4dd376eec96aa2e7
+sha256=47d206a511347f0762f4fe02c71d5b3a6122dcf3947947723cdde1d91ebad01b
+
[http://downloads.sourceforge.net/bluetooth-alsa/btsco-0.42.tar.gz]
md5=b0b6bc4d6df04468349f2ad320b05fa9
sha256=e4f5bc9be311a746bd37f5607d3c225462d7d9294e8b3c692f9a39717b65d843
+[http://heanet.dl.sourceforge.net/bluetooth-alsa/btsco-0.42.tar.gz]
+md5=b0b6bc4d6df04468349f2ad320b05fa9
+sha256=e4f5bc9be311a746bd37f5607d3c225462d7d9294e8b3c692f9a39717b65d843
+
[http://www.saftware.de/bluetooth/btxml.c]
md5=c17e047d1a6a3f3188de929dc8582e01
sha256=58eb43e7e781a6b61e452fa36fa03198ef44c742da80c8a1b60be073e4ab949b
@@ -1986,14 +2486,26 @@ sha256=9bfc34aa8104caba9c0f089aab908700ff4ad76c2b7ca6d5f4c93d842041b1a7
md5=b9d77c57bda2e019207a1874d9bb4dea
sha256=c94dbfa293cbc61b8571d025e90fd1f06a34f8d4e5b11a59856bfc1f13014de3
+[http://heanet.dl.sourceforge.net/bvi/bvi-1.3.1.src.tar.gz]
+md5=b9d77c57bda2e019207a1874d9bb4dea
+sha256=c94dbfa293cbc61b8571d025e90fd1f06a34f8d4e5b11a59856bfc1f13014de3
+
[http://downloads.sourceforge.net/bwmon/bwmon-1.3.tar.gz]
md5=53c44b73aa67d5e0282adfe928f3ba44
sha256=624381208d0faae6c123bc6198a59d6c4316cd4fffb1ba5aca206374f5a42df6
+[http://heanet.dl.sourceforge.net/bwmon/bwmon-1.3.tar.gz]
+md5=53c44b73aa67d5e0282adfe928f3ba44
+sha256=624381208d0faae6c123bc6198a59d6c4316cd4fffb1ba5aca206374f5a42df6
+
[http://downloads.sourceforge.net/bzflag/bzflag-1.10.6.20040515.tar.bz2]
md5=8e3e5fbef3cfa21079eb06269e6b3d8b
sha256=0329e3d0a59e9cc167733ed2b89a0dc2249725642a065cfd385bf1206fe30b19
+[http://heanet.dl.sourceforge.net/bzflag/bzflag-1.10.6.20040515.tar.bz2]
+md5=8e3e5fbef3cfa21079eb06269e6b3d8b
+sha256=0329e3d0a59e9cc167733ed2b89a0dc2249725642a065cfd385bf1206fe30b19
+
[ftp://sources.redhat.com/pub/bzip2/v102/bzip2-1.0.2.tar.gz]
md5=ee76864958d568677f03db8afad92beb
sha256=4b526afa73ca1ccd6f5f1f5fd23813f159f715c3d0e00688f1df54b51f443cdd
@@ -2006,6 +2518,22 @@ sha256=f7bf5368309d76e5daf3a89d4d1bea688dac7780742e7a0ae1af19be9316fe22
md5=badb4563a02d4188b478df31fa1b657d
sha256=5c4594f71eab62e24d12c67ae6a6aead306c537cf71e946c4e9fbebbe9786243
+[http://daniel.haxx.se/projects/c-ares/c-ares-1.5.2.tar.gz]
+md5=23adb3729e09879cd2147b31ea5a986e
+sha256=41f2df62e8f267cfd0ea9b9d29398f02ec3e22225f06f705e3fa8055370f94a4
+
+[http://daniel.haxx.se/projects/c-ares/c-ares-1.5.3.tar.gz]
+md5=ec202543a8cb86647f52e1ed4b5c0b37
+sha256=3037156096ea9fee7c40c771207ab8f21b862cb38b6ca62cc0ac464223f9b643
+
+[http://c-nc.googlecode.com/files/c-nc-0.5.tar.gz]
+md5=ae0d222169d11a8ca790148347ac7d74
+sha256=141730e220eff50b5b3e644211e22a08bc0aacaa6da6fa16f260c57114d0cfdc
+
+[http://jalimo.evolvis.org/repository/sources/cacao-0.98+hg20071001.tar.bz2]
+md5=9ff10c929bd0cbf15909107c1aff7518
+sha256=fdfdbdfdebefb89af560297796d4861ef4fc939e9dbe8500750909dea8662bee
+
[http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-0.98/cacao-0.98.tar.bz2]
md5=8b8907c8b925761c9410bcadb9705346
sha256=cb9363add825cedf77764fc49a223aaf43f0a9f485b711ba8c92f16b13fff188
@@ -2078,6 +2606,18 @@ sha256=a137ccd4a6cde6c9e9553966534702d2e7f6f44c755dfe128d9fb26ed2697fe7
md5=eb7be3b85955a1bbe7a0154cbf2f70f9
sha256=7e6425b688a2d4bbeef0904cac52737b232d03fdc4d35866fd03359f2d5f1794
+[http://www.kegel.com/crosstool/crosstool-0.43/patches/binutils-2.16.1/callahan.patch]
+md5=455b0813f42723b1bd6c4b9f10964f7b
+sha256=31dbaa878b8e2d51109042c533f371c50aace927b45eda6c282fc632f3662620
+
+[http://gpephone.linuxtogo.org/download/gpephone/vochistory-0.1/callhistory-0.1.tar.bz2]
+md5=1a3ef24580667be35667b7eefd0f4efe
+sha256=1e321eb315eb8c60d5d8ae745d3b48cfe5cb388e73b71760440b590be58c74c7
+
+[http://devs.callweaver.org/release/callweaver-1.2.0-rc5.tar.bz2]
+md5=cc99a6b12613bbdb132fb5c8c56069f1
+sha256=1d4ec44d6124776009ddc7bf08d5f24f26a9b6814835456ab0b3ddbfc111b527
+
[http://linuxbrit.co.uk/downloads/camE-1.7.tar.gz]
md5=afdab327ca50ee15197d2d9e19491df7
sha256=e29b73e0bf763dead4a6ed80e648aaaea683f1a5865e5c21fed31fb9428e9430
@@ -2086,14 +2626,26 @@ sha256=e29b73e0bf763dead4a6ed80e648aaaea683f1a5865e5c21fed31fb9428e9430
md5=538e8d4691062524c4181da487d83250
sha256=9caa3e654af03e55582dd515bfcc9bf5aa93c9d22842af16a87a9a226ec581ed
+[http://heanet.dl.sourceforge.net/cameraassistant/camera-assistant_0.2.0.tar.gz]
+md5=538e8d4691062524c4181da487d83250
+sha256=9caa3e654af03e55582dd515bfcc9bf5aa93c9d22842af16a87a9a226ec581ed
+
[http://downloads.sourceforge.net/camsource/camsource-0.7.0.tar.bz2]
md5=ffd824f13f99011984399fc3b7526c71
sha256=837ba51635e01209dc2886491afbc2e97629bfaf32e73566a1862ea0dc090756
+[http://heanet.dl.sourceforge.net/camsource/camsource-0.7.0.tar.bz2]
+md5=ffd824f13f99011984399fc3b7526c71
+sha256=837ba51635e01209dc2886491afbc2e97629bfaf32e73566a1862ea0dc090756
+
[http://downloads.sourceforge.net/cbrpager/cbrpager-0.9.14.tar.gz]
md5=0ce88fc52025b44812d090d10244b2a4
sha256=9c86a5668a2834f02ec44967737d6341c575e2a1deec76944f47be0292a3cfd7
+[http://heanet.dl.sourceforge.net/cbrpager/cbrpager-0.9.14.tar.gz]
+md5=0ce88fc52025b44812d090d10244b2a4
+sha256=9c86a5668a2834f02ec44967737d6341c575e2a1deec76944f47be0292a3cfd7
+
[http://samba.org/ftp/ccache/ccache-2.4.tar.gz]
md5=73c1ed1e767c1752dd0f548ec1e66ce7
sha256=435f862ca5168c346f5aa9e242174bbf19a5abcaeecfceeac2f194558827aaa0
@@ -2106,6 +2658,10 @@ sha256=b7fa79d5059b2fab03d7eb064b57f0fe3175b30fb1cc30f232a323d1887bc096
md5=7b3d8bd3cbb27d7b9debe5c3398f9f7f
sha256=015c4237a532b873990aeeecdf351138ce5a811d062d6db73c611a4985de5435
+[http://heanet.dl.sourceforge.net/cccc/cccc-3.pre84.tar.gz]
+md5=7b3d8bd3cbb27d7b9debe5c3398f9f7f
+sha256=015c4237a532b873990aeeecdf351138ce5a811d062d6db73c611a4985de5435
+
[http://openembedded.org/dl/ccdv.c]
md5=b8c51a2e3cccb381428426c0fc543244
sha256=f1e44d628cc4cbac192bf33f492ad8d1e1988cae576924128df36f3638e9a485
@@ -2118,6 +2674,10 @@ sha256=8cb892ef36321069eff7826aa732f1481715fe54bf96346fae1d25565b44c536
md5=c589fff48ce541f26b394c9d82ccbead
sha256=2dec31ba4a176c921a653c0949a53c2d3497e047737724350897fd2534db18fe
+[ftp://invisible-island.net/cdk/cdk-5.0-20060507.tgz]
+md5=0ec2460a4484d5f5595d8faca61bc9c5
+sha256=e823bfcce52916727cb23d6d549a64347c45c364b3c628d6a352c407fce8f4b4
+
[http://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-alpha9.8.src.tgz]
md5=7218e778b5970a86c958e597f952f193
sha256=1b79fae1aedc692f87d1344410f5c6b666961afccdc78bc5c4c257c450dfa008
@@ -2130,10 +2690,18 @@ sha256=728b6175069a77c4d7d92ae60108cbda81fbbf7bc7aa02e25153ccf2092f6c22
md5=cd7ea4ef72a08b388523c528d81ba3ca
sha256=f33cbb551e494747b76bfbeba3954b4839fe7c849f200746fd7dc21bd665aa56
+[http://heanet.dl.sourceforge.net/cdstatus/cdstatus-0.96.05.tar.gz]
+md5=cd7ea4ef72a08b388523c528d81ba3ca
+sha256=f33cbb551e494747b76bfbeba3954b4839fe7c849f200746fd7dc21bd665aa56
+
[http://hinterhof.net/cdtool/dist/cdtool-2.1.8.tar.gz]
md5=7b19b6f68d2c648296378b784d5f7681
sha256=73de81ea2de2eae64b888e1b2739ef643ccea13c79790569f8e6278369976a21
+[http://pub.risujin.org/cellwriter/cellwriter-1.3.3.tar.gz]
+md5=09b2019e926d5ef42d52edb2dd33ceae
+sha256=3fb7c11ec5d802338a0bf522b11702c37820597c9a2c36f89b52872c6571e602
+
[http://centericq.de/archive/source/releases/centericq-4.11.0.tar.bz2]
md5=bed5e7eeb60b5ac0045f201f13130964
sha256=4f0f769a6e1cc7d76b527829deef34861ed8f79ae07e29d49566df3594308380
@@ -2146,6 +2714,10 @@ sha256=814f81d23596410c2ca7de314db8fcc795c4abd3b00a8fe305b9026415553283
md5=955594716ba30b39f6634e9043e78c66
sha256=0736510574fa44223bf01f526f06478edbe39b5f2ff3387dcdd0dba649208871
+[http://www.centerim.org/download/releases/centerim-4.22.5.tar.gz]
+md5=9bbbdb34ab678d29387171139ae835e1
+sha256=c68abb59043602a2b28fb55d45361d0b22fc1566848cc0c255580914df7b3eb3
+
[http://linuxsh.free.fr/tools/cetools-0.3.tar.gz]
md5=58e8706e6d858e48d317cadf550c1224
sha256=dd74c8f27c7b3ff4c7320803674e2446afce93880f84d96dfb142a9fa73db940
@@ -2170,6 +2742,10 @@ sha256=26991b827f96a49ebd164409852d781b0a74a765c385c56c21a7ae44d030ab42
md5=9a4d5665b8be07513f5ac4e6eec537e6
sha256=fbd7a0595eba5cf0cb168d9893e883f5cc7a68a7d6fec23cb3688508b247fa22
+[http://heanet.dl.sourceforge.net/check/check-0.9.2.tar.gz]
+md5=9a4d5665b8be07513f5ac4e6eec537e6
+sha256=fbd7a0595eba5cf0cb168d9893e883f5cc7a68a7d6fec23cb3688508b247fa22
+
[http://handhelds.org/~zecke/oe_packages/checkers_V1.0.5ern.tar.gz]
md5=82b08b1980ec6fbfc83b4dc0e2df10f7
sha256=543435cb0988acc90a6e651e424eb331aba3f73361036d7af458bc1233973199
@@ -2190,6 +2766,10 @@ sha256=e9c6feee2a626a38cd69c726ed31ffbbf55d288386f50fe6f90fa63de410d67a
md5=332edae079bb34d815369f4ba5181983
sha256=32385c5393c7376035f911f3e887351b1ce8fb6e56498cc4258815bc6db06326
+[http://chicken.wiki.br/releases/3.3.0/chicken-3.3.0.tar.gz]
+md5=835401781fb606741ba3606fa3e89b78
+sha256=5ce2519bac9956de5700a5777b2bbc2cd89202ef2d2252a40a0d1e8c9854bec6
+
[http://www.chillispot.org/download/chillispot-0.98.tar.gz]
md5=4bcf48ec7a94f28faee8b7dc7a0dd97a
sha256=bace8a6a0b27d09983a2c509d6e6bf8ab786935e269036f14dc158505feba602
@@ -2202,6 +2782,14 @@ sha256=395d082c2355369f958d8f12583f07bbac6c00f901266592959bfba09b825bb7
md5=2282c228ab3776c828e79b7b51f2ccc1
sha256=36645bb9e89ba63c303591a4c365f1819a1dd435d46f227140640f4089bfe6f0
+[http://ftp.debian.org/debian/pool/main/c/chrpath/chrpath_0.13.orig.tar.gz]
+md5=b73072a8fbba277558c50364b65bb407
+sha256=c1aa5342eac0daad81b8da05aa282ae1ccd6f68bc75ca94064304f541eed071b
+
+[http://files.chumby.com/resources/chumby_fw_1_2.zip]
+md5=87a60c6fc4f249605940fed86a141c54
+sha256=659a581cfb851c3469671fe8600d39b23024bcc564a24ebcc89045207f36b0fc
+
[http://us1.samba.org/samba/ftp/cifs-cvs/cifs-1.20c-2.4.tar.gz]
md5=f3b96692f679239488de30f2bd896825
sha256=885eda0bbe68018b5770437e542473508f88205bb09cbfde7fc6e0c31f5a6f83
@@ -2222,6 +2810,18 @@ sha256=cc7f90983aa61b3d893c3311e3f832c5faa204467143cff597ad80bf8ad24daa
md5=34a9d58cf5bcb04dbe3eb32b5367a3f8
sha256=702cb5928bff3d0e647a4a6b505d434e3a0f10f2af74bddac5239a200b92d1e2
+[http://heanet.dl.sourceforge.net/clamav/clamav-0.90.2.tar.gz]
+md5=39d1f07a399b551b55096b6ec7325c33
+sha256=30df6a5d4a591dcd4acd7d4cce54dcfd260280fce6bbc9d19d240967bcdabbfa
+
+[http://heanet.dl.sourceforge.net/clamav/clamav-0.90.3.tar.gz]
+md5=d42ccf7a32daeb7c7cc3c8c23a7793ea
+sha256=939913d15ad0dc583ba609274ae61a948f4fa18b848bd503d958feacdaab54a4
+
+[http://heanet.dl.sourceforge.net/clamav/clamav-0.91.1.tar.gz]
+md5=60152bf1e24b3fbdf0473794199e5215
+sha256=f98edecae40473c142fe49a0e02f5ff7fb28d778c4bd510dad747d208d20cb00
+
[http://memberwebs.com/nielsen/software/clamsmtp/clamsmtp-1.8.tar.gz]
md5=04da6aab94934641fcf9e7a7598346fb
sha256=c09b24c82f858845e235df4c8b2639240a7b786de66b595e351be86ab60663a5
@@ -2258,6 +2858,10 @@ sha256=4f2824c42062dea269e489c1acb2769c015bf78cdaa929ee75441d412f10a03b
md5=ffa9e9cac31c5acbf0ea9eff9efa923d
sha256=df2d093612abd23fe67e9409d89bb2a8e79b1664fe2b2da40e1c8ed693e32945
+[ftp://ftp.gnu.org/gnu/classpath/classpath-0.95.tar.gz]
+md5=08638bb9221460cc311a1c5508083ed8
+sha256=5c274a7741c35c35529f5641e644f61431143dac8e7724ac994d1f20c0d9cce0
+
[ftp://ftp.gnu.org/gnu/classpath/classpath-0.96.1.tar.gz]
md5=a2ffb40f13fc76c2dda8f8311b30add9
sha256=ee464d20ef9df2196e238302d5d06954cb96a11e73c4c44c6ef376859de2a078
@@ -2278,14 +2882,30 @@ sha256=056500e4f61f28791390270636ef279c326b090c8634c15faa59497fb3086c8b
md5=97a0c627f91b51b6851b9a1ed9ee7afe
sha256=d04db59df8b013651721312ed167df95d47c88d55eac0eb5b7950d6958f3636e
+[http://downloads.sourceforge.net/sylpheed-claws/claws-mail-3.3.0.tar.bz2]
+md5=646fea69bfa82be5f507e72e055957b6
+sha256=16d4a9ef3a2c62f879c688b7949f4d0b834b26c9905d16fee7d76432df29d8fd
+
+[http://heanet.dl.sourceforge.net/sylpheed-claws/claws-mail-3.3.0.tar.bz2]
+md5=646fea69bfa82be5f507e72e055957b6
+sha256=16d4a9ef3a2c62f879c688b7949f4d0b834b26c9905d16fee7d76432df29d8fd
+
[http://downloads.sourceforge.net/clearlooks/clearlooks-0.6.2.tar.bz2]
md5=451ef33d1bffa261c5cbe01182199f97
sha256=be080113c9e9d137ee14eaf7f731c5ae58d24924748aaa725d0f061d59265f3b
+[http://heanet.dl.sourceforge.net/clearlooks/clearlooks-0.6.2.tar.bz2]
+md5=451ef33d1bffa261c5cbe01182199f97
+sha256=be080113c9e9d137ee14eaf7f731c5ae58d24924748aaa725d0f061d59265f3b
+
[http://www.clearsilver.net/downloads/clearsilver-0.10.3.tar.gz]
md5=ff4104b0e58bca1b61d528edbd902769
sha256=71d8c6459a4be1912dbc445e2e9d46303be6623cea51563c21abe39c8b5b0bd2
+[http://heanet.dl.sourceforge.net/clish/clish-0.7.1.tar.gz]
+md5=27d9b5c12f7d3a1877aeb34f2048e7fa
+sha256=5c7f2bf864b34d4bb17d7d046eca4f07f8174ce4ca3a73339b956fedd95c9752
+
[http://my-zaurus.narod.ru/downloads/clockapplet.tar.gz]
md5=7265673901eacb0b72a11cd6732cc698
sha256=80fd209d065887729fdeb81f5a91638626e7ed31dabab40c446bd12042df9057
@@ -2294,6 +2914,14 @@ sha256=80fd209d065887729fdeb81f5a91638626e7ed31dabab40c446bd12042df9057
md5=90b650f1f5c9f39f4d77f73aca3c53be
sha256=a69fd566af24b85a10c5ecd957a85b7f5eb1c56995d2b999219b52f353ea1de9
+[http://heanet.dl.sourceforge.net/clucene/clucene-core-0.9.21.tar.bz2]
+md5=181cf9a827fd072717d9b09d1a1bda74
+sha256=ef9af373ea953362e42c9a3bdcbf8ef317bca4a407ffab9fe36c1b2807680630
+
+[http://heanet.dl.sourceforge.net/clucene/clucene-core-0.9.21b.tar.bz2]
+md5=ba1a8f764a2ca19c66ad907dddd88352
+sha256=202ee45af747f18642ae0a088d7c4553521714a511a1a9ec99b8144cf9928317
+
[http://www.kokkinizita.net/linuxaudio/downloads/clxclient-3.6.1.tar.bz2]
md5=bd47f80a855d3203fcf10365e79d85e4
sha256=9de3e621d7acabb161b5926565a9c9373fedbc632222018f692346790149545d
@@ -2318,6 +2946,10 @@ sha256=4999d3054a04e6cf4847a72316e32e9e98e6152b1fd72adc87d15e305f990f27
md5=32b0df93b285ee094e053552d9301cb6
sha256=eb9f4b4b5973f444d16920201dfea217fb30542fea23107cf80a1f189408b321
+[http://install.tarball.in.source.dir/codec_engine_2_21.tar.gz]
+md5=6cacb7db6eb61c64395be4ddc737095d
+sha256=d391829686eb002ace3ffbfed75c35e877b42c1884c9359791634b5b57126797
+
[http://install.tarball.in.source.dir/codec_engine_2_21_00_06.tar.gz]
md5=d8f3bbfbcc337d9776991d9561f451f3
sha256=773ce12045ce98c3be4b1845547435f1b7798996fa3170dea72c7c15aa5ca79d
@@ -2342,6 +2974,14 @@ sha256=19681eedbb924eb253308befe12938ab53c7cb3e74fc3eded000d087d322b403
md5=4cd3ce38efbd27c6cf4223f0ced2a5b5
sha256=21341f1900b0fe919a2ad057c334f5d7172588e4262b3d1b0904da03a9db0cff
+[ftp://ftp.logilab.fr/pub/common/common-0.9.3.tar.gz]
+md5=bfbe68606f2448b58836fb79b2582e71
+sha256=6794620f5663442246f6ae1bb6695fd120a1a6024c455da457ae4037b3ee6826
+
+[http://amelang.net/composite_pixbuf.c]
+md5=97edf3cce3353b6cb5f822442a83aa5e
+sha256=bd6f9e5dc0a89e9918f78a550f6e688480f044cec2e8674d34c7c6212831d6bd
+
[http://xlibs.freedesktop.org/release/compositeext-2.0.tar.bz2]
md5=315ce9665059f1b2f4067cc8bd7ecf44
sha256=a6d9b1e4e8720941e7fa7e68373a9a211c16bad0eb449438e0b8c6093190cab6
@@ -2382,10 +3022,22 @@ sha256=cb007ea21edb0e11f9e3a8a72c1623ce2718c49b7ddcabe6b815504b13d47c56
md5=bf21564fc38b3af853ef724babddbacd
sha256=eea6b441672dacd251079fc85ed322e196282e0e66c16303ec64c3a2b1c126c2
+[http://heanet.dl.sourceforge.net/lct/console-tools-0.3.2.tar.gz]
+md5=bf21564fc38b3af853ef724babddbacd
+sha256=eea6b441672dacd251079fc85ed322e196282e0e66c16303ec64c3a2b1c126c2
+
+[http://qa.debian.org/watch/sf.php/lct/console-tools-0.3.2.tar.gz]
+md5=bf21564fc38b3af853ef724babddbacd
+sha256=eea6b441672dacd251079fc85ed322e196282e0e66c16303ec64c3a2b1c126c2
+
[ftp://ftp.logilab.org/pub/constraint/constraint-0.2.3.tar.gz]
md5=17fd01667356cf4d9298c46ed6f88a4f
sha256=e77e1cb6cdeb30367f75accf62a7b94598ece4400c42eb9d8181b7da4fc87f82
+[http://xorg.freedesktop.org/releases/individual/app/constype-1.0.1.tar.bz2]
+md5=9f99bee77ff3c565b4898663810fbef5
+sha256=11403054cb407cdf31da48216f55d1b5943798cb442bcab69faa0a3d7d167541
+
[http://projects.o-hand.com/sources/contacts/contacts-0.4.tar.gz]
md5=7d72fac4f0d6e1c771c37e4e80093e70
sha256=e090ab64a02e4918f78312df19715bc2008aae7d44f6b0913c2a46a13d1881c4
@@ -2434,6 +3086,10 @@ sha256=0d0fcbb41cba4a81c4ab494459472086f377f9edb78a2e2238ed19b58956b0be
md5=91dd4c6b5650aef03b293aa9a6f54d49
sha256=db3782e57882a36ac42b69097a817dc3e2a4031cacb815a4e4a1115da108e519
+[http://heanet.dl.sourceforge.net/corsair/corsair-0.2.6.tar.gz]
+md5=91dd4c6b5650aef03b293aa9a6f54d49
+sha256=db3782e57882a36ac42b69097a817dc3e2a4031cacb815a4e4a1115da108e519
+
[ftp://ftp.gnu.org/gnu/cpio/cpio-2.5.tar.gz]
md5=e02859af1bbbbd73fcbf757acb57e0a4
sha256=dbf79293d0cafa7d7a3a266c2b0b90c00d556e7b3185d4243c74153291da24c8
@@ -2442,6 +3098,10 @@ sha256=dbf79293d0cafa7d7a3a266c2b0b90c00d556e7b3185d4243c74153291da24c8
md5=0bc06cd219410f7d4f6bbfc9bdd7c824
sha256=71b626958e3d8927d236f462b2becd192a113d1d6d38b8d567bdc181b5069ccf
+[http://heanet.dl.sourceforge.net/cppunit/cppunit-1.10.2.tar.gz]
+md5=0bc06cd219410f7d4f6bbfc9bdd7c824
+sha256=71b626958e3d8927d236f462b2becd192a113d1d6d38b8d567bdc181b5069ccf
+
[http://pages.sbcglobal.net/redelm/cpuburn_1_4_tar.gz]
md5=f9bb5ff68afb6ccfca11718c90bcab68
sha256=1b2a1672f455545a28d0f038737e792e8c3b97789f2029f765847fc2a807244a
@@ -2450,6 +3110,10 @@ sha256=1b2a1672f455545a28d0f038737e792e8c3b97789f2029f765847fc2a807244a
md5=d06dcf3e3b2f8eb25216431ec055aa4b
sha256=c64eb1923366934357c917ff9a94237a8157de24a1fd96e0f91c4d5dfad83026
+[http://heanet.dl.sourceforge.net/cpufreqd/cpufreqd-1.1.2.tar.gz]
+md5=d06dcf3e3b2f8eb25216431ec055aa4b
+sha256=c64eb1923366934357c917ff9a94237a8157de24a1fd96e0f91c4d5dfad83026
+
[http://www8.in.tum.de/~schneifa/group/sources/cpusage-0.1.tar.gz]
md5=f779140995280de32817ec4a133f4d60
sha256=feb0b8c73c771390a8771fc3a4ed01104c008bcd278a267eb00263794956778c
@@ -2466,6 +3130,10 @@ sha256=93da5b3a30c5c7c06583635e5b93e9f04f687c01a044779872a29050c4f860e8
md5=d3912b9f7bf745fbfea68f6a9b9de30f
sha256=133caca2c4e7c64106555154ee0ff693f5cf5beb9421ce2eb86baee997d22368
+[http://heanet.dl.sourceforge.net/cramfs/cramfs-1.1.tar.gz]
+md5=d3912b9f7bf745fbfea68f6a9b9de30f
+sha256=133caca2c4e7c64106555154ee0ff693f5cf5beb9421ce2eb86baee997d22368
+
[http://linux.duke.edu/projects/metadata/generate/createrepo-0.9.tar.gz]
md5=0a1b1e67e3c61cda41b41a8886a90e78
sha256=21786abe80f2c06eb9bef107d8c79f50a088a894cddf793112ce0417e83be531
@@ -2478,6 +3146,10 @@ sha256=95784b14539dec30565b0bf1da8a3b1d51636142bbf1207c6d87256c92172aa7
md5=d9f12c3edfca4a4918b8d299cce5f2b4
sha256=99602e966e12347f2728b2153537a14195b06fe130d047e8d91b4f72b24866a0
+[http://www.kegel.com/crosstool/crosstool-0.43/patches/binutils-2.16.1/cross-gprof.patch]
+md5=9e5f053de38f3342a426dd580d7ec331
+sha256=7f8105cf71d2a5c7efa0f9e4b9cc61ac5f68a5b57f0daefb4b51b657f0eeac92
+
[http://handhelds.org/~zecke/oe_packages/crossword_V0.0.3.tar.gz]
md5=659d5c53cbace53f44fe7acb666bfe33
sha256=8b718c344cf19417447cbc16867d2e04434654c13b330598b96720ead146b961
@@ -2490,6 +3162,10 @@ sha256=4bab529afa00cafde3bc5df2769578c88438f80c5152d4257cd0e86986f95bc4
md5=beb6032a301bb11524aec74bfb5e4840
sha256=be49cda0a9d33add89cabe0dfcef436a2863a7b0b833767875e0b7a6e8b4c4d1
+[http://heanet.dl.sourceforge.net/cscope/cscope-15.5.tar.gz]
+md5=beb6032a301bb11524aec74bfb5e4840
+sha256=be49cda0a9d33add89cabe0dfcef436a2863a7b0b833767875e0b7a6e8b4c4d1
+
[http://svn.o-hand.com/repos/web/trunk/patches/css-media.patch]
md5=d3fe4cda3545f3e4718f1acc186608ab
sha256=3aefaa17ffa38143bf5df1161c51ab402d35bfbee41ab4643c313edf569165d5
@@ -2502,14 +3178,26 @@ sha256=df5cca50a8f95333505d7920929fea251daea3be25be6834a1c50a742d9eb674
md5=a84124caadd4103270e0b84596ecfe83
sha256=7b83689a47efa627d4b5670317125de3d87ae9278cf69c3ac7e3b7be646e715d
+[http://heanet.dl.sourceforge.net/ctags/ctags-5.5.4.tar.gz]
+md5=a84124caadd4103270e0b84596ecfe83
+sha256=7b83689a47efa627d4b5670317125de3d87ae9278cf69c3ac7e3b7be646e715d
+
[http://downloads.sourceforge.net/ctorrent/ctorrent-1.3.4.tar.bz2]
md5=823010ec78215d476537c9eba9381cdd
sha256=7e2ef5d0656ac23cecd03374d9b00291a55b274c972adfe94d6f41ae3ba60c73
+[http://heanet.dl.sourceforge.net/ctorrent/ctorrent-1.3.4.tar.bz2]
+md5=823010ec78215d476537c9eba9381cdd
+sha256=7e2ef5d0656ac23cecd03374d9b00291a55b274c972adfe94d6f41ae3ba60c73
+
[http://downloads.sourceforge.net/dtorrent/ctorrent-dnh3.3.1.tar.gz]
md5=9bfe42c2dd6a6aabd545fe332bc23e87
sha256=e65d9c7a4da499314126d979a0a79ce5123e0f969c786bfddcee261f14cb648b
+[http://heanet.dl.sourceforge.net/dtorrent/ctorrent-dnh3.3.1.tar.gz]
+md5=9bfe42c2dd6a6aabd545fe332bc23e87
+sha256=e65d9c7a4da499314126d979a0a79ce5123e0f969c786bfddcee261f14cb648b
+
[http://sources.nslu2-linux.org/sources/ctrlproxy-2.6.2.tar.gz]
md5=37570a7f018f41d701cd29cd95b45241
sha256=c8c42cc08b9b462f9c497441dacde1eac71fd717195ddfbeac68141bd0ad95a8
@@ -2518,6 +3206,10 @@ sha256=c8c42cc08b9b462f9c497441dacde1eac71fd717195ddfbeac68141bd0ad95a8
md5=a13e49376594c51fbfa74067f8d14d45
sha256=e3ed263ee98971674f3f3cf55e42b7f2e79755b0f931f8a105676108185e8010
+[http://www.kflog.org/fileadmin/user_upload/cumulus_snapshots/cumulus-snapshot.tbz]
+md5=c5b0ca7f2164e47ef72889baf23690f6
+sha256=e862f8327a3ba42c7bc756fe846764754b3dab76d8ccbedd5a195b582070b791
+
[ftp://ftp3.easysw.com/pub/cups/1.1.23/cups-1.1.23-source.tar.bz2]
md5=4ce09b1dce09b6b9398af0daae9adf63
sha256=87da0f7b1e03236e183045f1e787957132658ead56c4b0f80ac7f86c1574a85e
@@ -2570,6 +3262,10 @@ sha256=b1f47a0177a5b13d317ab1f6570510502739909ede550e7da08ba814c3c73ae8
md5=c299c5e0f20f633791b4c4f7ced4effe
sha256=a0e28b019f022942650ffa4bdf46e4c09bd8ec18e6ca5f08ad273668115f51f7
+[http://heanet.dl.sourceforge.net/curlftpfs/curlftpfs-0.9.2.tar.gz]
+md5=b452123f755114cd4461d56c648d9f12
+sha256=4eb44739c7078ba0edde177bdd266c4cfb7c621075f47f64c85a06b12b3c6958
+
[http://www.blackie.dk/Zaurus/custominput/custominput-1.1.0.tgz]
md5=7a0f97339a1caed5695715581306b83e
sha256=9af88287720701691b58ee13898d248dd9afc63d9c593eb79c1149cc2a7f4e92
@@ -2654,14 +3350,26 @@ sha256=95227e87d030bffd5af9d04a89ed828586a3125b81bf086b1fae03579aebe44e
md5=c17d450b655bf4503c22f9f07bd9b087
sha256=8e230254e8a1c426ddb6a78de62de931c0c8cfe0767686b7a10a5031c4340826
+[http://heanet.dl.sourceforge.net/dav/davfs2-0.2.7.tar.gz]
+md5=c17d450b655bf4503c22f9f07bd9b087
+sha256=8e230254e8a1c426ddb6a78de62de931c0c8cfe0767686b7a10a5031c4340826
+
[http://downloads.sourceforge.net/dav/davfs2-0.2.8.tar.gz]
md5=586bdead055993a4a06bdeee5449310d
sha256=04f98a83e6339f490046d908c0fcca1275e79462f11592187eb23c7368a172f1
+[http://heanet.dl.sourceforge.net/dav/davfs2-0.2.8.tar.gz]
+md5=586bdead055993a4a06bdeee5449310d
+sha256=04f98a83e6339f490046d908c0fcca1275e79462f11592187eb23c7368a172f1
+
[ftp://sleepycat1.inetu.net/releases/db-3.2.9.tar.gz]
md5=4df5c7051b11411e0a970f6c91613942
sha256=3eccaec87bca4ca0f5728cf4579650da9d12e331187f1e98321e5c9e9e04b108
+[http://download.oracle.com/berkeley-db/db-3.2.9.tar.gz]
+md5=4df5c7051b11411e0a970f6c91613942
+sha256=3eccaec87bca4ca0f5728cf4579650da9d12e331187f1e98321e5c9e9e04b108
+
[http://download.oracle.com/berkeley-db/db-4.2.52.tar.gz]
md5=8b5cff6eb83972afdd8e0b821703c33c
sha256=f4bddd8d1b4cde0daf5e13e3493ed62a25b736b0bf258e1d929e47bc6a82a28c
@@ -2690,6 +3398,14 @@ sha256=6001893f34e68a3cfeb5d424e1f2bfef005df96a22d86f35dc770c5bccf3aa8a
md5=dca09e2949616471669320e3429a49ef
sha256=62c8c36df69c48bed9e8a1406faa5df5d057876b34fc110492c87260a70692c6
+[http://heanet.dl.sourceforge.net/dbh/dbh_1.0-18.tar.bz2]
+md5=dca09e2949616471669320e3429a49ef
+sha256=62c8c36df69c48bed9e8a1406faa5df5d057876b34fc110492c87260a70692c6
+
+[http://qa.debian.org/watch/sf.php/dbh/dbh_1.0-18.tar.bz2]
+md5=dca09e2949616471669320e3429a49ef
+sha256=62c8c36df69c48bed9e8a1406faa5df5d057876b34fc110492c87260a70692c6
+
[http://dbus.freedesktop.org/releases/dbus/dbus-1.0.1.tar.gz]
md5=52c70d18fe0b398f5de3b8a18a589960
sha256=6e0730a39485fb502d640841f0f328c1a0212743f17b3fa61c78e6e32925f061
@@ -2706,6 +3422,10 @@ sha256=8a004125f58512a69575f21f105aead0d1217fce9cb54cbafeac06b4be28c6ca
md5=ce328423db5743fe9006d39113b5324d
sha256=4be82f4ef8f4657f997a44b3daddba3f95dbb6518487509767d803dd72bf529e
+[http://freedesktop.org/software/dbus/releases/dbus/dbus-1.0.3.tar.gz]
+md5=ce328423db5743fe9006d39113b5324d
+sha256=4be82f4ef8f4657f997a44b3daddba3f95dbb6518487509767d803dd72bf529e
+
[http://dbus.freedesktop.org/releases/dbus/dbus-1.1.1.tar.gz]
md5=545ce6d92cb1ed63a54b39d15aed36a6
sha256=ec115ffefe0d1b6aa94bebd536f67b0f6fc0405bdcfb4fb1e481d2f1a8b20a91
@@ -2734,6 +3454,18 @@ sha256=e870d8cd619834eda066e37fe69b441d629f9ad3a871ef2854fbbcd753b3abe2
md5=d3b716a7e798faa1c6a867675f00306a
sha256=8bc083faaf3efdd444a8a44bbcbfea501a7b547736fda3c2d83bfdc9b5b672a3
+[http://dbus.freedesktop.org/releases/dbus-java/dbus-java-2.3.tar.gz]
+md5=eeec2c3ae0a857c75fd3ac96e0612921
+sha256=6ca8464a04d08232968d1ffca3d3f777f55dc39326040c487f50f52d4272e820
+
+[http://dbus.freedesktop.org/releases/dbus-java/dbus-java-2.4.tar.gz]
+md5=cd675550676b84601cd44f39246c4ea9
+sha256=24f31eac8f193771f70134ff7d3c5a7334250f9b50f0a476d12221be4773db32
+
+[http://dbus.freedesktop.org/releases/dbus-java/dbus-java-2.5.tar.gz]
+md5=0fa50b9d2bf5cb2f54e293acca9eb807
+sha256=2b2001aa2fccc6cc3eedfeb35d2c7b13e52811c27820f27f0f6ce0e8f547ad65
+
[http://dbus.freedesktop.org/releases/dbus-python/dbus-python-0.71.tar.gz]
md5=ee893bc87b784a8c2285f5041b5e7033
sha256=4af7a60f65cb02dabbcdf0cb6ca6f659932eb13c2533f6e1dbdab6e3700a2c57
@@ -2762,10 +3494,18 @@ sha256=bd7ce3b854678209e8624698a4000d3e5337339c3825c58a4b3a0a2fbf1a7819
md5=42a3a420e492c0111adc58ac08ff6d04
sha256=28be7102bde3bc9b39be2732b89da9fbab79b7ac3898075ed414a45258bb3026
+[http://heanet.dl.sourceforge.net/ddclient/ddclient-3.6.3.tar.bz2]
+md5=42a3a420e492c0111adc58ac08ff6d04
+sha256=28be7102bde3bc9b39be2732b89da9fbab79b7ac3898075ed414a45258bb3026
+
[ftp://ftp.debian.org/debian/pool/main/d/debianutils/debianutils_2.17.3.tar.gz]
md5=cc768faa584f6c31cc1e0a959a3b8c0c
sha256=46c0991b71d1991aa2f90d6816d9efb737fc9f9b99713174fcdf8d323727a11c
+[ftp://ftp.debian.org/debian/pool/main/d/debianutils/debianutils_2.30.tar.gz]
+md5=7fdd5f8395162d8728d4b79e97b9819e
+sha256=d62e98fee5b1a758d83b62eed8d8bdec473677ff782fed89fc4ae3ba3f381401
+
[ftp://ftp.gnu.org/gnu/dejagnu/dejagnu-1.4.4.tar.gz]
md5=053f18fd5d00873de365413cab17a666
sha256=d0fbedef20fb0843318d60551023631176b27ceb1e11de7468a971770d0e048d
@@ -2774,6 +3514,14 @@ sha256=d0fbedef20fb0843318d60551023631176b27ceb1e11de7468a971770d0e048d
md5=ff871dff0b3e8a11cd5c54478f11073f
sha256=243642a1c3f4b6fd00125f5772ac5c8e4d0bb6586f5abb05829ead4b83ad5233
+[http://heanet.dl.sourceforge.net/dejavu/dejavu-fonts-ttf-2.23.tar.bz2]
+md5=ff871dff0b3e8a11cd5c54478f11073f
+sha256=243642a1c3f4b6fd00125f5772ac5c8e4d0bb6586f5abb05829ead4b83ad5233
+
+[http://qa.debian.org/watch/sf.php/dejavu/dejavu-fonts-ttf-2.23.tar.bz2]
+md5=ff871dff0b3e8a11cd5c54478f11073f
+sha256=243642a1c3f4b6fd00125f5772ac5c8e4d0bb6586f5abb05829ead4b83ad5233
+
[http://downloads.sourceforge.net/dejavu/dejavu-fonts-ttf-2.24.tar.bz2]
md5=7b56c9db1e2a3bf9c80d20ea1c823623
sha256=0f42b12ad2537ea32977809585fd066157394efc35ff5ddf5abb5f47411bd18d
@@ -2798,6 +3546,10 @@ sha256=c463d851fb057acd53800cfc4f8ae39dcbcad7f03b4bd547288e95b6de53b022
md5=40a93def0f37f1577c5edc638fcb35a5
sha256=6e932e73818697ea9ec8909bed535a87ba34651031bbbedb63a42e4cdc423284
+[http://freedesktop.org/Software/desktop-file-utils/releases/desktop-file-utils-0.6.tar.gz]
+md5=0d6b6d4fa861f73e0b4225e93077578f
+sha256=64c05a48e91850627cfaa7314d4b4b847547bc4333fa9345994fa49c79276f3d
+
[http://gpe.linuxtogo.org/download/source/detect-stylus-0.10.tar.gz]
md5=18934b6796441642847ce796bee3b23a
sha256=9ae500ffb1af6e29da00114bad18b776c2f24872c254ee62f6283948beaefc15
@@ -2822,14 +3574,26 @@ sha256=4e0c1726f9c565deec6d6af9eebda47ca6dea473f3280cc89beb321ae33ff962
md5=3f421c80bce00b8bfe68ef9f453932b7
sha256=25380c3722c75b993d530c09d48f5941c0a640a4382f6a0e1878c4ee8459dd16
+[http://heanet.dl.sourceforge.net/devio/devio-1.0.tar.gz]
+md5=3f421c80bce00b8bfe68ef9f453932b7
+sha256=25380c3722c75b993d530c09d48f5941c0a640a4382f6a0e1878c4ee8459dd16
+
[http://downloads.sourceforge.net/devio/devio-1.1.tar.gz]
md5=fe2319ec57b6363c1da78a435ef714c5
sha256=92984b9f18488d020459873c18503a08a3942469b510e7c0b6be73c590df7b39
+[http://heanet.dl.sourceforge.net/devio/devio-1.1.tar.gz]
+md5=fe2319ec57b6363c1da78a435ef714c5
+sha256=92984b9f18488d020459873c18503a08a3942469b510e7c0b6be73c590df7b39
+
[http://downloads.sourceforge.net/devio/devio-1.2.tar.gz]
md5=5d332c2bffc0791367bcf3368ba1a0d1
sha256=a71e87f49f52cd90dbd45431f65e83d18e073fb2669f91c29c59019b175cd5a8
+[http://heanet.dl.sourceforge.net/devio/devio-1.2.tar.gz]
+md5=5d332c2bffc0791367bcf3368ba1a0d1
+sha256=a71e87f49f52cd90dbd45431f65e83d18e073fb2669f91c29c59019b175cd5a8
+
[http://linux.dell.com/devlabel/permalink/devlabel-0.48.01.tar.gz]
md5=1a4032b942d8b47544da1957374a9786
sha256=1dd2cce79f93cb3483fefdc02f65ed0868754ad12360c830d5f5cbe95da8e0e4
@@ -2850,6 +3614,14 @@ sha256=e5facfcab28377d32fd4c70aa1fe0820d3dba4abdfc48bd15eda712c8815e505
md5=002e9d7d85a2f0e6261b6bf501c53a3e
sha256=f399428e0e191233b4dcead88afbe78a26cc16bd9a47e305f6dd3299e011ef18
+[http://dcantrel.fedorapeople.org/dhcdbd/dhcdbd-2.0.tar.bz2]
+md5=d71de5c2f8aea4c8a18659bfa8387414
+sha256=51d36747b8386e18631e5b2a278cf9ef077441cb116a66b72edddecb939724c4
+
+[http://dcantrel.fedorapeople.org/dhcdbd/dhcdbd-3.0.tar.bz2]
+md5=5316b1a0b3a3d53e972374627546d0bf
+sha256=c62d5916dbd4d3148bd4deff355c3dfcb8092c2d9918d62dd24030e01c28361a
+
[ftp://ftp.isc.org/isc/dhcp/dhcp-2.0-history/dhcp-2.0pl5.tar.gz]
md5=ab22f363a7aff924e2cc9d1019a21498
sha256=ef0fa044354ea42983584fcf94838445d8c8167b07630ad1a1057ea4783794b7
@@ -2878,6 +3650,10 @@ sha256=f435e14e1f54dc8792f4e655463d07f2bdbe6d8a8581bd62f5167334ab18bb87
md5=642f7e7d4c71dc144b60f51f9d65de62
sha256=902da1b1e9d90dfda8aa1864846db8ad12386e7521fc9f8b18c8ba220dd0123a
+[http://ftp.gnome.org/pub/GNOME/sources/dia/0.96/dia-0.96.1.tar.bz2]
+md5=7b81b22baa2df55efe4845865dddc7b6
+sha256=7bb43d8b0cb287d728ea479fb65d1b57b8530af773018214e7f312dceed34237
+
[ftp://ftp.us.debian.org/debian/pool/main/d/dialog/dialog_1.0-20050306.orig.tar.gz]
md5=8ce5945be0660bd3152bd9eb0827f945
sha256=e3968765ed916b348fce5e309029d25d068a61e1d422a69a506d0fc80ee6e976
@@ -2906,6 +3682,10 @@ sha256=ca569dfa1e5cfd2f4134f3f61f667bcfab5e15c7d43c8a6e835d384ac5b31a07
md5=14d2853df66054f83d73f7601bc60c8b
sha256=51e9b659b480d59ca3bb48ac1e4701d3b23c1efde15cf02c1904b43af6690fad
+[ftp://ftp.nl.debian.org/debian/pool/main/d/diffstat/diffstat_1.39-1.diff.gz]
+md5=14d2853df66054f83d73f7601bc60c8b
+sha256=51e9b659b480d59ca3bb48ac1e4701d3b23c1efde15cf02c1904b43af6690fad
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/d/diffstat/diffstat_1.39-1.diff.gz]
md5=14d2853df66054f83d73f7601bc60c8b
sha256=51e9b659b480d59ca3bb48ac1e4701d3b23c1efde15cf02c1904b43af6690fad
@@ -2918,6 +3698,10 @@ sha256=51e9b659b480d59ca3bb48ac1e4701d3b23c1efde15cf02c1904b43af6690fad
md5=2d29a68f8fb75b3bed7a18f3d0a002bb
sha256=e19f52cde20094ce20a1edee019ae7715bc1e8beca62ec4989a3da626ba9898a
+[ftp://ftp.nl.debian.org/debian/pool/main/d/diffstat/diffstat_1.39.orig.tar.gz]
+md5=2d29a68f8fb75b3bed7a18f3d0a002bb
+sha256=e19f52cde20094ce20a1edee019ae7715bc1e8beca62ec4989a3da626ba9898a
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/d/diffstat/diffstat_1.39.orig.tar.gz]
md5=2d29a68f8fb75b3bed7a18f3d0a002bb
sha256=e19f52cde20094ce20a1edee019ae7715bc1e8beca62ec4989a3da626ba9898a
@@ -2962,6 +3746,14 @@ sha256=57ffa154f45de309b352ce53aa6618af2f8639d1e330470c3c955241d44ccd78
md5=c94091de014b3aaf037d3d0f398d36c2
sha256=d937528e10c16831d8df31893ee24da8ec2bfd9e9170671c482a1b1abfc5efc3
+[http://heanet.dl.sourceforge.net/djvu/djvulibre-3.5.20.tar.gz]
+md5=c94091de014b3aaf037d3d0f398d36c2
+sha256=d937528e10c16831d8df31893ee24da8ec2bfd9e9170671c482a1b1abfc5efc3
+
+[http://dmalloc.com/releases/dmalloc-5.5.2.tgz]
+md5=f92e5606c23a8092f3d5694e8d1c932e
+sha256=d3be5c6eec24950cb3bd67dbfbcdf036f1278fae5fd78655ef8cdf9e911e428a
+
[http://savannah.nongnu.org/download/dmidecode/dmidecode-2.9.tar.bz2]
md5=3dac4b1817012ffebd78671473d8f56c
sha256=888eb2c25bdcef5ee34c38cd5cb0f491d7dd82029dc0f4ae96183a0088a5e015
@@ -2994,22 +3786,54 @@ sha256=54f3e9ac2bd9f622b28ab0d5149e9bc13d62d8826be085c32abc929bc30dda6a
md5=b7956e15c9766e05b3eca3ce88fdb616
sha256=7b5b456e6ccb3a36cc96b84b79ba148850ab59ac45316b759a090a1121f93e13
+[http://www.docbook.org/sgml/3.1/docbk31.zip]
+md5=432749c0c806dbae81c8bcb70da3b5d3
+sha256=20261d2771b9a052abfa3d8fab1aa62be05791a010281c566f9073bf0e644538
+
+[http://docbook.org/sgml/4.1/docbk41.zip]
+md5=489f6ff2a2173eb1e14216c10533ede2
+sha256=deaafcf0a3677692e7ad4412c0e41c1db3e9da6cdcdb3dd32b2cc1f9c97d6311
+
+[http://www.docbook.org/sgml/4.4/docbook-4.4.zip]
+md5=f89e1bd0b2c7a361e3f1f739e16b5d0d
+sha256=0ac7960409b032c8e517483523ecb92af4e59196a33b3e2c5617daa22b7a8a6c
+
+[http://heanet.dl.sourceforge.net/docbook/docbook-dsssl-1.79.tar.bz2]
+md5=bc192d23266b9a664ca0aba4a7794c7c
+sha256=2f329e120bee9ef42fbdd74ddd60e05e49786c5a7953a0ff4c680ae6bdf0e2bc
+
[ftp://sources.redhat.com/pub/docbook-tools/new-trials/SOURCES/docbook-utils-0.6.13.tar.gz]
md5=af785716b207a7a562551851298a3b1a
sha256=f74e9485f1e1f7484be432f4979415afbd9d8c20d0bdf6eab42eb2931b9b5d97
+[ftp://sources.redhat.com/pub/docbook-tools/new-trials/SOURCES/docbook-utils-0.6.14.tar.gz]
+md5=6b41b18c365c01f225bc417cf632d81c
+sha256=48faab8ee8a7605c9342fb7b906e0815e3cee84a489182af38e8f7c0df2e92e9
+
[http://downloads.sourceforge.net/dosbox/dosbox-0.63.tar.gz]
md5=629413e41224ae9cdd115fdafd55cbdc
sha256=f4eeee90f076d891034faf1268b6352b8df9cb262b787384ed4386cf6ea4faa7
+[http://heanet.dl.sourceforge.net/dosbox/dosbox-0.63.tar.gz]
+md5=629413e41224ae9cdd115fdafd55cbdc
+sha256=f4eeee90f076d891034faf1268b6352b8df9cb262b787384ed4386cf6ea4faa7
+
[http://downloads.sourceforge.net/dosbox/dosbox-0.70.tar.gz]
md5=ea0a936e88eb294038e67eeb0d7129c4
sha256=05fdfd561eee33de12d978795b7f12338327c6da1ce65971463b58f2e90b48e4
+[http://heanet.dl.sourceforge.net/dosbox/dosbox-0.70.tar.gz]
+md5=ea0a936e88eb294038e67eeb0d7129c4
+sha256=05fdfd561eee33de12d978795b7f12338327c6da1ce65971463b58f2e90b48e4
+
[http://downloads.sourceforge.net/dosbox/dosbox-0.72.tar.gz]
md5=262939cc28966c1f9b07c2bc472b699f
sha256=1747d7d9f1e5c0635b5d2d3e6648e8dc36316b1bc88b3755bf96b7fde499ac79
+[http://heanet.dl.sourceforge.net/dosbox/dosbox-0.72.tar.gz]
+md5=262939cc28966c1f9b07c2bc472b699f
+sha256=1747d7d9f1e5c0635b5d2d3e6648e8dc36316b1bc88b3755bf96b7fde499ac79
+
[ftp://ftp.uni-erlangen.de/pub/Linux/LOCAL/dosfstools/dosfstools-2.10.src.tar.gz]
md5=59a02f311a891af8787c4c9e28c6b89b
sha256=55a7b2f5ea4506bde935ee3145573e1773427fc72283a36796c7c2cf861dd064
@@ -3026,6 +3850,10 @@ sha256=8955fad7d9e7aef36f7a82f9577c3ae4901db1ded6ce57aec0d93e39c8899b65
md5=0fc9fffc2c2cfa7107d8f422815078c1
sha256=c33aeb300d93eaeac55927ce81dc6f3a1cf74b3b759b65182c9bfca31b75b98f
+[ftp://ftp.nl.debian.org/debian/pool/main/d/dpkg/dpkg_1.13.22.tar.gz]
+md5=0fc9fffc2c2cfa7107d8f422815078c1
+sha256=c33aeb300d93eaeac55927ce81dc6f3a1cf74b3b759b65182c9bfca31b75b98f
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/d/dpkg/dpkg_1.13.22.tar.gz]
md5=0fc9fffc2c2cfa7107d8f422815078c1
sha256=c33aeb300d93eaeac55927ce81dc6f3a1cf74b3b759b65182c9bfca31b75b98f
@@ -3034,6 +3862,10 @@ sha256=c33aeb300d93eaeac55927ce81dc6f3a1cf74b3b759b65182c9bfca31b75b98f
md5=d8ec0b2bf86d5277fb50f8d391c0dd4a
sha256=8b1ed52659c5f6723f37bf1122508d7f1b82e064aa9db04d18d726bde34c2713
+[ftp://ftp.nl.debian.org/debian/pool/main/d/dpkg/dpkg_1.13.25.tar.gz]
+md5=88effb358aa04d25036b662d588433a6
+sha256=a525f321e875a8c16f5b6942bc02ac66b0d284cc6c61704f93e74789ef89d817
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/d/dpkg/dpkg_1.13.25.tar.gz]
md5=88effb358aa04d25036b662d588433a6
sha256=a525f321e875a8c16f5b6942bc02ac66b0d284cc6c61704f93e74789ef89d817
@@ -3094,6 +3926,10 @@ sha256=8ae0026054fb9f437d59a3bb932628fc2915af6697e430325e0950e960ca6c34
md5=2b53c067c683266379dddbb38e65cb45
sha256=b1a0508444241c61585321eaadc32f476ef441f267636fbd0fb2f0c7ebf0fcbb
+[http://home.comcast.net/~SCSIguy/SCSI_FAQ/RMiller_Tools/ftp/dt/dt-source.tar.gz]
+md5=5776233a2d301a50b314306538257a45
+sha256=2f27fda643093e07161d128a9cc23cf30c0387f87cd911b904d84217f60a9a2a
+
[http://www.jdl.com/pub/software/dtc-20070216.tgz]
md5=8762121262ead127171c4fce40ccc289
sha256=dd687b4f691bf9970f53ca2c84d8481b9f82d857de347375d29bacf648b8da71
@@ -3102,6 +3938,14 @@ sha256=dd687b4f691bf9970f53ca2c84d8481b9f82d857de347375d29bacf648b8da71
md5=46bcff355b60d85bd311fc95b9ff0630
sha256=786f8a128394f978ee66b18b41cdfc87d74eea80f5b8e25beacc5e669c76d5e1
+[http://www.dtnrg.org/docs/code/dtn_2.5.0.tgz]
+md5=e6e608907a291016a39c9e3442dfd50c
+sha256=d8c6dedb4f828c90c1c0f36c35bc4539e81e2220c8b01cd5dc957f9116b4e478
+
+[http://heanet.dl.sourceforge.net/duma/duma_2_5_7.tar.gz]
+md5=d3e981cdc2b78de652215da9b4ac399f
+sha256=6d851f4117002d3523354b70c3f9be4abe5325b084ff54d01ac6daa5ce9a5944
+
[http://www013.upp.so-net.ne.jp/hn43o/dviviewer/dviviewer-1.0.2.tar.gz]
md5=cc101da3b436607ee2265b5af5001484
sha256=ab7c305be32708c4ede670e13783b718e6a28e35b5495e6c42c31c35a8b512a6
@@ -3118,30 +3962,62 @@ sha256=a077754b500b7cf5df1b0bd1edf1f1d28ed4f68b4f6fe33d509b8fd37bc97d41
md5=d774d4412bfb80d12cf3a4fdfd59de5a
sha256=c4e482687d0cff240d02a70fcf423cc14296b6a7869cd8dd42d5404d098e0bb7
+[http://heanet.dl.sourceforge.net/e2fsprogs/e2fsprogs-1.38.tar.gz]
+md5=d774d4412bfb80d12cf3a4fdfd59de5a
+sha256=c4e482687d0cff240d02a70fcf423cc14296b6a7869cd8dd42d5404d098e0bb7
+
[http://downloads.sourceforge.net/e2fsprogs/e2fsprogs-1.41.2.tar.gz]
md5=1c1c5177aea9a23b45b9b3f5b3241819
sha256=635d6d07e5a4d615e599c051166af965baa754f9ff7435e746de1a5d2a5c0d56
+[http://heanet.dl.sourceforge.net/e2fsprogs/e2fsprogs-1.41.2.tar.gz]
+md5=1c1c5177aea9a23b45b9b3f5b3241819
+sha256=635d6d07e5a4d615e599c051166af965baa754f9ff7435e746de1a5d2a5c0d56
+
[http://downloads.sourceforge.net/e2fsprogs/e2fsprogs-libs-1.33.tar.gz]
md5=c7545bb05e0c2fc59174f0dc455c6519
sha256=a65d064bee3e97c164d07a490692db0e73da8da10019ad9a89866706c93ae703
+[http://heanet.dl.sourceforge.net/e2fsprogs/e2fsprogs-libs-1.33.tar.gz]
+md5=c7545bb05e0c2fc59174f0dc455c6519
+sha256=a65d064bee3e97c164d07a490692db0e73da8da10019ad9a89866706c93ae703
+
[http://downloads.sourceforge.net/e2fsprogs/e2fsprogs-libs-1.34.tar.gz]
md5=b51824f1c34be88e8581d96fc418d224
sha256=2c505a14157fe591bd540b9a0dca11f5d842e3b6c34a23dbbbd9eafcc9fa33fa
+[http://heanet.dl.sourceforge.net/e2fsprogs/e2fsprogs-libs-1.34.tar.gz]
+md5=b51824f1c34be88e8581d96fc418d224
+sha256=2c505a14157fe591bd540b9a0dca11f5d842e3b6c34a23dbbbd9eafcc9fa33fa
+
[http://downloads.sourceforge.net/e2fsprogs/e2fsprogs-libs-1.35.tar.gz]
md5=d31301cc2756dc9b0254b6aac03c376e
sha256=236f1c173fe378b1306db797dc31f1884208ceac3ab81ad52f69e01f7bf61277
+[http://heanet.dl.sourceforge.net/e2fsprogs/e2fsprogs-libs-1.35.tar.gz]
+md5=d31301cc2756dc9b0254b6aac03c376e
+sha256=236f1c173fe378b1306db797dc31f1884208ceac3ab81ad52f69e01f7bf61277
+
[http://downloads.sourceforge.net/e2fsprogs/e2fsprogs-libs-1.39.tar.gz]
md5=32a2f67223feb2d70233eb3f41e73311
sha256=fe3c72d861f2a3791f31ea33043d25e29e9a4e3d6a3833b151237a62c5c703f9
+[http://heanet.dl.sourceforge.net/e2fsprogs/e2fsprogs-libs-1.39.tar.gz]
+md5=32a2f67223feb2d70233eb3f41e73311
+sha256=fe3c72d861f2a3791f31ea33043d25e29e9a4e3d6a3833b151237a62c5c703f9
+
[http://downloads.sourceforge.net/e2fsprogs/e2fsprogs-libs-1.41.2.tar.gz]
md5=258d0a8277ace7fab06c55fdb2b249c4
sha256=2de57ec75aca127ec70c2797c1a416fca43d78e6cb5c8ee4938864cb8eaafb56
+[http://heanet.dl.sourceforge.net/e2fsprogs/e2fsprogs-libs-1.41.2.tar.gz]
+md5=258d0a8277ace7fab06c55fdb2b249c4
+sha256=2de57ec75aca127ec70c2797c1a416fca43d78e6cb5c8ee4938864cb8eaafb56
+
+[http://qa.debian.org/watch/sf.php/e2fsprogs/e2fsprogs-libs-1.41.2.tar.gz]
+md5=258d0a8277ace7fab06c55fdb2b249c4
+sha256=2de57ec75aca127ec70c2797c1a416fca43d78e6cb5c8ee4938864cb8eaafb56
+
[http://www.pobox.com/~sheff/sw/e2tools/e2tools-0.0.16.tar.gz]
md5=1829b2b261e0e0d07566066769b5b28b
sha256=4e3c8e17786ccc03fc9fb4145724edf332bb50e1b3c91b6f33e0e3a54861949b
@@ -3158,6 +4034,10 @@ sha256=37e5aab00a316a22329c64848f467b0ce73bba3bcb08c4cba6d193ba8f5e9b90
md5=b87c02bf22b6697bce9df32be40d018f
sha256=eac200dacbde374a7c8b3830a665b9926eb82f695f593b54a3256b29e39df29e
+[ftp://ftp.sra.co.jp/pub/misc/eb/eb-4.3.2.tar.bz2]
+md5=408bbe0f8ed45d341bc36cc4ee6184e7
+sha256=4f5f71590eafa6c3599876806c8d655c3aeff5b2222643ff0ff41a6883ee5ea0
+
[ftp://ftp.sra.co.jp/pub/misc/eb/eb-4.3.tar.bz2]
md5=f7aee92355cae7e4c81cf26df4345b07
sha256=24da6f7466d1d7b42b9e03255079a3f31595fd4932def8f81f9886f347e98d1d
@@ -3166,6 +4046,10 @@ sha256=24da6f7466d1d7b42b9e03255079a3f31595fd4932def8f81f9886f347e98d1d
md5=c4559af2366c764c6c42a3fdd40d60d3
sha256=6b5a71790120977a96d5a468ed69987107c5079f14b0a4081f460b3b14fbf952
+[http://heanet.dl.sourceforge.net/ebtables/ebtables-v2.0.6.tar.gz]
+md5=c4559af2366c764c6c42a3fdd40d60d3
+sha256=6b5a71790120977a96d5a468ed69987107c5079f14b0a4081f460b3b14fbf952
+
[http://eciadsl.flashtux.org/download/eciadsl-usermode-0.11.tar.gz]
md5=c3c60c83f6df30021e11da50a699dec9
sha256=2382f315fda4241a0043bac1dfc669f006d8e93e87fa382b263b1672972f4077
@@ -3174,10 +4058,18 @@ sha256=2382f315fda4241a0043bac1dfc669f006d8e93e87fa382b263b1672972f4077
md5=412d8badd227807ef2f52608435240fb
sha256=dfe24798ca067c75c84f01bf4ee3734fde3e32e4f270f7222025218d3baffbbb
+[http://mirror.calvin.edu/eclipse/downloads/drops/S-3.3M5eh-200702220951/ecjsrc.zip]
+md5=9e1fc1c86c85e72df5e141069b82041d
+sha256=f41194a9580023afd11d18b82f6815b064af83c4f9ca407a40cd8d960bd112cc
+
[http://mirrors.ibiblio.org/pub/mirrors/eclipse/eclipse/downloads/drops/R-3.3-200706251500/ecjsrc.zip]
md5=9e1fc1c86c85e72df5e141069b82041d
sha256=f41194a9580023afd11d18b82f6815b064af83c4f9ca407a40cd8d960bd112cc
+[http://mirrors.ibiblio.org/pub/mirrors/eclipse/eclipse/downloads/drops/R-3.3.2-200802211800/ecjsrc.zip]
+md5=9e1fc1c86c85e72df5e141069b82041d
+sha256=f41194a9580023afd11d18b82f6815b064af83c4f9ca407a40cd8d960bd112cc
+
[http://mirrors.ibiblio.org/pub/mirrors/eclipse/eclipse/downloads/drops/R-3.4-200806172000/ecjsrc.zip]
md5=9e1fc1c86c85e72df5e141069b82041d
sha256=f41194a9580023afd11d18b82f6815b064af83c4f9ca407a40cd8d960bd112cc
@@ -3194,6 +4086,10 @@ sha256=75a4861bf7dcc96a871611350276f10a87b0f7c44a1bbab1108374828bccf509
md5=9db49742bd4c17966fff7d76ac566d31
sha256=978fbc134eef3da8a5f363c9e93494a3d7399e8f2b435ac6b1f2c63f09c167df
+[http://xorg.freedesktop.org/releases/individual/app/editres-1.0.3.tar.bz2]
+md5=a25f931cc6c8d03daaed434f5db5df2d
+sha256=a2a56b32eaa92ad6f667853f023177ffad9128cfa0361afc2872323598aeceae
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/editres-X11R7.0-1.0.1.tar.bz2]
md5=a9dc7f3b0cb59f08ab1e6554a5e60721
sha256=1373ded7c35c38e479122ac1fd8a85682a533612538645c79d09992abcbaab10
@@ -3210,6 +4106,10 @@ sha256=6b7448359284f5af75cbb7027c47616b28aca8b90f9a16b9ec954fa50e455ed3
md5=d78cd3e33c656a62b5bf1f8d0b8d271f
sha256=df6c696f84bc9c2af12f3715f2703060ab1692a918fb221ea0403212c03e0b73
+[http://ftp.gnome.org/pub/GNOME/sources/eel/2.22/eel-2.22.2.tar.bz2]
+md5=f0dc46f4bc6a772da9e149c0018a8b09
+sha256=e91e576ed22e5ba9a930d4292e3dbec4fe4ec7276029d82188cc91db117e21d4
+
[http://ftp.gnome.org/pub/GNOME/sources/eel/2.6/eel-2.6.1.tar.bz2]
md5=6dd46ef1905271cd1171a0bdddabee22
sha256=889c8cff395bc488a6ccfb3fc22fd241a12c33f114bb7d7ec4138d5999da9c5d
@@ -3218,10 +4118,18 @@ sha256=889c8cff395bc488a6ccfb3fc22fd241a12c33f114bb7d7ec4138d5999da9c5d
md5=05c65e4cd84b36baa42e3eee1e652c97
sha256=8d5154877e0f8aa57401a288c5650e5c1dc0efe0b4104796aae1d4b303febace
+[http://heanet.dl.sourceforge.net/ede/efltk-2.0.7.tar.gz]
+md5=f0300fd2fec47d4b05823297032ddb9f
+sha256=9636876e3c52f0dde5d6ac097568cad9fe8ea7088e28e27a3aad19b100d4e645
+
[http://www.egenix.com/files/python/egenix-mx-base-2.0.6.tar.gz]
md5=66841151728a06f92d0b8dd2ed317a29
sha256=03b1ab04397745d22d6e76bd71a6e7fbaf6988e0d75bf2d6face1c910309ac36
+[http://downloads.egenix.com/python/egenix-mx-base-3.0.0.tar.gz]
+md5=e4d388137900b2e7f29b5a113b2a0b5b
+sha256=9ec176847b1e01cd2083cd578e804fda2c619d0f465cd752ec11b38099f75f7f
+
[http://ekg.chmurka.net/ekg-1.6.tar.gz]
md5=1094eee5062d9b9900c4b28bd68fb564
sha256=c6dc601e20bb43c94f5689f05bca8e8501af4cff9dd760afdb3d6998c6952c28
@@ -3246,18 +4154,42 @@ sha256=91f16720df83b15da8747506d17224e2b3e5dd5e606c91a7f76cc7d784aae694
md5=6831b8df3e4a530395e66c2889783752
sha256=9a8466b2293798441056bc279736af3a616baaba2f11940396cc60ff71924ea0
+[http://www.fh-wedel.de/pub/elvis/elvis-2.2_0.tar.gz]
+md5=6831b8df3e4a530395e66c2889783752
+sha256=9a8466b2293798441056bc279736af3a616baaba2f11940396cc60ff71924ea0
+
[http://enlightenment.freedesktop.org/files/embryo-0.9.1.037.tar.gz]
md5=2a09c0355f33112e96ed253bd0bb308a
sha256=0b46174c68b9cb19d0335f3f5194ee41e26865f4a9a62df9410f30693865e2d5
+[http://projects.collabora.co.uk/~xclaesse/empathy-0.1.tar.gz]
+md5=46ebd3c4bc873add9dedea15b0a69a8f
+sha256=d54b101f29b6a3e36a5f905d5b95d1d7515fa888683e891f975de2702b510045
+
+[http://ftp.gnome.org/pub/GNOME/sources/empathy/0.14/empathy-0.14.tar.bz2]
+md5=676154eddfb47f212e4716bebc0fdf26
+sha256=170d61f1387221b3034a777eb835d5b85d23ddb58d4d81ac42480e4e9ea138a6
+
[http://ftp.gnome.org/pub/GNOME/sources/empathy/0.23/empathy-0.23.4.tar.bz2]
md5=5a41033e3e41e9769628e0118f32d5c3
sha256=c493b9a22c9580d49fd90d2bb6955435ccba9304ecb382411864041d914c94d6
+[http://ftp.gnome.org/pub/GNOME/sources/empathy/0.4/empathy-0.4.tar.bz2]
+md5=e965e57924607482f6d91bb578802a46
+sha256=4661b3440b8f8896efb42b334528a39eb9f4cb4b1b4411c759e24d60ecb43e48
+
+[http://ftp.gnome.org/pub/GNOME/sources/empathy/0.5/empathy-0.5.tar.bz2]
+md5=e363689295c78ad62d323111a0176ea5
+sha256=3807d778ea57b9a72a17d6f7c4c623f3b12546d9fc6a0b1da8c3f713fd6e4a15
+
[http://ftp.gnome.org/pub/GNOME/sources/empathy/0.9/empathy-0.9.tar.bz2]
md5=74c7255a56ffa8e37147a1a0cfe40565
sha256=51eab13f16c48433035e84b8eb6c66afbbf3e48199323d25f4f9a09c8047d078
+[http://ftp.gnome.org/pub/GNOME/sources/empathy/2.23/empathy-2.23.90.tar.bz2]
+md5=9bd5b3aef85262f8ae3efdbe87a7dbf8
+sha256=ad2c7ca228cdc79405c3853e7fdbfd5c239a6e9ad9a1a237e7e1b0c0b10f3ad4
+
[http://ftp.gnome.org/pub/GNOME/sources/empathy/2.24/empathy-2.24.0.tar.bz2]
md5=89e6dc430ad198c8044f261645d8bc6c
sha256=5e73cfe9bbe862391386b4d60776a22fc765c48fe9f2bfad17ebd691571da2b9
@@ -3310,6 +4242,10 @@ sha256=33d0d4542945685661b7344713a91d76f9eb0eb5153a61b5ed1cf1180637a492
md5=b5174b59e4a050fb462af5dbf28ebba3
sha256=45299a4db47c9c08c3649d4f62b211ae79ef5143360c264a40371a728f6ad99b
+[ftp://ftp.nl.debian.org/debian/pool/main/e/enscript/enscript_1.6.4.orig.tar.gz]
+md5=b5174b59e4a050fb462af5dbf28ebba3
+sha256=45299a4db47c9c08c3649d4f62b211ae79ef5143360c264a40371a728f6ad99b
+
[http://enlightenment.freedesktop.org/files/entrance-0.9.0.007.tar.gz]
md5=b789d09fa76e76a6466a786f0628d0ff
sha256=789846f0a3df54b03a07cd117ee59b53f63a8677662cb2ff754a9be94032ec44
@@ -3338,6 +4274,10 @@ sha256=61d041afc953e0570ddae934179e92edf800f69f043d78058073806504e4137f
md5=383db51e46d13d986966459e4918d236
sha256=bb12585b433fd0eca11865541bdb877166b9e53b0ea12624776f11cce3ce189b
+[http://ftp.gnome.org/pub/GNOME/sources/epiphany/2.21/epiphany-2.21.92.tar.bz2]
+md5=2e0199851122ecb9d5f2863d92e18aa8
+sha256=904275567e54f5fcdb068d544b42da34c0361d3b8d143dfecd878950850a54c9
+
[http://ftp.gnome.org/pub/GNOME/sources/epiphany/2.22/epiphany-2.22.1.tar.bz2]
md5=f3354751f7e293c03ffb9f26bd00b17f
sha256=6faf0aaf8a44ad119baa921a634eb8dd2d02c4f501af176f294164f7d49dca5e
@@ -3358,6 +4298,10 @@ sha256=5df5b02c568f5e4b744252fbd62f5fae71bf0eddecc423d2b396a0ffbfe94465
md5=9f0b809e891a548910f099efc4315b02
sha256=ae023107f8e0c872a2bb6f23a9a5f019b254e9b7eebd20a309af996d9cb7e38e
+[http://heanet.dl.sourceforge.net/esmtp/esmtp-0.5.1.tar.bz2]
+md5=9f0b809e891a548910f099efc4315b02
+sha256=ae023107f8e0c872a2bb6f23a9a5f019b254e9b7eebd20a309af996d9cb7e38e
+
[ftp://ftp.gnome.org/pub/GNOME/sources/esound/0.2/esound-0.2.36.tar.bz2]
md5=3facb5aa0115cc1c31771b9ad454ae76
sha256=68bf399fcbd45c5e9ba99cd13a3a479e4ef2bc5dc52e540ffa00aef1e1b19a76
@@ -3370,10 +4314,18 @@ sha256=9bd7db657b8e9622910b9d3188096e37ee627ac0651c78ddce58e205e7487932
md5=5c7b292d0537232868b4ac1317d76c02
sha256=77f406c345362185ec4f362bf49f61d202e01ac9b9cd5c14f803195a544ce6d3
+[http://heanet.dl.sourceforge.net/espeak/espeak-1.37-source.zip]
+md5=5c7b292d0537232868b4ac1317d76c02
+sha256=77f406c345362185ec4f362bf49f61d202e01ac9b9cd5c14f803195a544ce6d3
+
[http://downloads.sourceforge.net/espgs/espgs-7.07.1-source.tar.bz2]
md5=d30bf5c09f2c7caa8291f6305cf03044
sha256=7e0ed705da90a4c65368675d68ccecb871f89cb06d2efc61ddd0bb5fee5570f2
+[http://heanet.dl.sourceforge.net/espgs/espgs-7.07.1-source.tar.bz2]
+md5=d30bf5c09f2c7caa8291f6305cf03044
+sha256=7e0ed705da90a4c65368675d68ccecb871f89cb06d2efc61ddd0bb5fee5570f2
+
[http://ftp.rz.tu-bs.de/pub/mirror/ftp.easysw.com/ftp/pub/ghostscript/8.15.3/espgs-8.15.3-source.tar.bz2]
md5=4ec87a3da20c1b433ffbe0ffe3675fcd
sha256=c1f5eefc058b08113f90bc583436399d71644b61872fa39ab4982a58a80baa62
@@ -3390,14 +4342,38 @@ sha256=8a27bae79247f893592b9e919f80c6f01c082d8ac7320602490106c758a9c762
md5=b4e71f7fa2629250677eefcb338442c5
sha256=015d7c6084a668d7c2868d074e41a9cdd80bb6f0c7c6b9d275802e1629dd301f
+[http://heanet.dl.sourceforge.net/gkernel/ethtool-3.tar.gz]
+md5=b4e71f7fa2629250677eefcb338442c5
+sha256=015d7c6084a668d7c2868d074e41a9cdd80bb6f0c7c6b9d275802e1629dd301f
+
[http://downloads.sourceforge.net/gkernel/ethtool-4.tar.gz]
md5=3882c7c9cb9b4c37b08846dea9370245
sha256=4536d6bc9ce52b9f4d505ff36aefca23c1042a92fd2f9a54308eff6e09b1a22b
+[http://heanet.dl.sourceforge.net/gkernel/ethtool-4.tar.gz]
+md5=3882c7c9cb9b4c37b08846dea9370245
+sha256=4536d6bc9ce52b9f4d505ff36aefca23c1042a92fd2f9a54308eff6e09b1a22b
+
+[http://heanet.dl.sourceforge.net/gkernel/ethtool-5.tar.gz]
+md5=5df7f165974e096e2de890e099f87a12
+sha256=9eaad6076e57a5e2019733e4387705dc66829ea17cce04701b436cf5f374bb8f
+
+[http://heanet.dl.sourceforge.net/gkernel/ethtool-6.tar.gz]
+md5=3b721ec27f17ebf320ba8c505cf66d9c
+sha256=5046f573e7dd77f689c33c5f0aa0f2b7f96c79e0b37d6ecc78bae74c094fb4c6
+
+[http://dev.laptop.org/pub/sugar/sources/etoys/etoys-3.0.2076.tar.gz]
+md5=9cd0026f5bc89c96cafbd6d1d3500a3b
+sha256=4a2a9f54f3fc68250a92eab43a030b6b96c4b6e251b698b3378bfee751f1cbd8
+
[http://downloads.sourceforge.net/ettercap/ettercap-0.6.b.tar.gz]
md5=f665cf82347a91f216184537f8f2c4bd
sha256=2b6b0d1af5b8af63eb5edf7052fdc9f46c55b6f7b607c8772b18927cb481ecf9
+[http://heanet.dl.sourceforge.net/ettercap/ettercap-NG-0.7.3.tar.gz]
+md5=28fb15cd024162c55249888fe1b97820
+sha256=c74239052d62565c13a82f9bbf217a4fdcce4b34949e361b53bb3f28e3168543
+
[http://enlightenment.freedesktop.org/files/evas-0.9.9.037.tar.gz]
md5=21cb713b01be39992a7c48d0ea23429b
sha256=400046d55db03c3ac2de9e3346e38d0a75753501fb85ea953a497cdafc1340a1
@@ -3426,6 +4402,14 @@ sha256=c3f923e9becee6aa59cc4dafbc36d376a88099cf4017a5e928f367bd428174de
md5=55a1d4af3cac209c7cfbe83b7ffcee1d
sha256=ee72f48ec0c76a8f44d8a6aed6759d43a147a9d5bb2b15f06460c4d6ef86025e
+[http://ftp.gnome.org/pub/GNOME/sources/evince/0.9/evince-0.9.0.tar.bz2]
+md5=620294cf13a7b98e966bfa64a9eec08f
+sha256=60def1544481ed99f6ecf853eddde61c5b35df9853ec9e5c487372d46bbee7c2
+
+[http://ftp.gnome.org/pub/GNOME/sources/evince/0.9/evince-0.9.2.tar.bz2]
+md5=defd7e5f9e8299da9d65b0ad025ccfac
+sha256=aab3a4c14612664edfee07b305994d375843be998c5154058458a7afe886a179
+
[http://ftp.gnome.org/pub/GNOME/sources/evince/2.20/evince-2.20.0.tar.bz2]
md5=f9414b4dbfdff9a8f7f2f146a351e05a
sha256=30dbad09953d92e48cc27681d601d0a55e30dc8e82a89c173098187bd7b35e61
@@ -3438,6 +4422,10 @@ sha256=4dcbdbd253b1978dcd70452780d7804ade912f4ede90f122f30d5322f53c5c3e
md5=4e353edd6481f67ee534a40d4b7f3b8c
sha256=c424e6dd5cc0d998a311f5c49835de9803da4dbcb74ca7fbda29c1b953bf6d6b
+[http://ftp.gnome.org/pub/GNOME/sources/evince/2.24/evince-2.24.1.tar.bz2]
+md5=ad0e463ab1fe596fc52c03403a9b9f1e
+sha256=d8803313e2a0b3fa3fe20fe613ac3ec85ec6848d5d446dd02e9cc5be8194f65c
+
[http://enlightenment.freedesktop.org/files/ewl-0.0.4.007.tar.gz]
md5=29bc8aec80b53480c2ea53aea1796e15
sha256=0a0dba00517013082b8e094b4b7753162cf5fb71a170eb54cbc2eaa35717d5f6
@@ -3446,6 +4434,10 @@ sha256=0a0dba00517013082b8e094b4b7753162cf5fb71a170eb54cbc2eaa35717d5f6
md5=bb18d19e1d6fb255dadda456cadec00e
sha256=b72d82e9117308063471993f3832e58064c0599dec3df2bf2a7ce54450984a3e
+[http://projects.o-hand.com/sources/exmap-console/exmap-console-0.4.1.tgz]
+md5=55aec784e214037e61400287a55b5426
+sha256=53082354ae893fd385051c96214640cbeba527131ccf9f5320626252a4aef8d5
+
[http://projects.o-hand.com/sources/exmap-console/exmap-console-0.4.tgz]
md5=eb8b6d834d2224e17561593dc4158e4d
sha256=418c3b9e099b96f7b8e1456c34b585b2f4bd10af88fb976116a154e4cb54fa9b
@@ -3458,10 +4450,18 @@ sha256=a5373e9bd6055caa7cd5d06128f6236cfd2f4f6657ea4a85d7bd9eafe5bf0538
md5=ca78d94e83e9f077b5da2bfe28ba986a
sha256=b48761f9b67715bb1f85371d0059d744a60ed71e72065da7d5326bbb04e26a92
+[http://heanet.dl.sourceforge.net/expat/expat-1.95.6.tar.gz]
+md5=ca78d94e83e9f077b5da2bfe28ba986a
+sha256=b48761f9b67715bb1f85371d0059d744a60ed71e72065da7d5326bbb04e26a92
+
[http://downloads.sourceforge.net/expat/expat-1.95.7.tar.gz]
md5=2ff59c2a5cbdd21a285c5f343e214fa9
sha256=c94817c67c8ff0d244092c19f5713ea8c76a9a19075ff6031d4ef93ec7b66256
+[http://heanet.dl.sourceforge.net/expat/expat-1.95.7.tar.gz]
+md5=2ff59c2a5cbdd21a285c5f343e214fa9
+sha256=c94817c67c8ff0d244092c19f5713ea8c76a9a19075ff6031d4ef93ec7b66256
+
[http://qa.debian.org/watch/sf.php/expat/expat-1.95.7.tar.gz]
md5=2ff59c2a5cbdd21a285c5f343e214fa9
sha256=c94817c67c8ff0d244092c19f5713ea8c76a9a19075ff6031d4ef93ec7b66256
@@ -3470,6 +4470,10 @@ sha256=c94817c67c8ff0d244092c19f5713ea8c76a9a19075ff6031d4ef93ec7b66256
md5=d945df7f1c0868c5c73cf66ba9596f3f
sha256=c4280eb80fa8e14b3f204b1d0ec67af66fa04c4f9dae9c78a1a8ee4c6f485ddd
+[http://heanet.dl.sourceforge.net/expat/expat-2.0.0.tar.gz]
+md5=d945df7f1c0868c5c73cf66ba9596f3f
+sha256=c4280eb80fa8e14b3f204b1d0ec67af66fa04c4f9dae9c78a1a8ee4c6f485ddd
+
[http://qa.debian.org/watch/sf.php/expat/expat-2.0.0.tar.gz]
md5=d945df7f1c0868c5c73cf66ba9596f3f
sha256=c4280eb80fa8e14b3f204b1d0ec67af66fa04c4f9dae9c78a1a8ee4c6f485ddd
@@ -3498,14 +4502,26 @@ sha256=f7ff9bf972139b303616018a6937aa4c6df4e93c935ffd004b30845e2ad41ea6
md5=e72dc74db17b42b06155613489077ad7
sha256=a5844ff3bce0d7c885af71f41da01395d3253dcfc33863306a027a78a7cfad9e
+[http://heanet.dl.sourceforge.net/faac/faac-1.24.tar.gz]
+md5=e72dc74db17b42b06155613489077ad7
+sha256=a5844ff3bce0d7c885af71f41da01395d3253dcfc33863306a027a78a7cfad9e
+
[http://downloads.sourceforge.net/faac/faad2-2.0.zip]
md5=b6807fba02d52747ebb92097daee71e8
sha256=50cf7188f6f99b75566f14d417915dcff1446d36d05982971c126893ae74a97a
+[http://heanet.dl.sourceforge.net/faac/faad2-2.0.zip]
+md5=b6807fba02d52747ebb92097daee71e8
+sha256=50cf7188f6f99b75566f14d417915dcff1446d36d05982971c126893ae74a97a
+
[ftp://ftp.debian.org/debian/pool/main/f/fakechroot/fakechroot_2.5.orig.tar.gz]
md5=b885951b98f4316f9686699e9853513d
sha256=990cd830ea362ba2cb88ca7b59cd3f4d115a054621450b5cf211cadebed23ee0
+[ftp://ftp.nl.debian.org/debian/pool/main/f/fakechroot/fakechroot_2.5.orig.tar.gz]
+md5=b885951b98f4316f9686699e9853513d
+sha256=990cd830ea362ba2cb88ca7b59cd3f4d115a054621450b5cf211cadebed23ee0
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/f/fakechroot/fakechroot_2.5.orig.tar.gz]
md5=b885951b98f4316f9686699e9853513d
sha256=990cd830ea362ba2cb88ca7b59cd3f4d115a054621450b5cf211cadebed23ee0
@@ -3558,6 +4574,10 @@ sha256=2cbf95aef9e3f9a32b6859ae35723eaa76b5ed483ddaa654cf627d1eacdea5fa
md5=9441c981bfd4e521abcd5d93385f71d8
sha256=06c2772ae6e446227f6798ad8994fcdb1fe64385bc83a34f7e29fd8af2e4f5da
+[ftp://ftp.nl.debian.org/debian/pool/main/f/fakeroot/fakeroot_1.9.6.tar.gz]
+md5=9441c981bfd4e521abcd5d93385f71d8
+sha256=06c2772ae6e446227f6798ad8994fcdb1fe64385bc83a34f7e29fd8af2e4f5da
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/f/fakeroot/fakeroot_1.9.6.tar.gz]
md5=9441c981bfd4e521abcd5d93385f71d8
sha256=06c2772ae6e446227f6798ad8994fcdb1fe64385bc83a34f7e29fd8af2e4f5da
@@ -3594,10 +4614,18 @@ sha256=9158241a20978dcc4caf0692684da9dd3640fd6f5c8b72581bd099198d670510
md5=71bf1218c52a6e4a1f38406748285255
sha256=e8cf4fe15d7e99e86016db3ddc1f403c35c49f40c4d37209d76cd5785c541aa8
+[http://dl.bytesex.org/releases/fbida/fbida-2.07.tar.gz]
+md5=3e05910fb7c1d9b2bd3e272d96db069c
+sha256=6510dee7c4f45cb63094d540e66aa39d53215c59f46944b8bb050c26b71bdb44
+
[http://downloads.sourceforge.net/fbpanel/fbpanel-4.3.tgz]
md5=2d2f3713cf3c17b71997064f39d4c888
sha256=e4db7a6305ffe2333fae08c940ded8f7e5b02999e0917b0ea4ef3764c80f58c8
+[http://heanet.dl.sourceforge.net/fbpanel/fbpanel-4.3.tgz]
+md5=2d2f3713cf3c17b71997064f39d4c888
+sha256=e4db7a6305ffe2333fae08c940ded8f7e5b02999e0917b0ea4ef3764c80f58c8
+
[http://only.mawhrin.net/fbreader/obsolete/fbreader-sources-0.7.3d.tgz]
md5=705a89bb03860fb312a7afa25db0310e
sha256=ec9f93968147526a9b2dd17e31a6d2795356b2eeed309f796f655b37b98abd83
@@ -3606,6 +4634,10 @@ sha256=ec9f93968147526a9b2dd17e31a6d2795356b2eeed309f796f655b37b98abd83
md5=17062ae0f1d7d093e61cd002e39885ae
sha256=190e2b5ae8467d4b0c26b10e091c74509e00d4bd895c240842ee02a870caa3eb
+[http://only.mawhrin.net/fbreader/obsolete/fbreader-sources-0.7.4q.tgz]
+md5=17062ae0f1d7d093e61cd002e39885ae
+sha256=190e2b5ae8467d4b0c26b10e091c74509e00d4bd895c240842ee02a870caa3eb
+
[http://only.mawhrin.net/fbreader/fbreader-sources-0.8.2a.tgz]
md5=3b4944bf0d37b42249bef84d59918ce0
sha256=4e505820b150ae35a40c39a3d2aeb7a8dcb6bd9b599055c40f566d874e4d1c82
@@ -3630,6 +4662,10 @@ sha256=e22ed10ecba059904649f344be260512fdb3cbecbd95ca965f8b5cc3ea1785b5
md5=1977214a15a341a4fd8bad14eda76866
sha256=a227f2d8a3b79462a895435be26c1622f03c5978d2e3e5456d6284592e88a6c2
+[http://heanet.dl.sourceforge.net/fceultra/fceu-0.98.13-pre.src.tar.bz2]
+md5=1977214a15a341a4fd8bad14eda76866
+sha256=a227f2d8a3b79462a895435be26c1622f03c5978d2e3e5456d6284592e88a6c2
+
[http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz]
md5=d15060a813b91383a9f3c66faf84867e
sha256=66fc45c6b36a21bf2fbbb68e90f780cc21a9da1fffbae75e76d2b4402d3f05b9
@@ -3654,6 +4690,10 @@ sha256=d0867cf1dbc58031a6b65375cf899f565569a818400f762dcee3b50de9da9f56
md5=9956b30139edaa4f5f77c4d0dbd80225
sha256=c18e6f23315e0a3526229bd0ba5cf8ce0d747cb5e5ba7cb952ad08c85a1cafac
+[ftp://ftp.nl.debian.org/debian/pool/main/f/fetchmail/fetchmail_6.2.5.orig.tar.gz]
+md5=9956b30139edaa4f5f77c4d0dbd80225
+sha256=c18e6f23315e0a3526229bd0ba5cf8ce0d747cb5e5ba7cb952ad08c85a1cafac
+
[ftp://ftp.debian.org/debian/pool/main/f/fetchmail/fetchmail_6.3.8.orig.tar.gz]
md5=1b84621072b4f906b5686a4fbae0b1d7
sha256=d06e7244dcd2b462c0e7bea0d01edadb54905f4533afc45f971ab9f6ee46497c
@@ -3662,6 +4702,10 @@ sha256=d06e7244dcd2b462c0e7bea0d01edadb54905f4533afc45f971ab9f6ee46497c
md5=ea5587e3c66d50b1503b82ac4179c303
sha256=0e9e771114a75c461e813538f129eb05a251b8fc6591a5563420700b8e312da0
+[http://heanet.dl.sourceforge.net/ffmpeg/ffmpeg-0.4.9-pre1.tar.gz]
+md5=ea5587e3c66d50b1503b82ac4179c303
+sha256=0e9e771114a75c461e813538f129eb05a251b8fc6591a5563420700b8e312da0
+
[http://folks.o-hand.com/dodji/0xdeadbabe/ffmpeg_xine.tar.bz2]
md5=e67e1c2eb134d2fba50a524188b6a3b4
sha256=61ba89c0deaaf324485b2bf480fdb90941b74e2c47b4810e34f530b77005bb8c
@@ -3718,6 +4762,10 @@ sha256=dba581583ef390fab90c39c9a667bf1a5bfbeaec75e6fbb2a9cedcc857d26800
md5=7a1fc804ed735c5b7e9b1498bac8b5db
sha256=b7db1a7d7ee37707dd5736a656982d1deaea7b29654f49564c2aa54c59ba1e24
+[http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/source/firefox-2.0.0.3-source.tar.bz2]
+md5=24398e3d98673a2a92a01a8f771ca12a
+sha256=02169e4e7a095c426fd5caf56c6cfc2415f4fe54cef7f4e78556f350e2c94007
+
[http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/3.0/source/firefox-3.0-source.tar.bz2]
md5=4210ae0801df2eb498408533010d97c1
sha256=606e84ac02322aff692b9d4612cb8e27f5fa0da29e14bce7744927e0dad9c4b9
@@ -3762,14 +4810,26 @@ sha256=ea55da5c73aa0ca733f6e6efe5e4e77ff24779578a4170eb868da808a7e24f93
md5=19b456a27b5fcf502c76cc33f33e1490
sha256=897b0ac415b36ea241932c56852b8d6f3e083d0db66be9a96fc83c9cc42932a1
+[http://heanet.dl.sourceforge.net/flac/flac-1.1.0.tar.gz]
+md5=19b456a27b5fcf502c76cc33f33e1490
+sha256=897b0ac415b36ea241932c56852b8d6f3e083d0db66be9a96fc83c9cc42932a1
+
[http://downloads.sourceforge.net/flac/flac-1.1.2.tar.gz]
md5=2bfc127cdda02834d0491ab531a20960
sha256=ce4f7d11b3c04a7368c916ca4abc284dd0c0256f461dfb7f07df1ab445e7a5c0
+[http://heanet.dl.sourceforge.net/flac/flac-1.1.2.tar.gz]
+md5=2bfc127cdda02834d0491ab531a20960
+sha256=ce4f7d11b3c04a7368c916ca4abc284dd0c0256f461dfb7f07df1ab445e7a5c0
+
[http://downloads.sourceforge.net/flex/flex-2.5.31.tar.bz2]
md5=363dcc4afc917dc51306eb9d3de0152f
sha256=701353279a17655d78e3b3678ad78d0375f5bf45877ad8b3507d589c42427f26
+[http://heanet.dl.sourceforge.net/flex/flex-2.5.31.tar.bz2]
+md5=363dcc4afc917dc51306eb9d3de0152f
+sha256=701353279a17655d78e3b3678ad78d0375f5bf45877ad8b3507d589c42427f26
+
[http://qa.debian.org/watch/sf.php/flex/flex-2.5.31.tar.bz2]
md5=363dcc4afc917dc51306eb9d3de0152f
sha256=701353279a17655d78e3b3678ad78d0375f5bf45877ad8b3507d589c42427f26
@@ -3798,6 +4858,18 @@ sha256=a0e31ad5088414aaee003586a23127a5ace7717ba4f8fb4e02cf56bb9a5c30f4
md5=2e29319119adc9d63b2f26b72cae0a88
sha256=855a97e35da823f205253b865758715872cd2c7720e4dcf134a3b6dc18bfb96a
+[ftp://ftp.rz.tu-bs.de/pub/mirror/ftp.easysw.com/ftp/pub/fltk/1.1.9/fltk-1.1.9-source.tar.bz2]
+md5=e146fd264e1001b1313acfd41ef75552
+sha256=facba5a97a20ca92b32504174474775c6b12fb67a6f646fa0de18db709c3edde
+
+[http://members.cheese.at/woody/fltk-chess/fltk-chess-0.5.tgz]
+md5=ee34788a2dc9fdc088a6dc66c31eba34
+sha256=c789b355d0ba03b018513c3904bba6d6fab01b3a83a460fbe1b20a79052f46a4
+
+[http://savannah.nongnu.org/download/fluid/fluidsynth-1.0.8.tar.gz]
+md5=e2abfd2e69fd8b28d965df968d7d44ee
+sha256=45e7c9967d0fb0344f4da539ab343fb979384b36a429a8594c94cf466dff4320
+
[http://www.flumotion.net/src/flumotion/flumotion-0.4.1.tar.bz2]
md5=85563f1167a3265cf61c8886c318dda7
sha256=a24640d8ca9c485d7611880193f18e5ae62af07e3b9464904f3602277f1d4097
@@ -3810,142 +4882,290 @@ sha256=dd943b9746997bb6e49820187998dd26a58b2d0f886a45c166209e6d7d35aa32
md5=2575d0b605bcacc406c5b8f89fb0d3c5
sha256=84cabad81bb78fc08ae3d8abae57840cf575a0ca6ca719c7d9bed19505d06ea3
+[http://heanet.dl.sourceforge.net/fluxbox/fluxbox-1.0rc.tar.gz]
+md5=2575d0b605bcacc406c5b8f89fb0d3c5
+sha256=84cabad81bb78fc08ae3d8abae57840cf575a0ca6ca719c7d9bed19505d06ea3
+
+[http://www.stanford.edu/~blp/fmtools/fmtools-1.0.2.tar.gz]
+md5=4bae0e5feeb8cbf4cfcb950301e9509d
+sha256=60a55ba4a57b5ed430c62662283e9cb6de685c8497173f1f2065f684b2aceabd
+
+[http://xorg.freedesktop.org/releases/individual/font/font-adobe-100dpi-1.0.0.tar.bz2]
+md5=443acfe70e26716282f9068730fe92c4
+sha256=f16c1b3a1625c9a225aff2ac12067bd3907d157b0c60625689a5080f092e9a19
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-adobe-100dpi-X11R7.0-1.0.0.tar.bz2]
md5=f5de34fa63976de9263f032453348f6c
sha256=88a76f7d261b5a4466ab28f2985a8af838a03ae03ee83ce3a441ca8332742cc3
+[http://xorg.freedesktop.org/releases/individual/font/font-adobe-75dpi-1.0.0.tar.bz2]
+md5=813b5d3723c84388a938ab6732e1329c
+sha256=d62745bee0f5e4f355f237020667d783ae9fea5f18a864d748ae1287bd176339
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-adobe-75dpi-X11R7.0-1.0.0.tar.bz2]
md5=361fc4c9da3c34c5105df4f4688029d0
sha256=f1c7377f6b3b1d91ef384b81f44853e9dc23ff62c11f9f30291e34e9cf6c9d87
+[http://xorg.freedesktop.org/releases/individual/font/font-adobe-utopia-100dpi-1.0.1.tar.bz2]
+md5=5d28a30efef966f8dbbaff9a6619f01a
+sha256=1943e1aa70c169b13bc7a308c8e949267f9ce6327479803203fbf10c06a9b5fe
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-adobe-utopia-100dpi-X11R7.0-1.0.1.tar.bz2]
md5=b720eed8eba0e4c5bcb9fdf6c2003355
sha256=b962d55a91510e70c108b0c34ee928f8016391b40a8bc26d6df85d59c1283af5
+[http://xorg.freedesktop.org/releases/individual/font/font-adobe-utopia-75dpi-1.0.1.tar.bz2]
+md5=dd912284e4750023f9682812532fa033
+sha256=ebd4e2194bbc727e3bbda0f5dc1493fe3a211c7cf77e3d41f93135dd04ca7089
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-adobe-utopia-75dpi-X11R7.0-1.0.1.tar.bz2]
md5=a6d5d355b92a7e640698c934b0b79b53
sha256=168b326dbad59381d0e0a9544d26f1fb8bd23d3b5478fcc426f7ce470ee8a2f7
+[http://xorg.freedesktop.org/releases/individual/font/font-adobe-utopia-type1-1.0.1.tar.bz2]
+md5=aa7ff4bd20b961afda9c15d103b972a5
+sha256=e9c672c8ff275fd5c2d76dda9a9f11138766e246e31e45763cd7e14d8824c0dc
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-adobe-utopia-type1-X11R7.0-1.0.1.tar.bz2]
md5=db1cc2f707cffd08a461f093b55ced5e
sha256=0ba76231d9af3422376d9c1652ab3f8614bdd52acc2e2a839d911e1a54b5d5b6
+[http://xorg.freedesktop.org/releases/individual/font/font-alias-1.0.1.tar.bz2]
+md5=c4776b6f0f2ecdb7670b6fe64b5d2a2d
+sha256=77db60d63224b9d856129d23c0b0d0e9154a166137daf749d39abfd56a4f89b6
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-alias-X11R7.0-1.0.1.tar.bz2]
md5=de7035b15ba7edc36f8685ab3c17a9cf
sha256=9c929ad5631e078d97835e5b631532edc8e3690d5068e59393d4aa04288022f4
+[http://xorg.freedesktop.org/releases/individual/font/font-arabic-misc-1.0.0.tar.bz2]
+md5=81595016e2ff859716fc256ebb136ba6
+sha256=90e9dfa3f33805ea2ffe06faa7258d8335cdf415826f963a1d0a76bd8df7bc94
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-arabic-misc-X11R7.0-1.0.0.tar.bz2]
md5=b95dc750ddc7d511e1f570034d9e1b27
sha256=264119a6bda478c5cb226161d660fdc1c24c957b124c1e1cc8e693a06607c6a0
+[http://xorg.freedesktop.org/releases/individual/font/font-bh-100dpi-1.0.0.tar.bz2]
+md5=e5592de74a5c04e3a2608800dd079197
+sha256=ae8a11777579a2242f52ed19b5fdd6c6ef6fe2c2661a49d0599188de78cfee4a
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-bh-100dpi-X11R7.0-1.0.0.tar.bz2]
md5=29eeed0ad42653f27b929119581deb3e
sha256=8f74dea65f4d39236f29cdf29ffbfe948d1e8a99963ceb9b1b87b081765dba55
+[http://xorg.freedesktop.org/releases/individual/font/font-bh-75dpi-1.0.0.tar.bz2]
+md5=6e51cd02f4ce32e1393e34ab17a9b211
+sha256=c79467b440cc9389c75d55fba64d0126d0f2e1e6c019dfafb7d89d07802c05bf
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-bh-75dpi-X11R7.0-1.0.0.tar.bz2]
md5=7546c97560eb325400365adbc426308b
sha256=73ce25f055e0e5b1dc1fa41e7cf7ef3c2903715db9b3a240c1a9c391c1e298ba
+[http://xorg.freedesktop.org/releases/individual/font/font-bh-lucidatypewriter-100dpi-1.0.0.tar.bz2]
+md5=c44d3f730564da465993e9292a33c235
+sha256=36d47dcba591037b6af35fc151e3d7a6c9f16f42b3182e083ea140cb584d7013
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-bh-lucidatypewriter-100dpi-X11R7.0-1.0.0.tar.bz2]
md5=8a56f4cbea74f4dbbf9bdac95686dca8
sha256=9359a40738e7199d3b77ad0e55e02d0e27a6101aede4bc2a50e3c80d2c02cf03
+[http://xorg.freedesktop.org/releases/individual/font/font-bh-lucidatypewriter-75dpi-1.0.0.tar.bz2]
+md5=fdd9be5b9db94ef363a33e39b7977e2b
+sha256=50f2f36f533a49c65842568052fe4d065354ff6f39ab36dd2129f465741da046
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-bh-lucidatypewriter-75dpi-X11R7.0-1.0.0.tar.bz2]
md5=e5cccf93f4f1f793cd32adfa81cc1b40
sha256=8d55580d9cf032127bd17b8d4a6bdcdb09392e76fe8ec075ce7472bc3de8e5d6
+[http://xorg.freedesktop.org/releases/individual/font/font-bh-ttf-1.0.0.tar.bz2]
+md5=ad43cf739b3d46ba1e7dc778a0608a52
+sha256=7a1a5e72f7e42398b98d70aa64252837e85ed76eea77a1b9a4cd0f1203d7d644
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-bh-ttf-X11R7.0-1.0.0.tar.bz2]
md5=53b984889aec3c0c2eb07f8aaa49dba9
sha256=a268245101a49b1e4c2785a9d809d43fe8564b8243dcf7898a37f25abf4d9edf
+[http://xorg.freedesktop.org/releases/individual/font/font-bh-type1-1.0.0.tar.bz2]
+md5=46588b22678e440741d6220bc3945cbf
+sha256=5a8a5513f2c829d56043a0f74980efc11b4b4522f21116f16711998f72c3645b
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-bh-type1-X11R7.0-1.0.0.tar.bz2]
md5=302111513d1e94303c0ec0139d5ae681
sha256=f7cede14e92d83d6c3d36eeb9d3d66fdd60372c39e8571cb9ae40a7d8c5182d5
+[http://xorg.freedesktop.org/releases/individual/font/font-bitstream-100dpi-1.0.0.tar.bz2]
+md5=173352ddec3d26e2b91df1edcf1ae85b
+sha256=0c705a74d7b52e41a1f1aa6732f0200877ba2d4303b79513a524e7cc1b30e2d2
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-bitstream-100dpi-X11R7.0-1.0.0.tar.bz2]
md5=dc595e77074de890974726769f25e123
sha256=3e9b85774a062d8a9c997d57d45164179e403061f0bb3765e593b6a465c523e6
+[http://xorg.freedesktop.org/releases/individual/font/font-bitstream-75dpi-1.0.0.tar.bz2]
+md5=beb476657d50d07d17eef7c325a5ed08
+sha256=2ddfeaccca97524e1b0f4fb37b2fd0f1338698e35f8b05b22b594fe29e201bfb
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-bitstream-75dpi-X11R7.0-1.0.0.tar.bz2]
md5=408515646743d14e1e2e240da4fffdc2
sha256=71b1b6416e0018ad954225f53c0c9f2eaf8d663e1084657f3cb9b930073b7f6b
+[http://xorg.freedesktop.org/releases/individual/font/font-bitstream-speedo-1.0.0.tar.bz2]
+md5=1399dc18aeb9571b0951d9570ea1059d
+sha256=99ac01786ac400cc7407f1c427b92c5ff1ac5a31ce7d5907b7ad3c969214f6e6
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-bitstream-speedo-X11R7.0-1.0.0.tar.bz2]
md5=068c78ce48e5e6c4f25e0bba839a6b7a
sha256=f44bc571753fd04c09eac7b266d1e0256db9efd0d40ab834920b9dfbb4297d52
+[http://xorg.freedesktop.org/releases/individual/font/font-bitstream-type1-1.0.0.tar.bz2]
+md5=6610475e2e231242f8f2122a709c3695
+sha256=4fce492dcf168837342ea1787ac35b53e4d30361239cba207c9520c42454d903
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-bitstream-type1-X11R7.0-1.0.0.tar.bz2]
md5=f4881a7e28eaeb7580d5eaf0f09239da
sha256=f6f09d398a89595bec5825043d36056c0a080aa2d47ae3e52c01a7258119fd6d
+[http://xorg.freedesktop.org/releases/individual/font/font-cronyx-cyrillic-1.0.0.tar.bz2]
+md5=22b451e7230b8c003cfc496ee2d360cc
+sha256=06c94e7033f5cae77b9ba27b84af7c1d3e7f73a7239346aabf98eda6c7f484ee
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-cronyx-cyrillic-X11R7.0-1.0.0.tar.bz2]
md5=447163fff74b57968fc5139d8b2ad988
sha256=28593d204b638c430d3ba1ecd3c87d1416d72d8dd1874a44588371970dc44b34
+[http://xorg.freedesktop.org/releases/individual/font/font-cursor-misc-1.0.0.tar.bz2]
+md5=305fa22cdfefb8f80babd711051a534b
+sha256=955de27117581ba501d7c2abae7f38b0a65662e4ab2e2b54b9eb2dc07aa5f3c5
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-cursor-misc-X11R7.0-1.0.0.tar.bz2]
md5=82e89de0e1b9c95f32b0fc12f5131d2c
sha256=5a67c7201388653eda3efaaa62c2f8d4db4ce980a666436418c45575034c42b4
+[http://xorg.freedesktop.org/releases/individual/font/font-daewoo-misc-1.0.0.tar.bz2]
+md5=61f9eab48c619af5494d3e384d8d7d79
+sha256=f198eac92e343a38b1e23288880bac91c439bdc90c61a79a7cb0718e9a468926
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-daewoo-misc-X11R7.0-1.0.0.tar.bz2]
md5=2fd7e6c8c21990ad906872efd02f3873
sha256=c279ef1d730625a1cee74527529be25d0cbc91f7a8bb310ced871ce58cdc148d
+[http://xorg.freedesktop.org/releases/individual/font/font-dec-misc-1.0.0.tar.bz2]
+md5=284e554db1c64fb7580a06df01444a2b
+sha256=83386d1225dab1ebc58e7d197acc4c310ed4e29840abf291b1fa2ffac1b68bb9
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-dec-misc-X11R7.0-1.0.0.tar.bz2]
md5=7ff9aba4c65aa226bda7528294c7998c
sha256=e7ee982884f0c1fca409b6b9a946493afb23c9e61d33ac84ec29819717a66b75
+[http://xorg.freedesktop.org/releases/individual/font/font-ibm-type1-1.0.0.tar.bz2]
+md5=8e8733051371e2b51123376b49f5d3ea
+sha256=30d091c2e3506943f8a6e152c4be973c462ba19293a864bbb48b82c6cf9c461e
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-ibm-type1-X11R7.0-1.0.0.tar.bz2]
md5=fab2c49cb0f9fcee0bc0ac77e510d4e5
sha256=534210f571a2166f3b6d4d8e1c37f74574c0130a4a1ed4c7d37b50a98fc95cfc
+[http://xorg.freedesktop.org/releases/individual/font/font-isas-misc-1.0.0.tar.bz2]
+md5=ec709a96b64b497a5cb5658c93bd38dc
+sha256=97e61313ce0bf229da5d489fc5a05562fdca14f9acc17c40d0b272a345ba4ea2
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-isas-misc-X11R7.0-1.0.0.tar.bz2]
md5=c0981507c9276c22956c7bfe932223d9
sha256=c845cfe0b4bc02ac2da322f4dbf6dab1ccfd204e926c40634b91c260316f55f7
+[http://xorg.freedesktop.org/releases/individual/font/font-jis-misc-1.0.0.tar.bz2]
+md5=61febb49a71065723a1fba17cbf23c67
+sha256=3721eefd4ffc47c6948065f7acf9d5c731c4e8e54105d096735876d3712dc7ba
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-jis-misc-X11R7.0-1.0.0.tar.bz2]
md5=3732ca6c34d03e44c73f0c103512ef26
sha256=7f4c3ce6ddfa52232d00e09b0bc20316b2ab9edd8007c57c8f08a742dd78b546
+[http://xorg.freedesktop.org/releases/individual/font/font-micro-misc-1.0.0.tar.bz2]
+md5=8c8bffd7540f05caa0dbb4e6e1d6c58e
+sha256=16b17b5939e12e9381c8096c1f77f064ee0073fa9cb09297dec278bade17a572
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-micro-misc-X11R7.0-1.0.0.tar.bz2]
md5=eb0050d73145c5b9fb6b9035305edeb6
sha256=23b9c222618a1ea090b3a2b688f4c958b8469ed5f30a5c3e3d54bb02b235b222
+[http://xorg.freedesktop.org/releases/individual/font/font-misc-cyrillic-1.0.0.tar.bz2]
+md5=3596907d7a2a99c81d8de99bc4552b6a
+sha256=7c0bac1302129d3bf40ec7d9830e728b0251dc20dda8c8979227b478663290ff
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-misc-cyrillic-X11R7.0-1.0.0.tar.bz2]
md5=58d31311e8e51efbe16517adaf1a239d
sha256=e332497fe6220c019c411912653a96d26c8706c03456ac8ff3ff5ef38b1cc77c
+[http://xorg.freedesktop.org/releases/individual/font/font-misc-ethiopic-1.0.0.tar.bz2]
+md5=0b271fc617087d77560bdca20c0cdbb0
+sha256=58d2868801ca063797fa88fb4aea59f7c550473be4e9a4f96d84fe39b967d141
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-misc-ethiopic-X11R7.0-1.0.0.tar.bz2]
md5=190738980705826a27fbf4685650d3b9
sha256=04025084b8f4e7559e34938cab9a70b28cad8174ef5f5f6103abd633b54048d9
+[http://xorg.freedesktop.org/releases/individual/font/font-misc-meltho-1.0.0.tar.bz2]
+md5=ccb212a7badf7aefdc9f9a92af428d32
+sha256=c7e12b9926b6053f3567eae548840f0b3d283ce34f842b06309a81c1d98d3924
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-misc-meltho-X11R7.0-1.0.0.tar.bz2]
md5=8812c57220bcd139b4ba6266eafbd712
sha256=cacbf0c055b95db07e4e61716a549195f6ed054ba98d0b443879f57876ca253d
+[http://xorg.freedesktop.org/releases/individual/font/font-misc-misc-1.0.0.tar.bz2]
+md5=2a57f6188c41d4bc1b88ca3d08ad011d
+sha256=26a02560ad1f1648e7c36be6daf42910762131d3974422d1b306e6cae13f17db
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-misc-misc-X11R7.0-1.0.0.tar.bz2]
md5=4a5a7987183a9e1ea232c8391ae4c244
sha256=bdc1b9407305a88bb687caa46443abddef6149d2e681597e12f1c48ec5bf3678
+[http://xorg.freedesktop.org/releases/individual/font/font-mutt-misc-1.0.0.tar.bz2]
+md5=648b409b7eb78ad1cd5f6d7fac3eef88
+sha256=f219183bd0f2b8ceca42a8a345c921f2a8ee19f4d86fef11c4ce8918d41aedff
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-mutt-misc-X11R7.0-1.0.0.tar.bz2]
md5=139b368edecf8185d16a33b4a7c09657
sha256=386a8d522ffc427e00df8034a8ce834767643e104b0aac141cf1cbf3113dd1a4
+[http://xorg.freedesktop.org/releases/individual/font/font-schumacher-misc-1.0.0.tar.bz2]
+md5=f1c6063d2fadc57e696a0aab69afd6e0
+sha256=454e6cf885a4475569ce24ad3d4a82cb331d74e1a25f0747694a71098b56ef7a
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-schumacher-misc-X11R7.0-1.0.0.tar.bz2]
md5=d51808138ef63b84363f7d82ed8bb681
sha256=d5c6c9f293ffa4d2cdb312b463381271bb8ad763738396671fdea19456fb38df
+[http://xorg.freedesktop.org/releases/individual/font/font-screen-cyrillic-1.0.0.tar.bz2]
+md5=aea02d9dff03e0e1a3de85364367c0c6
+sha256=01de82644a9b765599ba8c36c6b689035a85b6590486842067f707f2cb0cf268
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-screen-cyrillic-X11R7.0-1.0.0.tar.bz2]
md5=c08da585feb173e1b27c3fbf8f90ba45
sha256=0c6da93cecc16e4ddc6897e90b941d72087bc82cfcbb26ef54e9a59d371c601d
+[http://xorg.freedesktop.org/releases/individual/font/font-sony-misc-1.0.0.tar.bz2]
+md5=0dfddd1a946e4497f009094c0ae1bdd5
+sha256=1ae93ae76020b57cb0054ba9f33b4d5aec71342c6596750c07303d5c53452e23
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-sony-misc-X11R7.0-1.0.0.tar.bz2]
md5=014725f97635da9e5e9b303ab796817e
sha256=4ea7d0a314b6c7ec65c92f44a3dad39ac9535b1bb9f54768573f60b69902e5cd
+[http://xorg.freedesktop.org/releases/individual/font/font-sun-misc-1.0.0.tar.bz2]
+md5=e17d43a7c6c0d862cfba0908ff132ffa
+sha256=03c12d8f4d8e7f0178f501ea3ee0709ee3a1deda733afecd631807e6ba5729e5
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-sun-misc-X11R7.0-1.0.0.tar.bz2]
md5=0259436c430034f24f3b239113c9630e
sha256=80094cd7060a08bda61eef0e481800e8f94d4bbb08b8297dcf6aecea99a09a07
+[http://xorg.freedesktop.org/releases/individual/font/font-util-1.0.1.tar.bz2]
+md5=b81535f78fe05732931f02841e5ca37b
+sha256=048c23b17ea32ee3abb341f0b1105ad07517b2e78efe2e95a4a8218089600612
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-util-X11R7.0-1.0.0.tar.bz2]
md5=73cc445cb20a658037ad3a7ac571f525
sha256=02eefdacc36d5df3707b3e454f5842d06c9c2eb9591e4cae93ccd3d66c78368f
@@ -3962,10 +5182,22 @@ sha256=ffa19c42c70589996077380a297fe73edb480d20767199459695eca5463448c5
md5=a868cad6703290e40b46609ffb17946e
sha256=6ec8f7024e93568062b5e824f6799d3efcef97c03f798a094a60599a32180718
+[http://xorg.freedesktop.org/releases/individual/font/font-winitzki-cyrillic-1.0.0.tar.bz2]
+md5=b99b02aff36a88ca3379715423c60303
+sha256=478a7f6881fce6a335b409e1326449af4162a147d268f1978b8dd81c834beee3
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-winitzki-cyrillic-X11R7.0-1.0.0.tar.bz2]
md5=6dc447609609e4e2454ad7da29873501
sha256=5b6997057658e6b9e46c350c76fbeb32e597a6bb61c1e86b24494f5327742d1d
+[http://xorg.freedesktop.org/releases/individual/font/font-xfree86-type1-1.0.0.tar.bz2]
+md5=e66f36a6d68203cc4cf7b56ebbb192dd
+sha256=ef76d3b91d1bdaa9ff73cc1e5905ad4bbdc028f06157d0d2319d38e7b7f84a4d
+
+[http://xorg.freedesktop.org/releases/individual/font/font-xfree86-type1-1.0.1.tar.bz2]
+md5=d7e965776c7f0c30b0f09742176fb77a
+sha256=8fd9f9b81120d8afc25ea8901a8a91d7428c45cd9cfe7a7bef2b15c8b8d5f341
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/font/font-xfree86-type1-X11R7.0-1.0.0.tar.bz2]
md5=27a6bbf5c8bbe998ff7e8537929ccbc8
sha256=cda4fed7e7d462257f7282db3459fa94f94ab70934a401b7a90f5decb044f94f
@@ -3978,6 +5210,10 @@ sha256=48063ed49b200927376645f9ffe65faa39af84d59ba6f60f2abb2f9c6fa3d9f9
md5=116997d63cf6f65b75593ff5ae7afecb
sha256=72a6200a586f27c55b837cc6e537f15499a2f07783a826521c9ad2eaf35a6461
+[http://fontconfig.org/release/fontconfig-2.2.95.tar.gz]
+md5=6e64304b91cfea887558154d465bb752
+sha256=9d1eb5813a7d3e7907da4e6a69c93f4689c49a2ed8320c35ce4570f63448f2d0
+
[http://freedesktop.org/fontconfig/release/fontconfig-2.2.95.tar.gz]
md5=6e64304b91cfea887558154d465bb752
sha256=9d1eb5813a7d3e7907da4e6a69c93f4689c49a2ed8320c35ce4570f63448f2d0
@@ -4018,6 +5254,10 @@ sha256=90a5d9ad2328e682a58c179a7df9eac1193db06423e832b107bd4e7802f660b4
md5=b0ebd86029571239b9d7b0c61191b591
sha256=9d2b0149ea49a097ab6c563801c06af9975e98f9fa4c8af1a8ac3238e4fd5243
+[http://xorg.freedesktop.org/releases/individual/app/fonttosfnt-1.0.4.tar.bz2]
+md5=07607b26fce3bdc2b204ff3bc43d3ac3
+sha256=3feaaab499b3f9c7e9b8bdc725dd40fde65b2fbb73794845d7f682746470f594
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/fonttosfnt-X11R7.0-1.0.1.tar.bz2]
md5=89b65e010acaa3c5d370e1cc0ea9fce9
sha256=77fb4d23dfa8c12d69ccfda71f482af9804132fab800610970cd5fe9944a3016
@@ -4026,10 +5266,18 @@ sha256=77fb4d23dfa8c12d69ccfda71f482af9804132fab800610970cd5fe9944a3016
md5=5f059f7c997adbc0a260f27947605be1
sha256=d68c7c8ff6fe94341a3a73d22ab976da42921e3bec9bed628a428518c2c5f67a
+[ftp://ftp.nl.debian.org/debian/pool/main/f/fortune-mod/fortune-mod_1.99.1-2.diff.gz]
+md5=5f059f7c997adbc0a260f27947605be1
+sha256=d68c7c8ff6fe94341a3a73d22ab976da42921e3bec9bed628a428518c2c5f67a
+
[ftp://ftp.debian.org/debian/pool/main/f/fortune-mod/fortune-mod_1.99.1.orig.tar.gz]
md5=f208805b3b712e32997d7667e0ec52d8
sha256=fc51aee1f73c936c885f4e0f8b6b48f4f68103e3896eaddc6a45d2b71e14eace
+[ftp://ftp.nl.debian.org/debian/pool/main/f/fortune-mod/fortune-mod_1.99.1.orig.tar.gz]
+md5=f208805b3b712e32997d7667e0ec52d8
+sha256=fc51aee1f73c936c885f4e0f8b6b48f4f68103e3896eaddc6a45d2b71e14eace
+
[http://linuxtogo.org/~florian/themes/foxbox-0.1.tar.gz]
md5=77bc0cc71d61af699e29f4b5c09b37bb
sha256=bcf668c1123f4d73a4c503ff189446cf4b30d64466fea49628999cdce8661c67
@@ -4038,10 +5286,18 @@ sha256=bcf668c1123f4d73a4c503ff189446cf4b30d64466fea49628999cdce8661c67
md5=5eaf8e8d1978ca4bbead5b3f163b23a1
sha256=b8e60157a14739da9382e23e296a0236b0c246b486b4803a1baaa4a73c5bf8d9
+[http://www.fpdf.org/en/download/fpdf153.tgz]
+md5=6106c8d0aba37563b7ca9ccc94bc6c95
+sha256=44b7e18ba9ae5667dd64c89f7b04627bda5807a3a90255a125702d63c0c4ee17
+
[http://downloads.sourceforge.net/free42/free42.tgz]
md5=1fc21e04b3b77150846027dc7cb5210d
sha256=9d348a9d2d5bf8eabc7e7bb6f0907e611403e4abe6dc1e11b1b2ad1118b3088a
+[http://heanet.dl.sourceforge.net/free42/free42.tgz]
+md5=82c67dd2bdef911d63703a785caef501
+sha256=e3c9c80ec3d1895507e374916077ab0fc68af7f9cd145003b251f23ac82b1ac5
+
[ftp://ftp.freeciv.org/freeciv/stable/freeciv-1.14.1.tar.bz2]
md5=d328f65e7fca5252f27161f5f9e97a03
sha256=8a963570e5c4ea432b0e31d77d3605705bda91a9f97ff377c5c3204ca768e342
@@ -4050,6 +5306,10 @@ sha256=8a963570e5c4ea432b0e31d77d3605705bda91a9f97ff377c5c3204ca768e342
md5=7d597d59236cc0cc1cfaa0cbbda24bd4
sha256=784b6eb132d37c51f7d9cd50a92138f4520146715f64b8fd64c410b5997f77de
+[http://heanet.dl.sourceforge.net/freeciv/freeciv-2.0.8.tar.gz]
+md5=7d597d59236cc0cc1cfaa0cbbda24bd4
+sha256=784b6eb132d37c51f7d9cd50a92138f4520146715f64b8fd64c410b5997f77de
+
[http://ovh.dl.sourceforge.net/sourceforge/freedoom/freedoom-iwad-0.3.zip]
md5=9a26ec9743e45915e296e3e3ba9fe489
sha256=cd563cdceae558e2b9f9a2239b9d7d48a9776125c9d5f5f5be3076d574747aee
@@ -4058,30 +5318,62 @@ sha256=cd563cdceae558e2b9f9a2239b9d7d48a9776125c9d5f5f5be3076d574747aee
md5=832dfd51ac653f7c64fa44dc4badb6bb
sha256=70ee4b5502c65c77a59ac40b3a86a4904d2f78c2edf058503d1c35ae6a75dcd6
+[http://heanet.dl.sourceforge.net/freedoom/freedoom-iwad-0.6.2.zip]
+md5=832dfd51ac653f7c64fa44dc4badb6bb
+sha256=70ee4b5502c65c77a59ac40b3a86a4904d2f78c2edf058503d1c35ae6a75dcd6
+
[http://downloads.sourceforge.net/freedroid/freedroid-1.0.2.tar.gz]
md5=585a65f61c2cd308ab45d5c514f695dc
sha256=0934bd29fb2ad0367ea3bdfdce47537179f9af6aa960cbcc897c40da2e1a0ee3
+[http://heanet.dl.sourceforge.net/freedroid/freedroid-1.0.2.tar.gz]
+md5=585a65f61c2cd308ab45d5c514f695dc
+sha256=0934bd29fb2ad0367ea3bdfdce47537179f9af6aa960cbcc897c40da2e1a0ee3
+
+[http://download.berlios.de/freenx/freenx-client-0.9.tar.bz2]
+md5=777b3cda7a245e3870d4870a9460cb73
+sha256=dfc6c8dd89c26171411d8f7fa92613004eb8947ff509459151fdb03de7fe9608
+
[http://downloads.sourceforge.net/freetype/freetype-2.1.10.tar.bz2]
md5=a4012e7d1f6400df44a16743b11b8423
sha256=fed2ed148d7d105b95493c5e95561c8b05ee7909e00f828f036d8ed1be6a5e53
+[http://heanet.dl.sourceforge.net/freetype/freetype-2.1.10.tar.bz2]
+md5=a4012e7d1f6400df44a16743b11b8423
+sha256=fed2ed148d7d105b95493c5e95561c8b05ee7909e00f828f036d8ed1be6a5e53
+
[http://downloads.sourceforge.net/freetype/freetype-2.1.8.tar.bz2]
md5=f717615787a1aadbdb164d1bc23c2308
sha256=9466fa75380ddcbea4e99a6b47474acd85d7abe46fa08f9316778f5c9419006b
+[http://heanet.dl.sourceforge.net/freetype/freetype-2.1.8.tar.bz2]
+md5=f717615787a1aadbdb164d1bc23c2308
+sha256=9466fa75380ddcbea4e99a6b47474acd85d7abe46fa08f9316778f5c9419006b
+
[http://downloads.sourceforge.net/freetype/freetype-2.2.1.tar.bz2]
md5=5b2f827082c544392a7701f7423f0781
sha256=0e8eb40392752b306d3a3de21f9fa479d53c17bd774b8051771cb258e162e006
+[http://heanet.dl.sourceforge.net/freetype/freetype-2.2.1.tar.bz2]
+md5=5b2f827082c544392a7701f7423f0781
+sha256=0e8eb40392752b306d3a3de21f9fa479d53c17bd774b8051771cb258e162e006
+
[http://downloads.sourceforge.net/freetype/freetype-2.3.0.tar.bz2]
md5=5b331456e0357e90d57cab5943dbe560
sha256=1b1bb146b8d2fd04ea03106da5f8abfd83e44c04a060fd7a38d06d6a224390bd
+[http://heanet.dl.sourceforge.net/freetype/freetype-2.3.0.tar.bz2]
+md5=5b331456e0357e90d57cab5943dbe560
+sha256=1b1bb146b8d2fd04ea03106da5f8abfd83e44c04a060fd7a38d06d6a224390bd
+
[http://downloads.sourceforge.net/freetype/freetype-2.3.1.tar.bz2]
md5=11e1186ca5520c5a284fa0a03f652035
sha256=be38eecd22880089223dc7e49ac79ce4fdfd1cb7ea09b3a4ef9bd1966f0d6155
+[http://heanet.dl.sourceforge.net/freetype/freetype-2.3.1.tar.bz2]
+md5=11e1186ca5520c5a284fa0a03f652035
+sha256=be38eecd22880089223dc7e49ac79ce4fdfd1cb7ea09b3a4ef9bd1966f0d6155
+
[http://downloads.sourceforge.net/freetype/freetype-2.3.3.tar.bz2]
md5=c0367b4059f672789b7a41e65f7a4b4a
sha256=6ce667f4beafed9fb15895ac5dbe81504febfd8e32cf94d85dfa31c21eee2f7b
@@ -4090,14 +5382,26 @@ sha256=6ce667f4beafed9fb15895ac5dbe81504febfd8e32cf94d85dfa31c21eee2f7b
md5=1a6c59a7723d637c78672e7784da865d
sha256=7157876cf358d1fb68b890c7da4f7025288a4e7b756af7b01009c5055637c954
+[http://heanet.dl.sourceforge.net/freetype/freetype-2.3.4.tar.bz2]
+md5=1a6c59a7723d637c78672e7784da865d
+sha256=7157876cf358d1fb68b890c7da4f7025288a4e7b756af7b01009c5055637c954
+
[http://downloads.sourceforge.net/freetype/freetype-2.3.5.tar.bz2]
md5=65234327c5ac46ee00ebda15995d4c1c
sha256=1b357a3a1106c78c80dfd25e3854c3faa9a3dfc7063a4a1e5404e70c241d677e
+[http://heanet.dl.sourceforge.net/freetype/freetype-2.3.5.tar.bz2]
+md5=65234327c5ac46ee00ebda15995d4c1c
+sha256=1b357a3a1106c78c80dfd25e3854c3faa9a3dfc7063a4a1e5404e70c241d677e
+
[http://downloads.sourceforge.net/freetype/freetype-2.3.6.tar.bz2]
md5=fb182d508017cb608e9df8c7dca648dc
sha256=d5a698c30376d14c1ce6540ed6d5627796421e6e97576620ea4562411a110e77
+[http://heanet.dl.sourceforge.net/freetype/freetype-2.3.6.tar.bz2]
+md5=fb182d508017cb608e9df8c7dca648dc
+sha256=d5a698c30376d14c1ce6540ed6d5627796421e6e97576620ea4562411a110e77
+
[http://qa.debian.org/watch/sf.php/freetype/freetype-2.3.6.tar.bz2]
md5=fb182d508017cb608e9df8c7dca648dc
sha256=d5a698c30376d14c1ce6540ed6d5627796421e6e97576620ea4562411a110e77
@@ -4106,6 +5410,14 @@ sha256=d5a698c30376d14c1ce6540ed6d5627796421e6e97576620ea4562411a110e77
md5=0f6e7ecca08e6e108dc06337f5b5cabf
sha256=f3ecdb9d108bd61ec9394df75f5fd68ba886a8da0863ba6258338893aec6c04f
+[http://heanet.dl.sourceforge.net/fribidi/fribidi-0.10.4.tar.bz2]
+md5=0f6e7ecca08e6e108dc06337f5b5cabf
+sha256=f3ecdb9d108bd61ec9394df75f5fd68ba886a8da0863ba6258338893aec6c04f
+
+[http://www.tads.org/frobtads/frobtads-0.8.tar.gz]
+md5=c31b44a7bea51f04958358e575bde731
+sha256=1aa4fe2f4a8d79f7f4542d96f0b179886c04cbdfd6a972a19ab80437e6150549
+
[http://www.cs.unc.edu/~scheuerm/froot/froot-0.7.1.tar.gz]
md5=ac310580a6a54b692b977e11a0e80242
sha256=210a55754c4ff0fa4143c22334a22bb2768f0c8ded2f6efa60144ea1b0abed6a
@@ -4126,10 +5438,26 @@ sha256=fe7e46e529c7c3c969946c41efb519462f98dd5c280e247bd98ff629dcca1433
md5=99adcf3275943c109d27a781addf7d63
sha256=b0474b223a130e9412bb88f464138f40921e84f63b6024bf2ce5b32bd78d4bd8
+[http://xorg.freedesktop.org/releases/individual/app/fslsfonts-1.0.1.tar.bz2]
+md5=c7b2f8a938749d41dc86db6bd1e6a4ca
+sha256=3feb006a25f36856924e26249fe84b27142678f97175780960f085e1e263a62e
+
+[http://xorg.freedesktop.org/releases/individual/app/fslsfonts-1.0.2.tar.bz2]
+md5=a61be25c87ee42169ee4dc8344acc9e2
+sha256=9c8e7d573284272c633b5cf18e3358830b27bde72f4bc1ae83a1ab337d463a92
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/fslsfonts-X11R7.0-1.0.1.tar.bz2]
md5=c500b96cfec485e362204a8fc0bdfd44
sha256=662c12ac9aa7009d3fdf1d1682417a86a5a332c46f6f2f17887d370c9adf8b21
+[http://xorg.freedesktop.org/releases/individual/app/fstobdf-1.0.2.tar.bz2]
+md5=99144743ab3cbb9cf37090fdc9e747db
+sha256=690e45b252cd96036dd9b89af8624eb423e16d4bd662b07d264a3f876ce7ac22
+
+[http://xorg.freedesktop.org/releases/individual/app/fstobdf-1.0.3.tar.bz2]
+md5=49a6225380f6c18fff664a043cd569b1
+sha256=f2242720045c69f69dc9e18320a1c6402e92234d40c237367560fae3d210f7b0
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/fstobdf-X11R7.0-1.0.1.tar.bz2]
md5=233615dca862b64c69bc212090a22b4c
sha256=568896b458a4a8682a78a03248463a182bf3a34c18753a72cb9ca2c1bec3498c
@@ -4162,6 +5490,10 @@ sha256=866d1e45a575f448148c227f60cde4c8b607c51f179da3a7ec1acb5036b8e3ec
md5=9c7e8b6606b9f158ae20b8521ba2867c
sha256=19f9e27a35e65b61c25b999c44d0c35ba858ad586379226849d097d638579057
+[http://heanet.dl.sourceforge.net/fuse/fuse-2.5.3.tar.gz]
+md5=9c7e8b6606b9f158ae20b8521ba2867c
+sha256=19f9e27a35e65b61c25b999c44d0c35ba858ad586379226849d097d638579057
+
[http://downloads.sourceforge.net/fuse/fuse-2.6.0.tar.gz]
md5=fa6c7b07a0be3a3e30d6cf3a6bad5817
sha256=782137879b964139e2dc4767114b763cb0e11ae322476404920cf767728e659e
@@ -4174,22 +5506,54 @@ sha256=804d7fae424c97dc3790ad12d798e7b27dc6c12e4116f8bd69ca0130773d3f9d
md5=66bd30503df55a87b9868835ca5a45bc
sha256=ab91922367ca4c7ae5b176823eca579b2323c463e5d8b71fe5cdfc1061860124
+[http://heanet.dl.sourceforge.net/fuse/fuse-2.6.5.tar.gz]
+md5=66bd30503df55a87b9868835ca5a45bc
+sha256=ab91922367ca4c7ae5b176823eca579b2323c463e5d8b71fe5cdfc1061860124
+
[http://downloads.sourceforge.net/fuse/fuse-2.7.0.tar.gz]
md5=7c3d52f81816e3a8e0cc2b5822a37e86
sha256=a26117fb74b3bf6a3c6867611c46c53b75d6749198933486ec8a778ac315f855
+[http://heanet.dl.sourceforge.net/fuse/fuse-2.7.1.tar.gz]
+md5=f95b4a238a3df5a92e9013ecb55c2c17
+sha256=e4639f9e08f0b8cc9f4a0bb8cbe47da06fa57cb310b2c5a82221e0a9ba969e9a
+
[http://downloads.sourceforge.net/fuse/fuse-2.7.2.tar.gz]
md5=813782a4f23211386c1ea91dc0ac7ded
sha256=fb390948aa27628e4fb48aa6658a20ad8c1ee304fe76bb60ac29b81c63d3baff
+[http://heanet.dl.sourceforge.net/fuse/fuse-2.7.2.tar.gz]
+md5=813782a4f23211386c1ea91dc0ac7ded
+sha256=fb390948aa27628e4fb48aa6658a20ad8c1ee304fe76bb60ac29b81c63d3baff
+
[http://downloads.sourceforge.net/foosh/fush-0-9-0.tar.gz]
md5=d7077d40a4bc18f05bc3a4895012646a
sha256=ad4a64117094eafde12d7aa8c81f6425113d1ebf5b561c6cc93cfda46a2fef41
+[http://heanet.dl.sourceforge.net/foosh/fush-0-9-0.tar.gz]
+md5=d7077d40a4bc18f05bc3a4895012646a
+sha256=ad4a64117094eafde12d7aa8c81f6425113d1ebf5b561c6cc93cfda46a2fef41
+
+[http://pypi.python.org/packages/source/f/fusil/fusil-1.1.tar.gz]
+md5=e7dfc39fd169e8ba72b0aeb304acb25b
+sha256=85f9a52578c9af3d2a062097144cb6dc507fff7df7e286479010e65cf6b6f23d
+
+[ftp://ftp.fvwm.org/pub/fvwm/version-2/fvwm-2.5.26.tar.bz2]
+md5=a1c225fe6497bf86a59cac561abd9064
+sha256=84aca15165f600c5c09095c94b3ad1f0bfe16ba25cf2097f76312a0fba89251d
+
+[http://dfn.dl.sourceforge.net/sourceforge/linux-hotplug/fxload-2002_04_11.tar.gz]
+md5=cafd71a5bff0c57bcd248273b2541c05
+sha256=15116da28bc90e961bd5fea454adf79272bc741f86d9636ed8b9b771d74814c3
+
[http://downloads.sourceforge.net/g15daemon/g15daemon-1.2.6a.tar.bz2]
md5=ba220f1fda33283af307c109cc520f61
sha256=583c4bece816b712959aba51f49d78bb587e215fbb6a322efe832477c74f2564
+[http://heanet.dl.sourceforge.net/g15daemon/g15daemon-1.2.6a.tar.bz2]
+md5=ba220f1fda33283af307c109cc520f61
+sha256=583c4bece816b712959aba51f49d78bb587e215fbb6a322efe832477c74f2564
+
[http://ftp.gnome.org/pub/GNOME/sources/gail/1.20/gail-1.20.0.tar.bz2]
md5=697f83db831816946bb8944b8d34ec17
sha256=2e547b33a1f0abffb1a9860e5dc09330fbf6fbb45b7fe90dc5d12cea5fbe829e
@@ -4246,10 +5610,18 @@ sha256=db42a0d1d0f8b069ea5ac1203207f9178f25ac1367f4910bd48547f5be1db4c2
md5=f42148bcaac4b6b097cf2055c780bcfc
sha256=0ded02d0e6e648024f593f3c3748a73f8f569f680256c393c571144dd77b6fd6
+[http://heanet.dl.sourceforge.net/galculator/galculator-1.2.3.tar.bz2]
+md5=f42148bcaac4b6b097cf2055c780bcfc
+sha256=0ded02d0e6e648024f593f3c3748a73f8f569f680256c393c571144dd77b6fd6
+
[http://easynews.dl.sourceforge.net/sourceforge/gallery/gallery-1.5.5-pl1.tar.gz]
md5=d2f52d92776f47bf353787237607f23c
sha256=9f17181cd8bf46203a288e3fc1d9bd82d5dc011fe419d33bee2f62bace081f08
+[http://{SOURCEFORGE_MIRROR}/sourceforge/gallery/gallery-1.5.5-pl1.tar.gz]
+md5=d2f52d92776f47bf353787237607f23c
+sha256=9f17181cd8bf46203a288e3fc1d9bd82d5dc011fe419d33bee2f62bace081f08
+
[http://www.gnome.org/~veillard/gamin/sources/gamin-0.1.8.tar.gz]
md5=985022c8b1b993e471d528fd0e14ffbe
sha256=be22f69b4797db510f4270ff0e228dd027e99e561ac5f5d38be595be7e82d203
@@ -4346,6 +5718,10 @@ sha256=cfc0efbcc6fcde0d416a32dfb246c9df022515a312683fac412578c4fd09a9bc
md5=ac6d19831220c4aeef4475492725486f
sha256=98bdb26cd2644f2290e34453d9115b88bcff940bd1feb88db5a0fc557ec0ea5e
+[ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.2.1/gcc-4.2.1.tar.bz2]
+md5=cba410e6ff70f7d7f4be7a0267707fd0
+sha256=ca0a12695b3bccfa8628509e08cb9ed7d8ed48deff0a299e4cb8de87d2c1fced
+
[ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.2.2/gcc-4.2.2.tar.bz2]
md5=7ae33781417a35a2eb03ee098a9f4490
sha256=673b85d780a082c014ded4ac11f8269a3fe893b4dbb584d65b8602d50b3872b1
@@ -4382,6 +5758,14 @@ sha256=dc126b21e2e9b93df2587b55418d8593642eaa8e14a74e14bd4cf93262a64443
md5=519e8b1a9911bdddfa2ee46fb36b9774
sha256=d166685bbae221c8cd1ad5efa7903f8520b117228e9ef0e85261c99ebfc5f66a
+[http://ftp.gnome.org/pub/GNOME/sources/gconf-editor/2.22/gconf-editor-2.22.0.tar.bz2]
+md5=7ca99aec214dd855b5de7dacc8937055
+sha256=e701134a1f5293070ca7d8d6311468f61e3a9765ebc520fcca6a0a38b214b7dc
+
+[http://ftp.gnome.org/pub/GNOME/sources/gconf-editor/2.24/gconf-editor-2.24.0.tar.bz2]
+md5=845321d47b34f6ae19ac7e930c454e3d
+sha256=666ba1186b2697c3a99ee943775fbc7a7aa18f3c8cc3d335a2581dea62f812bf
+
[http://www.boutell.com/gd/http/gd-2.0.21.tar.gz]
md5=3134158635f5048dba99281c6b712a54
sha256=c3b8b7b57019927dad40870c379eecfa6389443f7e2096aa0157a0224d400da1
@@ -4394,6 +5778,10 @@ sha256=e6bff5c00d7d93bade78535573494673f581118c38a8ca13c3afd63809335ba0
md5=be0a6d326cd8567e736fbc75df0a5c45
sha256=2ba10c830e24781ec2e0594c6e49353e512e8bda782bc9a1851e70a5e8ced93e
+[http://heanet.dl.sourceforge.net/gdado/gdado-2.2.tar.gz]
+md5=b84114df6ca8b20560524afed0e21b25
+sha256=cc272f097832e074804bf405f2c013b4f941ad57f0f5f5ec6c08edecc9ad17fa
+
[http://www.gdal.org/dl/gdal-1.3.2.tar.gz]
md5=67ed02dcea21e93f5e123bb0d322898a
sha256=00f2b73fea5eff79ae26338928187f956427421bc70ddab0ab63fe5a58112b87
@@ -4434,6 +5822,42 @@ sha256=cc340338a2e28b40058ab9eb5354a21d53f88a1582ea21ba0bb185c37a281dc9
md5=7e46bc3b0a5b08e79f1f2f1b869caf40
sha256=0483dac71c88ca0da5ee85729c0c1dd6793d928109ac79ad56583aa1a5ff43d2
+[http://downloads.sourceforge.net/geany/geany-0.14.tar.bz2]
+md5=c6c22c7f9feff81a15f5c8ece03b87c1
+sha256=619d59b339e1be7687058460c105b8f2d4f00e6409e4450dee385e3086fdf6d7
+
+[http://heanet.dl.sourceforge.net/geany/geany-0.14.tar.bz2]
+md5=c6c22c7f9feff81a15f5c8ece03b87c1
+sha256=619d59b339e1be7687058460c105b8f2d4f00e6409e4450dee385e3086fdf6d7
+
+[http://www.geda.seul.org/devel/20050820/geda-20050820.tar.gz]
+md5=e8d903d84515cc518e545b6f2e3d7a9d
+sha256=8e46a48d581f8b835f305bb17ffbb7776d53b9214113524819e96be842f9db98
+
+[http://www.geda.seul.org/devel/20050820/geda-gattrib-20050820.tar.gz]
+md5=6ff8e6343b621199dde7fcd9a7ff264a
+sha256=c3b2751303d18c5d685b2d2c380065a93dab17a233657a6d1a09d9f2da64800f
+
+[http://www.geda.seul.org/devel/20050820/geda-gnetlist-20050820.tar.gz]
+md5=94f2a666701e06438fda0a9ce00e5ae3
+sha256=3df3a23c73df7a9c2cc553836e6df797d01da094f6a947049f9fcc182110ef43
+
+[http://www.geda.seul.org/devel/20050820/geda-gschem-20050820.tar.gz]
+md5=8ac2387999ec98016c3b004c95fab424
+sha256=166abaa8b0c98e6c826a7c7273b7ddfb57f82be9929e4afbf00e0e3de5d45ef9
+
+[http://www.geda.seul.org/devel/20050820/geda-gsymcheck-20050820.tar.gz]
+md5=c339abc4956987852b948c44118b2e2f
+sha256=3526fd4c30f351c3d548cb2632eda150eb632846b1273349aa2061d0400f9816
+
+[http://www.geda.seul.org/devel/20050820/geda-symbols-20050820.tar.gz]
+md5=a05c9bb11a31c246be3c9a799685bb0e
+sha256=0534ccda5d9136a120abd18ebe3bccd3dbcc6414ec321ad2fd5f9258389ae13d
+
+[http://www.geda.seul.org/devel/20050820/geda-utils-20050820.tar.gz]
+md5=6555466492f3273dbefb772bd4ffd486
+sha256=8140ff430e89c8564efabbc24da0d9b2858d5ac5e982dab9923eaf3b46a8aacb
+
[ftp://ftp.billsgames.com/unix/x/gemdropx/src/gemdropx-0.9.tar.gz]
md5=fd0337e89778e2dba74461c555ea8e42
sha256=e50495d292a1d456c28044efbf07c16d8865f8d95e1caba86f4c5b2e3fb1d28f
@@ -4442,14 +5866,30 @@ sha256=e50495d292a1d456c28044efbf07c16d8865f8d95e1caba86f4c5b2e3fb1d28f
md5=664431bf6737df1c265500e1f0b5d40c
sha256=e60f88763ee12c02a5c7ade1a58925ef0ab198f9ec6aaf404747dfc29074c7be
+[http://heanet.dl.sourceforge.net/genext2fs/genext2fs-1.4rc1.tar.gz]
+md5=664431bf6737df1c265500e1f0b5d40c
+sha256=e60f88763ee12c02a5c7ade1a58925ef0ab198f9ec6aaf404747dfc29074c7be
+
+[http://qa.debian.org/watch/sf.php/genext2fs/genext2fs-1.4rc1.tar.gz]
+md5=664431bf6737df1c265500e1f0b5d40c
+sha256=e60f88763ee12c02a5c7ade1a58925ef0ab198f9ec6aaf404747dfc29074c7be
+
[ftp://ftp.debian.org/debian/pool/main/g/genext2fs/genext2fs_1.3.orig.tar.gz]
md5=1342f26b75d8edb1daa01999ce330d29
sha256=8e7dfa34f3919226550dc6507a23753f9fda55e78b15b264291ecf5940d837e9
+[ftp://ftp.nl.debian.org/debian/pool/main/g/genext2fs/genext2fs_1.3.orig.tar.gz]
+md5=1342f26b75d8edb1daa01999ce330d29
+sha256=8e7dfa34f3919226550dc6507a23753f9fda55e78b15b264291ecf5940d837e9
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/g/genext2fs/genext2fs_1.3.orig.tar.gz]
md5=1342f26b75d8edb1daa01999ce330d29
sha256=8e7dfa34f3919226550dc6507a23753f9fda55e78b15b264291ecf5940d837e9
+[http://geos.refractions.net/geos-3.0.0rc4.tar.bz2]
+md5=90d4dba51dd75f8f1f12378e0f910d76
+sha256=7cd1b2266f5ae85a6d338c1c36ebe34e7c641ceb6a362e4526435c82d1e6fc5d
+
[ftp://ftp.gnu.org/gnu/gettext/gettext-0.14.1.tar.gz]
md5=78f4b862510beb2e5d43223dd610e77d
sha256=41f20c469c7759acb34cfa7e0b3cac9096d59a58ad800e471f07424a8e7adbb7
@@ -4474,6 +5914,10 @@ sha256=0a7bec1a381a450f650890b36253893df0001873ba1f414573a4247298107680
md5=dc94cb07c6e43fc8c4745b728b0ce32b
sha256=71e285da2f8f03dd0c6f6a969d1f541ab2a2f1a9d91e26f6f60779897d68824e
+[http://fnord.csbnet.se/giftcurs/giFTcurs-0.6.2.tar.gz]
+md5=9a34b924ea10ce0a1d62441ee2bacfff
+sha256=80db72ac16463ce084e76dc9aaae5b54ce8db085610c98fe2975c5b8f51a598d
+
[http://linuxbrit.co.uk/downloads/giblib-1.2.3.tar.gz]
md5=06ae3113fdfe9f05a642bd844cc85eab
sha256=42eb6bff68e88ef12a7ac2aa69848aeb29a8b69176b3bd3d9d67cf9a1233fe85
@@ -4490,14 +5934,26 @@ sha256=90825b05b675890bd405767a973d3c8c90eae36d22a7be6307e07a2e3c760d89
md5=7125644155ae6ad33dbc9fc15a14735f
sha256=e1c1ced9c5bc8f93ef0faf0a8c7717abf784d10a7b270d2285e8e1f3b93f2bed
+[http://heanet.dl.sourceforge.net/giflib/giflib-4.1.6.tar.bz2]
+md5=7125644155ae6ad33dbc9fc15a14735f
+sha256=e1c1ced9c5bc8f93ef0faf0a8c7717abf784d10a7b270d2285e8e1f3b93f2bed
+
[http://downloads.sourceforge.net/gift/gift-0.11.4.tar.bz2]
md5=decc82159c6723be999b1306a808077f
sha256=68149059b807b2fac505e376c18320e64104fbe0190e359f98059e73a63693dc
+[http://heanet.dl.sourceforge.net/gift/gift-0.11.4.tar.bz2]
+md5=decc82159c6723be999b1306a808077f
+sha256=68149059b807b2fac505e376c18320e64104fbe0190e359f98059e73a63693dc
+
[http://downloads.sourceforge.net/gift/gift-0.11.5.tar.bz2]
md5=f492b6e3607aed801b77657f3808f5c1
sha256=3d3013fb5648b6060202a63c13c160899da8baf756140c7fd8f4ed432b40fdd2
+[http://heanet.dl.sourceforge.net/gift/gift-0.11.5.tar.bz2]
+md5=f492b6e3607aed801b77657f3808f5c1
+sha256=3d3013fb5648b6060202a63c13c160899da8baf756140c7fd8f4ed432b40fdd2
+
[ftp://ftp.gimp.org/pub/gimp/v2.2/gimp-2.2.10.tar.bz2]
md5=aa29506ed2272af02941a7a601a7a097
sha256=41f4befa851177e2ca9bbab2fad19926178c831454ca51f2cb91fec0ed9e243e
@@ -4534,6 +5990,14 @@ sha256=f4055ea8f1815d7dcca6bf0159af70489243d63a14dcfaf2a994af062d829ca8
md5=0a8474e0d90b139b1baa70b097a4fd51
sha256=7f55ec02b5ab9e86c64f5718be64854fd9c64899908e580e1a9759421ac3b436
+[http://heanet.dl.sourceforge.net/g-inspector/ginspector-20050529.tar.bz2]
+md5=0a8474e0d90b139b1baa70b097a4fd51
+sha256=7f55ec02b5ab9e86c64f5718be64854fd9c64899908e580e1a9759421ac3b436
+
+[http://ftp.gnome.org/pub/GNOME/sources/gio-standalone/0.1/gio-standalone-0.1.2.tar.bz2]
+md5=6c3ae062f5b32f20eeaf91603f92652e
+sha256=a142efdd4508c7af90db878ded6f4713eb9bca47b508f60b294e62d7905ecff2
+
[http://www.kernel.org/pub/software/scm/git/git-1.4.4.2.tar.bz2]
md5=c4f72d96f62ae97c6e8d5cdb4afd55ca
sha256=907138a7537ff8cef5a9bb258cbba3e32fa46b240f66cd16d5bf530e081ac6b9
@@ -4558,10 +6022,22 @@ sha256=692901194603cc4fb4072d8f907487d867caef6b62161f50f0f44dbeb001066e
md5=b7200b08149599c4c0f56d88f0c7f208
sha256=53af32530e58ba23cbb752f063364612bbea57b31de2ee35814973452c2f63f2
+[http://heanet.dl.sourceforge.net/gizmod/gizmod-2.3.tar.bz2]
+md5=b7200b08149599c4c0f56d88f0c7f208
+sha256=53af32530e58ba23cbb752f063364612bbea57b31de2ee35814973452c2f63f2
+
+[http://heanet.dl.sourceforge.net/gizmod/gizmod-3.4.tar.bz2]
+md5=f9185cc10aded1b8d32329369fb00dcb
+sha256=46b84f8850f39c2d329abedbe40eb827644c11e2a05929911d54181bac663921
+
[http://familiar.handhelds.org/source/v0.8.2/gkdial-1.8.1.tar.gz]
md5=b21c6f87b16e398a188a2ed7c5dcd387
sha256=851ce45628729684bfcb2fab53f18e9be8fecb5ec8b6805071706a0e8f5bf983
+[http://members.dslextreme.com/users/billw/gkrellm/gkrellm-2.2.10.tar.bz2]
+md5=57ef0525c0997ac2e7720712811f5a84
+sha256=d7676d7734d4821454a840a1ef05020c9c4f4797ab96ec54f2351e26d437c88c
+
[http://members.dslextreme.com/users/billw/gkrellm/gkrellm-2.2.7.tar.bz2]
md5=6ff47bc8e66ba88f42932365a947f9f3
sha256=f921da7c8beb396278591b5ca7159b432a38902f1f872c4ae2d40aeb38f9cf01
@@ -4582,6 +6058,10 @@ sha256=706aa9da1c096af8d27b3ddb5da4e321dd6b10f881887639e280e4e10b81c4b3
md5=0b3a42098243d054475ff6eb51ed2be1
sha256=debc507172093ef7c74e8a83bf49e090cc24057b1807d3be22e5d7cbfab60054
+[http://ftp.gnome.org/pub/GNOME/sources/glib/2.12/glib-2.12.13.tar.bz2]
+md5=d76124236e4e216e8c0861341e967a76
+sha256=1253d563ca2e50292d924849fe3a23c3b7bc707ab8b79bda19319f9d192b0e8e
+
[http://download.gnome.org/sources/glib/2.12/glib-2.12.4.tar.bz2]
md5=ef7b9595fa788e245a0f883bddba8a25
sha256=1b1a0dc746a07c67aad15e22e3d751c3e7068c889d171efb1ab45efbab87c75d
@@ -4630,6 +6110,10 @@ sha256=78dfbbd339ff1049275f76a2a6e6c8f0cf124d5cdbea62a2b36e9d76c0ea24ba
md5=3b340946d6916ee9cbf2c348e7c099f1
sha256=78dfbbd339ff1049275f76a2a6e6c8f0cf124d5cdbea62a2b36e9d76c0ea24ba
+[http://ftp.gnome.org/pub/GNOME/sources/glib/2.15/glib-2.15.6.tar.bz2]
+md5=62b1a3c1fa52b8d91b4535e4a4ab3057
+sha256=90e5e5d555479456f13f0ef8bb3518816994785fccb18fc2e65d432f8dd34272
+
[http://download.gnome.org/sources/glib/2.16/glib-2.16.1.tar.bz2]
md5=9852daf0605f827bfd7199ffe4f5b22d
sha256=f305a828b53194a99c35dfb88efa4d83d3998a95b9d8843ca3f84c2959e56695
@@ -4710,6 +6194,38 @@ sha256=dbf0deb003531cbd2493986718a1b34a113c914238a90de8b5b3218217257d82
md5=b45c4cfa714a4688c319149c15a1e060
sha256=0ae1b1dc1ee870d307ae6ad4546778377b04055520d3771dab1290e60ab13286
+[http://www.kegel.com/crosstool/crosstool-0.43/patches/glibc-2.3.6/glibc-2.3.5-sh-lowlevellock.patch]
+md5=bb8da838930b8c6d06bafdbaad5dab1a
+sha256=43cb2a382f30d189f0cacb71cbfa0b153a45a49e5fd73330893d24731fca4eb6
+
+[http://www.kegel.com/crosstool/crosstool-0.43/patches/glibc-2.3.6/glibc-2.3.5-sh-memset.patch]
+md5=1acb1e6c444ad45bb1390e7800dc4d7c
+sha256=b301918536819d00b824e134fbdeba3cf4048da060e70e75c8ea56fd92689ad9
+
+[http://www.kegel.com/crosstool/crosstool-0.43/patches/glibc-2.3.6/glibc-2.3.6-allow-gcc-4.0-arm.patch]
+md5=709cb2283068145e557912b0907341a3
+sha256=9dba644da5db0ec5104698706854dcd4ae8d6a10e9419eb049e3d6fcad9d81fe
+
+[http://www.kegel.com/crosstool/crosstool-0.43/patches/glibc-2.3.6/glibc-2.3.6-allow-gcc-4.0-elf.patch]
+md5=79ddbf5e5721442c5753344e4ecdda1c
+sha256=c1ab6923fa4388407cd1dcb2ed441f25c2b9fa18cacf6aad549c31fed3c08f8c
+
+[http://www.kegel.com/crosstool/crosstool-0.43/patches/glibc-2.3.6/maybe/glibc-2.3.6-allow-gcc-4.0-powerpc32.patch]
+md5=b89be3e1653ec6df317e30a10a0933b5
+sha256=0b5dd58a5240440ab6dcc0e2278bb99ebb20d0b558578652da59007bf27ae2fe
+
+[http://www.kegel.com/crosstool/crosstool-0.43/patches/glibc-2.3.6/glibc-2.3.6-configure-apple-as.patch]
+md5=c4d41a712bf40dfb852e7bc18e1b6c52
+sha256=81611592bf30b4c1fa0c58d170d74c970dbc145127e16cb90d648663e2970cbf
+
+[http://www.kegel.com/crosstool/crosstool-0.43/patches/glibc-2.3.6/glibc-2.3.6-fix-pr631.patch]
+md5=336ce18c81fe8d7c17d2f7a0dbd62766
+sha256=9487f1d4c05b9c94d94f8bcb34541ef04b77cfc0526dbb0b344c67f2ab388c5b
+
+[ftp://ftp.gnu.org/pub/gnu/glibc/glibc-2.3.6.tar.bz2]
+md5=bfdce99f82d6dbcb64b7f11c05d6bc96
+sha256=e73ff5eddea95d09238b41d3c9c4d9ccddcf99fcc93d04956599c91c704f4a8e
+
[ftp://ftp.gnu.org/pub/gnu/glibc/glibc-2.4.tar.bz2]
md5=7e9a88dcd41fbc53801dbe5bdacaf245
sha256=27aaaaa78b4ab5da76bb29385dc9be087ba7b855a9102eaaa78ce3ec5e2e7fcd
@@ -4726,6 +6242,10 @@ sha256=3ded3a3c3ba2cf02d72479a5cc0829c7c261a9d0934e49a79233de9fa276ec22
md5=065c5952b439deba40083ccd67bcc8f7
sha256=4224a522ac4ee0fd89eb337e7505e280dfb05e2fe1ad44339ba8874081c0451a
+[http://www.kegel.com/crosstool/crosstool-0.43/patches/glibc-2.3.6/glibc-fp-byteorder.patch]
+md5=c89aac92d100761a767b9d5619fe582f
+sha256=3033d84fd9a62d20a8cb0d42645d7cd5a28d2d108afcb4cc2d89db3dc1e328df
+
[ftp://ftp.gnu.org/pub/gnu/glibc/glibc-libidn-2.4.tar.bz2]
md5=e2d892b40d654c523ab26a26b7dd86a1
sha256=2f29ec2b2b2f75f787a1eed8fdea20aff212dc3bad97651ca376914c49181977
@@ -4754,6 +6274,14 @@ sha256=74ec1a4a28f854a27deeb9dfd0673f9d8f8fb948b3db0b45503c287c1ec9d15f
md5=9006b8bff18beb864f6053857f25b410
sha256=2d7af8211cda81abde3e0bb8ccedbd18924a27b244ff35d4eacafcf899038c56
+[ftp://ftp.gnu.org/pub/gnu/glibc/glibc-linuxthreads-2.3.6.tar.bz2]
+md5=d4eeda37472666a15cc1f407e9c987a9
+sha256=6c3bc4a247d1e5308fb14f81956802f09095d3683219859fcad5795aa3aea638
+
+[http://www.kegel.com/crosstool/crosstool-0.43/patches/glibc-2.3.6/glibc-mips-bootstrap-gcc-header-install.patch]
+md5=dc31c9e01df62cba9457af7e9b9c968e
+sha256=a69760ed0ea54b66c31d58cb32c7b23185a6b1d16f38dab8380ec4f2183b122d
+
[ftp://ftp.gnu.org/pub/gnu/glibc/glibc-ports-2.4.tar.bz2]
md5=7bb1b35654e94994925e66676acabd4e
sha256=2fbbcaad8a9f8560485c398a9066959fe2713c8bc7e653ec476fb56fed21d19a
@@ -4770,6 +6298,10 @@ sha256=d094028bc6d6691f56b4efeff7cd7e1c7ca10733e0cb5efc36e8fb08d8324bf1
md5=eaeb8527b8fa286c2d887157214f9998
sha256=3e481996259af87c3581da23481970a27de679e3c87cfa9a5a59751cd20c7b44
+[ftp://ftp.gnome.org/pub/GNOME/sources/glibmm/2.16/glibmm-2.16.2.tar.bz2]
+md5=408054366f0acc01014f4c4af2304da5
+sha256=f033f6f39c32fc17ecce63087e41408671a3a43d698c83de2528af3fc7276d28
+
[ftp://ftp.gnome.org/pub/GNOME/sources/glibmm/2.18/glibmm-2.18.0.tar.bz2]
md5=1a0df362e15e7f850b8361b5102f1f16
sha256=ca6c46b87748cabd61e7d5ef892f09f433eaea324e63637f7de1f0217465cd31
@@ -4786,6 +6318,10 @@ sha256=972da0f1c35df459b99b24f5bbed5ddec150b714540e2254b6b37035117167ed
md5=9054d072f5972d5e567c428531734ad5
sha256=7f836c8189b55ef4ec8f3387673687d0a5c1a713abc9617144638b28e6857bd2
+[http://camaya.net/download/gloox-0.8.9.tar.bz2]
+md5=dc590e34107de5cb296c238afa8e843b
+sha256=9d9ef356cc4478499442573556787125dc76c8acd1e55e5001fb11f1e224d27f
+
[http://xorg.freedesktop.org/releases/individual/proto/glproto-1.4.8.tar.bz2]
md5=3dfbd17203c0c88b94b6f579f24c11cc
sha256=2f5d84413853b688b7bb46c66fee108a499190e1f7810afffb775910778f053c
@@ -4806,22 +6342,46 @@ sha256=769fbff3cc640b4ef14823ec3bd1c7364e30b37702cf7df391bdec5fc21666ab
md5=a78f1d1ee403ad3bb2959159f7ae0e69
sha256=2bec403b16ebdcc2a82ea6523eea230e1d651e68094e4bb1af716b36f951ba06
+[http://heanet.dl.sourceforge.net/grift/glrr-20050529.tar.bz2]
+md5=a78f1d1ee403ad3bb2959159f7ae0e69
+sha256=2bec403b16ebdcc2a82ea6523eea230e1d651e68094e4bb1af716b36f951ba06
+
[http://downloads.sourceforge.net/grift/glrr-widgets-20050529.tar.bz2]
md5=97bd37e930e4e3837ee3fae45a4eec8f
sha256=62a88525ae1deb3112221c4e1068e8d940afb3b8e5664e353cf3360ab403b845
+[http://heanet.dl.sourceforge.net/grift/glrr-widgets-20050529.tar.bz2]
+md5=97bd37e930e4e3837ee3fae45a4eec8f
+sha256=62a88525ae1deb3112221c4e1068e8d940afb3b8e5664e353cf3360ab403b845
+
[http://downloads.sourceforge.net/glurp/glurp-0.11.3.tar.gz]
md5=cffb7c11906b71a54d4cd8e9d4bd043c
sha256=dd419074ed74f5685d1a9d55249544bb3527f7e4ee86facd480ca5b7f3618f30
+[http://heanet.dl.sourceforge.net/glurp/glurp-0.11.3.tar.gz]
+md5=cffb7c11906b71a54d4cd8e9d4bd043c
+sha256=dd419074ed74f5685d1a9d55249544bb3527f7e4ee86facd480ca5b7f3618f30
+
[http://richard.jones.name/google-hacks/gmail-filesystem/gmailfs-0.7.2.tar.gz]
md5=895ee1c3f02973d39e73ccbee9552296
sha256=bff4adc856dcd14cc9d50c63177d1dd465ecd71c9d80594c26ff98afbf57b251
+[http://richard.jones.name/google-hacks/gmail-filesystem/gmailfs-0.7.3.tar.gz]
+md5=306a58990ae299083bc9d704899ed1c5
+sha256=3539e060e3d02f4732c79c9a02e93898c562e2f2d77828ef4825ac6b1447a444
+
+[http://richard.jones.name/google-hacks/gmail-filesystem/gmailfs-0.8.0.tar.gz]
+md5=828417eb7355b61b0f474eabc826317f
+sha256=69d8553b351c461a8e36ed633aa2da14fdb79423b9ce0e6d3174e5ace09fadd8
+
[http://spruce.sourceforge.net/gmime/sources/v2.1/gmime-2.1.7.tar.gz]
md5=ed99c382471294896f576e5f77694142
sha256=39ef812217a76982947a7ac3b4a97e8303466a3dd93709366d1559e0a7ec8a46
+[http://download.gna.org/getfem/stable/gmm-3.0.tar.gz]
+md5=e543571d8812357374699491014abd58
+sha256=f7fad050ce4641a43c2249fd691e514a0ee6afc09b4ec54c8c30038d0c2783d1
+
[ftp://ftp.gnu.org/gnu/gmp/gmp-4.1.2.tar.bz2]
md5=ed39b34dd14014cc504840776af5ba10
sha256=51ba8551092510ef5c61798584f4cff054e0fbbe7c46fea2c8ff9ea9a52edcd1
@@ -4854,6 +6414,26 @@ sha256=7b47fd0d2e5a2f2d626b3e9e903ff8a0c0ce7c926925944dcea1f9ca3e6cfda1
md5=7b2e951912d4bee9613c35244ca32673
sha256=5cd061fa5d4906d6aa7183393c98d070dc689cbb946c13bebab6d6e4ecdc2231
+[http://heanet.dl.sourceforge.net/gmpy/gmpy-sources-101.zip]
+md5=7b2e951912d4bee9613c35244ca32673
+sha256=5cd061fa5d4906d6aa7183393c98d070dc689cbb946c13bebab6d6e4ecdc2231
+
+[http://heanet.dl.sourceforge.net/gmyth/gmyth-0.7.1.tar.gz]
+md5=ab6b7525fd9c71cf5203f9e61abec0c3
+sha256=ce7cbf087b377f027516d90525bbea6130f70b42f176b2d17386b7247b290fdb
+
+[http://heanet.dl.sourceforge.net/gmyth/gmyth-upnp_0.7-indt1.tar.gz]
+md5=29e58ea47e1548d70e4498cabca249a6
+sha256=f028ae7b331fdac9e5e70e4827fe1bcfa0274a9539e4224a9a49441776b2b517
+
+[ftp://ftp.gnu.org/pub/gnu/gnash/0.8.0/gnash-0.8.0.tar.bz2]
+md5=b3a3b22d608b5050b1b2743bc348c536
+sha256=ff8c3ca6f297ad4fa7cc8fecea45119dbaf8fef7f95901c04eccbf0d6424ef84
+
+[ftp://ftp.gnu.org/pub/gnu/gnash/0.8.1/gnash-0.8.1.tar.bz2]
+md5=5f80a25cb7a37fb351d28fd2097d8f3e
+sha256=30fb283e707bc209109ca313c83b069b1c482497b62f8c4cc37e9a23e0ba8993
+
[ftp://ftp.gnu.org/pub/gnu/gnash/0.8.2/gnash-0.8.2.tar.bz2]
md5=05cac831181be3fb40cbf3c00ab25c0f
sha256=4c81e71e6619b79da9641a90ed2c73c362603103bcdcc7b9cc5cc53739d06baa
@@ -4874,6 +6454,10 @@ sha256=cea63cddf79864d306198c7a84091af0b4685816b352ae253a3e2bfac5e67cb7
md5=7f2a8cee97e62ebfa284363dc93b3178
sha256=9605f7aee1b8d58cac10dd514c2bdfa340089d85b149db828816d18ac3ebaff8
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-common/2.18/gnome-common-2.18.0.tar.bz2]
+md5=567172e685fc0783b1d6ab9843a85d6a
+sha256=ba28c1017e7e4212db16ada3f44cb446b6637c9c4fe16c0e2c2a51c94c46bc5b
+
[http://ftp.gnome.org/pub/GNOME/sources/gnome-common/2.20/gnome-common-2.20.0.tar.bz2]
md5=89e47677fb72695c75d2cefac84ff9f1
sha256=0e807cfe74a684c494a0949b7f96d231660f323253a89053e3ec32c4f518c8d9
@@ -4898,6 +6482,10 @@ sha256=56c7dbe56e6a9fbcd3730c55892734a9daff23a86d69f49a381a4c965732f9d1
md5=98de3b7d0da690da8b94cddc74f3914b
sha256=8997a2ceca2dbb28fb402e23ea5f255b68c59ea4f932b253e2843bfe62af7c64
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-desktop/2.22/gnome-desktop-2.22.2.tar.bz2]
+md5=6d6271cfa135ce016126414d929b8fb7
+sha256=4bd3141b2c668b24b43ac10a7a7040ce0717d8f088aee8a93ef261e446d88818
+
[http://ftp.gnome.org/pub/GNOME/sources/gnome-desktop/2.24/gnome-desktop-2.24.0.tar.bz2]
md5=a2cc0424619f271bf1a65cc0fbe782f0
sha256=7ebe5b0c2bb296386f1d62c3a5d30ed50e353c8d9dc390b77e0b5fdf56e4dad9
@@ -4906,6 +6494,10 @@ sha256=7ebe5b0c2bb296386f1d62c3a5d30ed50e353c8d9dc390b77e0b5fdf56e4dad9
md5=16691f6bdc7c09445c457387adaba1f1
sha256=6a1499a1e50ac89210a9a1fdb36bc070ef6d1a02764a0f8d90de314dba01972e
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-doc-utils/0.10/gnome-doc-utils-0.10.3.tar.bz2]
+md5=43f3a4086ec1254cbe20b85948192d18
+sha256=19b5b4425bc578af8a1c58b61f1b9a416743d0b1fae3356cd9a0071f1f66632c
+
[http://ftp.gnome.org/pub/GNOME/sources/gnome-doc-utils/0.12/gnome-doc-utils-0.12.0.tar.bz2]
md5=5934c08d12407d8233416343cd73df24
sha256=6bb8ec068558e380aff1e3f0aa130b52161ad68f8d495fce45c55783bbba9076
@@ -4914,10 +6506,18 @@ sha256=6bb8ec068558e380aff1e3f0aa130b52161ad68f8d495fce45c55783bbba9076
md5=21fe881ab473fdc9246c36bd8ef929b0
sha256=5b51e0dfae64e7f48883fce6657fcf47a03f6429e2c67024203e31cc29032a22
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-games/2.23/gnome-games-2.23.6.tar.bz2]
+md5=9f13ed34427d4c19d423464cd59dba08
+sha256=af2ebf32fe93817e06333b94d3fabcf72fa5675f402c1bbdb7bed3be0b3b3a3e
+
[http://ftp.gnome.org/pub/GNOME/sources/gnome-games/2.24/gnome-games-2.24.0.tar.bz2]
md5=23bf4e795725a74ebb37daacda784adb
sha256=3105dfb490c187adbe1c14582daa5a134ec672c396af3dd4e0e29cc9fbb4a6ea
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-games/2.25/gnome-games-2.25.1.tar.bz2]
+md5=886ab09752d3b420b744865342f07eb0
+sha256=a29eca01be141a9208ef2be3dc497d05faf4d2c0ca3e3d9edeec611ca3388b28
+
[http://ftp.gnome.org/pub/GNOME/sources/gnome-games/2.6/gnome-games-2.6.1.tar.bz2]
md5=6ea145547bfd8aa828b22cbbe34cbedf
sha256=d7a823601f569589437d671d12b1b12f53abc08aeb7d25280bb3242299353086
@@ -4942,6 +6542,14 @@ sha256=1c6d5a1732742469ec32ab7297f3b8eacfc0f4bfae5fdb096b603877dde12612
md5=dc17fa8b04172d3b1993caa6959a7648
sha256=f6799acf59bc91054c4832e7956cb3126effdf911f746139478dcfa8ec727653
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-keyring/0.6/gnome-keyring-0.6.0.tar.bz2]
+md5=1e3a3a12b19fc5ebe95363658c2256d8
+sha256=649f2a0d5298b896781d0ac563b8ea1be7f3fe07fd17ea43b0ec0562be47769f
+
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-keyring/0.8/gnome-keyring-0.8.1.tar.bz2]
+md5=24b15dedcf40c1c60d0fb989370d80ff
+sha256=ad28558e2c0e5496cdfec3f8badf84d64af3aebc3fc9f5632066591e20ce3943
+
[http://ftp.gnome.org/pub/GNOME/sources/gnome-keyring/2.20/gnome-keyring-2.20.0.tar.bz2]
md5=effc946bf3fa05d70b1251801383efd2
sha256=6fadcd85a16672381857de0e1cf2b6fe16ec3393931f92427deb13153eeabe1c
@@ -4962,6 +6570,10 @@ sha256=f77192ca0b909000f675ad3cd520c313431ee117d554102c7ea486f76f396f6b
md5=a5c467abe68003d23ec09a795ebfd29f
sha256=72238f33406ada505fde8555ff93c00e7fec055a41500339b434c5445b09c87b
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-menus/2.22/gnome-menus-2.22.2.tar.bz2]
+md5=2bb185643632b28f4dba4b8201b8e230
+sha256=b3ef17eb05308e35e1627e5ca56b6951e9aea69cf112164ef698cdad6f44ed23
+
[http://ftp.gnome.org/pub/GNOME/sources/gnome-menus/2.24/gnome-menus-2.24.0.tar.bz2]
md5=1816a0d21ef99d5b3a8bcd033c88f732
sha256=f19ac5af961be1d6244f9526311af8a67518c7403ef71209dcee94b68f77d58e
@@ -4990,6 +6602,10 @@ sha256=61a01f535b50ca0a4c35b4b59513287f17e0665c0b678952cae663b883b13827
md5=6c325f5b5f9f424faa494665720bcfb9
sha256=c04b53bcc0057ed042169baa725ed3769194864e5824643cc0af8c58cf773d2c
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-panel/2.22/gnome-panel-2.22.2.tar.bz2]
+md5=3d8aab9d476a593e731afcd60272454a
+sha256=e1ecc0ddc5a09481deb2daa1f30fa14472bfed541db46bb4f49f3d0d728b0a45
+
[http://ftp.gnome.org/pub/GNOME/sources/gnome-panel/2.24/gnome-panel-2.24.0.tar.bz2]
md5=0d246880611a4c58fe2ff99614b96918
sha256=6d6d0f013594f1d5f685bc9d35ad2c64d7817339a932d8e17eede5b8a3c8196a
@@ -4998,14 +6614,42 @@ sha256=6d6d0f013594f1d5f685bc9d35ad2c64d7817339a932d8e17eede5b8a3c8196a
md5=db310dadcc958a781a2752a6a7748e60
sha256=78f7dc6946e178513202f06afc19496c8ac1e3ac6c43c56c40f4db1a23762179
+[http://heanet.dl.sourceforge.net/gnome-power/gnome-power-0.0.5.tar.gz]
+md5=db310dadcc958a781a2752a6a7748e60
+sha256=78f7dc6946e178513202f06afc19496c8ac1e3ac6c43c56c40f4db1a23762179
+
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-power-manager/2.18/gnome-power-manager-2.18.3.tar.bz2]
+md5=3341092fc87ced400631c3d635979426
+sha256=0bcc8a35d52279cd24de93e957bf0f8b3359d096cd891e5bed07cb4b912f920b
+
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-python/2.22/gnome-python-2.22.1.tar.bz2]
+md5=02054115dc86617da2a80eb87a1f988b
+sha256=559b5d857b4fbc31418bc677f3391182ba1c357cabb8dfee04a1e709a7a63d01
+
[http://ftp.gnome.org/pub/GNOME/sources/gnome-python-desktop/2.23/gnome-python-desktop-2.23.0.tar.bz2]
md5=d8f8e61d99402e8b0a82d3c8d6e873be
sha256=7ad66f99a1bad1ae0bbb02bd7a7cf8ed17fdc3fd104fa5c68e04961459ad5c50
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-python-extras/2.19/gnome-python-extras-2.19.1.tar.bz2]
+md5=08896c63d71ce44d20fafbaf9c0edc78
+sha256=c5f74f4c46dbb379d119d6f74ca4a47653af251bea176dc7a0ecacccb88339f0
+
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-system-monitor/2.23/gnome-system-monitor-2.23.6.tar.bz2]
+md5=bc7e7e252465948b122e267713bba4a0
+sha256=4fbd2eccb335fa92487b3307bd83c4f468342f1787856377abbb6ad862271451
+
[http://ftp.gnome.org/pub/GNOME/sources/gnome-system-monitor/2.24/gnome-system-monitor-2.24.0.tar.bz2]
md5=edd7f02e30683054b94a89aa62c74d1e
sha256=cf2f96f3c91749fdcec39d3eb89273f6d3a47cc7bc0c5faa0915808409c9d563
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-themes/2.22/gnome-themes-2.22.2.tar.bz2]
+md5=1989167d700e835fe57993c6be90434c
+sha256=b6047835d6fae7269825028c4f7da2c1ff380c023fbd58ac69fdea8a707bac77
+
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-themes/2.24/gnome-themes-2.24.0.tar.bz2]
+md5=0dd3fc0d034d7f51379ea6f335d1d257
+sha256=7a7fd49793c790c508cebce5e4ff99c83ddcaa6fd57266ce46ff9ac4cc3b9063
+
[http://ftp.gnome.org/pub/GNOME/sources/gnome-themes/2.6/gnome-themes-2.6.2.tar.bz2]
md5=4aae39232d77e1497f3180202b501adf
sha256=471191e942fdd1d691095c71fb22c0a645b3644c3b2b1c58a6d6f1a2435fb818
@@ -5042,22 +6686,42 @@ sha256=bd6b432e48532942475ea9cc814131054de1b30e8f5520017a42369ea2224c89
md5=29f6997c0523254b54f8d36f0361b824
sha256=482bda65d8083a66f84d88d808388fac34b2c5d808676105d200ac9049efb82e
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-vfs-obexftp/0.4/gnome-vfs-obexftp-0.4.tar.bz2]
+md5=6e38828738301fb3ec88c0461ff53a60
+sha256=2a50b2bb76c521f588e14ee2ed5411f5abad750050d929dcea32ebd0de3499f8
+
[http://downloads.sourceforge.net/gnomebaker/gnomebaker-0.6.0.tar.gz]
md5=351363497017121d3a1d43b0e3a0f515
sha256=b1639296a7c5de7fbc37464ed70d68007edcb884eb4b5983a1c5f9028f50fb0b
+[http://heanet.dl.sourceforge.net/gnomebaker/gnomebaker-0.6.0.tar.gz]
+md5=351363497017121d3a1d43b0e3a0f515
+sha256=b1639296a7c5de7fbc37464ed70d68007edcb884eb4b5983a1c5f9028f50fb0b
+
[http://downloads.sourceforge.net/gnomesword/gnomesword-2.1.2.tar.gz]
md5=ce1171f19a40256cfdd31f42c979d91c
sha256=77cb4bd39a4cec2aa3d61b0519134f9e4a65613960b3b3ee34dd2452d5e12ba7
+[http://heanet.dl.sourceforge.net/gnomesword/gnomesword-2.1.2.tar.gz]
+md5=ce1171f19a40256cfdd31f42c979d91c
+sha256=77cb4bd39a4cec2aa3d61b0519134f9e4a65613960b3b3ee34dd2452d5e12ba7
+
[ftp://ftp.gnu.org/gnu/ghostscript/gnu-ghostscript-8.16.tar.gz]
md5=c42dfaebc37fe81eab0b5676b124ab63
sha256=417922d35e66ee90cf93cf3e93fdf281ec6b92de4f7436c9c1a97c0cc35b94a8
+[ftp://ftp.gnu.org/gnu/chess/gnuchess-5.05.tar.gz]
+md5=008820142c414517512ab0ad3e036c8b
+sha256=d97ee0f1c45e1bfa880305a33e7e0ef695927094adce100cc76a76a0f57ef789
+
[http://ftp.gnome.org/pub/GNOME/sources/gnumeric/1.6/gnumeric-1.6.3.tar.bz2]
md5=78ffd75ae6abc3bb20dd04407a082a26
sha256=badaa6899f71ef112515ce81aee02e559e18b5fa87c7f2262390764aaf9b1dc0
+[http://ftp.gnome.org/pub/GNOME/sources/gnumeric/1.8/gnumeric-1.8.2.tar.bz2]
+md5=f60edc6ca42daa2fb3717f3c90fa8a6e
+sha256=8418ed3a2e8dad923a6626d22eaffe796aab9cbcf827a17ab95bf99956e22a6d
+
[http://ftp.gnome.org/pub/GNOME/sources/gnumeric/1.8/gnumeric-1.8.3.tar.bz2]
md5=3ce6ba6483ccd6fe9974cface582337a
sha256=173df749482f7391e50a6eb8339107b2b201582978637c63190c4a79f8e66d07
@@ -5078,6 +6742,10 @@ sha256=4aae09bf99ab2642308b0042eb18b75bc18ff33969a7431bba60b09cc2f600f4
md5=3cde3b9232a2d81715bbaf75e1c87ecc
sha256=2a20701410a21307c404a9d10ad9fdf699bb92fa0a919797213208d80b080913
+[http://heanet.dl.sourceforge.net/gnuplot/gnuplot-4.2.4.tar.gz]
+md5=3cde3b9232a2d81715bbaf75e1c87ecc
+sha256=2a20701410a21307c404a9d10ad9fdf699bb92fa0a919797213208d80b080913
+
[ftp://ftp.gnu.org/gnu/gnuradio/gnuradio-3.0.4.tar.gz]
md5=d04b446fc76687272e64259d36d78b0e
sha256=2374cbf6df3568d7cef16ba6a11802e52e37d88719f704dff40d4fff9f81d313
@@ -5146,10 +6814,18 @@ sha256=158258dcb85fd4f3e4ee5a61df49560f8b65d94682ef9322cbb20fb2d3e93034
md5=bb86c6ee2d953da77519cac4e1a5c609
sha256=fb35c1ae8dcd8cf81836a65536b7f62a274a90ccab6f579519c0885a575095bc
+[http://ftp.gnome.org/pub/GNOME/sources/goffice/0.6/goffice-0.6.2.tar.bz2]
+md5=f52d78cffbcfc3c13336fd308ea3926e
+sha256=b126902259875a24ece29bdf1f93cc7fd4fd7b83508cae1c15dabd10b4d537cd
+
[http://ftp.gnome.org/pub/GNOME/sources/goffice/0.6/goffice-0.6.3.tar.bz2]
md5=3d8d3357f9d58af901cd1d6eb42e2973
sha256=a252aff88d801175b27fd7c20e00b0b5f674a5a70e64cd95091abdcab87db35c
+[http://heanet.dl.sourceforge.net/gparted/gparted-0.3.3.tar.bz2]
+md5=f3d16ccfda72fa1dac9fa1ff9ded2c42
+sha256=c7c86abd344055bdf1f840a037d04064759f52039cb075260b60369b721f245c
+
[http://ftp.gnome.org/pub/GNOME/sources/gpdf/2.10/gpdf-2.10.0.tar.bz2]
md5=9278cd3b9d06e3b1d364452f0e512fa9
sha256=b6a5abf78363205e01bf1d238eaf4c349c9725f57aa18e2adc0445268540c7e6
@@ -5194,10 +6870,26 @@ sha256=8895c046511d06c47dcc8d8608cb220e0b608cede1ea169174ab3bc451d111c5
md5=74ca3a6e37c9d9ae9fe2c50fc6d8350f
sha256=63490b00244b0e6d7b54205e0d27ab22784ad0b328c7fa3e56aa0133677884fe
+[http://gpephone.linuxtogo.org/download/gpephone/gpe-applauncher-0.10/gpe-applauncher-0.10.tar.bz2]
+md5=466f9316024ed82ee1921b56376f04ce
+sha256=916ef522cbd2af8cc9623c2e4a34a8d1e45f9852bbb63a40ac056ba2c773eada
+
+[http://gpephone.linuxtogo.org/download/gpephone/gpe-applauncher-0.11/gpe-applauncher-0.11.tar.bz2]
+md5=e02616d1fbbeb441187f3e2db17517ca
+sha256=a5186b3099643f74e41e2a805489df8edc453bf1ab6eae1cef821a5b814e5035
+
[http://gpephone.linuxtogo.org/download/gpephone/gpe-applauncher-0.7/gpe-applauncher-0.7.tar.gz]
md5=2eaedfe736b88624c360ddda2b6fa777
sha256=2afd5a23705fe95f6abc12e842f2ebaaa038bd4c8cf8a971a848a48a14e100bc
+[http://gpephone.linuxtogo.org/download/gpephone/gpe-applauncher-0.8/gpe-applauncher-0.8.tar.bz2]
+md5=a4f874b54620e3a5f6c6cfac9e6ba87c
+sha256=2955cc5249550f44af484a21aad970b923a5d27a9326f63ed285191a8472239e
+
+[http://gpephone.linuxtogo.org/download/gpephone/gpe-applauncher-0.9/gpe-applauncher-0.9.tar.bz2]
+md5=afe554c858175317266701fd18a30a68
+sha256=e6d323d29dded45661e158fce101fbc557c88da56ffdd2576934dcca81464edf
+
[http://gpe.linuxtogo.org/download/source/gpe-appmgr-2.8.tar.gz]
md5=2dd3d56eee8905451e9c31cfda620f7a
sha256=1a797188e9786936c32fee6ba3e20f01d562583f6407cf8d83f729ab708e1342
@@ -5286,6 +6978,10 @@ sha256=e51bdbba46d7d6950c1f4d3139a167f4c823e403f8a53b30a16cea32c7d540dc
md5=b10a91ce3fb39b87656fc5c5510b68d6
sha256=780ddb4f2bb72e3e8d970ebc647c8040cfef0fccd405773cf7776074c26175b6
+[http://gpe.linuxtogo.org/download/source/gpe-calendar-0.90.tar.bz2]
+md5=e2834f77e3e9a476fd9a114411cdfa22
+sha256=b70e8a2d20c206cfc978d918d73356a4a46f948ce109714d07b82c5327308498
+
[http://gpe.linuxtogo.org/download/source/gpe-calendar-0.91.tar.bz2]
md5=478ed24de48860712f45563640041301
sha256=75581218e2871c8bd1ab645977318050d9ba60c5cf632a51c05c4339fa9365ae
@@ -5398,6 +7094,10 @@ sha256=9aee93207a4f48b16c17bf59fe151f2a8890731b73e07bfcb73d2fcc297eb848
md5=ee998780d384e68cdd15748392f59980
sha256=9ce4624ca3ca7e641fac7513dcef6614bce611c338466c742a0e19346cf94f82
+[http://heanet.dl.sourceforge.net/gpe-expenses/gpe-expenses-0.0.6.tar.gz]
+md5=ee998780d384e68cdd15748392f59980
+sha256=9ce4624ca3ca7e641fac7513dcef6614bce611c338466c742a0e19346cf94f82
+
[http://gpe.linuxtogo.org/download/source/gpe-filemanager-0.23.tar.gz]
md5=2ddfe35b6bcf3269de704bfb44b568e1
sha256=434991a5c562ebb1e381e05dddc6c8916f5a8c851dc4d2a6b3781db1222a8f69
@@ -5482,6 +7182,10 @@ sha256=6dd6f9b558ef7306578b4be1a83712e1080104570499fa9329072973bd2ed50f
md5=4e6dfd761f62764f98b9f6c2c09f3715
sha256=8bea38af14c98354b1ee023475315ae3ba462d33b136a73cde9d83303b659d84
+[http://gpe.linuxtogo.org/download/source/gpe-memo-0.2.tar.bz2]
+md5=3ec65b008347d4eb4fa0477787ebfc12
+sha256=769faaf00a6da6b86e624407d636ec268593537a394fd99437aeb3e3f74c17eb
+
[http://stag.mind.be/gpe-mini-browser-0.11.tar.bz2]
md5=ebdb2eebb1ca1a5cb8ca7f1e4e3bb817
sha256=372836198e10982525f01e8bf9d959777ab66f93d0688274c43200c4b8c959f8
@@ -5610,6 +7314,10 @@ sha256=a1fbdb1e8357b0b2362df9ee457c90dcaafbe7a11723117cb0cbee1ea0f6315c
md5=2c60de78f2e539ea242c4ba891d3e5ed
sha256=4b1e77ff0a5a74165bae6e842f122fc17a6331e0566a2b83d1ad8ac3ef5fe4b8
+[http://gpephone.linuxtogo.org/download/gpephone/gpe-phonepanel-0.9/gpe-phonepanel-0.9.tar.bz2]
+md5=36bb2575a246b036049f42d0f5b03594
+sha256=8864d8be79e16820861254d51a0bfdcfd045d8b41a46ef5833f6bb5b30a9b1c4
+
[http://gpe.linuxtogo.org/download/source/gpe-plucker-0.4.tar.gz]
md5=05e4285049e9458bf1bb52a56f5ffc26
sha256=5a97f5365d97b7332c9aa32e134ec7ae32587873416ec2b6eca2b73635c3f62d
@@ -5650,6 +7358,10 @@ sha256=dc0648a0f1eabbf42a5ec8d04e02a576097b68cc1ce0558546d9081cd89b5e1b
md5=28ec6921d665c8ccde521181a9d26e24
sha256=ae9c0fcdc13c3fa69038a0471f459602a6a45de6c44a0fa8c5c3241b6925e3bd
+[http://www.telefonica.net/web2/mteirap/gpe-snes-0.2.tar.gz]
+md5=24562cd0cf481d6912621ad9c60cb9cb
+sha256=1807b46c5859c0933dba2a795374fff0270c0fd792874d1b256ec0899ab08d69
+
[http://gpe.linuxtogo.org/download/source/gpe-soundbite-1.0.6.tar.gz]
md5=9eac057d9a91b5b12b2b1cd7d88b60a6
sha256=44278e12358531f588501b2d79bb3a32c69e3cddb243674a414df20e3990f196
@@ -5714,6 +7426,10 @@ sha256=f43b452ac845b7406fe6b6d7aa9ca64fad731142cd9912e79f03fc5c6b8c10ad
md5=043c21b35c7f00b21745c8a3a61c12ac
sha256=a04f41837a995c1f1834a66be41bc0b7237ee181314607dfb0ef733984765d04
+[http://dominion.thruhere.net/koen/pda/files/gpe-theme-clearlooks-0.2.tar.gz]
+md5=043c21b35c7f00b21745c8a3a61c12ac
+sha256=a04f41837a995c1f1834a66be41bc0b7237ee181314607dfb0ef733984765d04
+
[http://dominion.kabel.utwente.nl/koen/pda/files/gpe-theme-clearlooks-0.3.tar.gz]
md5=949d3329e9b9904814302db7132d468a
sha256=f2f1e03e3283f6182d02928cbdb5ea8160f786037d4a135947794da488ebe805
@@ -5730,10 +7446,18 @@ sha256=40df3e20e7c563b49ae0d5b4ff9151d0b9062815e7222f361b949cb60d9b0b59
md5=75898910db553923aa312ed2b1545364
sha256=6aeb1dd991f0e0bcc11562061148051520562c81dc6bf18c03f0cc86a72f6093
+[http://dominion.thruhere.net/koen/pda/files/gpe-theme-industrial-0.1.tar.gz]
+md5=75898910db553923aa312ed2b1545364
+sha256=6aeb1dd991f0e0bcc11562061148051520562c81dc6bf18c03f0cc86a72f6093
+
[http://dominion.kabel.utwente.nl/koen/pda/files/gpe-theme-industrial-0.2.tar.gz]
md5=756f38d53eaae09d87655f3ed3a660c2
sha256=4524df3931041dc31985014b5f581396217b0b3f6aa00225d98060f1a9cc1b67
+[http://dominion.thruhere.net/koen/pda/files/gpe-theme-industrial-0.2.tar.gz]
+md5=756f38d53eaae09d87655f3ed3a660c2
+sha256=4524df3931041dc31985014b5f581396217b0b3f6aa00225d98060f1a9cc1b67
+
[http://gpe.linuxtogo.org/download/source/gpe-timesheet-0.18.tar.gz]
md5=07f5ede2c7865fc542d7a0957aef55d3
sha256=a066ca50bfc3ca7fc1dcab619e042c9b2d4789acda61eaa43483d561ed8a0fcb
@@ -5862,22 +7586,46 @@ sha256=9b5c1d9dd51c4c8909219619412c7a983512b6ac958ab4cf661322d930c2a665
md5=5bbee55d4e59b063d3cff0fbc9121006
sha256=c52e77a52ad11a02ae9f0b8491915f3f09fec23f8f740cc6079570241caf63cb
+[http://heanet.dl.sourceforge.net/gphoto/gphoto2-2.1.4.tar.bz2]
+md5=5bbee55d4e59b063d3cff0fbc9121006
+sha256=c52e77a52ad11a02ae9f0b8491915f3f09fec23f8f740cc6079570241caf63cb
+
[http://downloads.sourceforge.net/gphoto/gphoto2-2.1.5.tar.gz]
md5=9bd1a033389f9e4e6425dda4f6e603c9
sha256=fefaabea8aede51ae9560ba71e2a7c31f4d856b0bb1fc0de7297d12e1215698c
+[http://heanet.dl.sourceforge.net/gphoto/gphoto2-2.1.5.tar.gz]
+md5=9bd1a033389f9e4e6425dda4f6e603c9
+sha256=fefaabea8aede51ae9560ba71e2a7c31f4d856b0bb1fc0de7297d12e1215698c
+
[http://downloads.sourceforge.net/gphoto/gphoto2-2.1.6.tar.gz]
md5=2de2bcc62599b8a7337b54b0a067c50b
sha256=82330519effc421a39c196d2a2806dc9c3cdcc891b7ec34dee04b3fe4ef4534a
+[http://heanet.dl.sourceforge.net/gphoto/gphoto2-2.1.6.tar.gz]
+md5=2de2bcc62599b8a7337b54b0a067c50b
+sha256=82330519effc421a39c196d2a2806dc9c3cdcc891b7ec34dee04b3fe4ef4534a
+
[http://downloads.sourceforge.net/gphoto/gphoto2-2.4.0.tar.bz2]
md5=5fd1f711ca806adb687b33c55964d898
sha256=8aa5ac34dae18284f3f04db874648a6dc70ecee3045ace674351b7326ae1c4e5
+[http://heanet.dl.sourceforge.net/gphoto/gphoto2-2.4.0.tar.bz2]
+md5=5fd1f711ca806adb687b33c55964d898
+sha256=8aa5ac34dae18284f3f04db874648a6dc70ecee3045ace674351b7326ae1c4e5
+
[http://downloads.sourceforge.net/gphoto/gphoto2-2.4.2.tar.bz2]
md5=9c57dd8b89ccfeafdd2037516185f6e9
sha256=c9ef8c2f61bbe9978b38341ca2bf09786416ddd82d4708066a26a0483341ca72
+[http://heanet.dl.sourceforge.net/gphoto/gphoto2-2.4.2.tar.bz2]
+md5=9c57dd8b89ccfeafdd2037516185f6e9
+sha256=c9ef8c2f61bbe9978b38341ca2bf09786416ddd82d4708066a26a0483341ca72
+
+[http://heanet.dl.sourceforge.net/lxde/gpicview-0.1.5.tar.gz]
+md5=5c484ea089f5a6455265e1e1f472240e
+sha256=7663e1849f3b1f2225a3310f907f86068d7ac5c8957d68fc4a684059b49211ca
+
[ftp://arcana.linux.it/pub/gpm/gpm-1.20.1.tar.bz2]
md5=2c63e827d755527950d9d13fe3d87692
sha256=11fabe7f27a205ff1ea6aee23e1dc2bb2dc5dbfc45ff0320fca0cd559806a936
@@ -5890,6 +7638,10 @@ sha256=c29373b752730195fc52e6ab0fc871f259284e2175bf2baf1701f027da60d200
md5=cf9f349fec33760c8026c9b12c6f7a9d
sha256=539d5c703799b12f5785286a689fd16f5fe957c2eaf460360e79f5f51d8c132e
+[http://heanet.dl.sourceforge.net/gpsbabel/gpsbabel-1.2.5.tar.gz]
+md5=cf9f349fec33760c8026c9b12c6f7a9d
+sha256=539d5c703799b12f5785286a689fd16f5fe957c2eaf460360e79f5f51d8c132e
+
[http://downloads.sourceforge.net/gpsbabel/gpsbabel-1.3.3.tar.gz]
md5=0ba7f4c623518e6bfe8da12d0691fb96
sha256=b5d1021b0ea755d6b3bee57b0720a22021b6c8bad88acbda314874987f7fc1a6
@@ -5938,6 +7690,10 @@ sha256=ebefe385ec41e3ff26fa55c0fcecbed75d4cd5581ae5ae39038aac796af126c6
md5=541ec5a5b86cf9e56f0b23cf6c80dd6e
sha256=c1378384b1737b2fa330f8d63d7777db311c976bb20e0c0e0fcd5dac0e78672a
+[http://heanet.dl.sourceforge.net/gpstk/gpstk-1.2-src.tar.gz]
+md5=541ec5a5b86cf9e56f0b23cf6c80dd6e
+sha256=c1378384b1737b2fa330f8d63d7777db311c976bb20e0c0e0fcd5dac0e78672a
+
[http://people.defora.org/~khorben/projects/gputty/gputty-0.9.8.tar.gz]
md5=d227a37a8a7b036eed44e4278db45735
sha256=fcee22d7e31a936cde4672ac318ffabb9d39b7fc3b74de391bdade1419c59dfd
@@ -5950,10 +7706,18 @@ sha256=948d389d72906b798db3b5013a1769d1f8c9c9f3b6dff66c8820dfa0820b02e2
md5=4644187d9b14b1dc11ac3bb146f262ea
sha256=12fea494e607a69eff31cdca13d306ef1b0b3b7850be0f8b236f267d8f2e9546
+[http://heanet.dl.sourceforge.net/gqview/gqview-2.1.5.tar.gz]
+md5=4644187d9b14b1dc11ac3bb146f262ea
+sha256=12fea494e607a69eff31cdca13d306ef1b0b3b7850be0f8b236f267d8f2e9546
+
[http://downloads.sourceforge.net/granule/granule-1.2.4-1.tar.gz]
md5=7f4e11d04e369391de27fca82ee60f11
sha256=300a3151efbd984fe51e7c230ae419efd197fa2aaa6b8791188aeab3917a505c
+[http://heanet.dl.sourceforge.net/granule/granule-1.2.4-1.tar.gz]
+md5=7f4e11d04e369391de27fca82ee60f11
+sha256=300a3151efbd984fe51e7c230ae419efd197fa2aaa6b8791188aeab3917a505c
+
[http://grass.osgeo.org/grass62/source/grass-6.2.3.tar.gz]
md5=75c8832f90e445ff361d767c8a2c3ece
sha256=a172d233fcbfc7f2c2de01af1f6fc7828e46867785dcaf861cf87238775e4a61
@@ -5962,6 +7726,10 @@ sha256=a172d233fcbfc7f2c2de01af1f6fc7828e46867785dcaf861cf87238775e4a61
md5=7dce50a076e2481733148ba34cbebc07
sha256=a84658a7065a3ece09d3d18a3b601515484d1e5dbb3a92b8fbac3c37e368acf4
+[http://download.savannah.nongnu.org/releases/grdesktop/grdesktop-0.23.tar.gz]
+md5=46f8f3e2d4aa2433b8b1537fefa8a4b7
+sha256=a94632ed42273d280ad4f8eec6a803024666ed5c8737ae34585c2d9d2eed5193
+
[ftp://ftp.gnu.org/gnu/grep/grep-2.5.1.tar.bz2]
md5=ddd99e2d5d4f4611357e31e97f080cf2
sha256=fca0532a4b58021863b6673dc65b275f3e34cafd3b327dcf47da265af359778a
@@ -5974,6 +7742,10 @@ sha256=cb47ab7e7e472e1cb27948d2ce055632ad68557f5ed5af989278e43117a611cd
md5=9b51933a03dd7d7ddfbb3643fc82c2d0
sha256=5a51a67f2828aa679a46bbb95cdc5346d6d4516f8ba74b7744b6049ccbe805ca
+[http://heanet.dl.sourceforge.net/grip/grip-3.2.0.tar.gz]
+md5=9b51933a03dd7d7ddfbb3643fc82c2d0
+sha256=5a51a67f2828aa679a46bbb95cdc5346d6d4516f8ba74b7744b6049ccbe805ca
+
[http://ftp.gnu.org/gnu/groff/groff-1.19.1.tar.gz]
md5=57d155378640c12a80642664dfdfc892
sha256=e07c495a18679b79c7c6f6f475689a33ab2a8ee5af4783e915f08134d1f546d2
@@ -5986,6 +7758,10 @@ sha256=d864fbd0bf6dea24e4f71736da9902a1cae86d0a1a893b5fe17118927257ec3e
md5=cd3f3eb54446be6003156158d51f4884
sha256=4e1d15d12dbd3e9208111d6b806ad5a9857ca8850c47877d36575b904559260b
+[ftp://ftp.gnu.org/gnu/gsl/gsl-1.10.tar.gz]
+md5=d67be4f2e5560d6cf907e18a428becdc
+sha256=ea3968b58bfc7619f47bf5ff64a7198a38c72419d24b844e71e48823a4776ff0
+
[ftp://ftp.gnu.org/gnu/gsl/gsl-1.4.tar.gz]
md5=7513e13525c073dc07e02cc4354294e2
sha256=850b4512fa5e4bbb964c67c215fe8ce64fe6f7e6b704180a783d8c2a04169ccb
@@ -6002,6 +7778,10 @@ sha256=fc029984019736eab2b0f10ce28d48ff88f8ceed7a1739cb4b71b851c4b89b91
md5=a0bbbfdc135034cd778537f979121df7
sha256=7b531f1b6481fbe1a21620a86649f42cb2de9cf086e7bdde46335137d3ca11dc
+[http://heanet.dl.sourceforge.net/gsoap2/gsoap_2.7.7.tar.gz]
+md5=a0bbbfdc135034cd778537f979121df7
+sha256=7b531f1b6481fbe1a21620a86649f42cb2de9cf086e7bdde46335137d3ca11dc
+
[http://gpe.linuxtogo.org/download/source/gsoko-0.4.2-gpe5.tar.gz]
md5=da4e3d05f18a44af4b43c76829ba110a
sha256=741af12ec81dff5ba79e6ce284146e26557f267b5a77ccc4c5644f2d5619dcf3
@@ -6014,6 +7794,14 @@ sha256=484f528602bd64df26a1d1db6e249476df80fe31ee8b3f85bc246a1ab73e7fe7
md5=1e3fa004490a07b7b76de03d70b3e8ea
sha256=f05d6793b943b7d1115e2b4b047ec1131c07c9ef0fd890d1616e5be0edd4a555
+[http://mxhaard.free.fr/spca50x/Download/oldrelease/gspcav1-20070110.tar.gz]
+md5=1e3fa004490a07b7b76de03d70b3e8ea
+sha256=f05d6793b943b7d1115e2b4b047ec1131c07c9ef0fd890d1616e5be0edd4a555
+
+[http://mxhaard.free.fr/spca50x/Download/oldrelease/gspcav1-20070508.tar.gz]
+md5=e18a21b80e1728c6b51b799d1e671f8c
+sha256=1185165125b890ea9a4312440c32bae9214947596b0b3ec31febec0d3c18b008
+
[http://gstreamer.freedesktop.org/src/gst-ffmpeg/gst-ffmpeg-0.10.1.tar.bz2]
md5=e21aef9a84d67dea9a68c1379781f763
sha256=a2c877c38d057875c7dfbf1803030c5cc9707020b77f91673500d6ea8d858607
@@ -6210,6 +7998,10 @@ sha256=e17b33586d9f4ff656ed04559ed765b50affc19309074ef5bdf4ff62f5a1c863
md5=2819ec911a7cc4f46b95240b65f2b3e2
sha256=b02423f0dc9f82a3e1a56cfd470c1cee5d351654fdc55c1a3cd5cff150828b3c
+[http://heanet.dl.sourceforge.net/gthumb/gthumb-2.6.9.tar.gz]
+md5=2819ec911a7cc4f46b95240b65f2b3e2
+sha256=b02423f0dc9f82a3e1a56cfd470c1cee5d351654fdc55c1a3cd5cff150828b3c
+
[ftp://ftp.gtk.org/pub/gtk/v1.2/gtk+-1.2.10.tar.gz]
md5=4d5cb2fc7fb7830e4af9747a36bfce20
sha256=3fb843ea671c89b909fd145fa09fd2276af3312e58cbab29ed1c93b462108c34
@@ -6246,6 +8038,10 @@ sha256=9e364df3d7368c1e69dab1b2352a68bc8ac07e35bf647bf23f3445d902bb4a4c
md5=57132c4a921ef00e241a0fc991787556
sha256=ef1be6d109b8a4a05c604944616043a4647510f5c1ff5eb84a1eaecc3d5425d3
+[http://download.gnome.org/sources/gtk+/2.14/gtk+-2.14.1.tar.bz2]
+md5=c6e66ffe92724d83391187f0af016b23
+sha256=516d981d1d696bb00a8c451fe928efd64ce0bd674ccc3024a0aefb292343231b
+
[http://download.gnome.org/sources/gtk+/2.14/gtk+-2.14.2.tar.bz2]
md5=b693a2c1c2dd95457b87d0d042aa5bba
sha256=efc277e87e3b7e0315eb3c2837fad6a06aab92b38e08fec6f30beb53e7e56e09
@@ -6278,6 +8074,10 @@ sha256=e8fb1f414288e1c2b1ee6408280477ee361e0a19564e9113bd98f433aaa81195
md5=1a933ca1286829383a0554cc2deb9e04
sha256=82d179fd2eb3fd5acbc9fc4d74507c559c6bc3269c488dc8642f9bca47a5dbe4
+[http://heanet.dl.sourceforge.net/scigraphica/gtk+extra-2.1.1.tar.gz]
+md5=1a933ca1286829383a0554cc2deb9e04
+sha256=82d179fd2eb3fd5acbc9fc4d74507c559c6bc3269c488dc8642f9bca47a5dbe4
+
[http://ftp.gnome.org/pub/GNOME/sources/gtk-engines/2.10/gtk-engines-2.10.2.tar.bz2]
md5=01de081b24d7b5d92093cad5c5e4b8c7
sha256=9c72b0b3a42c2db05e245706d2345e5d529775ddaf029864fc1dc22ae0a190ef
@@ -6322,10 +8122,18 @@ sha256=0a40b43898a898e60bca29ed023034e362467573de52f5e841079c02528cc76c
md5=c0f131c265a585e5cfd84e2da6b6d3a0
sha256=5e58ce65e7fe08eb28bd258a5de9c56c75998cdb48c3867b392b5ea74160aa32
+[http://go-mono.com/sources/gtk-sharp210/gtk-sharp-2.10.2.tar.bz2]
+md5=7d509a677c58b2e6a8c85db51d0b1451
+sha256=8dc7f6180109a529b3216b6527f34a01e1e4484e42ebbd28d551e8f6ce0c243d
+
[http://downloads.sourceforge.net/smooth-engine/gtk-smooth-engine-0.5.8.tar.gz]
md5=7b4aebf85040b357124de926807dc22a
sha256=cb2b353839a7f1dcd8f93a6cb32b5c54a6fe560dee432585edb2f5eebe526c50
+[http://heanet.dl.sourceforge.net/smooth-engine/gtk-smooth-engine-0.5.8.tar.gz]
+md5=7b4aebf85040b357124de926807dc22a
+sha256=cb2b353839a7f1dcd8f93a6cb32b5c54a6fe560dee432585edb2f5eebe526c50
+
[http://www.us.xfce.org/archive/xfce-4.4.2/src/gtk-xfce-engine-2.4.2.tar.bz2]
md5=00eb6a62defe6867d28a18569b96d151
sha256=6fecdb590fa024db698de9027314c1be044f28feab9850f592aa60c3a79ede78
@@ -6342,10 +8150,18 @@ sha256=47492876466dcbcd82e371264c6a1422f82feb80e40fe25a42ccc1fb7897180c
md5=a16fc3d5e2c7b3d94791bf797588adc3
sha256=a5b138e5cfa1f5c2c4dbb0a071d5492d49142c363ec9b92da8d7e3a6e6bb35b5
+[http://ftp.gnome.org/pub/GNOME/sources/gtkhtml/3.12/gtkhtml-3.12.3.tar.bz2]
+md5=b580590014988b02e51b66be65319570
+sha256=666849b22375efbaf2ab506b33868ac64126728a8e509f055882ae6940999847
+
[http://ftp.gnome.org/pub/GNOME/sources/gtkhtml/3.13/gtkhtml-3.13.91.tar.bz2]
md5=debaf8eb4468dc1c084cb3f1b527bafd
sha256=e739290102fed3fb616e27578dee61a33c84301ec875bcf6af9493e8959dbeaa
+[http://ftp.gnome.org/pub/GNOME/sources/gtkhtml/3.18/gtkhtml-3.18.0.tar.bz2]
+md5=ec541b078ea9fbb1dd93f77075f77bd8
+sha256=867036b10dd4b21f79bc0d8b303d348ff55cb4ded896c8cb384b2bb4bbf378d7
+
[http://ftp.gnome.org/pub/GNOME/sources/gtkhtml/3.6/gtkhtml-3.6.2.tar.bz2]
md5=37465fde0f1e1d7ba2284c5a4fd06fe7
sha256=0c34357bd2b4ed3584e18a30f13a9f5d4c70738872ef90db97c1298013b2f7b9
@@ -6366,6 +8182,10 @@ sha256=a9cbed1b4d3491b4e22b80c9f066224ffb80eb7e1113869534ce53b599c7ea5b
md5=64d0040925043c0a5d9a8add76a0f98c
sha256=99ce4d10541d964d809036970f53579813bb563495070ab09c742cc1e2cdef38
+[http://www.claws-mail.org/downloads/plugins/gtkhtml2_viewer-0.17.1.tar.gz]
+md5=db9d27569903cf09c89c1e57765d3dcc
+sha256=aae832e99a04e49c55b0493684aeb4484dda48b5d9010c6980626dc62d6b6fdc
+
[http://www.angstrom-distribution.org/unstable/sources/gtkimageview-1.3.0.tar.gz]
md5=574789e014988398dca2debc65c02097
sha256=6a2f50c1a6e83c94618a271cc9b7ce0460fd1fe58adb12e05d0b1b07b43e4beb
@@ -6378,6 +8198,10 @@ sha256=4b104ab94774ca429aa639a1a6f0adec1ca1443bfd444f2100c063e3cf70e6bb
md5=b53564e553728d4b69f7d366dfeb5299
sha256=1dc30175da6a3c560a7d62d1abe1c2f9829d988e6f1a7c5e766544575c558c43
+[http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.12/gtkmm-2.12.7.tar.bz2]
+md5=ad199f4a392799134c128deab48fee30
+sha256=4e58c9ad827759a2375b3c0d39952b5b2983111ab16ee329b10a34792fb1d9eb
+
[http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.14/gtkmm-2.14.1.tar.bz2]
md5=0209b424987a74c956ea6b70fddaaa37
sha256=f8675340d929346333b5a58cd4d05482dd8b76cf8606fed85b526022bf9c5e47
@@ -6394,10 +8218,22 @@ sha256=c1c2e1fb0168ecb3a5e773ac0cd74a0e5caeaaf402f108479337794dab8aa75f
md5=a56ea78c74fe93a604357d7c555af0e5
sha256=38c238ec57bf22023bbc50f70ecbaee8c06b817b9e11f1a3a0ae7faf95cc1f26
+[http://heanet.dl.sourceforge.net/gtkterm/gtkterm2-0.2.3.tar.gz]
+md5=a49f93d15909dbd2e7011428ae01f0f0
+sha256=fb68b18d752ae2379f144186b94743be991af1a42c88bc1e6f0685e45cb1d573
+
[http://downloads.sourceforge.net/gtracer/gtracer-0.0.10.tar.bz2]
md5=8f21636a60ed57265feb34806ffe4b00
sha256=ce2a88a784c73d49b3600b5927f65624f665460684dc4b479989ad1c53e565c5
+[http://heanet.dl.sourceforge.net/gtracer/gtracer-0.0.10.tar.bz2]
+md5=8f21636a60ed57265feb34806ffe4b00
+sha256=ce2a88a784c73d49b3600b5927f65624f665460684dc4b479989ad1c53e565c5
+
+[http://guichan.googlecode.com/files/guichan-0.7.1.tar.gz]
+md5=275c5bad231d2ce55e654d80cb1e05be
+sha256=7f017522d0c3235f2399f8b615493f3880fbe10a54dfa377f638016ede715a2a
+
[http://ftp.gnu.org/pub/gnu/guile/guile-1.6.4.tar.gz]
md5=a4aceb5f185878c1de4e8aa7c38b6d1d
sha256=6391c9735615ee929f4ae23bbfa8373c97ae64923c7fbe72cc4b0e262c4759e0
@@ -6410,6 +8246,18 @@ sha256=1f7667c30228737e3cea58ff2b384bcc0eed8cb679392de827821e4d540c760e
md5=a3f8216544509a74a4441f689a0410d2
sha256=e2f63d2d445ffeb072638eab885b1a629e372d1db711c8afb26a62bc56096289
+[http://heanet.dl.sourceforge.net/gimp-print/gutenprint-5.1.3.tar.bz2]
+md5=276196ad27fa7d4b8b3ed3ca9c4af64c
+sha256=6be13b32d9f222506368bf214f8ba0a3ef08a36b1ebbed8be61cfe38ca2f35c7
+
+[http://ftp.gnome.org/pub/GNOME/sources/gvfs/0.0/gvfs-0.0.2.tar.bz2]
+md5=1267b82b481340eadf212cf47b735b62
+sha256=7249197b75a61c36398f7458f12c0318ccf03639ae8404771fb4ff414fa17683
+
+[http://ftp.gnome.org/pub/GNOME/sources/gvfs/1.0/gvfs-1.0.1.tar.bz2]
+md5=0d123f87e3e660271cd9d11b8c592c5a
+sha256=67e7dd1dca32a99eb1102a853d2df1bac782d50a4361511409572cfe8ea51147
+
[http://sebdelestaing.free.fr/gweled/Release/gweled-0.5.tar.gz]
md5=238f5ef66317bb24c3d4018a7d1e9ec3
sha256=d5baec578b22407e3fc78cc47393942f9704f1ab7b8d1c012577037d3421f90e
@@ -6418,10 +8266,18 @@ sha256=d5baec578b22407e3fc78cc47393942f9704f1ab7b8d1c012577037d3421f90e
md5=4a04df0d971a8952fb395b6eb0bc8dab
sha256=48d93ef10f17cffe1ecbfec3078932ae48e08e3c172437e4bdfb22ae87d25421
+[http://heanet.dl.sourceforge.net/xine/gxine-0.4.1.tar.gz]
+md5=4a04df0d971a8952fb395b6eb0bc8dab
+sha256=48d93ef10f17cffe1ecbfec3078932ae48e08e3c172437e4bdfb22ae87d25421
+
[ftp://ftp.debian.org/debian/pool/main/g/gzip/gzip_1.3.5.orig.tar.gz]
md5=3d6c191dfd2bf307014b421c12dc8469
sha256=631820e566353eafc4bdc0d9d8221c26c7ef6b5d10a254783dbe9bcac88caa07
+[ftp://ftp.nl.debian.org/debian/pool/main/g/gzip/gzip_1.3.5.orig.tar.gz]
+md5=3d6c191dfd2bf307014b421c12dc8469
+sha256=631820e566353eafc4bdc0d9d8221c26c7ef6b5d10a254783dbe9bcac88caa07
+
[http://rtpnet.nerim.net/ipaq/patches/2.6.17-1/WIP/h1940_batt.patch]
md5=2810d6a0aa41a349faf711bfc9facf14
sha256=0d68bfb125997599470dbc4822d43e777a831da2f1cfa5356b5dc791cdd8b27f
@@ -6466,6 +8322,10 @@ sha256=65d8f8eeb61e7609a8c5001b6660d90e7a482c4b74b4e226d09b433dc1a80c9d
md5=a6f532770cf9286e1de38d6570cbc6bc
sha256=65d8f8eeb61e7609a8c5001b6660d90e7a482c4b74b4e226d09b433dc1a80c9d
+[http://hal.freedesktop.org/releases/hal-info-20070618.tar.gz]
+md5=c7005ccb1765d8359fd2348350770495
+sha256=bec1b0ad166b6c4d5269e7aa6d7bdbd0eb05c8f2c30042e4dca18993ba5682f0
+
[http://people.freedesktop.org/~david/dist/hal-info-20070618.tar.gz]
md5=c7005ccb1765d8359fd2348350770495
sha256=bec1b0ad166b6c4d5269e7aa6d7bdbd0eb05c8f2c30042e4dca18993ba5682f0
@@ -6478,26 +8338,54 @@ sha256=120e6b8019b5d608038d8f9a5a14bb97c4162b803118bb8530d9735d65b553a9
md5=6fc99d15d38945c17a291ea93e664664
sha256=80655b3531ea56a5d64085e572dfb8d3ecabffd28af482cd130f72dfdd6254b0
+[http://www.soft.uni-linz.ac.at/~vogl/bluez/handsfree-040326.tar.gz]
+md5=488b0f2f346361bba7996b459c5d7b6f
+sha256=dbd0c389a160c9f6dcd9eac81b6c4d5a02866968a33f06201556d6860012f6c3
+
[http://downloads.sourceforge.net/haserl/haserl-0.8.0.tar.gz]
md5=bd9195d086566f56634c0bcbbbcbebea
sha256=ba261a21539e1f204ba74590d313c501007e546b54aa9ae7210a99eaf3c097be
+[http://heanet.dl.sourceforge.net/haserl/haserl-0.8.0.tar.gz]
+md5=bd9195d086566f56634c0bcbbbcbebea
+sha256=ba261a21539e1f204ba74590d313c501007e546b54aa9ae7210a99eaf3c097be
+
+[http://heanet.dl.sourceforge.net/haserl/haserl-0.9.23.tar.gz]
+md5=31d1f505afe3ba1b351e18612aa57a70
+sha256=bbe44edc3d519028761a22b282b912ab8f43db2003c6791c295c4a52f5db48bf
+
[http://www.server-side.de/download/havp-0.82.tar.gz]
md5=9e6a16b7d074782d1c62f1f7316e56ab
sha256=e2db8d3383cd8eca6a18ebee85875de895f3ac7414eab091a87f052d79a87b09
+[http://www.server-side.de/download/havp-0.86.tar.gz]
+md5=c99c8da224c72844882623086e2b1618
+sha256=1649ab227c7fd7b4af5ab602a3cdff16c038965c6673c09a239d5df35fa88da8
+
[http://downloads.sourceforge.net/hdparm/hdparm-6.3.tar.gz]
md5=0c12672f3a09c14ad0b0882f15fc9389
sha256=08688a6a46ba495494bf838f8f26103e797584c1888eca94e43a171e1b37246d
+[http://heanet.dl.sourceforge.net/hdparm/hdparm-6.3.tar.gz]
+md5=0c12672f3a09c14ad0b0882f15fc9389
+sha256=08688a6a46ba495494bf838f8f26103e797584c1888eca94e43a171e1b37246d
+
[http://downloads.sourceforge.net/hdparm/hdparm-6.6.tar.gz]
md5=ecea69f775396e4ab6112dcf9066239f
sha256=7e2db39a4e1f41bb327a9a8ef9e5e8359aaed0cc78e642a4ca67659629e3048b
+[http://heanet.dl.sourceforge.net/hdparm/hdparm-6.6.tar.gz]
+md5=ecea69f775396e4ab6112dcf9066239f
+sha256=7e2db39a4e1f41bb327a9a8ef9e5e8359aaed0cc78e642a4ca67659629e3048b
+
[http://downloads.sourceforge.net/hdparm/hdparm-6.9.tar.gz]
md5=62749c6cdf28ce31aae335092fa107df
sha256=cae6ed86296d01be98ee3be0c224c4323eee508941a7f162a0366d56655afe06
+[http://heanet.dl.sourceforge.net/hdparm/hdparm-6.9.tar.gz]
+md5=62749c6cdf28ce31aae335092fa107df
+sha256=cae6ed86296d01be98ee3be0c224c4323eee508941a7f162a0366d56655afe06
+
[http://handhelds.org/~zecke/oe_packages/hexatrolic-103beta3-zecke1.tar.bz2]
md5=1d9420e8b5a6d5fa491c458ffafd4adb
sha256=b60a5358e56e676529e7d3d655d5107a76b9a2434e38952711fea794f65721ce
@@ -6526,6 +8414,10 @@ sha256=8643ddab3b5afd2f94a2db771bae6710ec49d76a6c6890debaa711de8f3bf12e
md5=1d0821cb80d394eac30bd8cec5b0b60c
sha256=a6abad5dd62f12870ff5b32ae414e0c611f0922b905aeab6db2676b607bb1643
+[http://www.access-company.com/downloads/hiker-0.9.1.tar.gz]
+md5=30efc3312b2e08e9ee9d73569cb987b2
+sha256=3391a651df8c011dc2cb0f81118069ce22c2d13b86090b2c0ced4e80c4fa662d
+
[http://www.access-company.com/downloads/hiker-0.9.tar.gz]
md5=f4cbf05743ccb34282e4dc3aef489f72
sha256=6633c4124c41d9a1ca526161062fd276f352b4228bde4f565d38d35c15a3005c
@@ -6718,14 +8610,26 @@ sha256=f59292de39b9a4010414bd120a494226399767148efa37278bd53d9613167964
md5=b1e814c7f5ef2a5033e4c3e5162ac694
sha256=27b3703a0d6470e03e1574b481d6d05d652c787a793854f2f0e06d06c998a601
+[http://thegraveyard.org/files/hsetroot-1.0.2.tar.gz]
+md5=f599770a6411dcfe216c37b280fad9bc
+sha256=d6712d330b31122c077bfc712ec4e213abe1fe71ab24b9150ae2774ca3154fd7
+
[http://downloads.sourceforge.net/htbinit/htb.init-v0.8.5]
md5=1713d9a4941120235cb0721ceba6493b
sha256=acfda369dff72b9073a8b70f2b05b1397a61a1cdb23970e5ed216d632ff33586
+[http://heanet.dl.sourceforge.net/htbinit/htb.init-v0.8.5]
+md5=1713d9a4941120235cb0721ceba6493b
+sha256=acfda369dff72b9073a8b70f2b05b1397a61a1cdb23970e5ed216d632ff33586
+
[http://downloads.sourceforge.net/htop/htop-0.7.tar.gz]
md5=4afc961fa709167e1b434682897991f9
sha256=1361f4f0b92d7e6bdac25a4b7ee138a7ee83b5a9368820f5aa518051ca82862b
+[http://heanet.dl.sourceforge.net/htop/htop-0.7.tar.gz]
+md5=4afc961fa709167e1b434682897991f9
+sha256=1361f4f0b92d7e6bdac25a4b7ee138a7ee83b5a9368820f5aa518051ca82862b
+
[http://apache.mirrors.tds.net/httpd/httpd-2.2.3.tar.bz2]
md5=887bf4a85505e97babe1d90635361c0d
sha256=dd86e8221f9efb85497c46229d0f04237d4e66d293fabe98eb0745166aaf4b6c
@@ -6738,6 +8642,10 @@ sha256=dd86e8221f9efb85497c46229d0f04237d4e66d293fabe98eb0745166aaf4b6c
md5=365684629378365de02e127f4a085628
sha256=bedfd45364948a08ecaa212c5eda6667a83ac8bb547e2eb8478ade885898cad7
+[http://heanet.dl.sourceforge.net/httppc/httppc-0.8.5.tar.gz]
+md5=365684629378365de02e127f4a085628
+sha256=bedfd45364948a08ecaa212c5eda6667a83ac8bb547e2eb8478ade885898cad7
+
[http://htun.runslinux.net/dist/htun-0.9.5.tar.gz]
md5=f720686c841e9fefc06db76458fd9908
sha256=1f8259a3a8ae583170816f5028329f3a7157f87f927da9c0a911a5fb9be263a1
@@ -6750,6 +8658,10 @@ sha256=9f90613de73e1b8e90d9bbcb09046e83680f15a46fc630c3e26e9aa4ca0e6a1d
md5=36444795a356fb8a56c63b2840729bab
sha256=e0b1849c545b6af276407d93025c73094dd74fc259b07c1d91594fdbb9a0b829
+[http://heanet.dl.sourceforge.net/hunkyfonts/hunkyfonts-0.3.0.tar.bz2]
+md5=36444795a356fb8a56c63b2840729bab
+sha256=e0b1849c545b6af276407d93025c73094dd74fc259b07c1d91594fdbb9a0b829
+
[http://archive.ubuntu.com/ubuntu/pool/main/h/hwdata/hwdata_0.191-1.diff.gz]
md5=0719e6cccf5279b4d2fb0a3ddbecd874
sha256=8276d76e45e3e827fc109940fcc3afe010ec8ddd583f44b3c946af6c29f2d828
@@ -6826,10 +8738,22 @@ sha256=1019b3fbeb3e7e2d0c8faf81191e722bfabc714ee03ec08703faf91dab443b64
md5=01f5cc3adbe9d161cf8e1855cec4fa15
sha256=9a9b7092f2e48786e8f83e5bef99fd31988f87140ad9ca840583f91b3623d628
+[http://dl.lm-sensors.org/i2c-tools/releases/i2c-tools-3.0.1.tar.bz2]
+md5=0f5c7ce5fd3c65113909db0ef3a3a8c8
+sha256=8cf39f7c447b0b8f7a24eaed243ad4d8c654c2e94a146a796dba9ed08e857209
+
[http://svn.o-hand.com/repos/web/trunk/patches/iain-mem-leak.patch]
md5=4e11dc7899d68f2be2e06ccee01d296d
sha256=1e2cc080e654c1839c5cb4b4adf4c62a23e7da208427f3ba0b16cfed9e5cfa98
+[http://www.sethwklein.net/projects/iana-etc/downloads/iana-etc-2.20.tar.bz2]
+md5=51d584b7b6115528c21e8ea32250f2b1
+sha256=754038a9eb8f1d0d6559d5b124a68e1e530a76366cff251d79536ec89e2fda21
+
+[http://xorg.freedesktop.org/releases/individual/app/iceauth-1.0.2.tar.bz2]
+md5=7ab8b64edf0212a9d9a3c8129901a450
+sha256=06401591de57a2c4cf2255e3d5230ea19351c5516cf8dae98c61092392bab5bb
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/iceauth-X11R7.0-1.0.1.tar.bz2]
md5=92035bd69b4c9aba47607ba0efcc8530
sha256=46a02c0dddbe80fbd802da47d0a9eac03002deb538b109dae804553fbbdfa7bd
@@ -6846,6 +8770,10 @@ sha256=ef6b1c8def236f16ea914eccbb050c84ee314c0028b03c560ed20ff96776f74c
md5=641ec45fe377529c7fd914f77b11b44f
sha256=9ff8360375432a7a5c476cc6d55b3fdea9d6f3edc080d295a60421d8f47b1834
+[http://jalimo.evolvis.org/repository/sources/icepick-0.0+hg20080118.tar.bz2]
+md5=ce7b1827e6f4cbe73b9ffa90b0d45a6a
+sha256=63170836095f8451498c813a1f93a9ec70a1164d82aa30650c0f2216ca4377ab
+
[http://ftp.de.debian.org/debian/pool/main/i/iceweasel/iceweasel_3.0.1-1.diff.gz]
md5=7124ea3c13369ff27bcff0080aca678f
sha256=1d70e21e1c20e8d88bf3d2590de75c3e65b12da335097716adc58712cea41dad
@@ -6866,6 +8794,18 @@ sha256=0138dc364ee23156a58d890a5b2c61685bd91ea0017accf90118b38fef2df1d3
md5=097b12d3f8e0f57a964e4821bc1825ed
sha256=96ed51cbaead5bd8c33522be5bf0baac4c051db0a826f764eb8528b2ec0c5497
+[http://downloads.sourceforge.net/icewm/icewm-1.2.30.tar.gz]
+md5=8a302c5e629bb81d87cc02004a694ece
+sha256=4b802cf77ecf09bc44345f8fba3c11fd08dca0e8272e628b447ecf7289637e1d
+
+[http://heanet.dl.sourceforge.net/icewm/icewm-1.2.30.tar.gz]
+md5=8a302c5e629bb81d87cc02004a694ece
+sha256=4b802cf77ecf09bc44345f8fba3c11fd08dca0e8272e628b447ecf7289637e1d
+
+[http://xorg.freedesktop.org/releases/individual/app/ico-1.0.2.tar.bz2]
+md5=5711827c5c2563620b56c33aababbc63
+sha256=db2e96e18a2bcc29b91b9de7b758a7c67cebee27772fb540c44c7bc2c2218aa5
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/ico-X11R7.0-1.0.1.tar.bz2]
md5=9c63d68a779819ba79e45d9b15d26b1f
sha256=9c8a1d037135642ab85391f92332fdfc22ceeb3ad1f2c0c9911ac5a62a12ee7d
@@ -6878,6 +8818,10 @@ sha256=87fe398d5f4853400afb6afbb41835db3cde954845369e406d739d66b3058056
md5=4abe604721ce2ccb67f451aa7ceb44d6
sha256=1cb49ce6a04626939893a447da696f20003903d61bd80c6d74d29dd79ca340d2
+[http://freedesktop.org/software/icon-slicer/releases/icon-slicer-0.3.tar.gz]
+md5=5c5374d4f265b0abe4daef1d03f87104
+sha256=05f0216dd0c25a17859de66357f64da5033375b6fbf5f31ca54867311160b64d
+
[ftp://ftp.software.ibm.com/software/globalization/icu/3.6/icu4c-3_6-src.tgz]
md5=6243f7a19e03e05403ce84e597510d4c
sha256=5135e8d69d6206d320515df7aeee7027711ab1aef9d8dbf29571a97a9746b041
@@ -6886,6 +8830,10 @@ sha256=5135e8d69d6206d320515df7aeee7027711ab1aef9d8dbf29571a97a9746b041
md5=19f27ddd2dda4b2d26a559a4f0f402a7
sha256=2749cc3c0cd7280b299518b1ddf5a5bcfe2d1100614519b68702230e26c7d079
+[http://heanet.dl.sourceforge.net/id3lib/id3lib-3.8.3.tar.gz]
+md5=19f27ddd2dda4b2d26a559a4f0f402a7
+sha256=2749cc3c0cd7280b299518b1ddf5a5bcfe2d1100614519b68702230e26c7d079
+
[http://ftp.de.debian.org/debian/pool/main/i/id3lib3.8.3/id3lib3.8.3_3.8.3-7.2.diff.gz]
md5=805c0320a2efb21c40ce06fa13cd7c4b
sha256=9f03b59ccc8826a5be55a3dcde2f889067d58bdc72bf846416a198c9b933704c
@@ -6902,6 +8850,14 @@ sha256=a43c0621dac846e42a3917f4f73e7976b2ac4b545712e8bc4bae5bac6158e07e
md5=0c4cf072305b1e798e9e704558ec01f1
sha256=7305d27b5718e83872329e0ade92fc3b9710226c63418188744a3ce8c4030ceb
+[ftp://ftp.nl.debian.org/debian/pool/main/i/ifupdown/ifupdown_0.6.8.tar.gz]
+md5=0c4cf072305b1e798e9e704558ec01f1
+sha256=7305d27b5718e83872329e0ade92fc3b9710226c63418188744a3ce8c4030ceb
+
+[http://www.linuxprinting.org/ijs/download/ijs-0.35.tar.bz2]
+md5=896fdcb7a01c586ba6eb81398ea3f6e9
+sha256=11a5f5084488c480f3ff5a24d64d7147bb64272bf60a0ba51330a56c5b50cab9
+
[http://files.jabberstudio.org/iksemel/iksemel-1.2.tar.gz]
md5=82e7c8fdb6211839246b788c040a796b
sha256=a606e230b22d9d029998b84e5d6311a8ba35a304fe457e254eb5fd19943cd639
@@ -6918,10 +8874,26 @@ sha256=dec5cee4e529ac218e7d99a550122e065daf29a3a4105d0b545620e4ca57edc4
md5=db33c65135ebc78e55c6009292c51b43
sha256=76167e10c30d60534dc2b04fa4e202e16531df8170fc23cc4414d9afff09c32a
+[ftp://ftp.cac.washington.edu/imap/imap-2007a1.tar.Z]
+md5=828a84c64ef933bfcc805b838576a774
+sha256=8ba0eda3157193643eb3c5ccd46c0ca8060d702f260df60f89656cb891cbeeb8
+
[http://downloads.sourceforge.net/imdbpy/imdbpy-2.5.tar.gz]
md5=dbbb53f835fd3f7aebcf7601dd902920
sha256=edaad2859a4f0785a34c3c0bb5a1e09d8f16efa3c0e4616f6a5a6cf18c282aa6
+[http://gpephone.linuxtogo.org/download/gpephone/ptim-engine-1.0/imengine-1.0.tar.bz2]
+md5=c6735cb4a8f5bc7da74001ca895fd174
+sha256=3d733f8a1cfeb60b3a83a03340e80e7a23a5d3141f8958fad1441142817cc077
+
+[http://gpephone.linuxtogo.org/download/gpephone/ptim-headers-1.0/imheaders-1.0.tar.bz2]
+md5=33226da8468acccdcac483ea25c99a91
+sha256=255b3b869e3945f8b031e9fa23649f7e342211713335ea447e40975bfed96fa8
+
+[http://gpephone.linuxtogo.org/download/gpephone/ptim-helper-1.0/imhelper-1.0.tar.bz2]
+md5=46616e5897a51b3935d1c683a410a0d9
+sha256=e0a4b8e21a7c8efbc4b48c53403edbe367681052d8f3079d170c0b692c735d36
+
[http://ftp.gnome.org/pub/GNOME/sources/imlib/1.9/imlib-1.9.15.tar.bz2]
md5=7db987e6c52e4daf70d7d0f471238eae
sha256=4e6a270308a9ae16586bfc133c1a3dfb2e56f431edb66aaa3a80e36e5ed84ce0
@@ -6930,10 +8902,18 @@ sha256=4e6a270308a9ae16586bfc133c1a3dfb2e56f431edb66aaa3a80e36e5ed84ce0
md5=ca9ad2142464f34a5716990aa162c94f
sha256=beb929f4ceff865375a9e56c0156ffbfb197dff82299071bdb641bb60299f84b
+[http://gpephone.linuxtogo.org/download/gpephone/ptim-manager-1.0/immanager-1.0.tar.bz2]
+md5=cafd1d222ae30fa496e299950de19ae7
+sha256=e8e5144314fd2cd13722835338105c0236bf3da4dbf383a6ce052574c1ba7230
+
[http://downloads.sourceforge.net/imposter/imposter-0.3.tar.gz]
md5=5bcaa0fe3fec26840c8f1ecefc891887
sha256=53b67c08477623bb03436f79bf2ca859d7cd9684c57775ea539e1db449658236
+[http://heanet.dl.sourceforge.net/imposter/imposter-0.3.tar.gz]
+md5=5bcaa0fe3fec26840c8f1ecefc891887
+sha256=53b67c08477623bb03436f79bf2ca859d7cd9684c57775ea539e1db449658236
+
[ftp://ftp.gnu.org/gnu/inetutils/inetutils-1.4.2.tar.gz]
md5=df0909a586ddac2b7a0d62795eea4206
sha256=9f001daa0f3d571ae35aac88f04d5dd982a14e90257e4dfb535c143fa18d5830
@@ -6950,18 +8930,34 @@ sha256=f1252122f09cc63a57843ec1b8a51ce30c7bfcbc857f476a996b374006433a48
md5=dffa08601c822de29b8c3e436a3994bf
sha256=dc1d3525483fa503ad4312c3b6aa3742951c8e7428674de9f43077c26f353122
+[http://heanet.dl.sourceforge.net/inkscape/inkscape-0.38.1.tar.bz2]
+md5=dffa08601c822de29b8c3e436a3994bf
+sha256=dc1d3525483fa503ad4312c3b6aa3742951c8e7428674de9f43077c26f353122
+
[http://downloads.sourceforge.net/inkscape/inkscape-0.39.tar.bz2]
md5=3542a646c6742686557b2f0e52c5f6dc
sha256=9436f3c01dc69a1e7781633cd85936a40b3a84325e01930188bbae45e13fdbdc
+[http://heanet.dl.sourceforge.net/inkscape/inkscape-0.39.tar.bz2]
+md5=3542a646c6742686557b2f0e52c5f6dc
+sha256=9436f3c01dc69a1e7781633cd85936a40b3a84325e01930188bbae45e13fdbdc
+
[http://downloads.sourceforge.net/inkscape/inkscape-0.42.tar.bz2]
md5=4af587b942647bf9e27861e2238844c8
sha256=00f94678fff587288f8e7848466b35c3f894dcc007e7101f467c46d155cddfb8
+[http://heanet.dl.sourceforge.net/inkscape/inkscape-0.42.tar.bz2]
+md5=4af587b942647bf9e27861e2238844c8
+sha256=00f94678fff587288f8e7848466b35c3f894dcc007e7101f467c46d155cddfb8
+
[http://downloads.sourceforge.net/inkscape/inkscape-0.43.tar.bz2]
md5=97c606182f5e177eef70c1e8a55efc1f
sha256=74d6088a6f7521c36b73550baa9dd0381505d66658f0bc01802aa2dfc7430fbc
+[http://heanet.dl.sourceforge.net/inkscape/inkscape-0.43.tar.bz2]
+md5=97c606182f5e177eef70c1e8a55efc1f
+sha256=74d6088a6f7521c36b73550baa9dd0381505d66658f0bc01802aa2dfc7430fbc
+
[http://www.geocities.co.jp/SiliconValley-Oakland/4550/inkwp-0.1.1.tar.gz]
md5=a19896b756f1b29a33411a1fb2842c4b
sha256=4afa4f4ddfdc40a32ef2c6034b2fa3bca415088b7eac4b7ad2b814202153f1e0
@@ -6970,6 +8966,10 @@ sha256=4afa4f4ddfdc40a32ef2c6034b2fa3bca415088b7eac4b7ad2b814202153f1e0
md5=8053f441fc3fe0f0c73cf483399da17b
sha256=84a111a6a979152cd25b60825b4945da4b167f19fb9ec115f9c59b4b49927547
+[http://heanet.dl.sourceforge.net/inotify-tools/inotify-tools-3.12.tar.gz]
+md5=a593b2eabde56f122e2bb3d2d45f7ca7
+sha256=90f69ae24cc21fa6d33dc406077f16c06113b3000f7d267e7056e52f50d0abc0
+
[http://www.rpsys.net/openzaurus/patches/archive/input_modalias_fix-r0.patch]
md5=291fdc77615d56d1ec8a9d4ad3dcc39e
sha256=04f8f5890cc45beb1305f6b94f3a4cdd480132703277ed53c32e1d8e0975702e
@@ -7086,6 +9086,10 @@ sha256=76cceaaaf188dfac032b21eb5dc4c7d231efe7ff180dee85dbf5e18bc5d27fe7
md5=7adee54938b22d32c63ecb5223fd4249
sha256=f30cbb62345310a27f74a43fef17f146d99203c097c6460002da0a22d969a594
+[http://modeemi.fi/~tuomov/ion/dl/ion-3ds-20041104.tar.gz]
+md5=e187a0ca83642afddf3b21898b683ced
+sha256=b47388c35922bc0f3419a2b059c77b80fee1c5b6d0ffcde7442c854fac6e90d6
+
[http://guichaz.free.fr/iotop/files/iotop-0.2.1.tar.bz2]
md5=127e038106492de258a206433f4c3a96
sha256=c2a7032057f9e1a6515f8062c13b52a6f0b77609677839399521da67dc123b7c
@@ -7130,6 +9134,10 @@ sha256=e382a4c0de31a5196e0c7829d6f7e29d0263cf90a4def10302db694fc2f30da2
md5=193b570128cf852afba337438413adf9
sha256=038aabd2894f46d3a4a7583ab2bff13b2da51682ccb921ceb7c87326ec1d344f
+[http://developer.osdl.org/dev/iproute2/download/iproute2-2.6.20-070313.tar.gz]
+md5=7bc5883aadf740761fa2dd70b661e8cc
+sha256=3b3960f867bf878a6561428a3c572e87dcccadb7123aa47d7aaca77b32adecc8
+
[http://developer.osdl.org/dev/iproute2/download/iproute2-2.6.22-070710.tar.gz]
md5=20ef2767896a0f156b6fbabd47936f79
sha256=3c6b48af9e655e4f0a34c7718e288960a1dc84a3ac7eb726e855adb45fbd953a
@@ -7146,6 +9154,14 @@ sha256=e1c8b396b8753cce4107ad3df76feba0a4bf0f0f9d2791d16eee1c07f662a174
md5=e908f3cf367e31c7902df5ab16fbe5c3
sha256=2291dd75794a4fc307eb420eb035087a4cf56d3ef6b187f1a1386d3e33851044
+[http://heanet.dl.sourceforge.net/ipsec-tools/ipsec-tools-0.6.6.tar.bz2]
+md5=e908f3cf367e31c7902df5ab16fbe5c3
+sha256=2291dd75794a4fc307eb420eb035087a4cf56d3ef6b187f1a1386d3e33851044
+
+[http://heanet.dl.sourceforge.net/ipsec-tools/ipsec-tools-0.6.7.tar.bz2]
+md5=4fb764f282dc21cf9a656c58e13dacbb
+sha256=4239f836dc610a2443ded7ba35cb3b87de9d582c800e5d9eb5eed37defd61ef2
+
[http://www.netfilter.org/files/iptables-1.2.11.tar.bz2]
md5=0a5f5f226e41ce408a895bec995e8c05
sha256=be7bd67232fddbe3ce81f40f5b79123380a2e67cd166ec06e650842f8acb373d
@@ -7162,10 +9178,18 @@ sha256=84ac04a28ae41e17df0f181d8bc0049ae7a83baae07296e890ea5977a2952318
md5=0a9209f928002e5eee9cdff8fef4d4b3
sha256=c5c8a091ed9a1fa2dab86b4d87719064b50c202e8503046f50f299a361e6211c
+[http://heanet.dl.sourceforge.net/iptstate/iptstate-2.2.1.tar.bz2]
+md5=6b08f09b9917f644629efea1febec4b3
+sha256=004f8358f4f84d90a260a76ac46ce8512126ac490d73460fcee6c11effd34362
+
[http://www.tux.org/pub/people/alexey-kuznetsov/ip-routing/iputils-ss020927.tar.gz]
md5=b5493f7a2997130a4f86c486c9993b86
sha256=25d45acf19e3acd09745df47581ac7a13e3694ee51fe4e642108f9f228cacca9
+[http://ipython.scipy.org/dist/ipython-0.9.1.tar.gz]
+md5=8a1bd1a9be272f4ddf4de99e5c1ad0dc
+sha256=5540bc1a01f11ca66c3d7c31a43af670fd0f0044b8e38d142614872956548006
+
[http://www.vanille.de/mirror/iqnotes-2.0.2-src.tar.bz2]
md5=9d9504055b37247ece87b31895eb2e5b
sha256=27badd5d9f3167443099c6b6cf66b05b9e32cc71f03d692cff474c2279c4f4cd
@@ -7174,6 +9198,10 @@ sha256=27badd5d9f3167443099c6b6cf66b05b9e32cc71f03d692cff474c2279c4f4cd
md5=6b4bbf1b97d1fe777c881c0576e4cb65
sha256=e3c0d1991f6a35f789bf305bc56971e2ced6208d19443ccea8d1d64417a90faf
+[http://bitchx.sourceforge.net/ircii-pana-1.1-final.tar.gz]
+md5=611d2dda222f00c10140236f4c331572
+sha256=7464cd75a10f2d117a10cf0184e5d4b9ece44de03a226402c17bdd3f2c7eca57
+
[http://www.bitchx.org/files/source/ircii-pana-1.1-final.tar.gz]
md5=611d2dda222f00c10140236f4c331572
sha256=7464cd75a10f2d117a10cf0184e5d4b9ece44de03a226402c17bdd3f2c7eca57
@@ -7182,14 +9210,26 @@ sha256=7464cd75a10f2d117a10cf0184e5d4b9ece44de03a226402c17bdd3f2c7eca57
md5=a77124e7efa6b31369404371485179b2
sha256=729da519ffeb604ac0b9b6c6d8123a3fdf17956134e105c04778f13c4d4ce4ae
+[http://heanet.dl.sourceforge.net/openobex/ircp-0.3.tar.gz]
+md5=a77124e7efa6b31369404371485179b2
+sha256=729da519ffeb604ac0b9b6c6d8123a3fdf17956134e105c04778f13c4d4ce4ae
+
[http://downloads.sourceforge.net/irda/irda-utils-0.9.15.tar.gz]
md5=b69b75464d6ee72e6600a8459d9b68ac
sha256=27df093409e65279b5cf60777c3310feb50a522bebd4f5038cfebe41a7a46809
+[http://heanet.dl.sourceforge.net/irda/irda-utils-0.9.15.tar.gz]
+md5=b69b75464d6ee72e6600a8459d9b68ac
+sha256=27df093409e65279b5cf60777c3310feb50a522bebd4f5038cfebe41a7a46809
+
[http://downloads.sourceforge.net/irda/irda-utils-0.9.16.tar.gz]
md5=2ff18f0571b5a331be7cd22fc3decd41
sha256=09a30fa12d81014b2877e8b5c36f5a341788579669d72f2dec0e29d22efe11e9
+[http://heanet.dl.sourceforge.net/irda/irda-utils-0.9.16.tar.gz]
+md5=2ff18f0571b5a331be7cd22fc3decd41
+sha256=09a30fa12d81014b2877e8b5c36f5a341788579669d72f2dec0e29d22efe11e9
+
[http://ewi546.ewi.utwente.nl/mirror/www.openzaurus.org/official/unstable/3.5.4/sources/irk-0.11.0.tgz]
md5=5b39a7fb06fd24edfb543a3a0130065c
sha256=5eeba81a5e5163e0b0b92b5e5aaf91c07b412a743a98f59975c75d28c133a85f
@@ -7206,6 +9246,10 @@ sha256=47344b444d78ad5965eb40cc4c8df8450fdc54135e2b058710ee8c500b958d6c
md5=e407b557b3cfc7c91ce4de2571dd79cb
sha256=462d634bb509cc2bdd550ee5c7b269495f3173721b7404f162ad1f69b49bfff0
+[http://heanet.dl.sourceforge.net/iscsitarget/iscsitarget-0.4.16.tar.gz]
+md5=c7ea3192f1717b40e4c483c9d630082d
+sha256=e6605ae5f9ed2e2fdbe84df967236678579a4fbe536b75a93277cbb607bead7d
+
[ftp://pkg-isocodes.alioth.debian.org/pub/pkg-isocodes/iso-codes-1.4.tar.bz2]
md5=4073466e57df23d39721513219e4f7ae
sha256=0a7cf177c25b3f0d77c60a5f1149aab9e03ba70f69bac70138a867efe19a1d97
@@ -7214,10 +9258,18 @@ sha256=0a7cf177c25b3f0d77c60a5f1149aab9e03ba70f69bac70138a867efe19a1d97
md5=007ff9e08e26504f5c28462d7bbdaa3e
sha256=c682a23faf732203a7de9b82ffb736396e5948e000ab10c1a42b0e936b6cc329
+[http://download.ikaaro.org/itools/itools-0.16.5.tar.gz]
+md5=38f42b91b99645d606d1633736aa844d
+sha256=7f2794f64b83955787457fc30562313119c43021046cbc152584d1663c2f8eb2
+
[http://downloads.sourceforge.net/ivman/ivman-0.6.14.tar.bz2]
md5=ebef12559268e2c5ea932cbb5aaa789e
sha256=62a6f9cb90999694e48528e16f427433c13a99424b5dca4cb38cda99e13d10e8
+[http://heanet.dl.sourceforge.net/ivman/ivman-0.6.14.tar.bz2]
+md5=ebef12559268e2c5ea932cbb5aaa789e
+sha256=62a6f9cb90999694e48528e16f427433c13a99424b5dca4cb38cda99e13d10e8
+
[http://www.kokkinizita.net/linuxaudio/downloads/jaaa-0.4.2.tar.bz2]
md5=e3013bb1e287b495b0668f4b6e2887c7
sha256=0bae72d819963c40e0a202bb08bc55a600fe7c453749601a3836bc9272cffb3a
@@ -7226,6 +9278,10 @@ sha256=0bae72d819963c40e0a202bb08bc55a600fe7c453749601a3836bc9272cffb3a
md5=03a0f63b997ce7b83a1eeaa6b80f4388
sha256=a5d9fd696d7ee4a1c7679b5a688155bc1e0abbdf5f144d6762dbbee874df235f
+[http://heanet.dl.sourceforge.net/jackit/jack-audio-connection-kit-0.103.0.tar.gz]
+md5=03a0f63b997ce7b83a1eeaa6b80f4388
+sha256=a5d9fd696d7ee4a1c7679b5a688155bc1e0abbdf5f144d6762dbbee874df235f
+
[http://downloads.sourceforge.net/jackit/jack-audio-connection-kit-0.99.0.tar.gz]
md5=a891a699010452258d77e59842ebe4a0
sha256=2096acc56c314e689faad0036bbc1d86dea1b9d9620f711d471de76b1dd6859e
@@ -7254,18 +9310,46 @@ sha256=dae915b7f963762385df2f4660eaad497261fa72393ba69339530e5b0b5d8bc3
md5=3f538bab6e1c77aed331e5e71f754f5b
sha256=f329d1c8f42c06b53a3e82763d33900b100b8e9acd7afe02f7583c51253fd6e5
+[http://heanet.dl.sourceforge.net/jamvm/jamvm-1.4.5.tar.gz]
+md5=3f538bab6e1c77aed331e5e71f754f5b
+sha256=f329d1c8f42c06b53a3e82763d33900b100b8e9acd7afe02f7583c51253fd6e5
+
[http://downloads.sourceforge.net/jamvm/jamvm-1.5.0.tar.gz]
md5=a965452442cdbfc94caba57d0dd25a8f
sha256=18b269b1bfad7230384681e89189c6af18584e19cddbf92208c0acef814046ab
+[http://heanet.dl.sourceforge.net/jamvm/jamvm-1.5.0.tar.gz]
+md5=a965452442cdbfc94caba57d0dd25a8f
+sha256=18b269b1bfad7230384681e89189c6af18584e19cddbf92208c0acef814046ab
+
[http://downloads.sourceforge.net/jamvm/jamvm-1.5.1.tar.gz]
md5=5a82751b50391eb092c906ce64f3b6bf
sha256=663895bd69caf3a1fda6af5eea8263d90a5fd35ca8f4c32e2210ac410788901a
+[http://heanet.dl.sourceforge.net/jamvm/jamvm-1.5.1.tar.gz]
+md5=5a82751b50391eb092c906ce64f3b6bf
+sha256=663895bd69caf3a1fda6af5eea8263d90a5fd35ca8f4c32e2210ac410788901a
+
+[http://heanet.dl.sourceforge.net/gakusei/jards_gakusei.cvs.sourceforge.net__20070212.tar.gz]
+md5=1282913edd226bc9e865f39d79573117
+sha256=3c884982ebf40aade899379902ec92c41782d18c19506cf0ec40bcf6a7df8e3b
+
[http://www.ece.uvic.ca/~mdadams/jasper/software/jasper-1.900.1.zip]
md5=a342b2b4495b3e1394e161eb5d85d754
sha256=6b905a9c2aca2e275544212666eefc4eb44d95d0a57e4305457b407fe63f9494
+[http://www.jasspa.com/release_20060909/jasspa-memacros-20060909.tar.gz]
+md5=d4d7f84744fedb933bcc408734940f0a
+sha256=0d5ac080cafe6ad08e4b8eda0c85df48950c0cd3056c9f8896b1474172616b12
+
+[http://www.jasspa.com/release_20060909/jasspa-mesrc-20060909-2.tar.gz]
+md5=6606ec40da39352e5cbb644090a13820
+sha256=2cb80e403a1c76c6a3405ccbf67e457e2f558e19f80c96baa608635f3e917299
+
+[http://www.ch-werner.de/javasqlite/javasqlite-20080130.tar.gz]
+md5=842932cfb22d44d8ebf85d1e184b4c55
+sha256=ea216b2fa82e784fe7572074246fb0bbaaeac46e655f554d44da827f82b95231
+
[http://www.rpsys.net/openzaurus/patches/archive/jffs2_longfilename-r1.patch]
md5=1e30c4f6d5148d8462c41b7f58738531
sha256=f01a8f0975905597aaccd2d6647331aac14615b67a37ccf626bb2ea45db13294
@@ -7278,14 +9362,26 @@ sha256=55a65214c19f9a61265fdef21ae4d7f59b725248d06c0595152c14774bd31065
md5=4e45eeab4c75918174e16ea2b695d812
sha256=30093eab8df4cad8ef94a1c4197272b75c719bbbbdf077c8b64e7cfbb9cbc9ae
+[http://heanet.dl.sourceforge.net/jikes/jikes-1.21.tar.bz2]
+md5=4e45eeab4c75918174e16ea2b695d812
+sha256=30093eab8df4cad8ef94a1c4197272b75c719bbbbdf077c8b64e7cfbb9cbc9ae
+
[http://downloads.sourceforge.net/jikes/jikes-1.22.tar.bz2]
md5=cda958c7fef6b43b803e1d1ef9afcb85
sha256=0cb02c763bc441349f6d38cacd52adf762302cce3a08e269f1f75f726e6e14e3
+[http://heanet.dl.sourceforge.net/jikes/jikes-1.22.tar.bz2]
+md5=cda958c7fef6b43b803e1d1ef9afcb85
+sha256=0cb02c763bc441349f6d38cacd52adf762302cce3a08e269f1f75f726e6e14e3
+
[http://downloads.sourceforge.net/joe-editor/joe-3.1.tar.gz]
md5=2a6ef018870fca9b7df85401994fb0e0
sha256=252390e4bc687957f09f334095904c8cc53b39c7b663ed47861ae1d11aef5946
+[http://heanet.dl.sourceforge.net/joe-editor/joe-3.1.tar.gz]
+md5=2a6ef018870fca9b7df85401994fb0e0
+sha256=252390e4bc687957f09f334095904c8cc53b39c7b663ed47861ae1d11aef5946
+
[http://www.ijg.org/files/jpegsrc.v6b.tar.gz]
md5=dbd5f3b47ed13132f04c685d608a7547
sha256=75c3ec241e9996504fe02a9ed4d12f16b74ade713972f3db9e65ce95cd27e35d
@@ -7306,10 +9402,22 @@ sha256=cffbcf6721b897ca1259661f418f3d81c1193702f59a29f0f3232c9b8f24faa3
md5=5571134c3863686b623ebe4e6b1f6fe6
sha256=44363f0f3895800ee6010763eae90c0d15ed28e07d783bc7b3c607ce98d8668b
+[http://oss.metaparadigm.com/json-c/json-c-0.6.tar.gz]
+md5=2d8b899aeeebbbe68158d25adf8a4f1e
+sha256=915ee6c4b8f1ffd5313d990875cd44e5e7092a51de259707daca797fd5c42b46
+
+[http://downloads.openmoko.org/sources/juce_1_29.zip]
+md5=7965d33e47a7cc97c4084c2e9aa0bf82
+sha256=bc4f62cbac4716c2c1a25cf53b73343a03883964576d9dd590a9e4c7a70f465a
+
[http://downloads.sourceforge.net/justreader/justreader_2.0k.tgz]
md5=74b2b89b12668cbbbb093b6343e9f52d
sha256=55b0dd7ac3f9860a4cba0797213fdaa898b77f3228612e3499d54e6fe6144514
+[http://heanet.dl.sourceforge.net/justreader/justreader_2.0k.tgz]
+md5=74b2b89b12668cbbbb093b6343e9f52d
+sha256=55b0dd7ac3f9860a4cba0797213fdaa898b77f3228612e3499d54e6fe6144514
+
[http://www.kaffe.org/ftp/pub/kaffe/v1.1.x-development/kaffe-1.1.5.tar.gz]
md5=928c578d4808012fe5ba5587071d2aa2
sha256=f4ed45720d76f5182f2dede135c1856ad01bdf9875f54459b6baa1071af67280
@@ -7330,6 +9438,10 @@ sha256=28272f61ec09c607a3578e3626e9e4fd43d1d9d1e21cb64328745766d00ee9e1
md5=2171f02d58a575e148436c7102686afb
sha256=87ad1345e1d6df6ffdb1b43af92cfd87a16eade7de4060c5ce2fabd4d37bf99a
+[http://iij.dl.sourceforge.jp/kazehakase/25610/kazehakase-0.4.7.tar.gz]
+md5=44d7105f394b982661ba0567a0d23b90
+sha256=0d52a80161b5dccfa904afd58dac4b5c79944943e7d81649459d2419362a014d
+
[http://ftp.debian.org/debian/pool/main/k/kbd/kbd_1.12.orig.tar.gz]
md5=7892c7010512a9bc6697a295c921da25
sha256=f3bc6747dba7d1a35cd125ca0bd4649f88704be211cf7e47d36b43c7f44ce803
@@ -7350,6 +9462,14 @@ sha256=779f563fdf0385b973f2238f04d82b5729aefe1c949e4d29482b6bb170aa3fe6
md5=3a9e14a245d293d143715c0318e3d0bd
sha256=63a7d777cfb610c06c3778b4fc780a7e3f4158b5a7125588ccbc0c59f11b48b8
+[http://heanet.dl.sourceforge.net/kdepimpi/kdepimpi-2.2.10.tar.gz]
+md5=1b918fa70812b24df0c4de00bb2c8896
+sha256=88f68d15052932ac763c007570a6e12e7be6e0d177706f96ddda7c358adcf871
+
+[http://heanet.dl.sourceforge.net/kdepimpi/kdepimpi-2.2.3.tar.gz]
+md5=b452510c392d852c7a94bb08547f4e9a
+sha256=d6b21f0dad8277925abbb15d3c9cbc0a58af5b5119bbd1fde8637b600bae0489
+
[http://downloads.sourceforge.net/kdepimpi/kdepimpi-2.2.7.tar.gz]
md5=9ea0265229fab492d4ec70d734e823f3
sha256=ad5d912a4c726015e351981b5c71014f6cbd6b9d79d6b58d89ea8b4ffa31bb76
@@ -7370,6 +9490,10 @@ sha256=afe5bddd14c06e1e9350742c5569511039ceaf82a2437b89a62c7ae8c82df245
md5=f2a893efdc2712b70ee8fbb65da2a70e
sha256=f219303e60f81b3cf6206b6c1851bd42069bd018ed18482ab04dded0b4339f8a
+[http://www.kerneloops.org/download/kerneloops-0.11.tar.gz]
+md5=a0daa9437f0638912a91afe66f51545b
+sha256=2f23a1a2f1b928b2ad44f13a98c704c3d7abd5e3c7157f6a8915acc74c8dcd71
+
[http://www.rpsys.net/openzaurus/patches/archive/kexec-arm-r3a.patch]
md5=e86438fb4fff46bda188c2211eede1bf
sha256=54bfe3995975d17355152c7bd1c5b0dbe61973e15135d52a799be890bc979467
@@ -7430,6 +9554,10 @@ sha256=27000ba4bc73a5977502b27d7036df24dd6ab94a1c33b8f5d6d54ba62772f0c7
md5=d12f56384b4ccde11cd756db2b14065c
sha256=48ae508d72e453e2a1f5748870362259786b475548c545feaec1aea71d2f8fdb
+[http://heanet.dl.sourceforge.net/klimt/klimt-src-0.6.1.zip]
+md5=d12f56384b4ccde11cd756db2b14065c
+sha256=48ae508d72e453e2a1f5748870362259786b475548c545feaec1aea71d2f8fdb
+
[http://www.openzaurus.org/mirror/knights.tar.gz]
md5=fea3047d5501a1abea868bb661cbc0c8
sha256=1f6d50b3602f01b852810ab1e62f3328edee5130fe3ba21fd868f376c89e66fd
@@ -7442,6 +9570,10 @@ sha256=305a7178d3351ea5e1faad157c2f056b633fbbabc006e19165a55314e9352d7b
md5=90d1517db39d4e3f7934af566ea18fca
sha256=a1b86dc2ef641bc644ff5a206b5e2d3a61dacf58c2c489e0669ba1d71d0534a0
+[http://heanet.dl.sourceforge.net/kdepimpi/kphone_pi_1.0.0.tar.gz]
+md5=90d1517db39d4e3f7934af566ea18fca
+sha256=a1b86dc2ef641bc644ff5a206b5e2d3a61dacf58c2c489e0669ba1d71d0534a0
+
[http://kstars.sourceforge.net/kstars-embedded-0.8.5.tar.gz]
md5=ae02647516a4a5c47674316ef8343c11
sha256=650f0b3ae4d30282b191e456ebf2679a4ec549da83f69667bd4396bad9abf9f5
@@ -7454,6 +9586,22 @@ sha256=125fcecc9f650dc2ec82db3194d17c0af40b48900204fedb0c695b5fcc5a99e3
md5=c2701d7f8e094b41aa5a7c771b981393
sha256=204156fadfdefb31f6cbd3d0d7e5cb032af40c037a0682c75651c3191de09150
+[http://heanet.dl.sourceforge.net/kdepimpi/ktimetracker_pi097.tar.gz]
+md5=c2701d7f8e094b41aa5a7c771b981393
+sha256=204156fadfdefb31f6cbd3d0d7e5cb032af40c037a0682c75651c3191de09150
+
+[http://downloads.sourceforge.net/kxml/kxml2-src-2.3.0.zip]
+md5=cb830720148bad0c555a02b27e1e7f9a
+sha256=f2441575236be69a460c6a54344b6ba8b8ba03fd0bab242b989f4f0976944cd8
+
+[http://heanet.dl.sourceforge.net/kxml/kxml2-src-2.3.0.zip]
+md5=cb830720148bad0c555a02b27e1e7f9a
+sha256=f2441575236be69a460c6a54344b6ba8b8ba03fd0bab242b989f4f0976944cd8
+
+[http://sump.org/projects/analyzer/downloads/la-src-0.8.tar.bz2]
+md5=dc8f16011da37ee3114616b96dc80798
+sha256=c735f3c0b32f379020a52965e5af45fcd00330b94f94d51603ab5a05b06675fb
+
[http://handhelds.org/~zecke/oe_packages/labyrinth-0.7-zecke1.tar.gz]
md5=027e5fd07dd6bd6c1f25161a266a0646
sha256=547088fbbc3c3f4e60544dca8500c5f7097911427fd7dd04ad082db03f117001
@@ -7462,6 +9610,14 @@ sha256=547088fbbc3c3f4e60544dca8500c5f7097911427fd7dd04ad082db03f117001
md5=e1206c46a5e276feca11a7149e2fc6ac
sha256=f4f093e371c999a2a079607b74582a8ef5c1c3c9b322e3e997a47c1ea2afe2a5
+[http://heanet.dl.sourceforge.net/lame/lame-3.96.1.tar.gz]
+md5=e1206c46a5e276feca11a7149e2fc6ac
+sha256=f4f093e371c999a2a079607b74582a8ef5c1c3c9b322e3e997a47c1ea2afe2a5
+
+[http://lasertraq.googlecode.com/files/lasertraq-0.8-r213.tar.bz2]
+md5=c24cc9ba196b32134186843324bfe784
+sha256=7a2162c783f98a2de9658a217cd0409a7bd16d40040c34a6077df376a2135aea
+
[http://eaglet.rain.com/rick/linux/schedstat/v10/latency.c]
md5=56a9be3b788ad32a169069f332ebf0f3
sha256=cc1fc10fe3e8473efd3af315a47500d646665554fe6fe5993028adb1f189334b
@@ -7470,6 +9626,14 @@ sha256=cc1fc10fe3e8473efd3af315a47500d646665554fe6fe5993028adb1f189334b
md5=41d6e0be4654b1716b1b3f5b53abf014
sha256=3e406c76874827c236c7070c1349f8b4ee058aa664fc3066435c938bf6d5f0e8
+[http://heanet.dl.sourceforge.net/lgames/lbreakout2-2.6beta.tar.gz]
+md5=41d6e0be4654b1716b1b3f5b53abf014
+sha256=3e406c76874827c236c7070c1349f8b4ee058aa664fc3066435c938bf6d5f0e8
+
+[http://xorg.freedesktop.org/releases/individual/app/lbxproxy-1.0.1.tar.bz2]
+md5=9d5045a5c76b1fe360221b967a5aa0e9
+sha256=e2e757986724a5d2ee299aa7616a3d9985af45e363021b486b7abbcac4ca01c2
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/lbxproxy-X11R7.0-1.0.1.tar.bz2]
md5=d9c05283660eae742a77dcbc0091841a
sha256=35360dd6160d94a981d923486a026fe91dfc3e0db2f5923aeb782b7e9c5e606f
@@ -7482,14 +9646,30 @@ sha256=9e69ded08dc9a8c75f36a3c020e7aa96b90313d91b2f58add6d4dfff1f8861b0
md5=c1e74364963054b26b2a77a37bd2bf36
sha256=a2163b474d75dc87891c6a81ce9e89f0c9ceab7cbef14b50f066bf3508eec977
+[http://heanet.dl.sourceforge.net/lcdproc/lcdproc-0.4.5.tar.gz]
+md5=c1e74364963054b26b2a77a37bd2bf36
+sha256=a2163b474d75dc87891c6a81ce9e89f0c9ceab7cbef14b50f066bf3508eec977
+
[http://downloads.sourceforge.net/lcdproc/lcdproc-0.5.0.tar.gz]
md5=4b67e421c19063fa322611a849ab5b80
sha256=a7567f3f68517008e68d15b33630f36ba539540fbb361a2f9c440ce2ceb8393b
+[http://heanet.dl.sourceforge.net/lcdproc/lcdproc-0.5.0.tar.gz]
+md5=4b67e421c19063fa322611a849ab5b80
+sha256=a7567f3f68517008e68d15b33630f36ba539540fbb361a2f9c440ce2ceb8393b
+
[http://downloads.sourceforge.net/lcdproc/lcdproc-0.5.1.tar.gz]
md5=ad13d6cce7a7e068d85a66d30285af95
sha256=f459280eb4eeb70be584895364c97ffab22b888235b2351a31e1c87ca9710727
+[http://heanet.dl.sourceforge.net/lcdproc/lcdproc-0.5.1.tar.gz]
+md5=ad13d6cce7a7e068d85a66d30285af95
+sha256=f459280eb4eeb70be584895364c97ffab22b888235b2351a31e1c87ca9710727
+
+[http://heanet.dl.sourceforge.net/lcms/lcms-1.13.tar.gz]
+md5=902ea29818ab4f3c86225ec7d6b5d5b6
+sha256=28e1648256cd18ccb3d0df149d3c33f94e7e2e0384b344f2792aa62309f825d6
+
[http://www.littlecms.com/lcms-1.15.tar.gz]
md5=76c921973fdea4f880944a024197f924
sha256=930ef7de15eb028c1cdbfe3f1170aaa1d5b0b4d45a8fa496d944216e155122c2
@@ -7498,6 +9678,10 @@ sha256=930ef7de15eb028c1cdbfe3f1170aaa1d5b0b4d45a8fa496d944216e155122c2
md5=07bdbb4cfb05d21caa58fe3d1c84ddc1
sha256=5ef3b4dab30956772009e29dba33fe1256cf9da161106a1e70b0966c96d14583
+[http://heanet.dl.sourceforge.net/lcms/lcms-1.17.tar.gz]
+md5=07bdbb4cfb05d21caa58fe3d1c84ddc1
+sha256=5ef3b4dab30956772009e29dba33fe1256cf9da161106a1e70b0966c96d14583
+
[http://savannah.nongnu.org/download/leafpad/leafpad-0.8.15.tar.gz]
md5=f3570c052f4987f4122cd48d2c629f64
sha256=f294a7894efc8eee0c0c4238f41cc97492c61dd3dcceae4fcf555e31e841d86a
@@ -7530,6 +9714,10 @@ sha256=0ee6a3caee4812827b8e167d4a07dbf859cb08a00a20f09568c3baae379d6ce8
md5=ab895165c149d7f95843c7584b1c7ad4
sha256=e5ef90ff30897448a7c090c2e31ceb302ed064a60411436e8995580848ed1a63
+[http://heanet.dl.sourceforge.net/lesstif/lesstif-0.95.0.tar.bz2]
+md5=ab895165c149d7f95843c7584b1c7ad4
+sha256=e5ef90ff30897448a7c090c2e31ceb302ed064a60411436e8995580848ed1a63
+
[ftp://ftp.wiretapped.net/pub/mirrors/lftp/old/lftp-3.5.1.tar.bz2]
md5=c6d48782cdad4759000bf7cd24555723
sha256=463f0b46ce3a0fc09ef9ad7a5429959034d50a1eadbed5dfeae36c25dca31130
@@ -7546,6 +9734,10 @@ sha256=66d5b9d53816cc158a0f241772cbde60a52aa0a722e28d3ef76a5eb6c82840d5
md5=dfd5de47e232db0891410bec8ee6707b
sha256=2f18f9fa0e18a3eab3c154ba820ad64b5c6ee364e147524055a553a130ccfdde
+[http://xorg.freedesktop.org/releases/individual/lib/libFS-1.0.1.tar.bz2]
+md5=81521249353fa33be7a4bb0062c2fbb9
+sha256=9bf92ffdb51e69e07682cd1a6c0101f2a833b16b9bfa5d601491ff46a35a2cf5
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libFS-X11R7.0-1.0.0.tar.bz2]
md5=12d2d89e7eb6ab0eb5823c3296f4e7a5
sha256=15bedd7f892fbb130e2b9c17d4f927c4904362a7be5b73d07d56d8aa7025f6f1
@@ -7574,6 +9766,10 @@ sha256=91a5b69435f10002b222be022c832d9860a93e0bc181e3f94abc150486ab031a
md5=a75d2dbf3a3c66b567047c94245f8b82
sha256=1c9529f7245778a4f1422d6257d446b7c90a19c3b603b1a25db1669552c464b3
+[http://ftp.gnome.org/pub/GNOME/sources/libIDL/0.8/libIDL-0.8.2.tar.bz2]
+md5=a75d2dbf3a3c66b567047c94245f8b82
+sha256=1c9529f7245778a4f1422d6257d446b7c90a19c3b603b1a25db1669552c464b3
+
[http://ftp.gnome.org/pub/GNOME/sources/libIDL/0.8/libIDL-0.8.3.tar.bz2]
md5=39640ea026d81e721b0c78a8aaeb7d59
sha256=808cd8e7b499a3519f8492a5bda75c55e770f976c98b2c2c21edcca4b9c30168
@@ -7590,6 +9786,10 @@ sha256=e290614797bd626c1b92bac8f83e8954b99bd66e6ecdaa1e935e176df099eba8
md5=184cbf502b3cd5d7ba5f9d1290a99606
sha256=57f42d3557effe452cd348362977ff90fa61009885c23b3aca8cb0219b5dec04
+[http://xorg.freedesktop.org/releases/individual/lib/libSM-1.1.0.tar.bz2]
+md5=05a04c2b6382fb0054f6c70494e22733
+sha256=7536ac382e1ff82014d3a0defba0c61b3a30984f4e5bc7707960d6debcb92a82
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libSM-X11R7.0-1.0.0.tar.bz2]
md5=8a4eec299e8f14e26200718af7b2dcfc
sha256=df219b7d5c2fac93bc7c8eb411ed365492eaeb3727ecbb04999890fd694d4e80
@@ -7606,6 +9806,10 @@ sha256=6ad87266173d21ba7e0e4506db0c094769fd58c3f0b741b37f30c297deec166a
md5=d94f0389cd655b50e2987d5b988b82a5
sha256=76ccdb6adfc51a4c40e90fe66f599ee4de4787fca44860b851dd4bbf97f7889d
+[http://xorg.freedesktop.org/releases/individual/lib/libX11-1.0.1.tar.bz2]
+md5=58f0537f21183e27149cf906a1b6bef9
+sha256=f99e4ce6d8e3b8833957978fe22223897b0e636c83580f2b07eff0388eb75294
+
[http://xorg.freedesktop.org/releases/individual/lib/libX11-1.0.3.tar.bz2]
md5=60b787a812c92d33f71860e4e19cb59d
sha256=fb42f2400c3709a0c2c17f27cc4a902c191ebd6228c70698891bf3a13ea5b3ac
@@ -7806,6 +10010,10 @@ sha256=130d6991971a10ba8b54f52848bcb00cbb7b4229eb839f88500972e11fecf8f0
md5=2f2085310f75900044d9dcd469637d26
sha256=2f8c004c0b914d460e6fd2b48d8b425cf4778d415467fc1f1d938b200462d18b
+[http://xorg.freedesktop.org/releases/individual/lib/libXfont-1.2.8.tar.bz2]
+md5=83b8e21f6ee22512a8f72ba51e2d74f6
+sha256=374a2ca12f62a4d9f09a17a34765a5289cefa9db7f9f0913e1c3731b4088aad8
+
[http://xorg.freedesktop.org/releases/individual/lib/libXfont-1.3.0.tar.bz2]
md5=d1d3fa170d74b066f1f23ca8574e7c90
sha256=07567b9880f28d1a404389c024a185419bfe81136aef3d9eda52407f34c3d3dd
@@ -7846,6 +10054,10 @@ sha256=9a1d1c4c494203fcc64e697c7d341ccd12ecfcf2983b09746f8a7113443fe3a4
md5=1309301e2d979bd475dc58325cb8c056
sha256=68b46f85caaf0b30c876bd983abe144c25755bee7532e8738ab7ebe29a428986
+[http://xorg.freedesktop.org/releases/individual/lib/libXft-2.1.13.tar.bz2]
+md5=bc8881851f3bd8dcc625fac37350a1c6
+sha256=ce7688258af34c14af421bcfb306d4310245b727d2417ac968b7f6b2facfde8c
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXft-X11R7.0-2.1.8.2.tar.bz2]
md5=c42292b35325a9eeb24eb0f8d3a6ec52
sha256=0473d1db21968f05b39ff9832b18545ba6b93be76d2e61b04a14208c515680f3
@@ -7854,6 +10066,10 @@ sha256=0473d1db21968f05b39ff9832b18545ba6b93be76d2e61b04a14208c515680f3
md5=4a5207a29a6b220e5462129854689844
sha256=7e6339539d3d0a4fc95cc23ca2b13ae67dd783e011b3cc5ca76040e376bff57f
+[http://xorg.freedesktop.org/releases/individual/lib/libXi-1.1.0.tar.bz2]
+md5=c25abbe604029855eb11a3a75fb1f386
+sha256=0f90d7e27d8a7d6bccf9350b6283ffe122e5347fa51d4ea9055653b297339989
+
[http://xorg.freedesktop.org/releases/individual/lib/libXi-1.1.2.tar.bz2]
md5=9c4dd85f3e2a75bfb60bd288502bc288
sha256=4deda13613f03e4524d3cf0ac14b9e20be5044d415cb8478713ecbe47f4de862
@@ -7950,6 +10166,10 @@ sha256=2d2df642eb8e0527936cdf4ed1c096f69df53e9b95e2532c8ed0cabd06a45407
md5=1b244b5d19f0ccab01d7083436cd3558
sha256=206f8dc850f12b1213fb73dbef09fafa1bb8fb8c3ddfe4d39721c1e2dec12a98
+[http://xorg.freedesktop.org/releases/individual/lib/libXrandr-1.2.3.tar.bz2]
+md5=5cd67cc02a50c9644ba0a1846ea3b08e
+sha256=f8edfe26b8c4c3677a3a949f81a8b09a5fad62972020bfd230401e11cc0ed267
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXrandr-X11R7.0-1.1.0.2.tar.bz2]
md5=e10aed44c2e1e5d9e6848a62ff2c90c7
sha256=6b6a3fcf44621bf163ba2db6dbcc518bff4e8cf74695d1b86595387a3ff3c6fb
@@ -8074,6 +10294,10 @@ sha256=4adbde13bbb3109897fc7b5d05bdab4709c4dd1aa7313f47b8093f52f10e617c
md5=8de1ca6c55aaad7d8cae19b4f0b3da32
sha256=e08fc2c1611c422f751ed02810491b45bf7faa4207d762a11f11815263c9285a
+[http://xorg.freedesktop.org/releases/individual/lib/libXxf86vm-1.0.2.tar.bz2]
+md5=304d37bd0a10d9b58aa9b64469ad73e5
+sha256=3cb3c3c6552a4fbc686ba6c2dbeb6e4ba2a27103279908831d56363de73951de
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/lib/libXxf86vm-X11R7.0-1.0.0.tar.bz2]
md5=ed59db622581b33ec2a62e12b2f9c274
sha256=f972bbd632cf9047a28b4c467a2f7c2c72f9b36959a98649b3dfef6bf898b8df
@@ -8090,6 +10314,14 @@ sha256=694ea8352edf845b0a7dc0c2e0e990bcb8507f64e405edc048ad115c6578e5f7
md5=49fe67302fd76543a7574a73c01395ba
sha256=512674419ac2013d11eccf4f106d6cfc719c9c2b49215a8f0e89c5327d176a84
+[http://gpephone.linuxtogo.org/download/gpephone/libabenabler-1.0/libabenabler-1.0.tar.bz2]
+md5=1264bd213c631d29d1b4bc04696de66a
+sha256=0f34656e262d7c41c1499dbe1aa3bc91c1fe8dc230ab79d5cf027ab6d141ee56
+
+[http://gpephone.linuxtogo.org/download/gpephone/libabenabler2-1.0/libabenabler2-1.0.tar.bz2]
+md5=6bb28fc35f7589b8fae2ed73f9e5e08e
+sha256=901eb2cd2b817f70ee400565f714ee95b3ebed692ba37a579b6d71a21dab1a43
+
[http://www.ngolde.de/download/libacpi-0.2.tar.gz]
md5=05b53dd7bead66dda35fec502b91066c
sha256=13086e31d428b9c125954d48ac497b754bbbce2ef34ea29ecd903e82e25bad29
@@ -8106,6 +10338,10 @@ sha256=953e39b44b80bb89e52b00f7a7c4045fdd9c698e265bfa14a3d2291e64dffaf1
md5=9480e31cce6506091080d59211089bd4
sha256=89f47d77d0f660cef80efeecc1cbd194ebf4afdd3be5ab2c3584bd8a90ac44c0
+[ftp://ftp.nl.debian.org/debian/pool/main/liba/libaio/libaio_0.3.106.orig.tar.gz]
+md5=9480e31cce6506091080d59211089bd4
+sha256=89f47d77d0f660cef80efeecc1cbd194ebf4afdd3be5ab2c3584bd8a90ac44c0
+
[http://www.xiph.org/ao/src/libao-0.8.4.tar.gz]
md5=0525549b0bf665f617913c916064cc87
sha256=a2f434898bd5319024a97294cc4c7ba1d89bda4951af2015a887feca116e162f
@@ -8134,6 +10370,10 @@ sha256=46d66be76f962cd6f921011c60409c1d5070db4b01619e6d3e5093705665e7a7
md5=f619b4f01aeda6d5f2679be9dcec5a51
sha256=ae2d5d228a1251666f9f80248178b40fb22513597cf78b976e4c3f15d8fc260c
+[http://heanet.dl.sourceforge.net/libassa/libassa-3.4.2-2.tar.gz]
+md5=f619b4f01aeda6d5f2679be9dcec5a51
+sha256=ae2d5d228a1251666f9f80248178b40fb22513597cf78b976e4c3f15d8fc260c
+
[ftp://ftp.gnupg.org/gcrypt/alpha/libassuan/libassuan-0.6.7.tar.gz]
md5=db4e6939fafbaae80cab11a67f28771d
sha256=c72dc7b2a3bb2945d1fb693b401ddff44f3eefbe248f2e6d29c86487b69c1dd4
@@ -8150,6 +10390,10 @@ sha256=a3d8768aa8fd2f6ae79be2d756b3a6b48816b3889ae906be3d5ffb2de5a5c781
md5=f0f55eec32c641d0e8602c92acabd56c
sha256=f490172a14c264f390d682c25cf33353ac5e6f9876722c8348c1e2d4b11dd1dd
+[http://heanet.dl.sourceforge.net/bedic/libbedic_1.1-0.tgz]
+md5=211ea5a881b5691ec7a1aedbe7fc406c
+sha256=0cb299278f17d4580d9b1b56df8b7c356afb016f2a68ce7d13a8169f74e2a16b
+
[http://ftp.gnome.org/pub/GNOME/sources/libbonobo/2.10/libbonobo-2.10.0.tar.bz2]
md5=68179b91f5043ce0ef050dbbed04979b
sha256=b1a185c6e20ac50c95ec3ba1aca486819984cd213e9cea69ab0dbca21db78b92
@@ -8198,9 +10442,17 @@ sha256=66c3f033fdc8f9ba0bd9d0ae2d1f2c11f9fa51bf0d1418e5cb75e29e6577a5bc
md5=15de3830b751818a54a42899bd3ae72c
sha256=5fdaf9af5ac4f75c0215d000b82b128fd054a582f81cc4f039a1e7fe69335ebb
+[http://heanet.dl.sourceforge.net/libcdaudio/libcdaudio-0.99.12p2.tar.gz]
+md5=15de3830b751818a54a42899bd3ae72c
+sha256=5fdaf9af5ac4f75c0215d000b82b128fd054a582f81cc4f039a1e7fe69335ebb
+
[http://gpephone.linuxtogo.org/download/gpephone/libchenabler-0.1/libchenabler-0.1.tar.gz]
-md5=f29e1e63fcc55e3ae4e81f5ee9dd7bdd
-sha256=448a3ab76109664bb6bd8bcc2c62d957c7d44b52e39c37d91b3b73b5cfe35a3f
+md5=866fd13611a8de946428db1df9be8468
+sha256=74def55ba6a61e966e0873a4081fd3dd65089b94b837810d3bc056221d7e41c7
+
+[http://repository.maemo.org/pool/maemo4.0/free/source/libc/libconic/libconic_0.13-0.8.tar.gz]
+md5=b4078390c459ae4df3acdabca36f53da
+sha256=1ee5bf796367d27987098f73dad866359e188cafe32f1871c12b4469f262c846
[http://repository.maemo.org/pool/bora/free/source/libconic_0.13.tar.gz]
md5=f852e61c2700b5bc571a730c6516e4ce
@@ -8238,6 +10490,10 @@ sha256=d23619f37fbc175027315ca641adbc51cae8a055fb78f169a35b965d6ebf3059
md5=baee4e3f0a765eb664922fc78f346014
sha256=9aa09bb2de91727de68ee57b1a1e4c03059cbbc7166f9f181ee8b5c2792e724d
+[http://heanet.dl.sourceforge.net/libcwd/libcwd-0.99.47.tar.gz]
+md5=9f734d279fa7a91f81d07fb9fd5de049
+sha256=8e9bfe9838fce18bb55d41ec883be5b7330aeead265feec0347745e8e589822a
+
[http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.10.tar.gz]
md5=6812a5e4063b5016f25e9a0cebbd3dd9
sha256=83004489cce844d4f9180fb74cc4781bb79e31aecf60d529608a510cf114484e
@@ -8258,10 +10514,18 @@ sha256=1f918fc7c51e8de4b97aa3556b829a03ef7a06bd44c344a494326dc222785a6a
md5=308e5746a2d0804be1d638319ad7b9c0
sha256=bd518b930f76c976bf693c247f0742d88808c776a2aeb51ab7830dedb0eb692d
+[http://heanet.dl.sourceforge.net/libdbi/libdbi-0.7.2.tar.gz]
+md5=308e5746a2d0804be1d638319ad7b9c0
+sha256=bd518b930f76c976bf693c247f0742d88808c776a2aeb51ab7830dedb0eb692d
+
[http://downloads.sourceforge.net/libdbi-drivers/libdbi-drivers-0.7.1.tar.gz]
md5=f11020119ceb7a6dee3969cb0589d4bc
sha256=5ae76aff042249750437ab7e490ae7d9e19a10f0005cd9bb525106365998aca8
+[http://heanet.dl.sourceforge.net/libdbi-drivers/libdbi-drivers-0.7.1.tar.gz]
+md5=f11020119ceb7a6dee3969cb0589d4bc
+sha256=5ae76aff042249750437ab7e490ae7d9e19a10f0005cd9bb525106365998aca8
+
[http://nchipin.kos.to/libddmpeg/libddmpeg_1.5.orig.tar.gz]
md5=89e59638d31384987d912741986398b6
sha256=9422e73c55aa921fbbce06e5e01bba0b98bb7a0f1640c27cfd307c290dba792c
@@ -8282,6 +10546,10 @@ sha256=f776abe417432b3c4ff8b063201c4b4b45479a563fb43e6fd64504b538ef4689
md5=181f063344a0e674e5c2546544d5e27f
sha256=b0159537f22453fcf30d7c4d7d9a39b6996233217c1f80a49ede135cf6ed32ca
+[http://heanet.dl.sourceforge.net/libdmtx/libdmtx-0.5.2.tar.gz]
+md5=129d960e30498f2a68d31c2c40b145af
+sha256=bd9669e5f1a43d1cfcff4d3dc5f18736ba7c950c8ba7b71b1d9cf4436a3783b3
+
[http://xorg.freedesktop.org/releases/individual/lib/libdmx-1.0.2.tar.bz2]
md5=4d866967210d06098fc9f302ed4c79b1
sha256=fa3ff31a543f7cea04762c08f48b418e75230de8b4dfdf9d2d3ae9e2af26b9c4
@@ -8314,10 +10582,30 @@ sha256=941e8020129111377652bd7253ea85e6c133fd1c23c66bd9fc0ca9eabab1385a
md5=c8ddee96ba1182d73447eaf0bb6fde81
sha256=c2c6ee274cbd5759715a786b949df8ac3e848ffc771173c4f006b88c665346d0
+[http://heanet.dl.sourceforge.net/dvd/libdvdnav-0.1.10.tar.gz]
+md5=c8ddee96ba1182d73447eaf0bb6fde81
+sha256=c2c6ee274cbd5759715a786b949df8ac3e848ffc771173c4f006b88c665346d0
+
[http://www.dtek.chalmers.se/groups/dvd/dist/libdvdread-0.9.6.tar.gz]
md5=329401b84ad0b00aaccaad58f2fc393c
sha256=509503979441e078866d75a628d8a6483e67737454feaa5366f609ecf2a0f5cf
+[http://download.savannah.nongnu.org/releases/exosip/libeXosip2-2.2.3.tar.gz]
+md5=837a35f085890eac3328ac402b24383b
+sha256=a09e97847f3983431c5453bf2f3de1629e629c1b4ea9ddc5e3aa6caaf7417b05
+
+[http://download.savannah.nongnu.org/releases/exosip/libeXosip2-3.1.0.tar.gz]
+md5=ed6005a146501a5f9308e28108ae7bca
+sha256=eed72871201e2c1deae3d7c0b618bf16f306d91fc7ebcb53956ab7468663514f
+
+[ftp://ftp.linux.ee/pub/gentoo/distfiles/distfiles/libedit-20050118.tar.bz2]
+md5=c261f059f71cef79d0f793ba944a5891
+sha256=494c19b29d2880d92361bb5bd0e02b8db9cd2dd9c1c3b330170a91e215911f89
+
+[http://bolgo.cent.uji.es/files/libeina/libeina-0.96.7.tar.gz]
+md5=72fade0fea5b67e92c2e1ff9e2c07f52
+sha256=d4fda4fc89cc5492f3cdf0445e84ab93311f9e1b22e487f3d95f3f86c90fe4f5
+
[http://www.mr511.de/software/libelf-0.8.3.tar.gz]
md5=f85d6dc4b4ef1c126080d86cf0ce63fd
sha256=644262514d0f6c3572f66935921a5290383a15e804e9b085e293ab78102d3513
@@ -8350,14 +10638,26 @@ sha256=407ec85a4c3ce2c4045608d28c36a8e19f1cfbad02bf3de784f6b6fa83d15a56
md5=afa4abd73665e1a46b0510c4f4efa9a9
sha256=74c81e8c29de3fda2e196ce7082a5ec35aad9399a6c7f67bb906b3c9d91dc6f3
+[http://heanet.dl.sourceforge.net/libetpan/libetpan-0.46.tar.gz]
+md5=afa4abd73665e1a46b0510c4f4efa9a9
+sha256=74c81e8c29de3fda2e196ce7082a5ec35aad9399a6c7f67bb906b3c9d91dc6f3
+
[http://downloads.sourceforge.net/libetpan/libetpan-0.48.tar.gz]
md5=493de1bfc84c1e0f82fd865795e48ffb
sha256=039861766d330b8ff2309334feb97d384e16d927dd859fdc0fad4c4a13d66b7c
+[http://heanet.dl.sourceforge.net/libetpan/libetpan-0.48.tar.gz]
+md5=493de1bfc84c1e0f82fd865795e48ffb
+sha256=039861766d330b8ff2309334feb97d384e16d927dd859fdc0fad4c4a13d66b7c
+
[http://downloads.sourceforge.net/libetpan/libetpan-0.52.tar.gz]
md5=119eb4ac27fb75540ca74d8997f7fc7f
sha256=dddf7b94e3547436beca1ed5ed22616f350d7e79cd1d72c83b122c1707237525
+[http://heanet.dl.sourceforge.net/libetpan/libetpan-0.52.tar.gz]
+md5=119eb4ac27fb75540ca74d8997f7fc7f
+sha256=dddf7b94e3547436beca1ed5ed22616f350d7e79cd1d72c83b122c1707237525
+
[http://downloads.sourceforge.net/libetpan/libetpan-0.54.tar.gz]
md5=0214de45b1b92277fbfc6c9a00af5316
sha256=f4547fae43a30265dd1d1e7f88c556d067a3ba67ca7ec0d46e540e6dc561a010
@@ -8402,18 +10702,38 @@ sha256=3bc2b8d1cd657b2f8f8ec82168791f7b0fce8c8161ab24eee4b577d5876026e0
md5=97e17fa05cb638eed5e8e59db431ed3a
sha256=8daa7618787b3af2218eee9e074f90664bff5676896b997a760f8034383d70d6
+[http://heanet.dl.sourceforge.net/libexif/libexif-0.5.12.tar.gz]
+md5=97e17fa05cb638eed5e8e59db431ed3a
+sha256=8daa7618787b3af2218eee9e074f90664bff5676896b997a760f8034383d70d6
+
[http://downloads.sourceforge.net/libexif/libexif-0.6.13.tar.bz2]
md5=1b1e2b495c5aa20c08725f30545a110b
sha256=830802525700e65809afdd56ccdb5cd9950747044ab50666257bbb3d59a82754
+[http://heanet.dl.sourceforge.net/libexif/libexif-0.6.13.tar.bz2]
+md5=1b1e2b495c5aa20c08725f30545a110b
+sha256=830802525700e65809afdd56ccdb5cd9950747044ab50666257bbb3d59a82754
+
[http://downloads.sourceforge.net/libexif/libexif-0.6.16.tar.bz2]
md5=deee153b1ded5a944ea05d041d959eca
sha256=db6885d5e40e3a273ff8bb9708ab739c8ace3c5abdd75509eec8ea31a31aac43
+[http://heanet.dl.sourceforge.net/libexif/libexif-0.6.16.tar.bz2]
+md5=deee153b1ded5a944ea05d041d959eca
+sha256=db6885d5e40e3a273ff8bb9708ab739c8ace3c5abdd75509eec8ea31a31aac43
+
+[http://qa.debian.org/watch/sf.php/libexif/libexif-0.6.16.tar.bz2]
+md5=deee153b1ded5a944ea05d041d959eca
+sha256=db6885d5e40e3a273ff8bb9708ab739c8ace3c5abdd75509eec8ea31a31aac43
+
[http://downloads.sourceforge.net/libexif/libexif-0.6.9.tar.gz]
md5=0aa142335a8a00c32bb6c7dbfe95fc24
sha256=a2f309c702ee72967676d96b1a9d06806d069fde8e88076200cca6479c3d3c38
+[http://heanet.dl.sourceforge.net/libexif/libexif-0.6.9.tar.gz]
+md5=0aa142335a8a00c32bb6c7dbfe95fc24
+sha256=a2f309c702ee72967676d96b1a9d06806d069fde8e88076200cca6479c3d3c38
+
[http://klaus.geekserver.net/libflv/libflv.tar.gz]
md5=5eb6b38393d81f16fb4155fe406e527c
sha256=b53afe2a88fa24bdd53e2a3dd51ab660b89b46b1ba4918735d7331b2e56548d6
@@ -8430,18 +10750,34 @@ sha256=448a4e35a8685b60829d1b51b498e2a6e4107549fd0458fa17dcc801d29d5f72
md5=d8ca3192867c98669bd7d6a41ed26b09
sha256=2cbce6d32c31c53df3e3f6fdd9d74c81b02ca1295598acd56061effa2b299b65
+[http://www.intra2net.com/de/produkte/opensource/ftdi/TGZ/libftdi-0.13.tar.gz]
+md5=7b4a660fd644980f3d45873d156d021a
+sha256=98ceb0a3174564f310c4ff1c021bdca52558bf693003a410cdb95c8388aa11f3
+
[http://www.intra2net.com/de/produkte/opensource/ftdi/TGZ/libftdi-0.8.tar.gz]
md5=0de290c864b64efbd02c265a683478a3
sha256=c0516891d36c6987f7a573dab556630a1e5390b0cb2ef6ffcf177ae018622979
+[http://www.intra2net.com/de/produkte/opensource/ftdi/TGZ/libftdi-0.9.tar.gz]
+md5=6b1bf276ba8d623332083477f91deefd
+sha256=1ffb6284de02c75a2cd6709b6148eac0336cd0297742500da12aedd151838295
+
[http://downloads.sourceforge.net/g15tools/libg15-1.2.1.tar.bz2]
md5=51d42e50ec00315f71be184ba1ddf32b
sha256=fd9468704d55fc6796604380ee63454e954720519f827e5ac563e2144b719155
+[http://heanet.dl.sourceforge.net/g15tools/libg15-1.2.1.tar.bz2]
+md5=51d42e50ec00315f71be184ba1ddf32b
+sha256=fd9468704d55fc6796604380ee63454e954720519f827e5ac563e2144b719155
+
[http://downloads.sourceforge.net/g15tools/libg15render-1.2.tar.bz2]
md5=a5a2a833d098926c3d289aeae452cc53
sha256=d22335af6a17ec44799da82671778d2072499b26c5773ab913d9ba20d159d20f
+[http://heanet.dl.sourceforge.net/g15tools/libg15render-1.2.tar.bz2]
+md5=a5a2a833d098926c3d289aeae452cc53
+sha256=d22335af6a17ec44799da82671778d2072499b26c5773ab913d9ba20d159d20f
+
[http://www.galago-project.org/files/releases/source/libgalago/libgalago-0.3.3.tar.gz]
md5=94d5223445deb1ed95973424d4958386
sha256=148bc83e4ab6e87a6f26b60efdffc1258752a42079783e6f2b080f287e8b15fc
@@ -8482,10 +10818,22 @@ sha256=14d457c3ed1d4751664f7196cbcd20e7db82532025f35634812f0cb7470fc43e
md5=555488ddfc81a6e0df1fb5112e7eee13
sha256=7562042a6210947363bd6a9bbcdd03f8d02470c0347970b507f689d25a907844
+[http://www.geda.seul.org/devel/20050820/libgeda-20050820.tar.gz]
+md5=356182f379af726045a70de3024c7e6d
+sha256=c2fdec2c186c11aac2f941dc238ee89f51412707bd7c952e02faefa70e38d700
+
+[ftp://ftp.gnome.org/pub/GNOME/sources/libgee/0.1/libgee-0.1.2.tar.bz2]
+md5=8e977443e2b4c8f2014cfedd0559bcf3
+sha256=01cb83ef0e765c9856bed79c18a766eed2027f2b2576e8eaa14e02c15c7658fd
+
[http://gpephone.linuxtogo.org/download/gpephone/libgemwidget-0.1/libgemwidget-0.1.tar.bz2]
md5=95d269ad7e7cb7d3032498ad2e47643b
sha256=b8a1da871aa34362caf0c76dcbd3df42aef7313a4ed08f38eddcb159b80302c5
+[http://gpephone.linuxtogo.org/download/gpephone/libgemwidget-1.0/libgemwidget-1.0.tar.bz2]
+md5=37916e6f12bff470fb457ad2d382789b
+sha256=b178c610fbbf2613ed1edeba2a11ed9c1ea042274465b2f3cd0a29cf1c7ebd9c
+
[http://ftp.belnet.be/packages/ggzgamingzone/ggz/0.0.14.1/libggz-0.0.14.1.tar.gz]
md5=603739504648833779aa13b0327a1c3d
sha256=54301052a327f2ff3f2d684c5b1d7920e8601e13f4f8d5f1d170e5a7c9585e85
@@ -8522,6 +10870,10 @@ sha256=868b9320127904a96656a2852b602265f858c8d87116274836b1bdb9e3da5c42
md5=ebef72abd4fbccdad9291378ac625d9a
sha256=24285b0d5d8ba33a900db27e8d2c55ae8bb0a0d5c753d01764978b83f4c70b5e
+[http://heanet.dl.sourceforge.net/libgmail/libgmail-0.1.6.tar.gz]
+md5=7adb94dea0b687eb46da4b36f5712921
+sha256=8c4d31673f51a5e0eae8930f1a2e9c208ff74df33098ed55eb8b1205f587c888
+
[http://ftp.gnome.org/pub/GNOME/sources/libgnome/2.10/libgnome-2.10.1.tar.bz2]
md5=dfb1a9b5fd25da8680a166c83ce0b6a8
sha256=9cf2d20f528470b2fc7995aea314c5898fad654fde265880002de0669b869c27
@@ -8614,6 +10966,10 @@ sha256=552c34d20f30847429e342e6c6ddeece707b69a5abe9aeeafcfeb65cec2eebd7
md5=dbdb274517ad643d9397dd6868788631
sha256=d6eef491e70fcc2c1e5b94f6a8dbb3774443b3b76b1ca5d62bfb5b802df14120
+[http://ftp.gnome.org/pub/GNOME/sources/libgnomeui/2.23/libgnomeui-2.23.90.tar.bz2]
+md5=310ede3d7fd6dbdb0f53bfa7af46f09a
+sha256=1f112ea46c51e063f4085e27b97c88d4e23164eb07056edbbee1a190abe713ec
+
[http://ftp.gnome.org/pub/GNOME/sources/libgnomeui/2.24/libgnomeui-2.24.0.tar.bz2]
md5=7d50e1fc4c1ee3c268b26e8dfe7e677b
sha256=9ecf81d3ad2e1ec0b371d720b37154e8b716af1cd464dbeb06232f8fa4c5e07d
@@ -8630,6 +10986,10 @@ sha256=23425f74f304072f48d295e9d7168a6ecfb44c049074b34b71cfbf1f4d19ec85
md5=009af2f3554caaf547bbc282da0e83c6
sha256=c40ea6d2282503ede882efe85ad526358683c311ea4592d41eaab0725ca75934
+[http://gpephone.linuxtogo.org/download/gpephone/libgpephone-0.4/libgpephone-0.4.tar.bz2]
+md5=fae122bd44d6da9a006f65aedbd6461e
+sha256=cd84dc0e4b903871339e5e097a51d09a76ee9e1495783a47bb5ba81d633810da
+
[http://gpe.linuxtogo.org/download/source/libgpepimc-0.2.tar.gz]
md5=74e36fd1c34dc668801366d5aa11e93e
sha256=19556cc4d3469f61c7b50db7a9979a669af0b03c0c2243441e34a8a5f737fa9d
@@ -8722,22 +11082,42 @@ sha256=aa7df632134dfd3d4e65f5a98edd6bb9a97b498db911f4287bbaeb5ae83a1bad
md5=a201650482bbc2edbd948449cf4d3f5a
sha256=98af9747179c4d284104fc155b624c6cda4e91a554de0a04e6a6878c0e852c63
+[http://heanet.dl.sourceforge.net/gphoto/libgphoto2-2.1.4.tar.bz2]
+md5=a201650482bbc2edbd948449cf4d3f5a
+sha256=98af9747179c4d284104fc155b624c6cda4e91a554de0a04e6a6878c0e852c63
+
[http://downloads.sourceforge.net/gphoto/libgphoto2-2.1.5.tar.gz]
md5=210844f0d88f58842917af6eaff06382
sha256=4691bc87f567eba4938d1465e7a2ddfaf7bdea86629390830111bd03bd227ed5
+[http://heanet.dl.sourceforge.net/gphoto/libgphoto2-2.1.5.tar.gz]
+md5=210844f0d88f58842917af6eaff06382
+sha256=4691bc87f567eba4938d1465e7a2ddfaf7bdea86629390830111bd03bd227ed5
+
[http://downloads.sourceforge.net/gphoto/libgphoto2-2.1.6.tar.gz]
md5=1938cbd9718595fd419907bf2f7c3195
sha256=f80dc7b4b280db736b07089e31aefc8112a47e285e7d0b4f53249630a07fec80
+[http://heanet.dl.sourceforge.net/gphoto/libgphoto2-2.1.6.tar.gz]
+md5=1938cbd9718595fd419907bf2f7c3195
+sha256=f80dc7b4b280db736b07089e31aefc8112a47e285e7d0b4f53249630a07fec80
+
[http://downloads.sourceforge.net/gphoto/libgphoto2-2.4.0.tar.bz2]
md5=a60154772635b693ff08b4f34dea7f61
sha256=0dc26b7a8568dee7634bebbaf9f7d3e3ab9460424e6297a595e41c4fddbbdb79
+[http://heanet.dl.sourceforge.net/gphoto/libgphoto2-2.4.0.tar.bz2]
+md5=a60154772635b693ff08b4f34dea7f61
+sha256=0dc26b7a8568dee7634bebbaf9f7d3e3ab9460424e6297a595e41c4fddbbdb79
+
[http://downloads.sourceforge.net/gphoto/libgphoto2-2.4.2.tar.bz2]
md5=714859617c0b616855f6906280010c5d
sha256=f319655b272186ad76ab73317b7e8c5e3b87d51c1265ce676f02e8c312745226
+[http://heanet.dl.sourceforge.net/gphoto/libgphoto2-2.4.2.tar.bz2]
+md5=714859617c0b616855f6906280010c5d
+sha256=f319655b272186ad76ab73317b7e8c5e3b87d51c1265ce676f02e8c312745226
+
[http://repository.maemo.org/pool/bora/free/source/libgpsbt_0.1-18.tar.gz]
md5=ce884aff8d063f9d51ebf75d899747fa
sha256=495ebd711a63bee4eeaae7f0766323f2070bf30ab9b54f5ac18912baa1b41084
@@ -8802,10 +11182,18 @@ sha256=1964a9fb46e5f57bda75bfc37e19036b32c6a7d57bf13020776dfaaca348920b
md5=fa1c82cd9fd2fafd7ff10d78eb5781c5
sha256=383e0a22a537f653b8d41688277560f95678a042967198085ec7caa1a5cc2f4c
+[http://ftp.gnome.org/pub/GNOME/sources/libgtop/2.23/libgtop-2.23.4.tar.bz2]
+md5=bb37766ba407983a8e055eb4705a1a81
+sha256=7d9b0e68b4e84e7938197c5240023d3b6840026cfc9f83bdab202fbab4029a9b
+
[http://ftp.gnome.org/pub/GNOME/sources/libgtop/2.24/libgtop-2.24.0.tar.bz2]
md5=f0e3584b9157d3425184a9e21e3ac482
sha256=af9643abf15887c9cb501a4dcc6f432ec0896b7087ef8739526f284ed1461a18
+[http://ftp.gnome.org/pub/GNOME/sources/libgweather/2.22/libgweather-2.22.3.tar.bz2]
+md5=151e03d925579241decc92afa4d07182
+sha256=d5a799e1d11cd91865cb716a11de970de97d7ef679684db0a893fc6a65a9acd0
+
[http://ftp.gnome.org/pub/GNOME/sources/libgweather/2.24/libgweather-2.24.0.tar.bz2]
md5=d006328ec5cebc5dbf3a18834db95bba
sha256=0abae1eef7210e4decab7f89ea5b3a012c06859e91923a7212ca50856bffd500
@@ -8818,6 +11206,10 @@ sha256=68dd467cf8bd54283da874af54ac35de58b88444371ea48bb5cef289a0942981
md5=8ec44fda9476391ed372f835d5358fe8
sha256=9505377f6b4d4b657889e8468fca8049c8c2c46c3ddd03bb4eef0e7b2e1bad3b
+[http://kldp.net/frs/download.php/3733/libhangul-0.0.4.tar.gz]
+md5=a32301e03a381917cb2ec836a43a9664
+sha256=939bbcacd49487f830cd9d8bf56f81043f519bb7bfbcfb568fd87bf484120a10
+
[http://repository.maemo.org/pool/maemo4.0/free/source/libh/libhildon/libhildon_1.99.0-1.tar.gz]
md5=0ac69c278bd9f531a93b3c535f7ff145
sha256=67e74666b49b0d17ff16e209196674dc23faa8c45b4f9b2ad33b94ffb6f3be4c
@@ -8830,6 +11222,10 @@ sha256=44a7942eaa7ed7f640b3c3b700289f2363bb7264a7443853bdc0786e92ed6346
md5=204be732181d57af01a35ec5fbe072bf
sha256=f77ecd176be0c470d25431e2f8868bb78179ff1c52f5dd96bb093b13c2718ae2
+[http://repository.maemo.org/pool/maemo4.0/free/source/libh/libhildonfm/libhildonfm_1.9.46.tar.gz]
+md5=2077191776071a94af3194dbeefdab38
+sha256=8df5de457571e93ffd9220b6c45378ffe8742f047d386a3c56e265baeb33607f
+
[http://repository.maemo.org/pool/maemo4.1/free/libh/libhildonfm/libhildonfm_2.0.5.tar.gz]
md5=0196b326a048e4d1a1ac009f71e235ec
sha256=5065b98c01d9cbd4f7c5a769e659ce1f81cf3396f7c6e7af7785215cd18d7910
@@ -8846,6 +11242,10 @@ sha256=b2219de48715579d589705cb7b88af8d3dd3cf18de0fd3d799241720b2384bdf
md5=f02c47001669ef103a22dbde4aa97d2b
sha256=46ad5df524cc74ab728e2a23b4ddc17f2624feb517c2d011b2b32c95ace3ecaf
+[http://repository.maemo.org/pool/maemo4.0/free/source/libh/libhildonmime/libhildonmime_1.10.0-1.tar.gz]
+md5=1ff70dcec31b796602d6fb9bb0c14837
+sha256=65d47c8678689d04c3bede17bde3aefffa0ce5527f72b1a0c5356fa0588b784d
+
[http://archive.ubuntu.com/ubuntu/pool/universe/libh/libhildonmime/libhildonmime_1.9.5-1ubuntu1.tar.gz]
md5=2320b71819d44dc40a974cb67084f2a7
sha256=6815f0a46de672711866b031c09ed8a94e1cbbe193c6a6b5cb72286ff90cfe54
@@ -8858,6 +11258,14 @@ sha256=a1dd25b7b4a8979f1d78596c2c65f062c30b5db794be71508ceb4d662052a8ee
md5=cf829bb82f84728194c64a41e9f1cf32
sha256=10197df9daee806453c5a7e99e538d7eac0421796f2a9ae114d4369d85fcf3af
+[http://gpephone.linuxtogo.org/download/gpephone/libiac-1.0/libiac-1.0.tar.bz2]
+md5=6bb2fd1841d9c1be22edc999970a55a3
+sha256=821290104ef79b6a35a4a7456d50aff0536f66f05a5d6c255e7155d1cacd12b6
+
+[http://heanet.dl.sourceforge.net/freeassociation/libical-0.27.tar.gz]
+md5=87d48321bff08de08794132d60b55d94
+sha256=7f1fa404e5540c880cc747c4a680a89d88b87b10a1c77655f512780fcb0ca5d0
+
[ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.11.tar.gz]
md5=b77a17e4a5a817100ad4b2613935055e
sha256=fbf5b9a63ea6e3abebfabc04506f0e18a2860071031e34ea4ad4f450b8c43d4b
@@ -8866,6 +11274,10 @@ sha256=fbf5b9a63ea6e3abebfabc04506f0e18a2860071031e34ea4ad4f450b8c43d4b
md5=c2be282595751535a618ae0edeb8f648
sha256=a99e244fd78babb95ea3c9a5c88b964994edaa1d15fd8dde5b4067801e23f0cd
+[http://download.tangent.org/libid3-1.1.tar.gz]
+md5=e089e8c8c7276373db0a856c508bd8f9
+sha256=117831ba06b255ede3cc318278108d19db972b6365c3d80d374d8f888f834c98
+
[ftp://ftp.mars.org/pub/mpeg/libid3tag-0.15.0b.tar.gz]
md5=a625307d2cda4f3c609b79c1e3a93d87
sha256=794092368890321ffbb9cb1b260808d732658af093bd0a3e01c9b54c4bd657e5
@@ -8890,6 +11302,10 @@ sha256=1a64895c9a6cdbb5cdfff81f1520541fee28e85fb940d9b0484de656d69ae8f5
md5=7ee7d8c834f1e06093130a86cbb9e79a
sha256=3453c1426fdc06b32bc5f4e7d3ce039ec7f38f0fa4018d505e515099b209dd25
+[http://heanet.dl.sourceforge.net/tapioca-voip/libjingle-0.3.10.tar.gz]
+md5=7ee7d8c834f1e06093130a86cbb9e79a
+sha256=3453c1426fdc06b32bc5f4e7d3ce039ec7f38f0fa4018d505e515099b209dd25
+
[http://xorg.freedesktop.org/releases/individual/lib/liblbxutil-1.0.1.tar.bz2]
md5=b73cbd5bc3cd268722a624a5f1318fde
sha256=94c31c7090106d3a95e2a7c083961efca1321b970118fe103ab06e5d927b7258
@@ -8906,6 +11322,10 @@ sha256=d9ca5d502f8a4a6c146d1f0458ac27c95cc59724caa6d845e24946d299463bc5
md5=2de88389da013488bfd31356523070c0
sha256=14f9690328318d11f9ba13a9356a2c008bdd169b7a817f38cb7f9eb32cf7240e
+[ftp://ftp.nl.debian.org/debian/pool/main/libl/liblockfile/liblockfile_1.06.tar.gz]
+md5=2de88389da013488bfd31356523070c0
+sha256=14f9690328318d11f9ba13a9356a2c008bdd169b7a817f38cb7f9eb32cf7240e
+
[ftp://ftp.mars.org/pub/mpeg/libmad-0.15.0b.tar.gz]
md5=2e4487cdf922a6da2546bad74f643205
sha256=5666a1dec6956a9b9869aacc3b05a10222639651790be3a9c43772890eb49cd6
@@ -8918,6 +11338,14 @@ sha256=bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690
md5=1be543bc30c56fb6bea1d7bf6a64e66c
sha256=bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690
+[http://heanet.dl.sourceforge.net/mad/libmad-0.15.1b.tar.gz]
+md5=1be543bc30c56fb6bea1d7bf6a64e66c
+sha256=bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690
+
+[http://qa.debian.org/watch/sf.php/mad/libmad-0.15.1b.tar.gz]
+md5=1be543bc30c56fb6bea1d7bf6a64e66c
+sha256=bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690
+
[http://projects.o-hand.com/matchbox/sources/libmatchbox/1.2/libmatchbox-1.2.tar.bz2]
md5=cf28ace4e666a8a9875c2397aa1ef9fd
sha256=fc4fd138fe7efcbedd84ac99bb6dd2fa68ac44268c1bfc13712a2f051428a3ae
@@ -8950,6 +11378,10 @@ sha256=58169f20fa59b3f2a41ee39191d6f4ee7a121e63a3aba241e3323952054703fb
md5=465fa15c43bf0091a3810e7702fe143f
sha256=f7054f93c57ba6b758d0e4f47d4d2dd96a7fe487e1157eb70a4d642910275aea
+[http://www.matthew.ath.cx/projects/java/libmatthew-java-0.7.1.tar.gz]
+md5=6a4db221129f230c64a0f937d00bb703
+sha256=003c44be21859d1495c0571e249ce17edd5ac58636f67b6a8bc4f395a6c7e6a2
+
[http://mikmod.raphnet.net/files/libmikmod-3.1.11.tar.gz]
md5=705106da305e8de191549f1e7393185c
sha256=2d7598cd2a8c61c023f27c9c7c1aca8bbfd92aadbee2f98b7a6d421eae35c929
@@ -8958,6 +11390,14 @@ sha256=2d7598cd2a8c61c023f27c9c7c1aca8bbfd92aadbee2f98b7a6d421eae35c929
md5=9f3c740298260d5f88981fc0d51f6f16
sha256=891a2b780306e6ef86e381f459e71a085d4e7f56c970a879d3bf341c01bdfc32
+[http://heanet.dl.sourceforge.net/mikmod/libmikmod-3.1.12.tar.gz]
+md5=9f3c740298260d5f88981fc0d51f6f16
+sha256=891a2b780306e6ef86e381f459e71a085d4e7f56c970a879d3bf341c01bdfc32
+
+[http://qa.debian.org/watch/sf.php/mikmod/libmikmod-3.1.12.tar.gz]
+md5=9f3c740298260d5f88981fc0d51f6f16
+sha256=891a2b780306e6ef86e381f459e71a085d4e7f56c970a879d3bf341c01bdfc32
+
[http://mikmod.raphnet.net/files/libmikmod-3.2.0-beta2.tar.gz]
md5=19fc0879aebd1610813a23bd84726362
sha256=857b66ef04d695f70414188b985e08b04f1f62cc250d72a43d0e0609dfbdba03
@@ -8978,6 +11418,10 @@ sha256=9841831972bebef827348a9f9b0875d8dd0f5079b0f1cb6b8283ceb43befd584
md5=d688ca879c934e9cde8b323cf3025f89
sha256=321c2dc105dfbe61ddde859040c79dec65e4daef8fb44167484d1ce99119c14c
+[http://heanet.dl.sourceforge.net/libmng/libmng-1.0.8.tar.gz]
+md5=d688ca879c934e9cde8b323cf3025f89
+sha256=321c2dc105dfbe61ddde859040c79dec65e4daef8fb44167484d1ce99119c14c
+
[http://downloads.sourceforge.net/modplug-xmms/libmodplug-0.7.tar.gz]
md5=b6e7412f90cdd4a27a2dd3de94909905
sha256=c80da366576501be18a987c28609bd8ffa340ed20fc03249c70c43634f077052
@@ -8986,13 +11430,21 @@ sha256=c80da366576501be18a987c28609bd8ffa340ed20fc03249c70c43634f077052
md5=cea399626e2a074e2a77c8cd98387a48
sha256=ef2269cc4ba5c8574d38321349d76063c6b200857f0c9256ea97e608583e8857
+[http://heanet.dl.sourceforge.net/modplug-xmms/libmodplug-0.8.tar.gz]
+md5=cea399626e2a074e2a77c8cd98387a48
+sha256=ef2269cc4ba5c8574d38321349d76063c6b200857f0c9256ea97e608583e8857
+
+[http://files.musepack.net/source/libmpcdec-1.2.6.tar.bz2]
+md5=7f7a060e83b4278acf4b77d7a7b9d2c0
+sha256=4bd54929a80850754f27b568d7891e1e3e1b8d2f208d371f27d1fda09e6f12a8
+
[http://www2.autistici.org/bakunin/libmrss/libmrss-0.17.2.tar.gz]
md5=54935c6cff42df2f1daada267b701392
sha256=18f0e2df191219c29b47dc12b4b06b5be7eaeef34b3436156547e5a9f4eb51c1
[http://gpephone.linuxtogo.org/download/gpephone/libmsgenabler-1.0/libmsgenabler-1.0.tar.bz2]
-md5=53417c192cff3e32fb1d7b839201a04d
-sha256=8a58b9a9eb8cae0dc15453d7737050a3b241eb1030797f1559b4bbb5aff061e6
+md5=32f04482d3905f05a4f36ac946e7f95d
+sha256=c8568dbd5d3ffa200bf81ffbc7baf94902b41998d5c65455a1fbadce15db9953
[http://ftp.musicbrainz.org/pub/musicbrainz/libmusicbrainz-2.1.2.tar.gz]
md5=88d35af903665fecbdee77eb6d5e6cdd
@@ -9006,14 +11458,34 @@ sha256=e9e3f157c5c75acef702da9b41c17daa7ea7bb8d0952e6c6960f26980497477e
md5=d5e19bb77edd6ea798ce206bd05ccc5f
sha256=c6629c4bed428f9df3f89efc065b2d96f05eba36286532ebe8b8e404022371a0
+[http://ftp.musicbrainz.org/pub/musicbrainz/libmusicbrainz-3.0.1.tar.gz]
+md5=d42110ae548dae1eea73e83b03a1a936
+sha256=243311225a6bdcee065aaabc63334086cdd4298f13def45c7e798201f88d08cc
+
[ftp://ftp.debian.org/debian/pool/main/libn/libnet0/libnet0_1.0.2a.orig.tar.gz]
md5=bf4983ea440542f3ec019cc1bb6ca87d
sha256=cf6bf75d590884fa9d0725d4d86afa93211e29cf0c5f333a60bb4e4eb347dc29
+[ftp://ftp.nl.debian.org/debian/pool/main/libn/libnet0/libnet0_1.0.2a.orig.tar.gz]
+md5=bf4983ea440542f3ec019cc1bb6ca87d
+sha256=cf6bf75d590884fa9d0725d4d86afa93211e29cf0c5f333a60bb4e4eb347dc29
+
[ftp://ftp.debian.org/debian/pool/main/libn/libnet/libnet_1.1.2.1.orig.tar.gz]
md5=be845c41170d72c7db524f3411b50256
sha256=ab01882a3d0556176018c09342cd0731f7cbc8e687795009894c3326942c76ff
+[ftp://ftp.nl.debian.org/debian/pool/main/libn/libnet/libnet_1.1.2.1.orig.tar.gz]
+md5=be845c41170d72c7db524f3411b50256
+sha256=ab01882a3d0556176018c09342cd0731f7cbc8e687795009894c3326942c76ff
+
+[http://www.netfilter.org/projects/libnetfilter_queue/files/libnetfilter_queue-0.0.13.tar.bz2]
+md5=660cbfd3dc8c10bf9b1803cd2b688256
+sha256=1d6b180272befbfb19fedd80b5641354b82d6e719bf3d9ffa2d8287c62046536
+
+[http://www.netfilter.org/projects/libnfnetlink/files/libnfnetlink-0.0.30.tar.bz2]
+md5=7fd3c8ddc03d42fa9f0177a17a38f163
+sha256=a6a336a5b3e063748d93ae910bbf6b2d36ead9f9ecd6011b14325b8814b54bc2
+
[http://www.citi.umich.edu/projects/nfsv4/linux/libnfsidmap/libnfsidmap-0.20.tar.gz]
md5=9233cb77876eb642374a0d2bcaba1170
sha256=c2ae0a07d863536261b8a0562f3f77aa224fa1f413d85d824a765d00e37c5de4
@@ -9022,6 +11494,10 @@ sha256=c2ae0a07d863536261b8a0562f3f77aa224fa1f413d85d824a765d00e37c5de4
md5=9ee6dcdfac97bae6fe611aa27d2594a5
sha256=b0275c914197a53c6ccf631eac756fd37ec6f2d8f09f15757061495cf9be0fcd
+[http://heanet.dl.sourceforge.net/libnids/libnids-1.18.tar.gz]
+md5=9ee6dcdfac97bae6fe611aa27d2594a5
+sha256=b0275c914197a53c6ccf631eac756fd37ec6f2d8f09f15757061495cf9be0fcd
+
[http://people.suug.ch/~tgr/libnl/files/libnl-0.5.0.tar.gz]
md5=c58ec5032f393f569ef7f489436651b3
sha256=89a6b5086987460ddd9b24723f35a3a951ccf2886cabe26bef89b8c53528fec5
@@ -9114,10 +11590,18 @@ sha256=ad2336edd245788a528e55555e92a11bd434360fb7ff092e9edaeafb0442f3ab
md5=6d6b6a75bc8751a7421b5e739c53ef6e
sha256=07128710a699b453dcd7b92e33f2aa8dcbbfe0a657d33040803cdaf0997e442c
+[http://heanet.dl.sourceforge.net/omxil/libomxil-bellagio-0.9.0.tar.gz]
+md5=6d6b6a75bc8751a7421b5e739c53ef6e
+sha256=07128710a699b453dcd7b92e33f2aa8dcbbfe0a657d33040803cdaf0997e442c
+
[http://download.ofb.net/liboop/liboop-1.0.tar.bz2]
md5=88fc8decf99fd75d2af40e0a005fa0d3
sha256=4a973d28466fde0b689099192f9bcd081b129d90b3c5a9815e5ade73052cf8d2
+[http://libopenraw.freedesktop.org/download/libopenraw-0.0.2.tar.gz]
+md5=eae40ecaa92f69d99b27ae3bad8aa8ae
+sha256=2c3f58a4dff1b74ad93da0468d8806207488134d51b2d81947932a1bca8553ae
+
[http://ewi546.ewi.utwente.nl/OE/source/libopensync-0.18.tar.gz]
md5=ce94a69fb7ae7533d1f8828b6402cec8
sha256=f9c803ba28d5deb18d9feb5c7818ce99325b09204b7dc0447798f2f47a657a46
@@ -9134,6 +11618,10 @@ sha256=3394bae1e3bcfe463d139a367ba5ebe73d968df128c871842dcb4965a725d0dc
md5=d8cc7835663566e3626e959d8fb531bf
sha256=c686d27f0818e2d8cc6277ba123c74d7210e70fa2b320c5a828eaaedd598e908
+[http://www.opensync.org/attachment/wiki/download/libopensync-plugin-evolution2-0.22.tar.bz2?format=raw]
+md5=c4419dd2451bd1595fe42fcf96a9ba45
+sha256=2a309178a1aafaa147b792502a241e0036889e2f4153065a10313e7db3c26e65
+
[http://opensync.org/download/releases/0.36/libopensync-plugin-evolution2-0.36.tar.bz2]
md5=ed3aca114a81ad8cc543b3dd68af657a
sha256=19f1a24d54daec7b6e1321548799e500893b8aebe6dda995dc8eb162f77932c2
@@ -9142,6 +11630,10 @@ sha256=19f1a24d54daec7b6e1321548799e500893b8aebe6dda995dc8eb162f77932c2
md5=a9ffd002169406fb31eee885c9742c26
sha256=c03ad432d46e8f562ad4eaa08972c5bd229fdc45e5c01ac9af094cbfc38cdf59
+[http://www.opensync.org/attachment/wiki/download/libopensync-plugin-file-0.22.tar.bz2?format=raw]
+md5=d600836ab5182751d07ea42c6b997eb4
+sha256=52231306a388f7ad49b273e0a90e3320811cfcad6c222669d05fe92e4c157825
+
[http://opensync.org/download/releases/0.36/libopensync-plugin-file-0.36.tar.bz2]
md5=785a79d70e3d6e0637c7f21b2a09987c
sha256=932726d69b398686b9d6a1e2afd53c537c03ae8a476df1b8b00ba1f8b4abbf44
@@ -9158,6 +11650,10 @@ sha256=218e8d5194d866109db3419c66d071cdbd319446288e7012ed135d4a6b8a3762
md5=52f86db50d653f5af0adefeb76cf9a31
sha256=db7250647b86dc8d0bd45c73d454d73ca182c88f6ffe2ccf1760f40be81080f2
+[http://www.opensync.org/attachment/wiki/download/libopensync-plugin-irmc-0.22.tar.bz2?format=raw]
+md5=ecec872b2bccd824b1c5cbb2ec1d5399
+sha256=4bed935f596bd5ae11f6263a97e3cd25029a911f7e476e9b8f11b8036d89a0f6
+
[http://opensync.org/download/releases/0.36/libopensync-plugin-irmc-0.36.tar.bz2]
md5=21f9789fa41c2f06c547a17bc13c6081
sha256=f7ccff0bc136d3aa21ab961f31414f4856a94e9f1a1b17c44c8ec33b67ace4ac
@@ -9190,6 +11686,10 @@ sha256=b67c0218b7cd2d521783bf055b13c598bd04b623cbf4adbb3cc76bd3ac57dc5d
md5=40ee3ec89030f0d6dfdb2cf6100e6685
sha256=4e13febd65a2f8f18cb55151cd10f5f0888bf1e7dc2a4c0d54f39f170255de1c
+[ftp://ftp.gnu.org/gnu/osip/libosip2-3.1.0.tar.gz]
+md5=7eb305608256ac2a7a27b66ce52627c8
+sha256=245911a9a48bbe868c4518faf86191f6568fb99d9967d368164a17a83671e8fb
+
[http://repository.maemo.org/pool/bora/free/source/libosso-gsf_1.11.10.4-1.tar.gz]
md5=4c5b31154943108ba0fecf00c8af9f3c
sha256=687f46d5d5eb5ced18534f3cfcfdd82db6b25679437602f1519cae48d019b55d
@@ -9198,6 +11698,10 @@ sha256=687f46d5d5eb5ced18534f3cfcfdd82db6b25679437602f1519cae48d019b55d
md5=4c5b31154943108ba0fecf00c8af9f3c
sha256=687f46d5d5eb5ced18534f3cfcfdd82db6b25679437602f1519cae48d019b55d
+[http://repository.maemo.org/pool/maemo4.0/free/source/libo/libosso-gsf_1.11.10.4-1.tar.gz]
+md5=4c5b31154943108ba0fecf00c8af9f3c
+sha256=687f46d5d5eb5ced18534f3cfcfdd82db6b25679437602f1519cae48d019b55d
+
[http://repository.maemo.org/pool/maemo/ossw/source/libo/libosso-help/libosso-help_1.0.01.tar.gz]
md5=dbc3c68809e39bd6681aab8ad16ffe3c
sha256=ef6f6fda31dfbf7b3186b6f1d0ffd12ee0675d9a057ad2994f81b5164213a693
@@ -9270,6 +11774,10 @@ sha256=e4ad16bd198722ba4ea41be77b17fe1c2b6e60de7a96fc4aac6a7b20f3fa448d
md5=2287cfaad53a714acdf6eb75a7c1d15f
sha256=7d06103ce32bffa39730d1c12c4b4dcfd50a8f1c18d2462807cfe7c0c3ca0e64
+[http://heanet.dl.sourceforge.net/libpng/libpng-1.2.12.tar.bz2]
+md5=2287cfaad53a714acdf6eb75a7c1d15f
+sha256=7d06103ce32bffa39730d1c12c4b4dcfd50a8f1c18d2462807cfe7c0c3ca0e64
+
[http://downloads.sourceforge.net/libpng/libpng-1.2.16.tar.bz2]
md5=7a1ca4f49bcffdec60d50f48460642bd
sha256=3a14200862cf4fe59fd66340364537d9973b032b7831b7fe33eb827baebc0019
@@ -9278,6 +11786,10 @@ sha256=3a14200862cf4fe59fd66340364537d9973b032b7831b7fe33eb827baebc0019
md5=8c186d9da3d011e2c3076b28f9c6be7b
sha256=f5e1037be2cb2a47a7f50181a42fac289a662e78d0ec4c68971f557d5451b8c2
+[http://heanet.dl.sourceforge.net/libpng/libpng-1.2.20.tar.bz2]
+md5=8c186d9da3d011e2c3076b28f9c6be7b
+sha256=f5e1037be2cb2a47a7f50181a42fac289a662e78d0ec4c68971f557d5451b8c2
+
[http://downloads.sourceforge.net/libpng/libpng-1.2.24.tar.bz2]
md5=1e676c5cc7dfa4ef78affe8fb8f1011d
sha256=502bbf08f55dc5a3fed9740881930e3b98230004b9f09f6d14f01736d5c4a04d
@@ -9286,6 +11798,10 @@ sha256=502bbf08f55dc5a3fed9740881930e3b98230004b9f09f6d14f01736d5c4a04d
md5=78d2f8c4e0d64f8948819563587302d3
sha256=24b354dcd8843274a20e1625e04d618d43f9851082254cb9dae6f33f15c2a5cd
+[http://heanet.dl.sourceforge.net/libpng/libpng-1.2.31.tar.bz2]
+md5=78d2f8c4e0d64f8948819563587302d3
+sha256=24b354dcd8843274a20e1625e04d618d43f9851082254cb9dae6f33f15c2a5cd
+
[http://qa.debian.org/watch/sf.php/libpng/libpng-1.2.31.tar.bz2]
md5=78d2f8c4e0d64f8948819563587302d3
sha256=24b354dcd8843274a20e1625e04d618d43f9851082254cb9dae6f33f15c2a5cd
@@ -9302,6 +11818,14 @@ sha256=004dae11e11598584939d66d26a5ab9b48d08a00ca2d00ae8d38ee3ac7a15d65
md5=a9e90187c1dc183f497bcae34718e415
sha256=6fb70d0b8f410f05988e1f3a3e8c86990c3e84c9958041803e6d0658faae91ea
+[http://gpephone.linuxtogo.org/download/gpephone/librecord-1.0/librecord-1.0.tar.bz2]
+md5=a487a98a40d64b9f6ee118b10b9cb97a
+sha256=7cadb398c106ba8df3b297e345ab1db750ad058c6c2e78b184f18a7f685bf8ef
+
+[http://gpephone.linuxtogo.org/download/gpephone/librecord2-0.1/librecord2-0.1.tar.bz2]
+md5=782dc4ea50518d5dfce4b47a7c9b56b6
+sha256=7131cf051d6a98d29358ea56a60db3d8e104bf97d9e9473622cc3523391839e5
+
[http://gpe.linuxtogo.org/download/source/librewrite-0.1.tar.bz2]
md5=f25a9f8aefde5e2bf0dc5c8318020a00
sha256=3a892543df587f645911289af7fead594bb161913ce04619360f25cb3adeefad
@@ -9338,6 +11862,10 @@ sha256=33a5ae2cf0a4056d46f0f09d4bd464ccfa7fa8768a1f03833e2fad5081b9bba2
md5=24cdb6b78f45e0e83766903fd4f6bc84
sha256=6633e4605662763a03bb6388529cbdfd3b11a9ec55b8845351c1bd9a92bc41d6
+[http://heanet.dl.sourceforge.net/librsync/librsync-0.9.7.tar.gz]
+md5=24cdb6b78f45e0e83766903fd4f6bc84
+sha256=6633e4605662763a03bb6388529cbdfd3b11a9ec55b8845351c1bd9a92bc41d6
+
[http://www.mega-nerd.com/SRC/libsamplerate-0.1.2.tar.gz]
md5=06861c2c6b8e5273c9b80cf736b9fd0e
sha256=98b8766323c78b7b718dfd4ef6b9292bbf0796b742abb2319b8278cbeee731d4
@@ -9358,6 +11886,14 @@ sha256=a33977201ff13a4c08d3a74de0fcdbe7f072e4a92a261d5f39fbf16aab069050
md5=ba3a1063a9e8cd5a730b3871e468c227
sha256=802c72f5f11d60f5cb75ef8acc116c5ab0600e3bc099fc5accf8a997e463b374
+[http://heanet.dl.sourceforge.net/libserial/libserial-0.5.2.tar.gz]
+md5=7a3766e354c31513ff6d7859a4b2c1b8
+sha256=898012c30596bba605cdee76a80dd6a7a42506cc04d0137e23e2c40681573f03
+
+[http://gpephone.linuxtogo.org/download/gpephone/libsettings-0.3/libsettings-0.3.tar.gz]
+md5=9219923ee3f4d465757f23ac0c2be584
+sha256=01c4d4bcf893be8f86007280f231985117c16faf15a007bd6ec41624463abf6b
+
[http://releases.chipx86.com/libsexy/libsexy/libsexy-0.1.10.tar.gz]
md5=c009b0c89e5cf91dba17261f4cccfc4c
sha256=e7720307f3fafb210963b6d91c608f25ae2088880260b3e39508c27aab13a3a0
@@ -9390,10 +11926,18 @@ sha256=a6b13f25e5e6b91ad490fe9e8afac22c484f372e4e245d397a813ea6563abdb3
md5=d0d1ffcae0eced97ef4f17ce0ba81352
sha256=dcd6d3ea9a2c185b5286f80eefe9ac1402036b8fa21cfc742442d99579bd2b3e
+[http://heanet.dl.sourceforge.net/libsigc/libsigc++-1.2.5.tar.gz]
+md5=d0d1ffcae0eced97ef4f17ce0ba81352
+sha256=dcd6d3ea9a2c185b5286f80eefe9ac1402036b8fa21cfc742442d99579bd2b3e
+
[http://ftp.gnome.org/pub/GNOME/sources/libsigc++/1.2/libsigc++-1.2.7.tar.bz2]
md5=212f48536019e1f003d2509b4c9b36df
sha256=d9163d90e259bfde9164c7b218475a7664a7907a1b3197f17bc1035f36112225
+[ftp://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.0/libsigc++-2.0.17.tar.gz]
+md5=556c5f66c58ef02906e22ab199c35222
+sha256=2023cabe7a502232177c9bdca574e3ad97bd81d2a7badbb427f561e1703ae7db
+
[ftp://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.0/libsigc++-2.0.6.tar.gz]
md5=9eab84e54790093be3aa93fb4163c4b9
sha256=25d21557dccebbed2c7ff704fded0399194164d0a5e318791b4594a7db1cfa6b
@@ -9406,6 +11950,10 @@ sha256=53258864f9fc951c26b491bbc958ebccf4b1cc287cd71209e86e5aff67d0f12e
md5=02e78c3cfbdb4be285d97653e563f65a
sha256=bd55717374674ed69de46c13b52aaba0420d5c68582cac34d863e44f6f1d560e
+[http://heanet.dl.sourceforge.net/libsigcx/libsigcx-0.6.4.tar.gz]
+md5=02e78c3cfbdb4be285d97653e563f65a
+sha256=bd55717374674ed69de46c13b52aaba0420d5c68582cac34d863e44f6f1d560e
+
[http://www.mega-nerd.com/libsndfile/libsndfile-1.0.16.tar.gz]
md5=773b6639672d39b6342030c7fd1e9719
sha256=79e305112a4d9598b93b614a7747604f9ef10d9a2dee52c5903b554bbeaedd7c
@@ -9422,6 +11970,10 @@ sha256=13447233b19f7a9d4e14b362f28f1dbe4bb6652bdc182bba974234b0bc15e791
md5=5a36bc38b8b70a0951fb3acc479503f5
sha256=d74ed600fab1bf5bab86a4815a5170157607317030bd9316e587486e29e815f8
+[http://gpe.linuxtogo.org/download/source/libsoundgen-0.5.tar.bz2]
+md5=de41eed3de2bb441969db8254dc0c889
+sha256=08bc3bf18fdd5b27eb554e3cb0c2f0c2805f470909f21a09df26bc8fb8732fd7
+
[http://gpe.linuxtogo.org/download/source/libsoundgen-0.6.tar.bz2]
md5=ce7e2c206c612e2dd09ec42e1179c9a7
sha256=b4d9050bf46dab0f2f3a47911eac255c08159ab3965f5f10c4ab4e903eee1e31
@@ -9462,6 +12014,10 @@ sha256=6b498c1070e17f665625dc3e5113e8af55da5ce3d4d5abf0ae3fec344b8208d4
md5=e6505bdff9048bf61533c00caf48d553
sha256=8451c7182a99f0f4a88b3c19234c5182689f91444c50fcb510452b5e5b8a7805
+[http://heanet.dl.sourceforge.net/libspiff/libspiff-0.8.2.tar.bz2]
+md5=e6505bdff9048bf61533c00caf48d553
+sha256=8451c7182a99f0f4a88b3c19234c5182689f91444c50fcb510452b5e5b8a7805
+
[http://downloads.sourceforge.net/libspiff/libspiff-0.8.3.tar.bz2]
md5=0f989402e5edcbd84c456be56c856f25
sha256=8b4ebd22dcfa7511109c2f6fa9e304c2ef3acaa492d55423cdf9a6f54a2fdb22
@@ -9470,6 +12026,14 @@ sha256=8b4ebd22dcfa7511109c2f6fa9e304c2ef3acaa492d55423cdf9a6f54a2fdb22
md5=ad703c4702646c83ca4fcace92c220d3
sha256=94ca32ac10615a7c0ba19180e67f2e40e2bfa4cc8de6ceb2a3a54d2dd83141cb
+[http://snowball.tartarus.org/dist/libstemmer_c.tgz]
+md5=8358a9ddaaffeeca7cb00725770f7cdb
+sha256=f3e93a41ad76e91f08e3115fa5065df8b69fd3f2dbdd9e982ae890b892ac6477
+
+[http://www.etla.net/libstroke/libstroke-0.5.1.tar.gz]
+md5=51b9a4e309ac15cfcab96191eed03cb2
+sha256=0da9f5fde66feaf6697ba069baced8fb3772c3ddc609f39861f92788f5c7772d
+
[http://cairographics.org/snapshots/libsvg-0.1.4.tar.gz]
md5=ce0715e3013f78506795fba16e8455d3
sha256=4c3bf9292e676a72b12338691be64d0f38cd7f2ea5e8b67fbbf45f1ed404bc8f
@@ -9490,10 +12054,18 @@ sha256=2be78a947bdbfd24aa4f35ae97d2b7bafa60162c5e824cf3dd085b40eddee8ff
md5=d524b18c1eafe5805f83e29c01a91b66
sha256=818740eb5df3cf7913ab7e7979874ccf403831744c89efa4ebaf74c7e2c090bc
+[http://telepathy.freedesktop.org/releases/libtelepathy/libtelepathy-0.0.53.tar.gz]
+md5=015611ff5cbd3b3718fcb49adc47bd13
+sha256=dfc90b2c92bc313c67d80611945823799581b5b4eb5758d6d77846d4e22666de
+
[http://telepathy.freedesktop.org/releases/libtelepathy/libtelepathy-0.0.55.tar.gz]
md5=2cbbbeaf97c154a7fb9b088b95deb70e
sha256=53e8740a3a36ece8078b371b95c79646dc69f0ad3ee2665e5fb659412c0baf35
+[http://telepathy.freedesktop.org/releases/libtelepathy/libtelepathy-0.2.0.tar.gz]
+md5=a2083338ed480fd507925e00a93fd96b
+sha256=c33ef2820ea954aa2aa6d048f4540aa75f09cfc4c7915558d736dcedc1b8fa07
+
[http://telepathy.freedesktop.org/releases/libtelepathy/libtelepathy-0.3.1.tar.gz]
md5=594e9999483cdd5cd913b6ea8cf9b076
sha256=413ac7973fb4a353d98079b4ace1adaa8dcf8ce858113544c1ddb45660441b91
@@ -9510,14 +12082,38 @@ sha256=f5c7730ded0273a8615b12b46a32b800bbcb9e861e3a18aa92b1c062981a2fef
md5=354675bfbd881082a9447efde9935226
sha256=1c091859f09d5a38c76f0d64a93db46aa2b5d637c8a7370d348f21e7be324c37
+[http://heanet.dl.sourceforge.net/tilp/libticables-3.9.2.tar.gz]
+md5=354675bfbd881082a9447efde9935226
+sha256=1c091859f09d5a38c76f0d64a93db46aa2b5d637c8a7370d348f21e7be324c37
+
[http://downloads.sourceforge.net/tilp/libticalcs-4.5.9.tar.gz]
md5=8e93f2a4f4e67a9558d97166b4a4155f
sha256=d9bc0f2f19eb8d21d8319a40dd85c2b1ef45a01499187a424a50173bbdd4ff12
+[http://heanet.dl.sourceforge.net/tilp/libticalcs-4.5.9.tar.gz]
+md5=8e93f2a4f4e67a9558d97166b4a4155f
+sha256=d9bc0f2f19eb8d21d8319a40dd85c2b1ef45a01499187a424a50173bbdd4ff12
+
[http://downloads.sourceforge.net/tilp/libtifiles-0.6.5.tar.gz]
md5=cfac4188328b888e80995f0ef3f6e0bf
sha256=2216944bee1bafe60bf64ec01f6b8cd27ed9adfd2d1a185b43617d6e80d8b2c8
+[http://heanet.dl.sourceforge.net/tilp/libtifiles-0.6.5.tar.gz]
+md5=cfac4188328b888e80995f0ef3f6e0bf
+sha256=2216944bee1bafe60bf64ec01f6b8cd27ed9adfd2d1a185b43617d6e80d8b2c8
+
+[http://tinymail.org/files/releases/pre-releases/v0.0.1/libtinymail-0.0.1.tar.bz2]
+md5=fea9081686f1157157fd2b0e68b9aeee
+sha256=40bc855073422f893a919896a915e1f3d98f24a269c4c38be0072ad76feb5ca4
+
+[http://tinymail.org/files/releases/pre-releases/v0.0.3/libtinymail-0.0.3.tar.bz2]
+md5=de3fd5f8c838ba9c876783d21ebf43bb
+sha256=e234d314f0bdfcc54f52111519624fcd3d1ff37a267c39848b5de7a272367976
+
+[http://tinymail.org/files/releases/pre-releases/v0.0.5/libtinymail-0.0.5.tar.bz2]
+md5=8c8d1f7378734231fd0458569346b9d4
+sha256=9269060f1a8c36c66748520a44d6ffc5059ae736de1e282bb8b6fd65d7890813
+
[http://gpe.linuxtogo.org/download/source/libtododb-0.07.tar.gz]
md5=5df2e1f7564d066dce6ec24344605528
sha256=bc3fb1a20ec97149f6e81285a22bdc48fea9c4fbc9abad6919b87ce2f44acbc3
@@ -9546,10 +12142,18 @@ sha256=de00404262d5601edd953d2c83adc8e4897c2a34dfa2d8248f521136c266cc52
md5=e2093a85f6d48f1562c36920087502d6
sha256=6524e6d7a4adbda7fcda27ecd7b08bbeab88ad59d81bc6b166c617530f3dee1a
+[ftp://ftp.gnu.org/gnu/libtool/libtool-1.5.22.tar.gz]
+md5=8e0ac9797b62ba4dcc8a2fb7936412b0
+sha256=88e9ffaaade21c1ddaf6297723dd2fb4ca18ccaef0499a28b6e672f02c8ceb5d
+
[ftp://ftp.gnu.org/gnu/libtool/libtool-1.5.24.tar.gz]
md5=d0071c890101fcf4f2be8934a37841b0
sha256=1e54016a76e9704f11eccf9bb73e2faa0699f002b00b6630df82b8882ff2e5b2
+[ftp://ftp.gnu.org/gnu/libtool/libtool-1.5.6.tar.gz]
+md5=f9b709f4ac6d094afdee9cdbe1c6ffe7
+sha256=eb95567b78f00208c4932b8ea2f157059db9b58efcec515fa62c5bcb95670f04
+
[ftp://ftp.gnu.org/gnu/libtool/libtool-2.2.2.tar.gz]
md5=9281a5f1976da110be872b1ba048d8ac
sha256=c3963d969e13588fb142001d5a81c07962dc2ce7c03e2f4f551a29760e844a10
@@ -9566,6 +12170,10 @@ sha256=eb6b8f8272c5a5cad0c7c6b949aa75632f45c295f09b2e1e90b6bce15b32b796
md5=76c818b095248ea9e4b140fff4e2fa2a
sha256=3287c9be61f9ec8ddab99f9b679bbf58610d024bce980307f88151a552ecd1e3
+[http://libtorrent.rakshasa.no/downloads/libtorrent-0.12.3.tar.gz]
+md5=db7c7a2236c2f6af5e02cf3e9384eb67
+sha256=6044618e37c2925615a08517e8b69ef84147ef5287a222fc451968b36a0a9be7
+
[http://downloads.sourceforge.net/giflib/libungif-4.1.3.tar.bz2]
md5=8c198831cc0495596c78134b8849e9ad
sha256=59e835a57e6df03e4d2253b2357253f3d13da9473ff465563a3b9833a744fc36
@@ -9574,22 +12182,42 @@ sha256=59e835a57e6df03e4d2253b2357253f3d13da9473ff465563a3b9833a744fc36
md5=8c198831cc0495596c78134b8849e9ad
sha256=59e835a57e6df03e4d2253b2357253f3d13da9473ff465563a3b9833a744fc36
+[http://heanet.dl.sourceforge.net/giflib/libungif-4.1.3.tar.bz2]
+md5=8c198831cc0495596c78134b8849e9ad
+sha256=59e835a57e6df03e4d2253b2357253f3d13da9473ff465563a3b9833a744fc36
+
[http://downloads.sourceforge.net/upnp/libupnp-1.3.1.tar.gz]
md5=6646be5e31e58188e8f47c6ce64faa4c
sha256=4d0d6a5302222757fb36ee21d8f8e1b3de849c2de658ab1105272f32ff78767d
+[http://heanet.dl.sourceforge.net/upnp/libupnp-1.3.1.tar.gz]
+md5=6646be5e31e58188e8f47c6ce64faa4c
+sha256=4d0d6a5302222757fb36ee21d8f8e1b3de849c2de658ab1105272f32ff78767d
+
[http://downloads.sourceforge.net/pupnp/libupnp-1.6.5.tar.bz2]
md5=2b0370e7c405a5bc80880085e6d7d827
sha256=95b11e2db04c2e714c2f4fb05d9d31351d3388dababd4e1dd5300f4b0d5e8767
+[http://heanet.dl.sourceforge.net/pupnp/libupnp-1.6.5.tar.bz2]
+md5=2b0370e7c405a5bc80880085e6d7d827
+sha256=95b11e2db04c2e714c2f4fb05d9d31351d3388dababd4e1dd5300f4b0d5e8767
+
[http://downloads.sourceforge.net/libusb/libusb-0.1.10a.tar.gz]
md5=c6062b29acd2cef414bcc34e0decbdd1
sha256=2f0ed0261074beaa6e060f9539c54017a3f3b4d2b272311e6cf60ba09c4aeadc
+[http://heanet.dl.sourceforge.net/libusb/libusb-0.1.10a.tar.gz]
+md5=c6062b29acd2cef414bcc34e0decbdd1
+sha256=2f0ed0261074beaa6e060f9539c54017a3f3b4d2b272311e6cf60ba09c4aeadc
+
[http://downloads.sourceforge.net/libusb/libusb-0.1.12.tar.gz]
md5=caf182cbc7565dac0fd72155919672e6
sha256=37f6f7d9de74196eb5fc0bbe0aea9b5c939de7f500acba3af6fd643f3b538b44
+[http://heanet.dl.sourceforge.net/libusb/libusb-0.1.12.tar.gz]
+md5=caf182cbc7565dac0fd72155919672e6
+sha256=37f6f7d9de74196eb5fc0bbe0aea9b5c939de7f500acba3af6fd643f3b538b44
+
[http://downloads.sourceforge.net/libusb/libusb-0.9.0.tar.bz2]
md5=a23f06379e05f04a77aec1c1428082a0
sha256=49aaecc7b8ff57903801745ad56e918b25df8a3839cff526c8a210c5cf5a2995
@@ -9598,6 +12226,14 @@ sha256=49aaecc7b8ff57903801745ad56e918b25df8a3839cff526c8a210c5cf5a2995
md5=f28e7ae610147a057e481bc731749bc5
sha256=d112f79489d5deabc0cbb48c6192353d488d9e62c28752eda091f585f2e41176
+[http://heanet.dl.sourceforge.net/libusb/libusb-0.9.2.tar.bz2]
+md5=f28e7ae610147a057e481bc731749bc5
+sha256=d112f79489d5deabc0cbb48c6192353d488d9e62c28752eda091f585f2e41176
+
+[http://qa.debian.org/watch/sf.php/libusb/libusb-0.9.2.tar.bz2]
+md5=f28e7ae610147a057e481bc731749bc5
+sha256=d112f79489d5deabc0cbb48c6192353d488d9e62c28752eda091f585f2e41176
+
[http://downloads.sourceforge.net/libusb/libusb-compat-0.1.0-beta1.tar.bz2]
md5=3d9f7c3966d24c6e2d58becac96e4e27
sha256=9365108d71cecb78055de4df6eeb2fadf0fe9143ef105bcb6934dcf391983a49
@@ -9606,14 +12242,34 @@ sha256=9365108d71cecb78055de4df6eeb2fadf0fe9143ef105bcb6934dcf391983a49
md5=1fd5b9457e662531a48993191c1dfb64
sha256=4ab03b0d1d41db6a5c4e10c6dd819ad90876e712fd66a2de2b824a2fd3ce7dee
+[http://heanet.dl.sourceforge.net/libusb/libusb-compat-0.1.0-beta2.tar.bz2]
+md5=1fd5b9457e662531a48993191c1dfb64
+sha256=4ab03b0d1d41db6a5c4e10c6dd819ad90876e712fd66a2de2b824a2fd3ce7dee
+
+[http://qa.debian.org/watch/sf.php/libusb/libusb-compat-0.1.0-beta2.tar.bz2]
+md5=1fd5b9457e662531a48993191c1dfb64
+sha256=4ab03b0d1d41db6a5c4e10c6dd819ad90876e712fd66a2de2b824a2fd3ce7dee
+
[http://downloads.sourceforge.net/libvisual/libvisual-0.1.3.tar.gz]
md5=e70e91d2e90831c0eb78944b6a9605ef
sha256=fc04f2f2bae4b3eef7eb331330e2e3fd336d1894dbf4cae631c8b635622cdd52
+[http://heanet.dl.sourceforge.net/libvisual/libvisual-0.1.3.tar.gz]
+md5=e70e91d2e90831c0eb78944b6a9605ef
+sha256=fc04f2f2bae4b3eef7eb331330e2e3fd336d1894dbf4cae631c8b635622cdd52
+
+[http://heanet.dl.sourceforge.net/libvisual/libvisual-0.4.0.tar.gz]
+md5=f4e78547c79ea8a8ad111cf8b85011bb
+sha256=0b4dfdb87125e129567752089e3c8b54cefed601eef169d2533d8659da8dc1d7
+
[http://downloads.sourceforge.net/libvisual/libvisual-plugins-0.1.3.tar.gz]
md5=9c3012e7a648540ac8c7053a0801830f
sha256=7f681c64c5940a757a636281915d170d715fc4936e294052957f635ea1af0d67
+[http://heanet.dl.sourceforge.net/libvisual/libvisual-plugins-0.1.3.tar.gz]
+md5=9c3012e7a648540ac8c7053a0801830f
+sha256=7f681c64c5940a757a636281915d170d715fc4936e294052957f635ea1af0d67
+
[http://gpephone.linuxtogo.org/download/gpephone/libvocenabler-0.1/libvocenabler-0.1.tar.gz]
md5=536cd97488c0882913c097a833cb2ca2
sha256=748a9a5a1b2e6bf1db4cc767742acf58d836e551e56a493bd34ad759d3bb4f53
@@ -9638,6 +12294,10 @@ sha256=e881c527398904f450f3983dcebb71094b5f558f823fe57d0af5a4c1fa6f6f7f
md5=cb2da2795f517c713ec98560d078a102
sha256=ce959b7349de056205e992b05c9c914994bc269d2b1d02de85eacd398263aab6
+[http://ftp.gnome.org/pub/GNOME/sources/libwnck/2.23/libwnck-2.23.6.tar.bz2]
+md5=9c6d134dc1d454b4c5a717638caa56c6
+sha256=ea7945a131b67d4cf6bd02e41b0008d6aa1575d1aed75a0019d3c63cb61d07ea
+
[http://ftp.gnome.org/pub/GNOME/sources/libwnck/2.24/libwnck-2.24.0.tar.bz2]
md5=860cd0ddce03c41a328e580d4efd4654
sha256=8cf49cf1d882ceb0b7b3a984ec350e5e2e4d608fec97911a0b0acf36a18d4df4
@@ -9650,14 +12310,26 @@ sha256=e9d15538a0bb97f6a440b23a5b372c41387773065dac69cab9fd1dc1d22a432b
md5=64d66018897d759358f454010b6e75d2
sha256=01744fa637ad16a8ffaefb1aa7b9b42a56e92f0a2a18753f6720a85aa289d4eb
+[http://heanet.dl.sourceforge.net/libwpd/libwpd-0.8.14.tar.gz]
+md5=64d66018897d759358f454010b6e75d2
+sha256=01744fa637ad16a8ffaefb1aa7b9b42a56e92f0a2a18753f6720a85aa289d4eb
+
[http://downloads.sourceforge.net/libwpd/libwpd-0.8.4.tar.gz]
md5=0461d4bf2da534b4bed041b67d7f7064
sha256=b6393088bf6c49b72a07d2aec7d84d14f6cab0ab00ad177c17157f03095f2096
+[http://heanet.dl.sourceforge.net/libwpd/libwpd-0.8.4.tar.gz]
+md5=0461d4bf2da534b4bed041b67d7f7064
+sha256=b6393088bf6c49b72a07d2aec7d84d14f6cab0ab00ad177c17157f03095f2096
+
[http://downloads.sourceforge.net/libwpd/libwpd-0.8.6.tar.gz]
md5=464a390c66511831821de81b887d3e61
sha256=05a67a8b8d907ebcbac0e8505fc59fc50731ba9f73b8c177898ce41d0575bb17
+[http://heanet.dl.sourceforge.net/libwpd/libwpd-0.8.6.tar.gz]
+md5=464a390c66511831821de81b887d3e61
+sha256=05a67a8b8d907ebcbac0e8505fc59fc50731ba9f73b8c177898ce41d0575bb17
+
[http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-perl-5.808.tar.gz]
md5=72120d9195ab1649c2d787eb1102a90c
sha256=22e0778a16bb9ac0526efc99f7e03265e19ca5844aee7540f3f47a643ad5b9e4
@@ -9842,10 +12514,18 @@ sha256=cba8ac22d77bbf8f6ed4a98933242b89ee2426cbc216f54415eafcac1274547a
md5=fc1d3add18afbb8e61b8277b89c525c6
sha256=cfde4a06df9fb4f26f8629d4ed3320ea813ba05a25217ec4ff55bbe5da04f504
+[http://heanet.dl.sourceforge.net/lineak/lineakd-0.8.3.tar.gz]
+md5=fc1d3add18afbb8e61b8277b89c525c6
+sha256=cfde4a06df9fb4f26f8629d4ed3320ea813ba05a25217ec4ff55bbe5da04f504
+
[http://links.twibright.com/download/links-2.1pre26.tar.bz2]
md5=841af2540c789e254b8465e07e24c684
sha256=c89f10d42be2a0be8a017e1084897b1aabc5bca76817e9dab43b758dff051c56
+[http://links.twibright.com/download/links-2.1pre30.tar.bz2]
+md5=f0f107cc824b71e43f0c6ab620209daf
+sha256=f32314d851e86ec463967ddce78d051e3953b529878cbaeecf882c625ad29c75
+
[http://www.xora.org.uk/oe/links2.png]
md5=477e8787927c634614bac01b44355a33
sha256=eddcd8b8c8698aa621d1a453943892d77b72ed492e0d14e0dbac5c6a57e52f47
@@ -9858,6 +12538,10 @@ sha256=460d29f603864281bef60a919e79d84d5477ac14e930da446e765d17f2706a6c
md5=86c01dbbcdb41786229f51ec0994ff67
sha256=02b7d27564cb06f56f7fb14cd4a4eb60093c441decfec9b475d892518a5509a1
+[http://download.savannah.nongnu.org/releases/linphone/unstable/source/linphone-1.3.99.8.tar.gz]
+md5=5e87231bc214a003a7d2c3a998ea6a8e
+sha256=6855707d72e64ebdec3907fbaaa5d031255cb4b1118159d4b59f26b3704b6929
+
[http://download.savannah.nongnu.org/releases/linphone/1.5.x/source/linphone-1.5.0.tar.gz]
md5=e9b01b74a3bb989aa5859d06e56162bd
sha256=8178dcf9552bf34cbb7098bbe6168fa1780232dbb649a2d1642eda18c87fa06f
@@ -10054,26 +12738,38 @@ sha256=97004d6cefd1b5c5f37efc1603e4103f9a809d79f8cc0faf2397fa882cdd6ee6
md5=b2b0ffd11d27c72a9c01b8a9ef3832b7
sha256=9dbd0f6c92b33ae8b96c5a045a341a00b2454492c2229839d056e4fd1488bca5
+[ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/linux-wlan-ng-0.2.8.tar.bz2]
+md5=5d86ca7bb4ed458743acd922ff09dae6
+sha256=e4b6ab08eaff2766c3bf85ea8d63ab31ae774266b8351772117fcc94d1318ade
+
[http://linuxtv.org/downloads/linuxtv-dvb-apps-1.1.1.tar.bz2]
md5=de958cdb8d00e74792dd69f3c945b037
sha256=371f8133db705bde6c2f79cccb0b1a1f626a0d94bf41acceba5d76a69155f057
[http://gpephone.linuxtogo.org/download/gpephone/liblipsevent-0.1/lips_event-0.1.tar.gz]
-md5=bd92cf7fae640c7807b53d082bfe1d92
-sha256=d0941b9947be08be440716c888b58cc6d088a214debefebe7bca99b84f387c02
+md5=1fd0f41f9676ef0c882921bc37628d07
+sha256=7182cf3f63e11e7ea6c6a994f9e70ef3bf6e430a5db643f5b29a0fd0996ddfd5
[http://gpephone.linuxtogo.org/download/gpephone/libim-0.2/lips_im-0.2.tar.gz]
-md5=4430d106ffc651c861374d729ffcd4c3
-sha256=31bfd0d68dc0cfdaf22c26295c8fc4b65a508d0e615daf8a43f032f2a701f2b7
+md5=375091bb5df956f0049962defad3cbbc
+sha256=381d88261fa307ffa97edab6ba8488533b9fb45cccc5ae6cda5ccb64ef65adc0
[http://downloads.sourceforge.net/lirc/lirc-0.8.0.tar.gz]
md5=596e05980f75372fa998d50eb1dcade0
sha256=4097abc39b928970ba3232942ac5a6db7ec4ed4164593b9223c90470c9c994dc
+[http://heanet.dl.sourceforge.net/lirc/lirc-0.8.0.tar.gz]
+md5=596e05980f75372fa998d50eb1dcade0
+sha256=4097abc39b928970ba3232942ac5a6db7ec4ed4164593b9223c90470c9c994dc
+
[http://downloads.sourceforge.net/lirc/lirc-0.8.1.tar.gz]
md5=5687331324ff5fc551f37ce419b2a926
sha256=d701ba12a96d913fc963eb7e5cc751bbd12fefb921dae4e70c8549a43a108dd6
+[http://heanet.dl.sourceforge.net/lirc/lirc-0.8.1.tar.gz]
+md5=5687331324ff5fc551f37ce419b2a926
+sha256=d701ba12a96d913fc963eb7e5cc751bbd12fefb921dae4e70c8549a43a108dd6
+
[http://downloads.sourceforge.net/lirc/lirc-0.8.3.tar.gz]
md5=056d3ff0d855427da9628d2ff2ab4f57
sha256=8bc1c6cfc6a9c312c8f5b8cc79b501e26b438c96a2d245f42e50bfb353617716
@@ -10082,6 +12778,10 @@ sha256=8bc1c6cfc6a9c312c8f5b8cc79b501e26b438c96a2d245f42e50bfb353617716
md5=cba116a4880f77205e0813d93bf14310
sha256=986a923a5247468db1d2a03e93268f4025ae5dc27e911dafc7b37e6a802122db
+[http://xorg.freedesktop.org/releases/individual/app/listres-1.0.1.tar.bz2]
+md5=827a1ac5adf9aadd0c13b54a897e297b
+sha256=7156e58025e240a501d5b32244b923b283bb35014ea5a4081b70044af8aef7a3
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/listres-X11R7.0-1.0.1.tar.bz2]
md5=2eeb802272a7910bb8a52b308bf0d5f6
sha256=41711ff3c94144b8a561146948b9b5fd49a55756532fa4d254d9a959e6622d87
@@ -10098,6 +12798,14 @@ sha256=9532b981c9b8974ceedd3d25a8f9a0e167a92c9da0dece47f34a4ec34e34b1cf
md5=866ba97420f5ce978b6a6b1cb4338890
sha256=17b82323151925ff5a7ad09a21781a0fa50ead4b87a339cee262271e4ededa13
+[http://llvm.org/releases/2.0/llvm-2.0.tar.gz]
+md5=6f88002301a25f31a492052695f6138e
+sha256=84d7ca0331963d2b2be7e18af61a80f49653c692f0bad63c5d26b2a2f7bc3375
+
+[http://llvm.org/releases/2.1/llvm-2.1.tar.gz]
+md5=b930e7213b37acc934d0d163cf13af18
+sha256=8cabd422f249ada736d864fc8a1f4d14aabefacb6f860c9beefbc53f93e0f96c
+
[http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-2.10.1.tar.gz]
md5=cdc857b78e813b88cbf8be92441aa299
sha256=a332cacfa9d0eed6e9158c394db714e536f38c27451d7df08b9634952118fa1b
@@ -10106,6 +12814,14 @@ sha256=a332cacfa9d0eed6e9158c394db714e536f38c27451d7df08b9634952118fa1b
md5=eddf56af6f248812e3016a9e34b42bbd
sha256=5a729a49ce591a58d241ac39979cb496ab30687556633782557196d2b262921e
+[http://heanet.dl.sourceforge.net/lmbench/lmbench-2.0.4.tgz]
+md5=eddf56af6f248812e3016a9e34b42bbd
+sha256=5a729a49ce591a58d241ac39979cb496ab30687556633782557196d2b262921e
+
+[http://heanet.dl.sourceforge.net/lmbench/lmbench-2.5.tgz]
+md5=d5b05498af26d5c09b372caab82a0337
+sha256=e7431530a4cf4c44b5068e23454f95765dc0b51e7d98bc2bd70451b17d505bd9
+
[http://xorg.freedesktop.org/releases/individual/util/lndir-1.0.1.tar.gz]
md5=1a53ddd7e1804abe8f3d9799a88b6aa8
sha256=89bff89702ebf2e5cc2268d79d5a27c62190c5a85ab080935d4425d3e309bc57
@@ -10218,10 +12934,22 @@ sha256=898db51a4016efca7d408163578443238373773357949e1b4978e26807a1fb2b
md5=afd35e0770f28121a9f8d6093d20a62b
sha256=bfc8cf4258574b48d33e9d622627db496e6533a469a6a87fd7ed76098dabb8a6
+[http://heanet.dl.sourceforge.net/ltp/ltp-full-20070228.tgz]
+md5=afd35e0770f28121a9f8d6093d20a62b
+sha256=bfc8cf4258574b48d33e9d622627db496e6533a469a6a87fd7ed76098dabb8a6
+
+[http://heanet.dl.sourceforge.net/ltp/ltp-full-20080229.tgz]
+md5=5860835de7e8d6f76a856243fd5f299e
+sha256=e4c56dbbbf2d1a4d641624234b561e9402c00e47b5b253ae126aa444182310a4
+
[ftp://ftp.debian.org/debian/pool/main/l/ltrace/ltrace_0.4-1.diff.gz]
md5=89c0ebdd0a27bc7f68726100f4bb079b
sha256=27c0b2051949b88514d4a32300377d531db314d7c93750b0abff049c2b93d739
+[ftp://ftp.nl.debian.org/debian/pool/main/l/ltrace/ltrace_0.4-1.diff.gz]
+md5=89c0ebdd0a27bc7f68726100f4bb079b
+sha256=27c0b2051949b88514d4a32300377d531db314d7c93750b0abff049c2b93d739
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/l/ltrace/ltrace_0.4-1.diff.gz]
md5=89c0ebdd0a27bc7f68726100f4bb079b
sha256=27c0b2051949b88514d4a32300377d531db314d7c93750b0abff049c2b93d739
@@ -10230,6 +12958,10 @@ sha256=27c0b2051949b88514d4a32300377d531db314d7c93750b0abff049c2b93d739
md5=8dbadad76ee360c2ed2caa915f5b1c8e
sha256=28bbab4a69a3c78539b2588d2219327009d93cafc74fb59b9a4ea5f5b794f8db
+[ftp://ftp.nl.debian.org/debian/pool/main/l/ltrace/ltrace_0.4.orig.tar.gz]
+md5=8dbadad76ee360c2ed2caa915f5b1c8e
+sha256=28bbab4a69a3c78539b2588d2219327009d93cafc74fb59b9a4ea5f5b794f8db
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/l/ltrace/ltrace_0.4.orig.tar.gz]
md5=8dbadad76ee360c2ed2caa915f5b1c8e
sha256=28bbab4a69a3c78539b2588d2219327009d93cafc74fb59b9a4ea5f5b794f8db
@@ -10262,6 +12994,10 @@ sha256=b3dd85e34b22cf757eafb6ef15c5505d5ec5e71803caef4b69ddc7fd5d46fabe
md5=aacda46598ce3af8ca16e2a8132db1b2
sha256=c0c4d76df0350c626df7ce62bf3df7915f9959557d76abce96222857d782389c
+[http://xorg.freedesktop.org/releases/individual/app/luit-1.0.3.tar.bz2]
+md5=b01e4f71c20fc1c79ed727759c1df40c
+sha256=2010f2152eee89a67f02edc3041574fb07442d075ca46fbcf84f981f0977a5d7
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/luit-X11R7.0-1.0.1.tar.bz2]
md5=30428b8ff783a0cfd61dab05a17cfaa7
sha256=fb423dc3ae75e64a256172c873732fe869ae482409cf1f3e7d980d222f070cee
@@ -10270,14 +13006,26 @@ sha256=fb423dc3ae75e64a256172c873732fe869ae482409cf1f3e7d980d222f070cee
md5=bcebff4526b02dad4070cbbcb3d1b7e0
sha256=2ac2154e3f66b5b32ca25d47e3977db115ac6dc52ddb7442ce16e65a4ac1afee
+[http://codespeak.net/lxml/lxml-1.3.3.tgz]
+md5=2baa9f8ad14aa6dcfb763cfa0ce3bbcb
+sha256=88903347bde122d50d358471788a6cc3f5dee18f2adee8c177d708f8c2773aae
+
[http://www.xtreefanpage.org/download/lxt-1.0.tgz]
md5=c703192481d94dfa3f4e24eed22c8182
sha256=daa670b686f959ab15e457425e57c50f0b973ee4d24d6a4171c33f467961ad1d
+[http://lyx.cybermirror.org/stable/lyx-1.5.1.tar.bz2]
+md5=0ae3b9ccb2aa74776be4af8c199dbbe9
+sha256=d720ff082ed29d385c52e7ad370499d23275e595e9d7a321b383609f68acf23e
+
[http://downloads.sourceforge.net/sevenzip/lzma417.tar.bz2]
md5=b1ab85e4dc1eb1323d77fef47a2cb71c
sha256=84124d4501798ecb284fceb28931db023850535e1b1146c884add7b3b0331cbc
+[http://heanet.dl.sourceforge.net/sevenzip/lzma417.tar.bz2]
+md5=b1ab85e4dc1eb1323d77fef47a2cb71c
+sha256=84124d4501798ecb284fceb28931db023850535e1b1146c884add7b3b0331cbc
+
[http://www.7-zip.org/dl/lzma417.tar.bz2]
md5=b1ab85e4dc1eb1323d77fef47a2cb71c
sha256=84124d4501798ecb284fceb28931db023850535e1b1146c884add7b3b0331cbc
@@ -10350,6 +13098,10 @@ sha256=d7ee2e668455f9a092418e5475f32676eb0b37c54ae38a7fcdf2d14e0fb80c91
md5=be2790a34349ab452dddbcfe4c95606a
sha256=c1c67839d4af290aecd8f7743312aacc0a39ae99757f0910918531ef9a63e14f
+[http://chandlerproject.org/pub/Projects/MeTooCrypto/m2crypto-0.18.2.tar.gz]
+md5=445dce53fcfc7ec8f6fd31f54da8a067
+sha256=62ed44c8b2d392bdc757981ac37f05d808a0d917e4f9d95de2fbf3c2bdad41a7
+
[ftp://ftp.gnu.org/gnu/m4/m4-1.4.11.tar.gz]
md5=988aa098326d5f2b5b5aa4b3efe8d528
sha256=c67b759d96471c9337d3b9f0ab2e1308f461a7dba445cfe0c3750db15b7ca77f
@@ -10378,6 +13130,10 @@ sha256=324d0a55f73c82ad48635a94a8d72277a2280030df6d036eafe3498c933dee6d
md5=6814b47ceaa99880c754c5195aa1aac1
sha256=5a79c7516ff7560dffc6a14399a389432bc619c905b13d3b73da22fa65acede0
+[http://heanet.dl.sourceforge.net/madwifi/madwifi-0.9.3.tar.bz2]
+md5=26c31e8e1528fd098e3aaa11c0d34d99
+sha256=847596646417abbdce9cfd0e1dca2cced29c6a8b814d1bd28d0c7301e9e4e9d8
+
[http://snapshots.madwifi.org/madwifi-ng/madwifi-ng-r1844-20061208.tar.gz]
md5=9ab58ff1c9b3803f76b064eba3555679
sha256=da423f508cc3624a1f510e9c153ebb7c5413e765546e9d44d55818358862cc64
@@ -10406,6 +13162,10 @@ sha256=46a30f2cd62c66099d4b87a32fb82751598758c213a1486ec7f44c23a33f5529
md5=fe1758398de89fce57f05f9c1d1bb923
sha256=70cfa5eacd27d46a5e6f562b01769c64794d20ce4636cf133def7db7f0715efb
+[http://snapshots.madwifi.org/madwifi-trunk/madwifi-ng-r3314-20080131.tar.gz]
+md5=2c7352cbbdac995de8c3bce5b80db5f2
+sha256=0599c75b95ba63bdc554cb8124192e62c75fbeb71b9e8a5a7bc351c8e0666758
+
[http://snapshots.madwifi.org/madwifi-trunk/madwifi-trunk-r3837-20080802.tar.gz]
md5=d6e04fa7fb0bea5079f24a753633fb29
sha256=d504e1e7b8f0d01b5441a86d1086aa4088c8896d87d8aabd6dabace76997467a
@@ -10466,18 +13226,34 @@ sha256=38fedc49b0b38018b3b5249499d28c6581b43a45a412f0c144341bee52575498
md5=e51180fe1b43fcdf3125fd9be4734b0c
sha256=131fe674be66bd3f464ee40aa457a9613f3d2a17ea83c724c4145a5d072a252e
+[ftp://ftp.nl.debian.org/debian/pool/main/m/mailx/mailx_8.1.2-0.20040524cvs-4.diff.gz]
+md5=e51180fe1b43fcdf3125fd9be4734b0c
+sha256=131fe674be66bd3f464ee40aa457a9613f3d2a17ea83c724c4145a5d072a252e
+
[ftp://ftp.debian.org/debian/pool/main/m/mailx/mailx_8.1.2-0.20040524cvs.orig.tar.gz]
md5=b7d8c2b5f64ac0b0ce51fdda482ec399
sha256=b8a15528701669c728bbdc74060512eb41ce6284601c87f4ba6820b92380bec0
+[ftp://ftp.nl.debian.org/debian/pool/main/m/mailx/mailx_8.1.2-0.20040524cvs.orig.tar.gz]
+md5=b7d8c2b5f64ac0b0ce51fdda482ec399
+sha256=b8a15528701669c728bbdc74060512eb41ce6284601c87f4ba6820b92380bec0
+
[ftp://ftp.debian.org/debian/pool/main/m/mailx/mailx_8.1.2-0.20050715cvs-1.diff.gz]
md5=38de40f8b082f4d592262c04275e2f30
sha256=2fb891f912624766d0bef765d69cec75ad3334dda1aa58659f3c3c1d0579c2c3
+[ftp://ftp.nl.debian.org/debian/pool/main/m/mailx/mailx_8.1.2-0.20050715cvs-1.diff.gz]
+md5=38de40f8b082f4d592262c04275e2f30
+sha256=2fb891f912624766d0bef765d69cec75ad3334dda1aa58659f3c3c1d0579c2c3
+
[ftp://ftp.debian.org/debian/pool/main/m/mailx/mailx_8.1.2-0.20050715cvs.orig.tar.gz]
md5=3ba08abd8bbd0a87ea5bad05cded3bc3
sha256=5c578a8c573b4430358d4f6523f8acd8b2c5039579d907c88ec09dab13b226d3
+[ftp://ftp.nl.debian.org/debian/pool/main/m/mailx/mailx_8.1.2-0.20050715cvs.orig.tar.gz]
+md5=3ba08abd8bbd0a87ea5bad05cded3bc3
+sha256=5c578a8c573b4430358d4f6523f8acd8b2c5039579d907c88ec09dab13b226d3
+
[ftp://ftp.gnu.org/gnu/make/make-3.80.tar.bz2]
md5=0bbd1df101bc0294d440471e50feca71
sha256=a99b39e7b04c333724f48c38fede709481cfb69fafe7e32ae4285b7fadf92f1b
@@ -10486,6 +13262,10 @@ sha256=a99b39e7b04c333724f48c38fede709481cfb69fafe7e32ae4285b7fadf92f1b
md5=354853e0b2da90c527e35aabb8d6f1e6
sha256=f3e69023771e23908f5d5592954d8271d3d6af09693cecfd29cee6fde8550dc8
+[http://www.kegel.com/crosstool/crosstool-0.43/patches/glibc-2.3.6/make-install-lib-all.patch]
+md5=b94605c3b7ba90bc01648ca6e5cc1aaf
+sha256=16ff3ea972065925338da1a1f37322dc4d8774f6d34d2dde2ce85121c08c99e0
+
[http://xorg.freedesktop.org/releases/individual/util/makedepend-1.0.1.tar.gz]
md5=90f5f3b987497a481b94d49372f17dce
sha256=0a4a0d4e2613b0cd4321e55fd4741788b728736fc8a517996e2015fa49862e61
@@ -10498,6 +13278,10 @@ sha256=1caf464a967ff9335a040f2d3ffe050c881efda13c14531be49cf1aa8dabda92
md5=89c4b6b4a89f6502626783716fc7d887
sha256=8599712f2b2b3778eea344f59e1512cea284e802560317fac436585885a41dfa
+[ftp://ftp.nl.debian.org/debian/pool/main/m/makedev/makedev_2.3.1.orig.tar.gz]
+md5=89c4b6b4a89f6502626783716fc7d887
+sha256=8599712f2b2b3778eea344f59e1512cea284e802560317fac436585885a41dfa
+
[http://handhelds.org/~zecke/oe_packages/maki_V1.0.4ern.tar.gz]
md5=cb5e4656fc3b13aa02d94096966ef2a9
sha256=6d5f1f771de97e08378940070b28dd75ac394ea611965ed1751600adbd099a59
@@ -10506,6 +13290,10 @@ sha256=6d5f1f771de97e08378940070b28dd75ac394ea611965ed1751600adbd099a59
md5=3800006ccd2f1f16124a2ac3abf04b30
sha256=5431073fb315f9b8dd43f430d7a9082e0a6232e20af559604da573270df8236b
+[http://kernel.org/pub/linux/docs/man-pages/Archive/man-pages-2.41.tar.bz2]
+md5=7b193c2fcf1d8f625e998df54582fee9
+sha256=bc9e3fe06a550d6eb48fd84eaf58415c78fbc29ba042e4a074adb62736f50760
+
[http://kernel.org/pub/linux/docs/manpages/man-pages-2.41.tar.bz2]
md5=7b193c2fcf1d8f625e998df54582fee9
sha256=bc9e3fe06a550d6eb48fd84eaf58415c78fbc29ba042e4a074adb62736f50760
@@ -10518,10 +13306,18 @@ sha256=e88295f9d6fe792784ea7dd546a12b0e7bb96b023d4248e728a43eb6ad885135
md5=5ac39978f55ecaf6e887cd5be027b1c3
sha256=4ac5940d25a9b5a52d0ff1f8223bb85462f9cfcceb4ac547e3ca9b6690aad394
+[http://www.maradns.org/download/1.0/maradns-1.0.41.tar.bz2]
+md5=9abc13da25c1103d788ee9def1c8e764
+sha256=42930f57e2fb965360a31de35d8eb8c2b0cdd06172e413e8cfec5745b6a236b8
+
[ftp://ftp.debian.org/debian/pool/main/m/masqmail/masqmail_0.2.21.orig.tar.gz]
md5=7e989a8b0562054aea22c654507f2cb5
sha256=2257099c760c12daf094744c6b2269d476e3bc6b523366168ad81bdd2ebd2445
+[ftp://ftp.nl.debian.org/debian/pool/main/m/masqmail/masqmail_0.2.21.orig.tar.gz]
+md5=7e989a8b0562054aea22c654507f2cb5
+sha256=2257099c760c12daf094744c6b2269d476e3bc6b523366168ad81bdd2ebd2445
+
[http://projects.o-hand.com/matchbox/sources/matchbox-common/0.8/matchbox-common-0.8.tar.bz2]
md5=107ac7cfb5f5ad3eacd14388a34a706b
sha256=39672384843942210eca6e16396768b979e479a8e1a8d42d092ad517f561c20d
@@ -10642,6 +13438,10 @@ sha256=b46ade42d080851ba4c5a10d3c520eb169fc33ab5c259ee8ca147eff57741246
md5=83661e2f9b67fd910f9ca0b1db06d9e8
sha256=52980096f4dbe5ea52a8c1bded74e7c657f934de5320da3f30cf7baf4274c749
+[http://distro.ibiblio.org/pub/linux/distributions/pdaxrom/src/mb-applet-cards-1.0.2.tar.bz2]
+md5=0c4f6da5da1196a60af9a7943e583d58
+sha256=b1bdff4c61d320fdbcf9c13a1cb3c3afa4908bdda1d7aad224c6145ab5128706
+
[http://projects.o-hand.com/matchbox/sources/mb-applet-input-manager/0.5/mb-applet-input-manager-0.5.tar.bz2]
md5=bf36926ac97d0419a141f9d18ffab103
sha256=7a1298ea42a976e7a133ec160400daee055450872dcc40d671f08376fc08850a
@@ -10690,6 +13490,10 @@ sha256=396a2de3eed6d5d3c4604b372e11f6c0f18644ef3d8ee14978b715ec26aa0974
md5=18b20db6e40480a53bac2870c56fc3c4
sha256=086ab03daaac28a28c0ddb9a709040b59e1322f6bfa68e39d004d9c66b119e7e
+[http://www.lilotux.net/~mikael/mcabber/files/mcabber-0.9.9.tar.bz2]
+md5=189fb9d23f5a8412bc660884528475ea
+sha256=2a231c9241211d33745f110f35cfa6bdb051b32791461b9579794b6623863bb1
+
[http://archive.ubuntu.com/ubuntu/pool/universe/m/mce-dev/mce-dev_1.5.6.tar.gz]
md5=b3a28fe9bcec2fc7ae70f5d819bf3d1a
sha256=aaaae4e3a25880d9f6af2dcf504b03f98946dcfb79e4c0a77adb9223aaa5cbc4
@@ -10718,18 +13522,42 @@ sha256=d54ae28bdafdbd3c71bfafa8f8814583356714b6a1436783161413a1e34a38c9
md5=c02004f4588fdc19e5e861df896f5e2c
sha256=38294fb58a3dfcc21d64f263370d039a2411dda0aa472d1e0d94b7864f1f8fc9
+[http://homepages.tu-darmstadt.de/~p_larbig/wlan/mdk2-v36.tar.bz2]
+md5=fbe3aaefc220556a03bf06a7811dc83c
+sha256=87aa1784ffba9131b9fe3bbe7b1fa5d2fcb3ddffe9f8b73435894923467b981a
+
+[http://www.tu-darmstadt.de/~p_larbig/wlan/mdk3-v2.tar.bz2]
+md5=06ed66c2f6651004b436199d1aa9a3cb
+sha256=3fa27adcc60b090b22b510343818f8076dd87ea5a911ebee7709ae8dadb6d4d0
+
[http://downloads.sourceforge.net/mediatomb/mediatomb-0.11.0.tar.gz]
md5=661f08933830d920de21436fe122fb15
sha256=25e0b3d761e41fc6793c780eb7f638719867cdc6d3429ec24f72d1e9556ac1d2
+[http://heanet.dl.sourceforge.net/mediatomb/mediatomb-0.11.0.tar.gz]
+md5=661f08933830d920de21436fe122fb15
+sha256=25e0b3d761e41fc6793c780eb7f638719867cdc6d3429ec24f72d1e9556ac1d2
+
[http://downloads.sourceforge.net/mediatomb/mediatomb-0.9.0-pre.tar.gz]
md5=bd6bf1a44393ef96c490319606df70bb
sha256=d48eca88957ba7c972a379321fb8165e67dae0e5a0039fe553183da1207b2ad6
+[http://heanet.dl.sourceforge.net/mediatomb/mediatomb-0.9.0-pre.tar.gz]
+md5=bd6bf1a44393ef96c490319606df70bb
+sha256=d48eca88957ba7c972a379321fb8165e67dae0e5a0039fe553183da1207b2ad6
+
[http://downloads.sourceforge.net/mediatomb/mediatomb-0.9.0.tar.gz]
md5=bfa110c41623ff689a60844430f91a34
sha256=5876c28d5015c9a947ba87b5005e23d0eeaffd5de9eea2f321d6f42c8a71ed17
+[http://heanet.dl.sourceforge.net/mediatomb/mediatomb-0.9.0.tar.gz]
+md5=bfa110c41623ff689a60844430f91a34
+sha256=5876c28d5015c9a947ba87b5005e23d0eeaffd5de9eea2f321d6f42c8a71ed17
+
+[http://heanet.dl.sourceforge.net/mediatomb/mediatomb-0.9.1.tar.gz]
+md5=3cb8a14b17102ec828853679d879f7bc
+sha256=64821ec2c678e5da1582ee116d919ce2beef166301586e42c547e4482fb8d945
+
[http://www.pengutronix.de/software/memedit/downloads/memedit-0.7.tar.gz]
md5=3d0f372fb213e09b8d04826f3a0bc2eb
sha256=9bb7412a03a76da4219215d2f92addf71305ab3fcc7d9315bb6f9c41fbe851fd
@@ -10742,6 +13570,10 @@ sha256=cd907918ff4a7d1eea4ed618c181da0e0894bcfcdb1e3e4909a2795da120ae4c
md5=0e6f7335075443ed0863a0df75689359
sha256=2a4bf8bdac96d6498e323b93954099fb13a9d92ddd5704aa6553940b86a071bb
+[http://www.equi4.com/pub/mk/metakit-2.4.9.3.tar.gz]
+md5=89a25775fee5db536937f36deb5223f6
+sha256=4d6c46289b1f1dea4e8bbc78332901491bde0c552727c27431ca9cb0234658da
+
[http://www.equi4.com/pub/mk/older/metakit-2.4.9.3.tar.gz]
md5=89a25775fee5db536937f36deb5223f6
sha256=4d6c46289b1f1dea4e8bbc78332901491bde0c552727c27431ca9cb0234658da
@@ -10750,6 +13582,10 @@ sha256=4d6c46289b1f1dea4e8bbc78332901491bde0c552727c27431ca9cb0234658da
md5=40940eb9829de7d5776b9bbd514f9d7e
sha256=738f39e2bc4ff8a80a5f01f163b2dd30525466aca87b9791e140b9900402fe1c
+[http://heanet.dl.sourceforge.net/metalog/metalog-0.7.tar.gz]
+md5=40940eb9829de7d5776b9bbd514f9d7e
+sha256=738f39e2bc4ff8a80a5f01f163b2dd30525466aca87b9791e140b9900402fe1c
+
[http://nslu.sf.net/downloads/mgetty_1.1.30.orig.tar.gz]
md5=ff7872dbef3332dd8f550da78d387f2e
sha256=008f0bea1fe7fd0f6484536442e660e533bad209ad7a57af3ee6f0a0300fd671
@@ -10758,10 +13594,30 @@ sha256=008f0bea1fe7fd0f6484536442e660e533bad209ad7a57af3ee6f0a0300fd671
md5=7f6a372f1f9371094d0dd433b89ec48d
sha256=ebede057bf1c312182d069b958eccfafbb18fca4cbba0a41f0c5f35094cb15e2
+[http://heanet.dl.sourceforge.net/miau/miau-0.5.3.tar.gz]
+md5=7f6a372f1f9371094d0dd433b89ec48d
+sha256=ebede057bf1c312182d069b958eccfafbb18fca4cbba0a41f0c5f35094cb15e2
+
[ftp://ftp.microwindows.org/pub/microwindows/microwindows-0.90.tar.gz]
md5=203188db254cc418e9d9dd9791543b9a
sha256=8253a341c3bdd49467ecfdb5ccc03b359eacec5aec0b35bd77cdce341e157399
+[http://software.twotoasts.de/media/midori/midori-0.0.10.tar.gz]
+md5=7a4a20e21fb3f3109c81f6ff9cc4647e
+sha256=b79b8aad657d2a2b59fb773fed4ef7567fb28e5a3f3bd645ff904f69d50a0555
+
+[http://software.twotoasts.de/media/midori/midori-0.0.11.tar.gz]
+md5=dea8fba05c35333c0c984745cb397acb
+sha256=f3b82db4c4edd81087aa37e747501af903dfd2d1e6e2063f20a345e4e7924116
+
+[http://software.twotoasts.de/media/midori/midori-0.0.12.tar.gz]
+md5=f69826ece3b8a34ef431d2de57b60d96
+sha256=13831ee98f4daaee9b5569a6ac8924a1e5f3223b928f408ab7e8b013daa4921c
+
+[http://software.twotoasts.de/media/midori/midori-0.0.13.tar.gz]
+md5=e67bc748c11606013a90a0760a843967
+sha256=5261c2e9d7a3d10832bedf3970dad89d8c9e39b54269111d719c6e60aa422aac
+
[http://software.twotoasts.de/media/midori/midori-0.0.15.tar.gz]
md5=0b6eebdcedd224b2b9f437b706471762
sha256=3b449713a164d574031843ca38f37be12e3ac40804995b3e5a252562a598482f
@@ -10778,10 +13634,22 @@ sha256=36c20ca7c59e6c35deb04a9febde8aa8040c78c6ba21f595442b94ab78ec137c
md5=0b9298d00c598137431beb51dbe1f302
sha256=e561f66262eaf6b9cbd8e84688184b7f3ba6cba0e34e9791e578bdef9adc7731
+[http://software.twotoasts.de/media/midori/midori-0.0.8.tar.gz]
+md5=069275806e0224b1de3e080c23c95dc5
+sha256=7861535eef2c0804dbdc6993db76574b4a812164bed7545a3697a3b97e36d2dd
+
[http://downloads.sourceforge.net/midpath/midpath-0.1.tar.gz]
md5=afed8ebe979ce2ea189b117062aaa011
sha256=556729f60cf2de79a20627dd3f448a7b8dc164331576497f876a4a5c9179544f
+[http://downloads.sourceforge.net/midpath/midpath-0.3rc1.tar.gz]
+md5=89695ed5a40f6d818f792ee3666a0ecb
+sha256=ebd1462109e03854ad26a14fcb96761076ce7b5f71af8a1801f0b71ccb101aba
+
+[http://heanet.dl.sourceforge.net/midpath/midpath-0.3rc1.tar.gz]
+md5=89695ed5a40f6d818f792ee3666a0ecb
+sha256=ebd1462109e03854ad26a14fcb96761076ce7b5f71af8a1801f0b71ccb101aba
+
[http://mikmod.raphnet.net/files/mikmod-3.2.2-beta1.tar.bz2]
md5=006378681d520fa8ee1dacca965bbd3c
sha256=0e760acb85584ea3e828989c5588f827f0dd845d3dd6948e2aea12bb6278651d
@@ -10790,6 +13658,14 @@ sha256=0e760acb85584ea3e828989c5588f827f0dd845d3dd6948e2aea12bb6278651d
md5=d779a0b8f58776c28296ae62f253784e
sha256=8ee3e48da07e20899a11adb9f2dd4dfc4922b43bcb1dc7bd78c55aceeb5eccc1
+[ftp://ftp.nl.debian.org/debian/pool/main/m/mime-support/mime-support_3.28-1.tar.gz]
+md5=d779a0b8f58776c28296ae62f253784e
+sha256=8ee3e48da07e20899a11adb9f2dd4dfc4922b43bcb1dc7bd78c55aceeb5eccc1
+
+[ftp://ftp.pl.debian.org/pub/debian/pool/main/m/mime-support/mime-support_3.28-1.tar.gz]
+md5=d779a0b8f58776c28296ae62f253784e
+sha256=8ee3e48da07e20899a11adb9f2dd4dfc4922b43bcb1dc7bd78c55aceeb5eccc1
+
[http://www.denx.de/twiki/pub/Know/MiniFOHome/mini_fo-0-6-1-pre1.tar.bz2]
md5=7e192e01b08023c7f3e63bf1c796bc14
sha256=68c64a38f0b29347f86871248f0399e7e1b12645dc6263af7b2e4940f1392eaa
@@ -10850,18 +13726,34 @@ sha256=73edd3f8e7c36c81c895ea723e7faefd3ee5a3671d0b1e0ea7b3a960b169231e
md5=d9b86e649ee49cc5be2024d24e55cc3a
sha256=d801b5ecdfce599b54142d32b0d89966cb33d97cbac94416907666d94c1a80a6
+[http://www.mobile-ipv6.org/software/download/mipv6-2.0.2.tar.gz]
+md5=2cf58dca0ab3c38223e25dbecba8ed37
+sha256=474443cd4c80d958ea34e3645dab641868e5b6714854a4122b7e3753a20a2eb9
+
[http://linux-h4000.sourceforge.net/mirror/mk-layouts-gui.git_5b42aeff36d930dc3a9b75eedc74dacfec45f43f.tar.gz]
md5=bae81f5b80e7e923ee32e1b10c87de7f
sha256=593d74ba14e8f1c6263f612f0f5ee53eb4a41d05d873d0019aa1542e6971a952
+[http://hp.vector.co.jp/authors/VA013651/lib/mkbold-mkitalic-0.11.tar.bz2]
+md5=2384f0eb2e0d2d8f70ee292b81522619
+sha256=efddffd87681f0e8f3fc140c99ba6f4e15be4f144d2488886fb493cb3d85e990
+
[http://files.fredemmott.co.uk/mkbot-0.3.tar.bz2]
md5=094b5693c602c5d872e49e24d2747ef2
sha256=c1cace2663ee1ff32f95d14fc60a6b7eee3ec8e3d0e7c531e9a778bbf29960a1
+[http://xorg.freedesktop.org/releases/individual/app/mkcfm-1.0.1.tar.bz2]
+md5=d5d560ea77541591d2a6656991286457
+sha256=7fbadfa5cb38f7d754214b792854c4a0cb32fd1c9b5ae8ff05434cb3b3acbe01
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/mkcfm-X11R7.0-1.0.1.tar.bz2]
md5=912e6305998441c26852309403742bec
sha256=25cba395022c878cf0323da5b2b4aba1cca03001311a4e2d7632d6a199806294
+[http://xorg.freedesktop.org/releases/individual/app/mkcomposecache-1.2.tar.bz2]
+md5=c8237b4aea1ae0c15441deab6b12c5c0
+sha256=8c34cdd03f7d11ac86c681349d39a4faf88854faaad928f0663da55f125aedfb
+
[http://xorg.freedesktop.org/releases/individual/app/mkfontdir-1.0.3.tar.bz2]
md5=4d0f89a23f77e22f1671a77bf0898955
sha256=2a786e03611a53c7f6263db446c0c9ef76e94bcf930b0b5867cc6a9c19653074
@@ -10878,6 +13770,14 @@ sha256=409f2fdfd87b5185ca651197c1d1facc22619bc1399bfb8dda8fda1fbb6205b2
md5=384ee10787c455c520bcf031989de6f3
sha256=94c4ab96ad858524b64864482f5623bd18f844b98788d7d4be1f8065a4f13a0d
+[http://xorg.freedesktop.org/releases/individual/app/mkfontscale-1.0.3.tar.bz2]
+md5=1d608771aca9695b828cec1e34178fd1
+sha256=0458a3a5525b4ab458a018648ef8575afc191f904364c00e27876a7bd53af020
+
+[http://xorg.freedesktop.org/releases/individual/app/mkfontscale-1.0.4.tar.bz2]
+md5=e5d7373c4266973b3b13aac5d1a4655b
+sha256=dc9b946cc23490c960fbca8b32e4bba4bc23ce404a8d7e1c0e916894c83b4227
+
[http://xorg.freedesktop.org/releases/individual/app/mkfontscale-1.0.5.tar.bz2]
md5=5e6e210b70adfef1264b0212aab1f758
sha256=f79dff54153dc3beb9eb3f2e4776dbc55ed2a4d3d0adbf9c8a2d9eb230ed3850
@@ -10918,6 +13818,14 @@ sha256=9e0e4da4c414449efc1c38e908ba81dfc6a095d5c8e5f346c07589b5df8748c1
md5=5b31665390fb0b30d19dadec4e90abb8
sha256=9fffb28f0edb020dffe605b0d69d94f1b3abe3d1e8beffa2ea7809daecaff136
+[ftp://ftp.daper.net/pub/soft/moc/stable/moc-2.4.3.tar.bz2]
+md5=8808082848e90eeec5415baaec7e98ad
+sha256=8598bb4f65e0b7d2a669e06222e6ba5eb1127b52b9a30136b2a823ccee10929f
+
+[http://gnu.ethz.ch/linuks.mine.nu/modplugplay/modplugplay-1.0.tar.gz]
+md5=ac8e98865d90dca25c85748b3916bf07
+sha256=d78a39b4158901695c59d0757e8fe622e9b4cebcfb77eedfc20b937e5a0d521d
+
[http://www.linuks.mine.nu/modplugplay/modplugplay-1.0.tar.gz]
md5=ac8e98865d90dca25c85748b3916bf07
sha256=d78a39b4158901695c59d0757e8fe622e9b4cebcfb77eedfc20b937e5a0d521d
@@ -10942,6 +13850,10 @@ sha256=ab4c9191645f9ffb455ae7c014d8c45339c13a1d0f6914817cfbf30a0bc56bf0
md5=4032f2305a3393ab18e02efe6550e1aa
sha256=8447eb112e0e42db59e490fa98b0a1c9ed90ff3660b99734fe5119061eddce8e
+[http://heanet.dl.sourceforge.net/moin/moin-1.5.8.tar.gz]
+md5=79625eaeb65907bfaf8b3036d81c82a5
+sha256=569c9b4f7b2cf411718a3ac5e6427c1babacbaf1b085276f822d8d08040e4a8f
+
[http://www.tildeslash.com/monit/dist/monit-4.10.1.tar.gz]
md5=d3143b0bbd79b53f1b019d2fc1dae656
sha256=f6a29300648381538a403f24506e75b94164e26c69c6861ca112d425edc9d193
@@ -10958,6 +13870,10 @@ sha256=434f91032e48c03e1202ba3cef1648e2708eeefcf51143d3547e34acc9c68a96
md5=391f85b4f962269e044ceac2b5235310
sha256=24cc4f396cac3053c7ba3fe68bc1b80359d75dc4f54a85f39a73cabc3d3f560f
+[http://ftp.novell.com/pub/mono/sources/mono/mono-1.9.1.tar.bz2]
+md5=6610c3b999d791553a9dc21059ca9d35
+sha256=990af2fa20ad4e99ae5000df1afdb2e3b70400ba22d62e8917123d6a9d966397
+
[http://venge.net/monotone/downloads/monotone-0.20.tar.gz]
md5=3bdf4da35ff576a401483815952f4045
sha256=56a5c5afd838f90146205ee4769b83988c6bafc85826c0fbcad982f1e0333d93
@@ -11002,6 +13918,10 @@ sha256=21a0502ae8b888d046d889478e7a0244f4761c4162edf70ec42399d3c2911947
md5=b7a3cd2d4fcb17287641ee2e33f660fd
sha256=57cc436480dd29ac7e751c4d5adbc2b0289ba2273bda388352be15446894bc56
+[http://monotone.ca/downloads/0.37/monotone-0.37.tar.gz]
+md5=d06193f2738626570692bed2173144c1
+sha256=061e2f6aa0a1c0105b105946744d84c44eb49e9a4fe4628e872c518533b6ec2d
+
[http://www.venge.net/monotone/downloads/monotone_0.19-1.tar.gz]
md5=cd636aba15508940e202ff43dc483aa3
sha256=e17c283be0afa5abdf0be276e0240b3f1805afaea76537aacadc8e2ff626f9ef
@@ -11010,6 +13930,10 @@ sha256=e17c283be0afa5abdf0be276e0240b3f1805afaea76537aacadc8e2ff626f9ef
md5=5ffdc958313345c69d3e0d5ec5c013cd
sha256=2798b2a5e4d248244d5f40cce32dfb0f027e103dd8469a800b6b934467bf6117
+[http://heanet.dl.sourceforge.net/motion/motion-3.2.11.tar.gz]
+md5=3a26c00f3250eacf6fa93c7a7e0249d9
+sha256=f1e187c61702a727bbd20bf5a66a310363257acc04b1f1c6e0b2e06e9b5dfa6e
+
[http://downloads.sourceforge.net/motion/motion-3.2.6.tar.gz]
md5=71e6bd13fcca70372e9b7c7806d62b30
sha256=48c456dfcadec2db472320e317fa37dc697f184e12f99006a1ec0b6512d2ebcd
@@ -11030,6 +13954,10 @@ sha256=723b4674980e378efe07e097cf909894852054dd52d44f3d6f948d847c940815
md5=0d892d7c99df175eb0efb2bc31086285
sha256=6dae6f0a018010fbf65985eb03684c3da8ef5024edfc80cace22162377c96f2d
+[http://heanet.dl.sourceforge.net/mp3blaster/mp3blaster-3.2.3.tar.gz]
+md5=0d892d7c99df175eb0efb2bc31086285
+sha256=6dae6f0a018010fbf65985eb03684c3da8ef5024edfc80cace22162377c96f2d
+
[http://mercury.chem.pitt.edu/~shank/mpc-0.11.2.tar.gz]
md5=c8411da7936662312cf9483f3490e285
sha256=1c35520f74ec932e8635896eca747925624574550813bcf71d1d77826385b633
@@ -11038,6 +13966,10 @@ sha256=1c35520f74ec932e8635896eca747925624574550813bcf71d1d77826385b633
md5=9ec03c5f3d136a9a58ef665dfb100e52
sha256=55bdff5fefa619682c4da7cf25c8e1281f21f405e98580b24d3cfb7ff781a87d
+[http://www.musicpd.org/uploads/files/mpc-0.12.1.tar.bz2]
+md5=a93a390315aacfec061c8df89fb5e35f
+sha256=76e151048a736cf490630ace4909f2d4b65f1afe2447c7fd794d270eb956e045
+
[http://downloads.sourceforge.net/musicpd/mpd-0.11.2.tar.gz]
md5=b6e913dc4b63b161bb1b96030763c3a7
sha256=e784f78b3cce93367c105619c690465b78a88d3e4c616cc829f4cb5e66f2bbe0
@@ -11046,6 +13978,10 @@ sha256=e784f78b3cce93367c105619c690465b78a88d3e4c616cc829f4cb5e66f2bbe0
md5=1a9a1a9d31f00a43838b3752024f7ebe
sha256=30e454514ef84f65162182b7cbcd0e46fdda4c99111ac500b5b2df7678ca10fd
+[http://heanet.dl.sourceforge.net/musicpd/mpd-0.11.5.tar.gz]
+md5=1a9a1a9d31f00a43838b3752024f7ebe
+sha256=30e454514ef84f65162182b7cbcd0e46fdda4c99111ac500b5b2df7678ca10fd
+
[http://libmpeg2.sourceforge.net/files/mpeg2dec-0.4.0b.tar.gz]
md5=52d10ea80595ec83d8557ba7ac6dc8e6
sha256=9416376952812e5b479745d67a2bf874fbcad10137517314ce7de37abb756df8
@@ -11062,30 +13998,58 @@ sha256=359f0d344f92d1f145ddcd37adf54f9b8069aa2ce89c4a19603d080ef17d2d48
md5=8352b619e04dcc73411a38b39dd855f6
sha256=d857f9df4a6cf50d0bc57dd11296dd1a8d1ac709442875ea4fcd757a89da8430
+[http://www.mpfr.org/mpfr-2.3.2/mpfr-2.3.2.tar.bz2]
+md5=527147c097874340cb9cee0579dacf3b
+sha256=18e078c996e182b7ceab32f2ab840e6a151b593e0cd5b83cb9d2960f212fba4c
+
[http://downloads.sourceforge.net/mpg123/mpg123-0.66.tar.bz2]
md5=6753c7ce5bb35bd65c535b2b6322a9aa
sha256=2cdcb3b78412034f787ae52e213d04455132f6c94c8b7f3f4b21c21c38d9afa5
+[http://heanet.dl.sourceforge.net/mpg123/mpg123-0.66.tar.bz2]
+md5=6753c7ce5bb35bd65c535b2b6322a9aa
+sha256=2cdcb3b78412034f787ae52e213d04455132f6c94c8b7f3f4b21c21c38d9afa5
+
[http://downloads.sourceforge.net/mpg321/mpg321-0.2.10.tar.gz]
md5=bb403b35c2d25655d55f0f616b8f47bb
sha256=db0c299592b8f1f704f41bd3fc3a2bf138658108588d51af61638c551af1b0d4
+[http://heanet.dl.sourceforge.net/mpg321/mpg321-0.2.10.tar.gz]
+md5=bb403b35c2d25655d55f0f616b8f47bb
+sha256=db0c299592b8f1f704f41bd3fc3a2bf138658108588d51af61638c551af1b0d4
+
[http://downloads.sourceforge.net/libw100/mplayer-imageon.patch]
md5=d605b6068b6c9aa2bc7550f49c60958c
sha256=7e5e1768db0201981f90256fa94db3f09f23285ffd60dc60a51a753825084848
+[http://heanet.dl.sourceforge.net/libw100/mplayer-imageon.patch]
+md5=d605b6068b6c9aa2bc7550f49c60958c
+sha256=7e5e1768db0201981f90256fa94db3f09f23285ffd60dc60a51a753825084848
+
[http://downloads.sourceforge.net/materm/mrxvt-0.5.2.tar.gz]
md5=ed87b7dd9f4fb482de0f14f085085027
sha256=558491d1f112362780abaf7429d14216e658b7768dd30f82f102ce646d3065cf
+[http://heanet.dl.sourceforge.net/materm/mrxvt-0.5.2.tar.gz]
+md5=ed87b7dd9f4fb482de0f14f085085027
+sha256=558491d1f112362780abaf7429d14216e658b7768dd30f82f102ce646d3065cf
+
[http://downloads.sourceforge.net/msmtp/msmtp-1.4.10.tar.bz2]
md5=38c63aae762d5a31c5f6f5e58961cb52
sha256=30261e2f1ab064e089784578e0c63f31d5696a198db5f6ec793776ce70ccddb3
+[http://heanet.dl.sourceforge.net/msmtp/msmtp-1.4.10.tar.bz2]
+md5=38c63aae762d5a31c5f6f5e58961cb52
+sha256=30261e2f1ab064e089784578e0c63f31d5696a198db5f6ec793776ce70ccddb3
+
[http://packetstorm.linuxsecurity.com/sniffers/msn-cap.c]
md5=900be0beea498b18f03e2d67656d9d32
sha256=f03c69e064f1269dfd5adbc668204d0a7e0eafb86317e293e9d6c1ce0a4f5761
+[http://www.opensync.org/attachment/wiki/download/msynctool-0.22.tar.bz2?format=raw]
+md5=3ddc55209e682a8b99a47cf3d0053dbf
+sha256=5a3008eaaf61dc9f7cc0cd0c762d700dfa8cc1aa65c07ec5bf12abe252f2d280
+
[http://www.opensync.org/download/releases/0.36/msynctool-0.36.tar.bz2]
md5=9ef1c03d1e087493dbca67dabb612e6b
sha256=de08e22708348216e0e1ea3c32b4cf0c04d5acae5057b5995fc087790f0ae1a5
@@ -11094,14 +14058,26 @@ sha256=de08e22708348216e0e1ea3c32b4cf0c04d5acae5057b5995fc087790f0ae1a5
md5=87356d2750ad82388a58d901aa566465
sha256=92d9abd2d0cabaea198b9434100ebf1d5524283de8df02b0f04d907b2274959b
+[http://heanet.dl.sourceforge.net/mt-daapd/mt-daapd-0.2.1.1.tar.gz]
+md5=87356d2750ad82388a58d901aa566465
+sha256=92d9abd2d0cabaea198b9434100ebf1d5524283de8df02b0f04d907b2274959b
+
[http://downloads.sourceforge.net/mt-daapd/mt-daapd-0.2.2.tar.gz]
md5=e5aee70f66d383f37ef650941cd7703d
sha256=5e06d8ed89ba98092c2cda16ecd9cdfeaa08b6c0e77ac459f49ae6e5dd64d639
+[http://heanet.dl.sourceforge.net/mt-daapd/mt-daapd-0.2.2.tar.gz]
+md5=e5aee70f66d383f37ef650941cd7703d
+sha256=5e06d8ed89ba98092c2cda16ecd9cdfeaa08b6c0e77ac459f49ae6e5dd64d639
+
[http://downloads.sourceforge.net/mt-daapd/mt-daapd-0.2.3.tar.gz]
md5=17aa3fa0601cbe172d18f53489141e5a
sha256=17e3966a9da7acb0560af1d2c1a5c0162da8e01de195aa096d594ab6248c4930
+[http://heanet.dl.sourceforge.net/mt-daapd/mt-daapd-0.2.3.tar.gz]
+md5=17aa3fa0601cbe172d18f53489141e5a
+sha256=17e3966a9da7acb0560af1d2c1a5c0162da8e01de195aa096d594ab6248c4930
+
[http://www.informatik.hu-berlin.de/~tkunze/zaurus/patches/mtd-sharp-flash-hack-r2.patch]
md5=8c63b0b47af4de62b48ea745faa11584
sha256=7206aaf289cd349ed0c52bf081b9a29a25d03e83eaf3e6de4a6070c4de1abe9d
@@ -11126,6 +14102,10 @@ sha256=05c6ee9dd87d4a323c37b69009769f2912fe67e8f9a5c9f98b169b8b2bd9dbc4
md5=0f7cdd68da77a62e77f9012de052c513
sha256=2e56fe35b6f3b93dac201c55764b8bf6d899c995e0d165381368cfca886c6739
+[http://mtools.linux.lu/mtools-3.9.11.tar.gz]
+md5=3c0ae05b0d98a5d3bd06d3d72fcaf80d
+sha256=3415d425d37338aa4e18e7d60147db23cfbe6192565c697f201f44426665ce42
+
[http://folks.o-hand.com/richard/poky/sources/mtools-3.9.9.tar.gz]
md5=3e68b857b4e1f3a6521d1dfefbd30a36
sha256=af083a73425d664d4607ef6c6564fd9319a0e47ee7c105259a45356cb834690e
@@ -11138,6 +14118,10 @@ sha256=af083a73425d664d4607ef6c6564fd9319a0e47ee7c105259a45356cb834690e
md5=828013176f135fc24ffdf16a011c51e6
sha256=991a1376dc23d0663d45b3b395c0e5c5542fee3906a120889583d67f854f5206
+[http://heanet.dl.sourceforge.net/mtpaint/mtpaint-3.02.tar.bz2]
+md5=828013176f135fc24ffdf16a011c51e6
+sha256=991a1376dc23d0663d45b3b395c0e5c5542fee3906a120889583d67f854f5206
+
[ftp://ftp.bitwizard.nl/mtr/mtr-0.65.tar.gz]
md5=32de3cb8f0763e352124ff4fd74690ab
sha256=82da36fd013f33237a26f1a291e21fc041ebfeac90177a82cb8862732d824bc6
@@ -11150,6 +14134,10 @@ sha256=c7bc72443c17b5c169d43475ddd35d8ab78689d38a196b268f3b404fef718861
md5=d55d8eaeecb825b87a25eeceaef92cb9
sha256=c1454fdf5d3658f492253106c12bbf89a3bcc5789c36851a5f2f345d61a4ac0c
+[http://osm.andi.de1.cc/mumpot-0.3.1.tar.gz]
+md5=115dc5380ffdb03ec2e71ff9d6d97e72
+sha256=50bfab6d4b1b9af37ca6832b979f5c891f2dd9259a68700b37214d7897927c17
+
[http://www.dotaster.com/~shuu/linux/murasaki/0.8/8/murasaki-0.8.8.tar.gz]
md5=ea7afa7e0bd9cfa0df7c04a9b270df88
sha256=2033168723ffd612336acb8a64b33fcd91f7dedeaf78949d3dfce231cb962ce9
@@ -11174,14 +14162,30 @@ sha256=7744d78131619b73a82adb6f73d6cfc6bad11a6ad2806c0f5130f88fe88ac9dd
md5=37b4479951fa0cf052269d27c41ca200
sha256=6bd2436fd0f233bb1518e15975cb4e9fa4434acb53c3c3cd7d4648219abf58e9
+[http://www.mythtv.org/mc/mythtv-0.18.1.tar.bz2]
+md5=e6cabf88feeaf6ae8f830d3fdf7b113d
+sha256=86c9cf038d5d8a3fdf137ff735b55820281543a4a08e86cfad81a113a7b9a1d2
+
+[http://www.mythtv.org/mc/mythtv-0.20.tar.bz2]
+md5=52bec1e0fadf7d24d6dcac3f773ddf74
+sha256=777ff60afa89426f0e52e49b0e7a7661ddb45b59d2ebbfdcbe07fd179e526ff3
+
[http://www.mythtv.org/mc/mythtv-0.21.tar.bz2]
md5=49fc135e1cde90cd935c1229467fa37e
sha256=33a878a8fc3efdd74519b09b4ec3d16fa9d3a0436b321c13344e5f3ab723c5e4
+[http://kldp.net/frs/download.php/3742/nabi-0.17.tar.gz]
+md5=8746890ea666ac1b7ae6db77993c6592
+sha256=1a239a7bb0644441ca781459fbf5a1c5fb95e823351bf308aa680eb60cc45b94
+
[http://optusnet.dl.sourceforge.net/sourceforge/nail/nail-11.21.tar.bz2]
md5=2478bff31a9223afffcb74e4dd021770
sha256=e8caa07c0a841fab2f11db43809c073485b0c1aa12be5dc1b90ca72fa6660175
+[http://naim.googlecode.com/files/naim-0.11.8.3.1.tar.bz2]
+md5=239f8865b6f044aed26e3124a0721652
+sha256=a629efbd182552712009b0636c7b8be0c190052a3303c8de66a3649a9df4f224
+
[http://www.nano-editor.org/dist/v1.2/nano-1.2.1.tar.gz]
md5=188d24b9cc4c1041ac58d6b6f7941eb4
sha256=f12483dbe029836cad6c58e53077281d9e71a062b1145e57342ea9671296ca40
@@ -11202,10 +14206,18 @@ sha256=5dc783c412c4d1ff463c450d2a2f9e1ea53a43d9ba1dda92bbf5182f60db532f
md5=9f682490c132b070d54e395cb6ee145e
sha256=87e64eff736196862ed46c04a3dffa612d765df980fa974fc65e026d811bd9d0
+[http://heanet.dl.sourceforge.net/nasm/nasm-0.98.38.tar.bz2]
+md5=9f682490c132b070d54e395cb6ee145e
+sha256=87e64eff736196862ed46c04a3dffa612d765df980fa974fc65e026d811bd9d0
+
[http://ftp.gnome.org/pub/GNOME/sources/nautilus/2.12/nautilus-2.12.2.tar.bz2]
md5=1c1304e458eda551da11ed8c52b1faa2
sha256=9b1a11fde474d0bc0891afeef912aaa01bf8189e453bb555b2977f60f98d5455
+[http://ftp.gnome.org/pub/GNOME/sources/nautilus/2.22/nautilus-2.22.5.tar.bz2]
+md5=b2f65d5b01399a5d3daca5f3ba280f9b
+sha256=14ddc03f05f6116c2d0545ef264f6dc5a9064ba321cba94547b02911fa5bd440
+
[http://ftp.gnome.org/pub/GNOME/sources/nautilus/2.6/nautilus-2.6.1.tar.bz2]
md5=50c5732c0c9736b7026bce1c6b0007dc
sha256=83f1d6623e142af30a9b3fa9135ecf973fbb8c89f1dc36a218de0c0fef6ddf07
@@ -11226,10 +14238,22 @@ sha256=a28132fbdb9fd97b2e0e28c2cca516096e3607e50efe3175c51a8d6000774c6f
md5=c2ec1ddff62c2b248dbaeab1ab656d74
sha256=c069e983ea8bb9b6706d35126350d4d14619b9ce0ac888adbcdda3ff13362ab4
+[http://heanet.dl.sourceforge.net/navit/navit-0.0.4.tar.gz]
+md5=c2ec1ddff62c2b248dbaeab1ab656d74
+sha256=c069e983ea8bb9b6706d35126350d4d14619b9ce0ac888adbcdda3ff13362ab4
+
[http://downloads.sourceforge.net/nbd/nbd-2.8.7.tar.bz2]
md5=bc7995b4961385269abc645575bcaf4d
sha256=a69d1690ad587d81b85c34d1ef9bf47abf0ba21dc96876d95dd6a9a193a859f1
+[http://heanet.dl.sourceforge.net/nbd/nbd-2.8.7.tar.bz2]
+md5=bc7995b4961385269abc645575bcaf4d
+sha256=a69d1690ad587d81b85c34d1ef9bf47abf0ba21dc96876d95dd6a9a193a859f1
+
+[http://dev.yorhel.nl/download/ncdu-1.3.tar.gz]
+md5=204bacb8376819059bec6c8287a87a67
+sha256=f556a4b07c07bb66eabb5f2a20b3c52ea22020a68f2b5302d03e7b93b0ffee54
+
[ftp://ftp.ncftp.com/ncftp/ncftp-3.2.0-src.tar.bz2]
md5=384b7f01d725c89ccd30692628b3ac1b
sha256=2ebc7b51af96cb0fa8b703c7cb995bfb46ccf5312e335270d0420e260544c376
@@ -11270,6 +14294,14 @@ sha256=8a29457052b73ac0139e3b2824a74323256dd7631b1691239ddb18124e231a71
md5=8080555ab3f90011f25d5122042d9a8d
sha256=1fca69e934c3d526e308450cc5af2478d440e012922dd0bb10388fcf093ef32e
+[http://heanet.dl.sourceforge.net/net-snmp/net-snmp-5.1.2.tar.gz]
+md5=8080555ab3f90011f25d5122042d9a8d
+sha256=1fca69e934c3d526e308450cc5af2478d440e012922dd0bb10388fcf093ef32e
+
+[http://heanet.dl.sourceforge.net/net-snmp/net-snmp-5.4.1.tar.gz]
+md5=6c974df7a5a5b1579f72115e6b045bda
+sha256=0ea976722c993c87dede8eb6348e6feb059e3851bbef2de824bf18ac97cdb565
+
[http://download.berlios.de/net-tools/net-tools-1.60.tar.bz2]
md5=888774accab40217dde927e21979c165
sha256=7ae4dd6d44d6715f18e10559ffd270511b6e55a8900ca54fbebafe0ae6cf7d7b
@@ -11290,6 +14322,10 @@ sha256=b6e01cfc0b4223f60fd994eee950635b165d54a96cf63bbe607a5ff64355bd8c
md5=4e4582ed5f84fa074137c1a7ee39a689
sha256=aa54d1822f8505f600b4c8d5debdf289b956b3b86bfd72e2ba02026352c107fc
+[ftp://ftp.nl.debian.org/debian/pool/main/n/netbase/netbase_4.21.tar.gz]
+md5=4e4582ed5f84fa074137c1a7ee39a689
+sha256=aa54d1822f8505f600b4c8d5debdf289b956b3b86bfd72e2ba02026352c107fc
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/n/netbase/netbase_4.21.tar.gz]
md5=4e4582ed5f84fa074137c1a7ee39a689
sha256=aa54d1822f8505f600b4c8d5debdf289b956b3b86bfd72e2ba02026352c107fc
@@ -11302,6 +14338,10 @@ sha256=aa54d1822f8505f600b4c8d5debdf289b956b3b86bfd72e2ba02026352c107fc
md5=0a29eff1736ddb5effd0b1ec1f6fe0ef
sha256=b55af0bbdf5acc02d1eb6ab18da2acd77a400bafd074489003f3df09676332bb
+[http://heanet.dl.sourceforge.net/netcat/netcat-0.7.1.tar.bz2]
+md5=0a29eff1736ddb5effd0b1ec1f6fe0ef
+sha256=b55af0bbdf5acc02d1eb6ab18da2acd77a400bafd074489003f3df09676332bb
+
[ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/netkit-base-0.17.tar.gz]
md5=1f0193358e92559ec0f598b09ccbc0ec
sha256=16dd81625ebfc8f5dcb0dfd2e6bac223aad325a9405d66a556fe349446b3c332
@@ -11322,26 +14362,58 @@ sha256=3a43c0010d4e61f412563fd83769d4667d8b8e82903526d21cb9205fe55ad14d
md5=18ed6d0f1adf75a748df55d5e924fabb
sha256=e42d3b3f30de0c1ad0a86aa039b35cf2bf64c7f64c29ee333cbf934784639973
+[http://heanet.dl.sourceforge.net/netpbm/netpbm-10.28.tgz]
+md5=18ed6d0f1adf75a748df55d5e924fabb
+sha256=e42d3b3f30de0c1ad0a86aa039b35cf2bf64c7f64c29ee333cbf934784639973
+
+[ftp://ftp.netperf.org/netperf/netperf-2.4.4.tar.bz2]
+md5=0e942f22864e601406a994420231075b
+sha256=28e76af491ea3696885e4558ae2f5628a4b9ebdbefc2f1d9cf1b35db2813e497
+
[ftp://ftp.debian.org/debian/pool/non-free/n/netperf/netperf_2.3.orig.tar.gz]
md5=b50e49d5f0d3780438af0027a182b997
sha256=0578f4fafb309adf3413c9f56076b1b16476cb71e83c02ff7efafad172d91adb
+[ftp://ftp.nl.debian.org/debian/pool/non-free/n/netperf/netperf_2.3.orig.tar.gz]
+md5=b50e49d5f0d3780438af0027a182b997
+sha256=0578f4fafb309adf3413c9f56076b1b16476cb71e83c02ff7efafad172d91adb
+
[ftp://ftp.debian.org/debian/pool/non-free/n/netperf/netperf_2.4.2.orig.tar.gz]
md5=c747042975c2965b2cd45ebf8525c5f8
sha256=844ba97e745a0b9f37afc7daa323cafcef00108cd0254667da0a00558eb323a7
+[http://web.purplefrog.com/~thoth/netpipes/ftp/netpipes-4.2-export.tar.gz]
+md5=36f7b3120e00c9c74cb6619334de419f
+sha256=6eed89b661ae9f2ac0d383414ca964abea8a115f8fba0f7ab37b49b565ffb2a8
+
+[http://ftp.gnome.org/pub/GNOME/sources/network-manager-applet/0.6/network-manager-applet-0.6.5.tar.bz2]
+md5=1c94a41e2399d261985a75f0cd3b895b
+sha256=9cca3e34e23f00c82bc5e7237aa81639874e90d43a689e26fbfd938279ca31c9
+
[http://downloads.sourceforge.net/nfs/nfs-utils-1.0.6.tar.gz]
md5=f17e9983457e1cf61c37f0be4493fce6
sha256=aa99fcb016971290f9a871331eed60150ebdd84785dda1b252556a54760b97bf
+[http://heanet.dl.sourceforge.net/nfs/nfs-utils-1.0.6.tar.gz]
+md5=f17e9983457e1cf61c37f0be4493fce6
+sha256=aa99fcb016971290f9a871331eed60150ebdd84785dda1b252556a54760b97bf
+
[http://downloads.sourceforge.net/nfs/nfs-utils-1.1.2.tar.gz]
md5=76ee9274c2b867839427eba91b327f03
sha256=1d09b1c133e4eed9d2df07ead4eba813e6993875c39e66d7b4081287029d4033
+[http://heanet.dl.sourceforge.net/nfs/nfs-utils-1.1.2.tar.gz]
+md5=76ee9274c2b867839427eba91b327f03
+sha256=1d09b1c133e4eed9d2df07ead4eba813e6993875c39e66d7b4081287029d4033
+
[http://downloads.sourceforge.net/ngrep/ngrep-1.42.tar.bz2]
md5=35e821cfd888e9523a90fb7e5074a072
sha256=fd5a85b48613452fbfc9ce6d6e3fa3f37992731422eb2843235fbf4e02d6f1e9
+[http://heanet.dl.sourceforge.net/ngrep/ngrep-1.42.tar.bz2]
+md5=35e821cfd888e9523a90fb7e5074a072
+sha256=fd5a85b48613452fbfc9ce6d6e3fa3f37992731422eb2843235fbf4e02d6f1e9
+
[http://ftp.debian.org/debian/pool/main/n/nkf/nkf_2.07.orig.tar.gz]
md5=af11dcd3fe71d67831c020e3bfd5073b
sha256=71d2ba992df209a00bb1dca45e3336729dc16e51b71526bd20f897cc6127a275
@@ -11358,6 +14430,10 @@ sha256=aac281c7437e4007236eb461a668311eb3453e85012acf619aa3d62683330a6a
md5=af4c4ad64196f26a245c385a234f462f
sha256=5d6c456b30318cc05b19915aa601ea4c2cf46ddf43a39e33948dea6280ac5395
+[http://heanet.dl.sourceforge.net/materm/no_debug_x.patch]
+md5=021613030ae67c5c9868ec2a0c031172
+sha256=a41c3eb4cf94fe7b059468983a2f533e0669d0204088fa5ece365b1663b560c7
+
[http://zaurus.vivaphp.net/nogravity.tar.bz2]
md5=42d9e4cfd86b15826426797a0fb6d499
sha256=f9c86a163bd27dc4fd05abb958bb857109a556a4a58f8d06663d49ac0559ac92
@@ -11366,10 +14442,22 @@ sha256=f9c86a163bd27dc4fd05abb958bb857109a556a4a58f8d06663d49ac0559ac92
md5=0b8b1a58bfdb60fa41df46771a464b82
sha256=a99b07c2193eebeb766bc422dd2ebba6649680457d58a4f5a86f2567ce49b3fa
+[http://heanet.dl.sourceforge.net/notecase/notecase-1.2.6_src.tar.gz]
+md5=0b8b1a58bfdb60fa41df46771a464b82
+sha256=a99b07c2193eebeb766bc422dd2ebba6649680457d58a4f5a86f2567ce49b3fa
+
+[http://heanet.dl.sourceforge.net/notecase/notecase-1.6.9_src.tar.gz]
+md5=da3267f271cd6e2c82d4efa4176ae583
+sha256=2d814209506cb52db87f4dae5cbb3de6165e1d46c845114d0eee242385165fb0
+
[http://downloads.sourceforge.net/notecase/notecase-1.7.2_src.tar.gz]
md5=ad8b93c16e740988b5114826c47a53bb
sha256=763529033d4858285401d9e68c6412d21ed62624fb65e8150d8c703012a4ca49
+[http://heanet.dl.sourceforge.net/notecase/notecase-1.7.2_src.tar.gz]
+md5=ad8b93c16e740988b5114826c47a53bb
+sha256=763529033d4858285401d9e68c6412d21ed62624fb65e8150d8c703012a4ca49
+
[http://www.holtschneider.com/notez/notez-1.1.0.tar.gz]
md5=c348a626fc09265fa74a12470c83c113
sha256=11ee0a660faca7993a2f525d2964391d135b9552d9e94abad6cb6c5f3983f964
@@ -11414,6 +14502,10 @@ sha256=b5bbf81230bb21573d69fc471721b0b0c404eaa5040ef28e7dcec38320a1b2e4
md5=1ec6055c75f1acbb5d5600492481ef85
sha256=c50cdf2c6cf7309f88c7ec0a56158eca76c80532502b36f3378eeca433423d83
+[http://heanet.dl.sourceforge.net/ntop/ntop-3.0.tgz]
+md5=1ec6055c75f1acbb5d5600492481ef85
+sha256=c50cdf2c6cf7309f88c7ec0a56158eca76c80532502b36f3378eeca433423d83
+
[http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.1/ntp-4.1.2.tar.gz]
md5=98e16c7aa4ecd4c004b51bff18962e95
sha256=9f4a5271a285d390c9225e3ea28f70049ea377d30fc6de4659007cfff278671a
@@ -11438,6 +14530,10 @@ sha256=295ed5ecfab595901cbe2cd41998d1715913318d30c22349784733e79de0e8f8
md5=40cec6ce8ca2e95a4fbc7a28879bf4a5
sha256=7a6f7f2745cbcb02bf79cc7cd365a3f80679f2558dfaa378010675f40a7aff3b
+[http://heanet.dl.sourceforge.net/numpy/numarray-1.1.1.tar.gz]
+md5=40cec6ce8ca2e95a4fbc7a28879bf4a5
+sha256=7a6f7f2745cbcb02bf79cc7cd365a3f80679f2558dfaa378010675f40a7aff3b
+
[http://wwwpub.zih.tu-dresden.de/~mkluge/numptyphysics_setup.tgz]
md5=24a031f628cc91825bb80ee2aaa21b77
sha256=3a60d6a6327f3ad8653e1de5dbf5c36f2a591d409d3e3ae7f6c84d25dbc3e7da
@@ -11446,6 +14542,26 @@ sha256=3a60d6a6327f3ad8653e1de5dbf5c36f2a591d409d3e3ae7f6c84d25dbc3e7da
md5=af066b59a50bf5dbe1a14d6be3df6937
sha256=d430273a77aed959c007595d969fefa36c59249807212d7d89f5d6cf2a701dd6
+[http://heanet.dl.sourceforge.net/numpy/numpy-1.1.1.tar.gz]
+md5=af066b59a50bf5dbe1a14d6be3df6937
+sha256=d430273a77aed959c007595d969fefa36c59249807212d7d89f5d6cf2a701dd6
+
+[http://heanet.dl.sourceforge.net/gakusei/nunome-1.0.2.tar.bz2]
+md5=e5c9d2351de250aaa7abf581a1f2c0f4
+sha256=7bda9302036facd65b323d7042a809b08d55d5b61b38d4d40f22f41f27fec83c
+
+[http://www.networkupstools.org/source/2.2/nut-2.2.1.tar.gz]
+md5=c7ae871961a7dbe12b22d504267dc132
+sha256=9aad15d8cdd8694839b54342c8b4c26ddce508f6fb29ff4bee3abbe1555771f4
+
+[http://64.34.161.181/download/3.2.0/sources/nxcomp-3.2.0-7.tar.gz]
+md5=5ea64a557c770d9f5cc4b9a7a9d1343c
+sha256=ec1b9a9447bcbfe36cff46aaf4aaa6b3f8f945487438a92d0b8e70d9b7814f97
+
+[http://64.34.161.181/download/3.2.0/sources/nxproxy-3.2.0-1.tar.gz]
+md5=ac31e8f2f112e3720f3c00cec67c0734
+sha256=5642ce40e2f34caeed433e8c0ac010e2e7e738c2c5aa8fc59bba892a8b542d84
+
[http://meshcube.org/download/nylon-statistics_20050909.tgz]
md5=103c5c821474ae6df7a3055ee72f4d00
sha256=c80d9ea7ebca32b63ea23d2a52ac799cff32f8f30c66b491d2b8f93da05585e4
@@ -11458,14 +14574,26 @@ sha256=b69a259795762881a5384072085bb501d77c6fb974e0b7a16ca573565ffe3629
md5=085b9edc0504c0d79e7479a54e2018c5
sha256=7246fc75257afcd30ff16dc70185057157bcefc12fa9fba111b3b201577cc40e
+[http://heanet.dl.sourceforge.net/openobex/obexftp-0.20.tar.gz]
+md5=085b9edc0504c0d79e7479a54e2018c5
+sha256=7246fc75257afcd30ff16dc70185057157bcefc12fa9fba111b3b201577cc40e
+
[http://downloads.sourceforge.net/openobex/obexftp-0.22.tar.bz2]
md5=d167cfdea244e3a5f973a7b16864419c
sha256=09687012d5e016277fa638f22b8c784aea6803056c70d14614e3b75158aae877
+[http://heanet.dl.sourceforge.net/openobex/obexftp-0.22.tar.bz2]
+md5=d167cfdea244e3a5f973a7b16864419c
+sha256=09687012d5e016277fa638f22b8c784aea6803056c70d14614e3b75158aae877
+
[http://www.caside.lancs.ac.uk/bt/obexpush.tar.gz]
md5=edb66ba97fe6c84b6160c670c4bcdea8
sha256=341c6865aa392b6cf056e1bd9cda53d2f31a942460087ad22d6f6dc91bb0bd0e
+[http://xorg.freedesktop.org/releases/individual/app/oclock-1.0.1.tar.bz2]
+md5=91f49547f9ed3cd0137c8b7c3183e360
+sha256=49ab7d4f6402fbbe30714012ee38b49da17789f3a29ac41917987ce18c74217c
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/oclock-X11R7.0-1.0.1.tar.bz2]
md5=e35af9699c49f0b77fad45a3b942c3b1
sha256=341d98894e76b4e3531c923b22bbb7603788a6f614a795c6285c339f6534bee9
@@ -11474,14 +14602,30 @@ sha256=341d98894e76b4e3531c923b22bbb7603788a6f614a795c6285c339f6534bee9
md5=811df48dfc472013e2d858cc5d1cad00
sha256=158ea1d061855ebb0bff92530f4975dd34e8e83d22ee0e425b49920ff2146351
+[ftp://ftp.octave.org/pub/octave/obsolete/octave-2.1.73.tar.gz]
+md5=e75a109620e57de081ee73e0489e5990
+sha256=d44d23b09165e1d7008dbd4d0e052bb3fa3641de7705c9c0302c9cff583de609
+
+[ftp://ftp.octave.org/pub/octave/octave-3.0.0.tar.gz]
+md5=60ed361c7310eccce01395470b711a57
+sha256=b99b6e2c1a0977fbe2f0c19210694ed44ff182d17d3920c485fb6ce725b89816
+
[http://downloads.sourceforge.net/opende/ode-0.5.tgz]
md5=b33b21e04ee9661f27802b6b6c8eefd2
sha256=5388c4cd4666f270f18216c90ab6526229c53fdc7e82f93ddb0824e69521df1c
+[http://heanet.dl.sourceforge.net/opende/ode-src-0.9.zip]
+md5=4c03759b76a0649a6d5108c8e172e1e4
+sha256=460d0851b743b1f144ef2a8259004d6774504c95d08e9357a96a296111496feb
+
[ftp://ftp.debian.org/debian/pool/main/o/offlineimap/offlineimap_4.0.14.tar.gz]
md5=b374415d7f5d485993fa697ab9a678b4
sha256=3b46936339fe5c2dcb8fb2f9213fa36dcddefaa1e00d1d93b5640d8cc9898ca1
+[ftp://ftp.nl.debian.org/debian/pool/main/o/offlineimap/offlineimap_4.0.14.tar.gz]
+md5=b374415d7f5d485993fa697ab9a678b4
+sha256=3b46936339fe5c2dcb8fb2f9213fa36dcddefaa1e00d1d93b5640d8cc9898ca1
+
[http://www.olsr.org/releases/0.4/olsrd-0.4.10.tar.bz2]
md5=9807d4451e65cb4ec385155eef7bf3cf
sha256=af04bdd8abd85bb4715fd6011566054847c75fcbac5e5e9cdee80858ac2957d3
@@ -11494,6 +14638,14 @@ sha256=b935aaf1e389f767ba8238c7a5c0b4387a345168acddf4f38bb6914149953a28
md5=593c0861fa10d2a8d0e7d8617479c5cf
sha256=b3404a5a5dd78c0e1ba12b8aa1445589fa7861fa4d9ecafb53b38be760876913
+[http://www.olsr.org/releases/0.5/olsrd-0.5.3.tar.bz2]
+md5=786fdf52adeb0d421905332312e5b75f
+sha256=9c495773e9605a67b6cdbbc3fb70449b830ed55eb6e0082778a0ccf941b4b426
+
+[http://www.olsr.org/releases/0.5/olsrd-0.5.5.tar.bz2]
+md5=bd1cd216c318c1359ab6e832adbb1962
+sha256=2fab4646166cc887a87933f52e51ce07c23f4e0395d380ee2f8557805c4884bc
+
[http://people.openmoko.org/olv/om-maps/20080430/om-maps-berlin-20080430.eet]
md5=25b515f30606b3f78d5d77c96663185d
sha256=3ebb791e9bf6b00127b4961d8f15b4d1e48d209468b01365300d3ea5a5cacf37
@@ -11502,6 +14654,10 @@ sha256=3ebb791e9bf6b00127b4961d8f15b4d1e48d209468b01365300d3ea5a5cacf37
md5=306c1d9537f510b30273a030f5ace118
sha256=8486baf16bbc6dd4ad3820330a28546996f9383de96c1b6bf784999dcf4b712e
+[http://people.openmoko.org/olv/om-maps/20080919/om-maps-hong-kong-20080919.eet]
+md5=fdb477186a9a8deb6f62b93e2fd8ab72
+sha256=bb8b04b2befc76ad913cd1f8d4bb90764a13ce3ea015c51bdcdf553184c36a77
+
[http://people.openmoko.org/olv/om-maps/20080430/om-maps-london-20080430.eet]
md5=fa05427d09f98ea6cbceaa4c88f4c51d
sha256=1776ba1ec93984d0ff755a677a769e200a6e435fd1385e699e106c9cec83b04c
@@ -11534,18 +14690,46 @@ sha256=66150243fa43052fc762ec1d5d141b44c98a49bec49f726c7db7c54968d605c5
md5=5e82e0fb27f1ae480c5099f3bd572cf3
sha256=5dafd06260fe58847fb92f2e063f8fb0ae8ad4a3fb082f0871217d3ba88b162c
+[http://www.devzero.net/openmoko/dist/omext-0.2.tar.gz]
+md5=3c1fcd85f0a0cd3ccc4d7b4f26996b47
+sha256=3d3cc3e4f92f7e0b6a352c3f68a337a599a90f4e4b6e6743adc0c70b570639f5
+
[http://downloads.sourceforge.net/omniorb/omniORB-4.0.7.tar.gz]
md5=9d478031be34232e988f3d5874396499
sha256=e4c0875794a74ac627b7b74b6098e75c8413bd156856dc434a49c4c112a68af2
+[http://heanet.dl.sourceforge.net/omniorb/omniORB-4.0.7.tar.gz]
+md5=9d478031be34232e988f3d5874396499
+sha256=e4c0875794a74ac627b7b74b6098e75c8413bd156856dc434a49c4c112a68af2
+
+[http://www.daidouji.com/oneko/distfiles/oneko-1.2.sakura.5.tar.gz]
+md5=456b318fa6e61431bf4f0a42b110014a
+sha256=2c2e05f1241e9b76f54475b5577cd4fb6670de058218d04a741a04ebd4a2b22f
+
+[http://www.openal.org/openal_webstf/downloads/openal-0.0.8.tar.gz]
+md5=641cf53761f35ee979f3e888614797a0
+sha256=723e2c57c3cdffa7ff11f9b6b5478d6cb4af017e5a1ee7a56032969c39c1c2fe
+
[http://downloads.sourceforge.net/opencvlibrary/opencv-1.0.0.tar.gz]
md5=146a05005f2d2c16c4ee10ebd7f1dd58
sha256=3a6ee888e4dd4ab7f2bc80d046688c099c6a95d1267af554b7c8f1543b66f21e
+[http://heanet.dl.sourceforge.net/opencvlibrary/opencv-1.0.0.tar.gz]
+md5=146a05005f2d2c16c4ee10ebd7f1dd58
+sha256=3a6ee888e4dd4ab7f2bc80d046688c099c6a95d1267af554b7c8f1543b66f21e
+
[http://downloads.sourceforge.net/openjade/openjade-1.3.2.tar.gz]
md5=7df692e3186109cc00db6825b777201e
sha256=1d2d7996cc94f9b87d0c51cf0e028070ac177c4123ecbfd7ac1cb8d0b7d322d1
+[http://heanet.dl.sourceforge.net/openjade/openjade-1.3.2.tar.gz]
+md5=7df692e3186109cc00db6825b777201e
+sha256=1d2d7996cc94f9b87d0c51cf0e028070ac177c4123ecbfd7ac1cb8d0b7d322d1
+
+[http://jalimo.evolvis.org/repository/sources/openjdk-langtools-jdk7-b31.tar.bz2]
+md5=670931f67b2e4ac46c6e0cd15418f2fa
+sha256=f8b8820e410c137d279d14dec7e7a93217cc371acdfe1b3343b2278d1728932e
+
[ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.2.29.tgz]
md5=6c4c72a1336aa45b463e738034c078d6
sha256=82ed5a27d2b340826b2e10625e687627ccefc883a426314952e4a253d5a6af29
@@ -11566,14 +14750,30 @@ sha256=83dd7c1e8ec8b4567afe49af539271b5a73562fb7a3ca51df73eccba89ec8c49
md5=c92746ae7bd69255c2c41f51e9349c65
sha256=501c611a73d2f7d8a3de5ef83202ff3f9ab21d2c467e39548737e344b085f931
+[http://heanet.dl.sourceforge.net/openobex/openobex-1.2.tar.gz]
+md5=c92746ae7bd69255c2c41f51e9349c65
+sha256=501c611a73d2f7d8a3de5ef83202ff3f9ab21d2c467e39548737e344b085f931
+
[http://downloads.sourceforge.net/openobex/openobex-1.3.tar.gz]
md5=feaa5dfe5151c0e70e8f868fa4648a43
sha256=3a80ba2524c66a46db3ac17a788a759015a1f79de6a495fcdf3a316e19fe7c23
+[http://heanet.dl.sourceforge.net/openobex/openobex-1.3.tar.gz]
+md5=feaa5dfe5151c0e70e8f868fa4648a43
+sha256=3a80ba2524c66a46db3ac17a788a759015a1f79de6a495fcdf3a316e19fe7c23
+
[http://www.openpbx.org/releases/openpbx.org-1.2_rc3.tar.gz]
md5=e270c40626dfa2131cc39dd1352b46f9
sha256=934e1e5438c46927236f1f3254265e94c7e38e7c0e02d92abb7efc4e03ce91e9
+[http://heanet.dl.sourceforge.net/openrdate/openrdate-1.1.3.tar.gz]
+md5=af4785f615b9d87b9c86a32af4ecc225
+sha256=0f8a034107fc7593f28e77b276f964c1309343b4702ecdf0d61bb3e57ad0cb5f
+
+[http://qa.debian.org/watch/sf.php/openrdate/openrdate-1.1.3.tar.gz]
+md5=af4785f615b9d87b9c86a32af4ecc225
+sha256=0f8a034107fc7593f28e77b276f964c1309343b4702ecdf0d61bb3e57ad0cb5f
+
[http://openredalert.googlecode.com/files/openredalert-r438-src.tar.gz]
md5=12dc7a8042c023bc77b7830946fc8492
sha256=68058b6ffd9a286111c1860ca6d53af0d98d3f0c2a53875efd72ab381a3f9d6d
@@ -11642,6 +14842,10 @@ sha256=56e844da580761ddbb580683fc455a8d9eb3179df631568c26b7188d1ff16363
md5=dcf63687c73ff56887049fedaf6c6019
sha256=39955ae5355299ac99f97093d01e66403516275dcac0f575bf1f3d0c67c17999
+[http://binaries.openttd.org/releases/0.6.2/openttd-0.6.2-source.tar.bz2]
+md5=0678c02c92101616dbd710438dbfac43
+sha256=c28db9ae3798c6d44a5745319479478e758a207adf593a915e01014a38d42c7b
+
[http://downloads.sourceforge.net/openvpn/openvpn-1.5.0.tar.gz]
md5=55d7ce958bb2ccf3d3204d1350c27179
sha256=d34d0a1a29de12cbb4fc6f8d80eced7b674ee3574e3df3d678fb0467283f7826
@@ -11650,6 +14854,10 @@ sha256=d34d0a1a29de12cbb4fc6f8d80eced7b674ee3574e3df3d678fb0467283f7826
md5=9eab3719b280a12d19ef1fda286cc363
sha256=22072a24bcaef8038a1e84363f3e209f65eb7c7ab37741752172a334acb31fb8
+[http://openvpn.net/release/openvpn-1.6.0.tar.gz]
+md5=9eab3719b280a12d19ef1fda286cc363
+sha256=22072a24bcaef8038a1e84363f3e209f65eb7c7ab37741752172a334acb31fb8
+
[http://openvpn.net/release/openvpn-2.0.2.tar.gz]
md5=862f8788f080f669b1ae00a74ef68001
sha256=927512af1c0bc2af29690e205ce16c0cc920477be85742ebbedd8472ba01f807
@@ -11662,18 +14870,34 @@ sha256=347c551e7c88affc1f4b7a4b715080253c9298dcc512ed29fe8ca5cd26d015d9
md5=7401faebc6baee9add32608709c54eec
sha256=063f00d5b889beee910eb113c8cfbb4fc85cd404693494bcaaf79dd09a98335c
+[http://heanet.dl.sourceforge.net/gakusei/openwrt-imagetools-svn-rev7641.tar.bz2]
+md5=7f35543286911b827dcbf8d07a7d72be
+sha256=bad49b59646dbea380cc88be13a77d17c70488b8e11e85f7dd474930fa9cf36a
+
[http://downloads.sourceforge.net/oprofile/oprofile-0.9.2.tar.gz]
md5=9af4e1e1aab89131516736bb60e9efba
sha256=4b3780ee09efe665a69151c994e0e5f01a56c57338660c18df30916904df83a6
+[http://heanet.dl.sourceforge.net/oprofile/oprofile-0.9.2.tar.gz]
+md5=9af4e1e1aab89131516736bb60e9efba
+sha256=4b3780ee09efe665a69151c994e0e5f01a56c57338660c18df30916904df83a6
+
[http://downloads.sourceforge.net/oprofile/oprofile-0.9.3.tar.gz]
md5=bb91e4d5bd45ff0d5c3e6214653422b7
sha256=4f86ab165dabcc7bc4008710a66fa0ed391c083e2a8bdf8a8f5bf11c0244b2cb
+[http://heanet.dl.sourceforge.net/oprofile/oprofile-0.9.3.tar.gz]
+md5=bb91e4d5bd45ff0d5c3e6214653422b7
+sha256=4f86ab165dabcc7bc4008710a66fa0ed391c083e2a8bdf8a8f5bf11c0244b2cb
+
[http://downloads.sourceforge.net/oprofile/oprofile-0.9.4.tar.gz]
md5=82b059379895cf125261d7d773465915
sha256=cb1452159036ba7d3003b75dfef38fcbc61503f76adfca2879ebf7766931cade
+[http://heanet.dl.sourceforge.net/oprofile/oprofile-0.9.4.tar.gz]
+md5=82b059379895cf125261d7d773465915
+sha256=cb1452159036ba7d3003b75dfef38fcbc61503f76adfca2879ebf7766931cade
+
[http://www.rpsys.net/openzaurus/patches/archive/oprofile_always_bt_arm-r0.patch]
md5=9d1e6a9bd4d6dc9cae3c54c18c303ace
sha256=e0e33fae512e54ff27474c926a758cf687e35d2c3007f69d4c647b69d47352ae
@@ -11690,6 +14914,10 @@ sha256=07fbed267421ee26ee4b6bc410b68a10a284072d78e1e495c74865db0470306e
md5=fb2b24560c993aba6a6badfdc5e666a6
sha256=78b6313164702e2907ea0f746e5cff443c82a16433c3b4f62831ca5755f451e9
+[http://heanet.dl.sourceforge.net/orinoco/orinoco-0.15rc1.tar.gz]
+md5=fb2b24560c993aba6a6badfdc5e666a6
+sha256=78b6313164702e2907ea0f746e5cff443c82a16433c3b4f62831ca5755f451e9
+
[http://ozlabs.org/people/dgibson/dldwd/orinoco-0.15rc2.tar.gz]
md5=2246f0879439d74f7aabc7935cec90c0
sha256=2997613ab33ad42dc8269a63b7c40a6938b3552e196780a4a269cc7340dd23bd
@@ -11706,22 +14934,42 @@ sha256=2f2fc74a13df58f560c40385cd78683c66623d7a8271cb17941a9de7be07d43f
md5=4dad43f6e1291dfefaec6e9209928a0d
sha256=78bed1f7a227c7844f4f1c3fd4eaa8c1c15f3ba6133ab1186f5b35371344de96
+[http://heanet.dl.sourceforge.net/gtk-webcore/osb-browser-0.5.0.tar.gz]
+md5=4dad43f6e1291dfefaec6e9209928a0d
+sha256=78bed1f7a227c7844f4f1c3fd4eaa8c1c15f3ba6133ab1186f5b35371344de96
+
[http://downloads.sourceforge.net/gtk-webcore/osb-jscore-0.5.0.tar.gz]
md5=969cda923c419e35a319911b30b1d4b8
sha256=f5ad6961288687b8dc44a3f5cd6d1901b1b5b293e592da7a63c201eee1089464
+[http://heanet.dl.sourceforge.net/gtk-webcore/osb-jscore-0.5.0.tar.gz]
+md5=969cda923c419e35a319911b30b1d4b8
+sha256=f5ad6961288687b8dc44a3f5cd6d1901b1b5b293e592da7a63c201eee1089464
+
[http://downloads.sourceforge.net/gtk-webcore/osb-nrcit-0.5.0.tar.gz]
md5=b02f4a0dcaac722ad7cdc112db964df4
sha256=8977c50529ecd51441897d675a3eca980d50e2b33fb0885f9dae1f3c9fd417c8
+[http://heanet.dl.sourceforge.net/gtk-webcore/osb-nrcit-0.5.0.tar.gz]
+md5=b02f4a0dcaac722ad7cdc112db964df4
+sha256=8977c50529ecd51441897d675a3eca980d50e2b33fb0885f9dae1f3c9fd417c8
+
[http://downloads.sourceforge.net/gtk-webcore/osb-nrcore-0.5.0.tar.gz]
md5=16d9a9a322025cae1a7fe8225690695a
sha256=39123e386671e18873392fe221616bbfc2be5ca6ddc3660d6cc001a6aa1f59a8
+[http://heanet.dl.sourceforge.net/gtk-webcore/osb-nrcore-0.5.0.tar.gz]
+md5=16d9a9a322025cae1a7fe8225690695a
+sha256=39123e386671e18873392fe221616bbfc2be5ca6ddc3660d6cc001a6aa1f59a8
+
[http://downloads.sourceforge.net/re-aim-7/osdl-aim-7.0.1.13.tar.gz]
md5=925eb6675ce86cb011699f38468a1fd1
sha256=52d87bcb19fef6360d2e36274c2b5fe512e8427550eae04c5fa897ee77d34273
+[http://heanet.dl.sourceforge.net/re-aim-7/osdl-aim-7.0.1.13.tar.gz]
+md5=925eb6675ce86cb011699f38468a1fd1
+sha256=52d87bcb19fef6360d2e36274c2b5fe512e8427550eae04c5fa897ee77d34273
+
[http://stage.maemo.org:80/pool/maemo/ossw/source/o/osso-af-settings/osso-af-settings_0.8.5-1.tar.gz]
md5=e24a9a9fb2167197ad6d141c891be9cf
sha256=c243adca37a6b80e1ccd43da53e61d1794d4dede6787c9beebacd2c1932271ce
@@ -11762,6 +15010,10 @@ sha256=1a84b7d4939313e9b7ec0ce8f50934251fe1569e6144931dd323de8ee8dacccd
md5=a3752aae572d3a621990d0b1db38a0eb
sha256=9cf40c2e07cbc55576bb4b09fc406351533e0b06064e935c73f7c5aedde13b81
+[http://repository.maemo.org/pool/maemo4.0/free/source/o/osso-gnome-vfs2/osso-gnome-vfs2_2.16.3-1osso31.tar.gz]
+md5=dc5d48a94d4d41db9e34a6ddf646a355
+sha256=01e4e2331df788bddd1e3453ee490c086d4f669c4cbca7a41ff2c15d3b7d6b84
+
[http://repository.maemo.org/pool/maemo/ossw/source/o/osso-gwconnect/osso-gwconnect_0.70.1.tar.gz]
md5=e4a87e616807dfd8557663a28990e948
sha256=1bebf4c6adf9d383014bf0da8f133c0dbb6aa420033347e8e1f307f79051bc86
@@ -11810,6 +15062,10 @@ sha256=dd9b3210a6f3168f7cf2c5ee1a36f7f19fd6f3dd834681cc561c813303077ebd
md5=dadb84bbea954dfc1b38bc9760209fbc
sha256=56f7a4c8ed79a7f00d171a83b6c0be7dc508c21f809d15dfa89887cfc9c40c2d
+[http://killa.net/infosec/otpCalc/otpCalc-0.97.tar.gz]
+md5=73c9a9e95462afda725fdf17a301f0b0
+sha256=e2c19fa6178ed42f0576650db6f94942cac366feadf82c2a679b35197c65f745
+
[http://erlang.org/download/otp_src_R11B-1.tar.gz]
md5=1fe3707d9bed898bc51444cb529fdd79
sha256=d5a8530dfee0b2348c4ad0107409fa73ac3233f31e2300ece625a2abd9eb4da7
@@ -11834,6 +15090,58 @@ sha256=8db9b3948c607315f0ba0df61b32f747bec5479c38051d3e0e55b31b82c81af5
md5=7f54ae7ebe9adbefc2a2ad55c62589da
sha256=2c23dac41ef0ec0b74b38c4c1dc4b0f6f21386c97a0062a745a2896cdf026e8d
+[http://heanet.dl.sourceforge.net/p3scan/p3scan-2.9.05d.tar.gz]
+md5=7f54ae7ebe9adbefc2a2ad55c62589da
+sha256=2c23dac41ef0ec0b74b38c4c1dc4b0f6f21386c97a0062a745a2896cdf026e8d
+
+[http://filehost.perforce.com/perforce/r04.2/bin.linuxarm/p4]
+md5=ba983759366018ad2d90a7e088f509eb
+sha256=de8bce2b3ae085a973dca4f7208c3cb1ab1fdc9bbcc9e3496ad3d56a4923dba0
+
+[http://filehost.perforce.com/perforce/r05.2/bin.linuxarm/p4]
+md5=9bc57695db5885ffac0a352fc17a7f84
+sha256=56dd1cb2364b8c8618f9019b641d17d6b307a5a797f3ac31c16a01247554e10c
+
+[http://filehost.perforce.com/perforce/r04.2/bin.linuxarm/p4api.tar]
+md5=1eb1fb53531e09a03f158957016d55a6
+sha256=7d5455c9aa77aea548f3b52f579bf41fff034f0be1c283840b88be401f817792
+
+[http://filehost.perforce.com/perforce/r05.2/bin.linuxarm/p4api.tar]
+md5=7bdb4d9f59a231cc90a8e93709ec1595
+sha256=2e742bf3358f9b8b38f692f4222f96d6901a6faedca155942f58435cee385614
+
+[http://filehost.perforce.com/perforce/r04.2/bin.linuxarm/p4d]
+md5=690a404af3d916dc7c1cfa5a14a51171
+sha256=e41d44dbc5bd60f2140f0774945154105759b2dabf4c26c097cf754797274e39
+
+[http://filehost.perforce.com/perforce/r05.2/bin.linuxarm/p4d]
+md5=9a72849bb39cfe19da018271824a3ae1
+sha256=d67bc483b3cbccdcf32db6af21f02d20793a4c3ccc4b758c3a66374b410b73e8
+
+[http://filehost.perforce.com/perforce/r04.2/bin.linuxarm/p4ftpd]
+md5=c099df674fb3c249cb1d1984f00d573e
+sha256=9839564335035bc92041fafd93d05a811dc4243bb72269b3afe5ba823f016418
+
+[http://filehost.perforce.com/perforce/r05.2/bin.linuxarm/p4ftpd]
+md5=eb47a4e532fca795893f0c727ae59c84
+sha256=bb5de57d0098e1c6f0d238cc4e658c64579b26fc1df58b9ce59c057fcb5b2f4c
+
+[http://filehost.perforce.com/perforce/r04.2/bin.linuxarm/p4p]
+md5=02de68f26da402689f661662217cd77f
+sha256=24d153529f669ff5fd9dc0d7a09bf7c6e658ee2d2496ab8025a2aaf12425907c
+
+[http://filehost.perforce.com/perforce/r05.2/bin.linuxarm/p4p]
+md5=eed70a3a6af7e59a44d614d4a8022ff0
+sha256=b4b6546d16f161a50337bf9f5dfaf3a4795a3c9b56931e7ee2ace8bcf1863d6e
+
+[http://filehost.perforce.com/perforce/r04.2/bin.linuxarm/p4web]
+md5=7bf9967719351c7a0758e20641978358
+sha256=70ebe07343989de042b9ef7866cfca540cfb28458e6c475d516c6916f4feb468
+
+[http://filehost.perforce.com/perforce/r05.2/bin.linuxarm/p4web]
+md5=e97b15e64be5a3773880f7d66e87a541
+sha256=ce72ef785a92aa8c71b6525e37da49bebab670a046b2ee0c023713f5aa497826
+
[http://www.portaudio.com/archives/pa_stable_v19_20071207.tar.gz]
md5=d2943e4469834b25afe62cc51adc025f
sha256=06a17727d56d382a69036de2ed9aee9a15cac0329b995b8cfcd69b357f47bf2b
@@ -11938,6 +15246,10 @@ sha256=6c57feb082c23e52f38366fff4ffa3961e5dc294d4ebb61ffa31462b5ae3681e
md5=cce5bce8fa1d430e1ca3de3722807e01
sha256=2f67c40e2589e7804213493f24ebf80cd10847b47c95098854db0250511c3ed1
+[ftp://ftp.gnu.org/gnu/parted/parted-1.8.7.tar.gz]
+md5=2ec5cb88b146f1a8ccd5b389455503c6
+sha256=bffb732ab47a8dfb528ab2513f6ae82a4f795c119decfe1f96310bf32c4dfc9e
+
[http://mutt.org.ua/download/mutt-1.5.15/patch-1.5.15.vvv.initials.gz]
md5=414606ce18de730d1bb6478899532644
sha256=9385915adb106abba6f1576be58901f368688b1d55ef454e3993394828ee17e1
@@ -12046,6 +15358,10 @@ sha256=5ee24e1c5636bcffed155b1c01d7d09fedb135fa2458c190a0da03a82c8c2f60
md5=27544a58763bbd4ce497a77658af744a
sha256=0f96188e8d1c6e0934f8e8dc2455e1f94a47c10cb17268364bcd77df68c83c2a
+[http://kernel.org/pub/linux/kernel/v2.6/patch-2.6.22.6.bz2]
+md5=f2948e364ab3e4736b9e34f02173472f
+sha256=a85c8ce79cdc126b32aa9a74dbc64c368f0e7e9ec33e156af746003e1b5a8c4d
+
[http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-2.6.23-git9.bz2]
md5=e89c566908bb21e43937fe8bc33062c4
sha256=126057524ae9707137b0c478753edc8072e1710160b0604a43e4625d0fde519e
@@ -12054,10 +15370,18 @@ sha256=126057524ae9707137b0c478753edc8072e1710160b0604a43e4625d0fde519e
md5=d23e6c5bb8294d61f0d9a4957c22eb20
sha256=c2085fc8fc6df586ef8c19a4562b84162f0b77956d691aa4fbee5e90c9800cb7
+[http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.23-rc3.bz2]
+md5=736ea68a03158c24e55aa95e0ab15ceb
+sha256=4d2c13dee5ea7bd8b5cdbf63afa9383b45f6bad1f75b163c49e086a5030a04de
+
[http://kernel.org/pub/linux/kernel/v2.6/patch-2.6.23.1.bz2]
md5=896c5d4e7fd68d37b8c16e5d2842563b
sha256=55e811b4d4b0cbfde500bdd5455b7180d3def3dbdc52314520b7327d32b23f42
+[http://kernel.org/pub/linux/kernel/v2.6/patch-2.6.23.12.bz2]
+md5=5932b5043abe8ca1ac7ee1ed73fa5e91
+sha256=bd83c501ff86103f054421496de31e6bc86d40d6bec6eafd2712bb0fb9da9d07
+
[http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.24-rc1.bz2]
md5=4f5daa28c871d9edd6d61f712f4b358d
sha256=2512a51923318bde6175e073b3eec0e58ae07123bcdc49afa11f286b0d4bd06d
@@ -12170,10 +15494,18 @@ sha256=61fd2a9225aad67d4e21727a297e571ddd6a973b845646cf10b24a92b88467bc
md5=ac676498175495a37bef0b41bca9ace9
sha256=1f7dec1a275774cb6eff9a491b74bbea7a2276140d640c15ed260c798c8334ed
+[http://heanet.dl.sourceforge.net/pcmanfm/pcmanfm-0.3.0.1.tar.gz]
+md5=ac676498175495a37bef0b41bca9ace9
+sha256=1f7dec1a275774cb6eff9a491b74bbea7a2276140d640c15ed260c798c8334ed
+
[http://downloads.sourceforge.net/pcmanfm/pcmanfm-0.3.2-beta.tar.gz]
md5=a0843bc54c60aac63cb04b55a6766402
sha256=f840326e6d6569444adf1d1c5d0fb8e93e7d16f0ef71dca4b1eeefddab8282c5
+[http://heanet.dl.sourceforge.net/pcmanfm/pcmanfm-0.3.2-beta.tar.gz]
+md5=a0843bc54c60aac63cb04b55a6766402
+sha256=f840326e6d6569444adf1d1c5d0fb8e93e7d16f0ef71dca4b1eeefddab8282c5
+
[http://downloads.sourceforge.net/pcmanfm/pcmanfm-0.3.2.2.tar.gz]
md5=e735c8effc941912b5253a31d4136417
sha256=601c607115befa22567c7dae3399416787a549daaefcb03820851dcd8d8b4d50
@@ -12182,6 +15514,10 @@ sha256=601c607115befa22567c7dae3399416787a549daaefcb03820851dcd8d8b4d50
md5=0d6d65be8896eff081aee996049afaa5
sha256=ef93921e8555862df4c24b1c357430ff3d5ba1d3b6b7e324862ea37b511270c0
+[http://heanet.dl.sourceforge.net/pcmcia-cs/pcmcia-cs-3.2.8.tar.gz]
+md5=0d6d65be8896eff081aee996049afaa5
+sha256=ef93921e8555862df4c24b1c357430ff3d5ba1d3b6b7e324862ea37b511270c0
+
[http://www.informatik.hu-berlin.de/~tkunze/zaurus/patches/pcmcia_suspend.patch]
md5=52423f0766882809c5ace9ed4ccb2131
sha256=c701207f506e3975510a9abc07eaab59f3e7e1fb13b8045ff1fff33964f4be89
@@ -12214,6 +15550,10 @@ sha256=1849733ce494a51334bd1cbf4cc96c63b037256ddab8cb2dc3672db916bb3094
md5=2af38e083fb90ef60fa9eda7cc290e86
sha256=362e4b4473f2f7a3bfa28ea73e80ec00a2fe525a1aceb5f66e1c528a900bd735
+[http://heanet.dl.sourceforge.net/pcre/pcre-7.6.tar.bz2]
+md5=2af38e083fb90ef60fa9eda7cc290e86
+sha256=362e4b4473f2f7a3bfa28ea73e80ec00a2fe525a1aceb5f66e1c528a900bd735
+
[http://alioth.debian.org/download.php/2479/pcsc-lite-1.4.102.tar.bz2]
md5=b97d3a725ab93662adf09acfbc49efeb
sha256=56fc9e6324539537324b071e5b51c3388df9bfa92fb7e210b989b463122fc333
@@ -12226,10 +15566,18 @@ sha256=99d6bc6b360baabd6044e8883d467cc6ed7955f9ab66d8f87f61e3cc757fb97a
md5=912050a9cb6b0f415b76ba56052fb4cf
sha256=89dcc463f88e0b785ee2cf2662d97c6b7d045393283664876370970a09b8cbef
+[http://ftp.funet.fi/pub/CPAN/src/perl-5.8.4.tar.gz]
+md5=912050a9cb6b0f415b76ba56052fb4cf
+sha256=89dcc463f88e0b785ee2cf2662d97c6b7d045393283664876370970a09b8cbef
+
[ftp://ftp.funet.fi/pub/CPAN/src/perl-5.8.7.tar.gz]
md5=dacefa1fe3c5b6d7bbc334ad94826131
sha256=916d7e1393ed09ca4c61b3c1ecb5f5564266c955db81ff587d2da8af7a7abaab
+[http://ftp.funet.fi/pub/CPAN/src/perl-5.8.7.tar.gz]
+md5=dacefa1fe3c5b6d7bbc334ad94826131
+sha256=916d7e1393ed09ca4c61b3c1ecb5f5564266c955db81ff587d2da8af7a7abaab
+
[ftp://ftp.funet.fi/pub/CPAN/src/perl-5.8.8.tar.gz]
md5=b8c118d4360846829beb30b02a6b91a7
sha256=e15d499321e003d12ed183601e37ee7ba5f64b278d1de30149ce01bd4a3f234d
@@ -12242,10 +15590,18 @@ sha256=e15d499321e003d12ed183601e37ee7ba5f64b278d1de30149ce01bd4a3f234d
md5=fd3d67ac085332f074cd665424dcd631
sha256=d986dcbd954435e0ba78aaef391106c71a9b548a1cbd29cfb4eec3cb8c841313
+[http://heanet.dl.sourceforge.net/pexpect/pexpect-2.1.tar.gz]
+md5=fd3d67ac085332f074cd665424dcd631
+sha256=d986dcbd954435e0ba78aaef391106c71a9b548a1cbd29cfb4eec3cb8c841313
+
[ftp://ftp.math.muni.cz/pub/math/people/Dobes/phalanx-22.tar.gz]
md5=8120f6383bb6d19e0c06ea47f69c2bda
sha256=6eb45f17b50d864157dac2028ee5d45f4f54548825f5a732e1a430d5aa2dd889
+[http://ftp.debian.org/debian/pool/main/p/phalanx/phalanx_22.orig.tar.gz]
+md5=e4e6155530a23ea0ea4ca59f8c5fda8c
+sha256=e86a0a81ce1b989a4d06e0c07d64e1fcbba2456fa8e22ae24f333f186f3fc663
+
[http://gpephone.linuxtogo.org/download/gpephone/phoneserver-1.0/phoneserver-1.0.tar.bz2]
md5=195b684e025ff5c15617d6f757cf631f
sha256=e14546d11e899e7e9f06ca58979fee14b273d53c637eb268d7c6fe3bf78d564d
@@ -12274,6 +15630,10 @@ sha256=e105b6aad55589aecf20ae70ab7aa81eb202296fc52531f62e546af23077cca1
md5=1fe14ca892460b09f06729941a1bb605
sha256=5cac1e70df5019ebdfdab2e0b8b216f7fdf56b9895c9f68c993313918249bba3
+[http://us2.php.net/distributions/php-5.2.6.tar.bz2]
+md5=7380ffecebd95c6edb317ef861229ebd
+sha256=1892b2dd50b56ae2c9aec027fcd9035b76673f113555bc2bc1007bab8ae4db81
+
[http://efault.net/npat/hacks/picocom/dist/picocom-1.3.tar.gz]
md5=21865bf2891222082afc44afdd80aeaa
sha256=ed3e0190a1940cf08a167429aa3fd25b3ae7313fdf126f851a9abccc89845ee6
@@ -12294,6 +15654,10 @@ sha256=3f09878883c6980083e7774371ec57d8bdc320a325342965afb120d52780d15f
md5=f76c269c02fafee9b45cc2a50b43b1f3
sha256=13e87a88b43804be72f8566402afa4c1c3756396aed4ef6b6b9d86d384e75b77
+[http://heanet.dl.sourceforge.net/pidgin/pidgin-2.5.1.tar.bz2]
+md5=f76c269c02fafee9b45cc2a50b43b1f3
+sha256=13e87a88b43804be72f8566402afa4c1c3756396aed4ef6b6b9d86d384e75b77
+
[ftp://ftp.cac.washington.edu/pine/pine4.64.tar.Z]
md5=75af127948cc0c701d424d22d621f792
sha256=62c7b97695cb486e420afbbbe21bef853dd68a71665d867ffef50cb34dfba5f4
@@ -12318,10 +15682,18 @@ sha256=48625f6b5ce130672942503c683d306d957ee40f59f8e59be6ca30a245ad47d0
md5=8c8afc259af61d42aa9b3d8ec5a9a03b
sha256=d034f4afb4329c38e8789a5a7a384194c7402094b4c2b7600d2d86d8589e8571
+[http://cairographics.org/releases/pixman-0.11.8.tar.gz]
+md5=7b5db768c51337b5e5e954fc9c961cd3
+sha256=720db5ef6ed0e744b9bac5360ade9a7c024f9fb3fab05c83a90ee28b08e66e01
+
[http://cairographics.org/releases/pixman-0.12.0.tar.gz]
md5=09357cc74975b01714e00c5899ea1881
sha256=2b16516ef147bb604e1cf50c883143a052a7ff92d2930b70e571da0603b7d9ce
+[http://xorg.freedesktop.org/releases/individual/lib/pixman-0.9.4.tar.bz2]
+md5=c354ab5b0da10227226d3ef604254875
+sha256=261d239e9e3070a0a81e5b3eab92e6236c6295979bdae0a1ded05cbef93f67aa
+
[http://xorg.freedesktop.org/releases/individual/lib/pixman-0.9.5.tar.bz2]
md5=f9fea77e46ec7a3a16e925e137f146e7
sha256=a9d4545b5dfc018cdd33fd21bc73c3f1b3c9c207f1bb6843606cc180eb10c6c8
@@ -12346,6 +15718,10 @@ sha256=08a0e072d6a05419a58124db864f0685e6ac96e71b2875bf15ac12714e983b53
md5=a7e4f60a6657dbc434334deb594cc242
sha256=a0aff7f241d74db8fcf42fed4d2c5d7737193a3781faf9a78473ceeab92d152a
+[http://www.gpsbabel.org/plan9.php?dl=gpsbabel-1.3.5.tar.gz]
+md5=1bea8cd22c24ee9c0cc769770c86a340
+sha256=fd49f87432b707c487805a4291689eaf4a379dceb71c023560ef8ac34f18e76c
+
[http://www.rpsys.net/openzaurus/patches/archive/pm_changes-r1.patch]
md5=e10058b52841d138630b69b954bea0b9
sha256=779561c658ccb190f3a2cd7626e4a229834c5f9b093be8f7a06bbfaf12121b9c
@@ -12362,10 +15738,18 @@ sha256=25b84792473fa17d118e69b588f32fe940d13a01c3b3db89290ce6516ad01b2e
md5=24a676bf495bec367b2d971cdca1c54c
sha256=2632d931b5732eb1d0de7a2e2d92c75d64412438958ee96dceb4443e4fc2a62f
+[http://heanet.dl.sourceforge.net/pmt/pngcrush-1.6.4.tar.gz]
+md5=a329caad3f49ed3ca105e6fd441f5b93
+sha256=22ffea3aed00da9a9518a9c25b619d212bbe27b9ec72165cf74640f930108b2f
+
[http://downloads.sourceforge.net/gakusei/pobox-1.2.5.tar.bz2]
md5=d1c988c2ac06d3111f80d59d30bb8bbb
sha256=73bbc333d2a51d0e1cd73030012f2727ac26f5b1d41333994b01a47486fc16db
+[http://heanet.dl.sourceforge.net/gakusei/pobox-1.2.5.tar.bz2]
+md5=d1c988c2ac06d3111f80d59d30bb8bbb
+sha256=73bbc333d2a51d0e1cd73030012f2727ac26f5b1d41333994b01a47486fc16db
+
[http://www.staikos.net/~staikos/pocketcellar/pocketcellar-1.1.tar.gz]
md5=ef65260b37a0c11898c680a576846c94
sha256=5ae5e9816bc8503b768f831f058bd1c379bb821e8c0776015ffeb998e1d912f8
@@ -12374,10 +15758,26 @@ sha256=5ae5e9816bc8503b768f831f058bd1c379bb821e8c0776015ffeb998e1d912f8
md5=65408ad948c0b9e21dd5813e68ef76ad
sha256=74c83c3283178656a6fc1ee571fb1ebbddda8f3b7c32ad405477ae278b0cf867
+[http://heanet.dl.sourceforge.net/cmusphinx/pocketsphinx-0.2.1.tar.bz2]
+md5=65408ad948c0b9e21dd5813e68ef76ad
+sha256=74c83c3283178656a6fc1ee571fb1ebbddda8f3b7c32ad405477ae278b0cf867
+
[http://downloads.sourceforge.net/cmusphinx/pocketsphinx-0.4.1.tar.bz2]
md5=8c1bc9d5bdd6f6298222125669d16e1e
sha256=5a31aa10668b93e8283c58592b46368c26aa92e097cea0bda9b0554042bd6643
+[http://heanet.dl.sourceforge.net/cmusphinx/pocketsphinx-0.4.1.tar.bz2]
+md5=8c1bc9d5bdd6f6298222125669d16e1e
+sha256=5a31aa10668b93e8283c58592b46368c26aa92e097cea0bda9b0554042bd6643
+
+[http://downloads.sourceforge.net/podget/podget_0.5.8.tar.gz]
+md5=6619557b02559ac3191d4cc2054bf325
+sha256=ab6e33b09bfbd407ee444ef37d769658e651cfe6eee96ce7aac5be8860e069e5
+
+[http://heanet.dl.sourceforge.net/podget/podget_0.5.8.tar.gz]
+md5=6619557b02559ac3191d4cc2054bf325
+sha256=ab6e33b09bfbd407ee444ef37d769658e651cfe6eee96ce7aac5be8860e069e5
+
[http://www.rpsys.net/openzaurus/patches/archive/poodle_asoc_fix-r1.patch]
md5=7c766563674dec668baa5f650a14b7cd
sha256=3f78e714248cdaa0b83f530a3b7f80da02446b179e86fbb043d57c3e05ae0d7e
@@ -12426,6 +15826,10 @@ sha256=3238cc3553f721c110822bdc7fbfe7c57f33f59a05e406a19e956e71a1712aa8
md5=053fdfd70533ecce1a06353fa945f061
sha256=ca0f880a4ff07391e99b443f0e7c9860241df6a6aaa327b9d811b358d94a29c9
+[http://poppler.freedesktop.org/poppler-0.5.9.tar.gz]
+md5=8d1ac008614c0e413bcac95b8102fa07
+sha256=bee251e5149ac9dd8824aac316456b78a82f4e1954eb3c1a94db3625340ef61e
+
[http://poppler.freedesktop.org/poppler-0.6.4.tar.gz]
md5=13d12ca4e349574cfbbcf4a9b2b3ae52
sha256=54269075e4d611a61792a374986e920744c8ca39c2df45911233873c7e714354
@@ -12462,10 +15866,18 @@ sha256=4e75cb28793f0d44134f71fae53057d5f250805e6268fbd9c9780654b73b0dc1
md5=b003614237445d23b512cb9571565524
sha256=4347a70fe84bd2ccecc90738fb121d28298cf0bfdb4963ceee088c56d3109899
+[http://heanet.dl.sourceforge.net/poqetp/poqetp_0.0.6_src.tar.gz]
+md5=b003614237445d23b512cb9571565524
+sha256=4347a70fe84bd2ccecc90738fb121d28298cf0bfdb4963ceee088c56d3109899
+
[http://downloads.sourceforge.net/portabase/portabase_1.9.tar.gz]
md5=3319e8eff133de0bc9e8fe810e052202
sha256=6b3d91811b098fb9e1a0f91d11a6c935c2d7e41d4431f022023d606d270fe0fc
+[http://heanet.dl.sourceforge.net/portabase/portabase_1.9.tar.gz]
+md5=3319e8eff133de0bc9e8fe810e052202
+sha256=6b3d91811b098fb9e1a0f91d11a6c935c2d7e41d4431f022023d606d270fe0fc
+
[http://neil.brown.name/portmap/portmap-6.0.tgz]
md5=ac108ab68bf0f34477f8317791aaf1ff
sha256=02c820d39f3e6e729d1bea3287a2d8a6c684f1006fb9612f97dcad4a281d41de
@@ -12478,22 +15890,42 @@ sha256=02c820d39f3e6e729d1bea3287a2d8a6c684f1006fb9612f97dcad4a281d41de
md5=b78c2ecfe378b03b8f1b36d2aed94eac
sha256=09595393c56b24d45476bf414f9e32cf13d675711c8ac3f7e0754c938814e085
+[ftp://ftp.nl.debian.org/debian/pool/main/p/portmap/portmap_5-25.diff.gz]
+md5=b78c2ecfe378b03b8f1b36d2aed94eac
+sha256=09595393c56b24d45476bf414f9e32cf13d675711c8ac3f7e0754c938814e085
+
[ftp://ftp.debian.org/debian/pool/main/p/portmap/portmap_5-26.diff.gz]
md5=11118c91a095e8ff7f4a3f5f09062be7
sha256=8478eee317686f53e24519657f4653293bd120fae9815153d7cf54e0f8be9feb
+[ftp://ftp.nl.debian.org/debian/pool/main/p/portmap/portmap_5-26.diff.gz]
+md5=11118c91a095e8ff7f4a3f5f09062be7
+sha256=8478eee317686f53e24519657f4653293bd120fae9815153d7cf54e0f8be9feb
+
[ftp://ftp.debian.org/debian/pool/main/p/portmap/portmap_5-9.diff.gz]
md5=8b77092f74e5638e90825973f0274729
sha256=a9ab1930048038d80a9e48e69a6f0d57e86a355545d6db3e2c67e06ec909b80a
+[ftp://ftp.nl.debian.org/debian/pool/main/p/portmap/portmap_5-9.diff.gz]
+md5=8b77092f74e5638e90825973f0274729
+sha256=a9ab1930048038d80a9e48e69a6f0d57e86a355545d6db3e2c67e06ec909b80a
+
[ftp://ftp.debian.org/debian/pool/main/p/portmap/portmap_5.orig.tar.gz]
md5=781e16ed4487c4caa082c6fef09ead4f
sha256=e8fb4429ecf03809f60b2e194be120a811be1c5cc3cc5d933ede938114357b61
+[ftp://ftp.nl.debian.org/debian/pool/main/p/portmap/portmap_5.orig.tar.gz]
+md5=781e16ed4487c4caa082c6fef09ead4f
+sha256=e8fb4429ecf03809f60b2e194be120a811be1c5cc3cc5d933ede938114357b61
+
[ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-2.0.20.tar.gz]
md5=92479b64d132262be505a17ec02bc2a8
sha256=78c03b41d75f7402a63a5e5e13f3690005411a85299bc6ec9edbe04888db6d18
+[ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-2.2.12.tar.gz]
+md5=e73299c07407da60a53c0cf089b4abe8
+sha256=a736ed4936ad20c2b012fde699a033360c38ae6201ebb8a98d3bfaca6737d4b3
+
[ftp://ftp-archives.postgresql.org/pub/source/v8.1.4/postgresql-8.1.4.tar.bz2]
md5=a65bdc5d833169d28bf6fbaaa8d57fcf
sha256=ac7e7d311b07abd27b084041bcc943398df303bc86601f281891537bdf1a4e0b
@@ -12510,6 +15942,10 @@ sha256=91f75eb29c07271fcbfa2082c8300690efe4a72f2fbf35dace98108b0c6f7ba3
md5=b5789bb7eeaed0809c5c82d0efda571d
sha256=4e8a7fecd44807343b6867e1f2440aa0e09613d6d69a7385ac48f4e5e7737a73
+[http://www.povray.org/redirect/www.povray.org/beta/source/povray-src-3.7.0.beta.25b.tar.bz2]
+md5=cfb405e2ca3c3f3b30abd5dbef9a78e8
+sha256=ef54965dec05c8063c40eab768f3fb722eb0ed72ae7918afe45d7a6bd553abc8
+
[http://linux.tlk.fr/games/Powermanga/download/powermanga-0.79.tgz]
md5=3a4f00658496921b7327413ac476c1b7
sha256=99a9737480224be47362387d2d2389bee61d7685510b3a161b2b1db6c0556c26
@@ -12542,26 +15978,54 @@ sha256=1e0fddb5f53613dd14ab10b25435e88092fed1eff09b4ac4448d5be01f3b0b11
md5=848f6c3cafeb6074ffeb293c3af79b7c
sha256=1e0fddb5f53613dd14ab10b25435e88092fed1eff09b4ac4448d5be01f3b0b11
+[http://heanet.dl.sourceforge.net/sourceforge/pptpclient/pptp-1.7.1.tar.gz]
+md5=b47735ba5d6d37dfdbccb85afc044ede
+sha256=8e3fa9f17c22818eae68419f66966865423206d736eb74d212a3501f62423276
+
[http://downloads.sourceforge.net/pptpclient/pptp-linux-1.5.0.tar.gz]
md5=281ee37788bdf3260426eca56a9af858
sha256=a2a10abcdfcfbd7da0ba173d2996d6555908069108d59296bf3e1c5c48b5be60
+[http://heanet.dl.sourceforge.net/pptpclient/pptp-linux-1.5.0.tar.gz]
+md5=281ee37788bdf3260426eca56a9af858
+sha256=a2a10abcdfcfbd7da0ba173d2996d6555908069108d59296bf3e1c5c48b5be60
+
[http://downloads.sourceforge.net/poptop/pptpd-1.3.0.tar.gz]
md5=75d494e881f7027f4e60b114163f6b67
sha256=4f6fe4eb08ca7a69c83658ab13b23a77aa153ec1a2663596ddcbbf35768b0cee
+[http://heanet.dl.sourceforge.net/poptop/pptpd-1.3.0.tar.gz]
+md5=75d494e881f7027f4e60b114163f6b67
+sha256=4f6fe4eb08ca7a69c83658ab13b23a77aa153ec1a2663596ddcbbf35768b0cee
+
+[http://heanet.dl.sourceforge.net/poptop/pptpd-1.3.4.tar.gz]
+md5=b38df9c431041922c997c1148bedf591
+sha256=c23a9bdd219a0a36ae7ca20e7c9749f2efdcdbf108aabeeeb5066ba442ec88b6
+
[http://downloads.sourceforge.net/prboom/prboom-2.2.6.tar.gz]
md5=ef0abe0aad017514857552434b5c6aaa
sha256=200d3c50b082ae46be8c014bb576b4e2d23b1704508fd528c47e3e2b3b04759e
+[http://heanet.dl.sourceforge.net/prboom/prboom-2.2.6.tar.gz]
+md5=ef0abe0aad017514857552434b5c6aaa
+sha256=200d3c50b082ae46be8c014bb576b4e2d23b1704508fd528c47e3e2b3b04759e
+
[http://downloads.sourceforge.net/prboom/prboom-2.3.1.tar.gz]
md5=c53231604fe6cf7352e73911ad44c90d
sha256=6465b37ef96c04d95dcb887f907da1af43a33783e8c5e80527bceda97202876a
+[http://heanet.dl.sourceforge.net/prboom/prboom-2.3.1.tar.gz]
+md5=c53231604fe6cf7352e73911ad44c90d
+sha256=6465b37ef96c04d95dcb887f907da1af43a33783e8c5e80527bceda97202876a
+
[http://downloads.sourceforge.net/prboom/prboom-2.4.7.tar.gz]
md5=9942f521764d7f89df2218a456da4f02
sha256=de22dbaacd25a0f0b16c507aa2326a90b7f5dcfcf862c3dc7076996c6187cd2f
+[http://heanet.dl.sourceforge.net/prboom/prboom-2.4.7.tar.gz]
+md5=9942f521764d7f89df2218a456da4f02
+sha256=de22dbaacd25a0f0b16c507aa2326a90b7f5dcfcf862c3dc7076996c6187cd2f
+
[ftp://ftp.debian.org/debian/pool/main/p/prelink/prelink_0.0.20060712.orig.tar.gz]
md5=f897774889b14e5414983c3bf65e1fad
sha256=ffe91ca709c381b94f8ed99a51ea8d865dad9667186c572dcfd5711a1700b232
@@ -12570,6 +16034,10 @@ sha256=ffe91ca709c381b94f8ed99a51ea8d865dad9667186c572dcfd5711a1700b232
md5=9b01aae72da2bb262f29392597847545
sha256=e70697c0c23da6b82b330c7db41537ee00dd770da87c92591682f486ab8d1752
+[ftp://ftp.nl.debian.org/debian/pool/main/p/prelink/prelink_0.0.20061027.orig.tar.gz]
+md5=9b01aae72da2bb262f29392597847545
+sha256=e70697c0c23da6b82b330c7db41537ee00dd770da87c92591682f486ab8d1752
+
[ftp://ftp.pl.debian.org/pub/debian/pool/main/p/prelink/prelink_0.0.20061027.orig.tar.gz]
md5=9b01aae72da2bb262f29392597847545
sha256=e70697c0c23da6b82b330c7db41537ee00dd770da87c92591682f486ab8d1752
@@ -12578,6 +16046,10 @@ sha256=e70697c0c23da6b82b330c7db41537ee00dd770da87c92591682f486ab8d1752
md5=6617a6681f4e5e3d8ddc48955d73d7ab
sha256=a1c6170e508a3516d0a23963d7fa5cf0a457be431c210096f6b1cecd0731a9f4
+[ftp://ftp.nl.debian.org/debian/pool/main/p/prelink/prelink_0.0.20071009.orig.tar.gz]
+md5=6617a6681f4e5e3d8ddc48955d73d7ab
+sha256=a1c6170e508a3516d0a23963d7fa5cf0a457be431c210096f6b1cecd0731a9f4
+
[http://www.red-bean.com/~proski/firmware/primary.tar.bz2]
md5=0c7c82264602ee2b7ad832d5cd1e1940
sha256=3b5bd68653ff5054586f9fad7ad729bd2d551e76949aec2d14b8a89308393a36
@@ -12598,10 +16070,18 @@ sha256=23bfd57906a1787814480f57763ded8fc10a696a903a4768869c56061283e972
md5=3ef1bf7bfa9a144013155a144aaaa091
sha256=3a568fbb3a68238d79731bcf933602171bb8d7d51226a7af722d357ab7d2a96b
+[http://heanet.dl.sourceforge.net/prismstumbler/prismstumbler-0.7.2.tar.bz2]
+md5=3ef1bf7bfa9a144013155a144aaaa091
+sha256=3a568fbb3a68238d79731bcf933602171bb8d7d51226a7af722d357ab7d2a96b
+
[http://downloads.sourceforge.net/prismstumbler/prismstumbler-0.7.3.tar.bz2]
md5=3232b2a12136c6ec097bb2544cd7ab16
sha256=57c30824fc0fb901545e888f2cdefd7f2e848a698d5ac724e1a7701245e63b68
+[http://heanet.dl.sourceforge.net/prismstumbler/prismstumbler-0.7.3.tar.bz2]
+md5=3232b2a12136c6ec097bb2544cd7ab16
+sha256=57c30824fc0fb901545e888f2cdefd7f2e848a698d5ac724e1a7701245e63b68
+
[http://projects.linuxtogo.org/frs/download.php/14/prismstumbler-0.7.4pre1.tar.gz]
md5=5b2e91311c94579e4f5e1d4fdd9bc4fe
sha256=81d536d5307b8d5b96587ff673e69b9e5049d11d56643b3ea6984b31baa0ab56
@@ -12610,6 +16090,10 @@ sha256=81d536d5307b8d5b96587ff673e69b9e5049d11d56643b3ea6984b31baa0ab56
md5=b0710be8af09409bfb03f52523a17010
sha256=4dab0049049c1ae6cfb00faea606d981535d0f0a65aab17e3179cc3d75de9f84
+[http://heanet.dl.sourceforge.net/ijbswa/privoxy-3.0.3-stable-src.tar.gz]
+md5=b0710be8af09409bfb03f52523a17010
+sha256=4dab0049049c1ae6cfb00faea606d981535d0f0a65aab17e3179cc3d75de9f84
+
[http://procps.sourceforge.net/procps-3.1.15.tar.gz]
md5=496d9f87be5eaebcd1080bb5b9999da4
sha256=dda7201dc74e4c247f3feab8eea53cceeb55e8a6994ecb8ca3ca139f7ccfc15a
@@ -12634,6 +16118,10 @@ sha256=672b753f911bfb7cbf996ece57f46dd91d3bac9aa852178e3a56b5e111672aa9
md5=63047fcbe5ff853db0d04981dd9f1888
sha256=b8519dfd77939b23ca599a724b536f48340f2c795552aa2a600155230571141c
+[http://xorg.freedesktop.org/releases/individual/app/proxymngr-1.0.1.tar.bz2]
+md5=aad44d0f65b97fd6d564b1d2ae510bb1
+sha256=e9f5d4553411562477a0605fb0f0ec728016499e37230138a5e207dec79525c5
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/proxymngr-X11R7.0-1.0.1.tar.bz2]
md5=0d2ca6876d84302f966fd105a3b69a8e
sha256=f1ce23f66ed90c4be505f23c5b659ce48578099521663e788733315f3c36fdb2
@@ -12642,14 +16130,26 @@ sha256=f1ce23f66ed90c4be505f23c5b659ce48578099521663e788733315f3c36fdb2
md5=f0d40e38a150ee31123362e7c50bcf9d
sha256=e2592a857ccc2b5ad6f327ce2acc7b5a0874ec10755476aa2cf6bfa054230214
+[http://heanet.dl.sourceforge.net/psmisc/psmisc-20.2.tar.gz]
+md5=f0d40e38a150ee31123362e7c50bcf9d
+sha256=e2592a857ccc2b5ad6f327ce2acc7b5a0874ec10755476aa2cf6bfa054230214
+
[http://downloads.sourceforge.net/psmisc/psmisc-21.8.tar.gz]
md5=d6276e071c10ddf4b0d98856e5573e1a
sha256=495463860415171d9019798ed4fdf5848ffe93f8a380662a39dd2690a04717ed
+[http://heanet.dl.sourceforge.net/psmisc/psmisc-21.8.tar.gz]
+md5=d6276e071c10ddf4b0d98856e5573e1a
+sha256=495463860415171d9019798ed4fdf5848ffe93f8a380662a39dd2690a04717ed
+
[http://downloads.sourceforge.net/psmisc/psmisc-22.2.tar.gz]
md5=77737c817a40ef2c160a7194b5b64337
sha256=6bca237485a352362133792e000a3c8e367a26b0312c5c607db7c2a97717d15f
+[http://heanet.dl.sourceforge.net/psmisc/psmisc-22.2.tar.gz]
+md5=77737c817a40ef2c160a7194b5b64337
+sha256=6bca237485a352362133792e000a3c8e367a26b0312c5c607db7c2a97717d15f
+
[http://downloads.sourceforge.net/psmisc/psmisc-22.6.tar.gz]
md5=2e81938855cf5cc38856bd4a31d79a4c
sha256=a13c81897c94b3d6e705fc9da07c610492e28cf7abd5ff8e992f0ec95a269d62
@@ -12666,10 +16166,18 @@ sha256=2f18dc8e553b2eb9e40e429ccc829e2b8e25d2f82929cfbc4149b1147d00eee1
md5=9cb4a25331a4c4db866a31cbe507c793
sha256=72353660c5a2caafd601b20e12e75d865fd88f6cf1a088b306a3963f0bc77232
+[http://pypi.python.org/packages/source/p/ptrace/ptrace-0.3.2.tar.gz]
+md5=8108c2474bef16d126e956dce3c5073b
+sha256=634fe75e195179adafb6218040724f38252bd0fc8f796bb3e3e9bdba065890c5
+
[http://0pointer.de/lennart/projects/pulseaudio/pulseaudio-0.9.10.tar.gz]
md5=9187ac1b302b9ab45f355242f453882e
sha256=1ae8b587759b33ad954e717728fab6df58bd28088d0ac8faf22e90253b774975
+[http://0pointer.de/lennart/projects/pulseaudio/pulseaudio-0.9.11.tar.gz]
+md5=fa121f8e5dd4b98d65096de1b6c84021
+sha256=6cc4aff778275f087cfbd65d2040b1587cafc588749499a452eb496329505ab0
+
[http://0pointer.de/lennart/projects/pulseaudio/pulseaudio-0.9.5.tar.gz]
md5=99b5d9efd4fce35cabb4ae5d0ebb230d
sha256=cd82eabcf9fa310a64b58b621730cebe5d3edae7596a9c121155db455b1e58f6
@@ -12682,10 +16190,18 @@ sha256=b7a5f14eb8cf7076f1df8fb78d4a05c83e1e655474688c48364fa1b96f478d64
md5=8fa6f7a9611bb194d94311764022b197
sha256=9caab8f9be8a371aea7cd0241aab7ffd4b1043fbc4a8f62736faea4229f11f7d
+[http://ftp.de.debian.org/debian/pool/main/p/pump/pump_0.8.24.orig.tar.gz]
+md5=866fc9f62b8161eb1514a6a06597edc9
+sha256=cbb423942a4295a07a23b76a02d645b76b4ac0b58c3a30076ad42c2ab80c2dba
+
[http://www.warmi.net/zaurus/files/puzz-le_2.0.0.tar.gz]
md5=76535893b779926874f618d3fbf3e92b
sha256=e4b4217b81ab0885db11cf7e0f18afdeaa969392fc15647a10c2aab9cbf583d8
+[http://pipeviewer.googlecode.com/files/pv-1.1.4.tar.bz2]
+md5=63033e090d61a040407bfd043aeb6d27
+sha256=c8613c240ab4297f6ad346f0047138f551a093c603eeb581d5e83091cad3a559
+
[http://www.isely.net/downloads/pvrusb2-mci-20050911.tar.bz2]
md5=8522d37df012c70a954a966d40df1ad3
sha256=2831d99c1f60074f6f348643b13ae7d6ff1224075ae153125dd59db5f21efa3c
@@ -12766,10 +16282,18 @@ sha256=dad803c34e902e286a3d6fb052f48b826c62a8ad19a54ced2936da7641b62907
md5=8567328b1ad7609f8851eec57658f1a0
sha256=19c6eeb42f2688464cf4fc7dadecf58faeebfa6a13f05974f6dad910f5fd6b98
+[http://heanet.dl.sourceforge.net/pwgen/pwgen-2.06.tar.gz]
+md5=935aebcbe610fbc9de8125e7b7d71297
+sha256=61598c9e3a0f7eb2e7367d4ecc71522c4f16a7d41ed31db29e3afee8d9843454
+
[http://www.openh323.org/bin/pwlib_1.5.2.tar.gz]
md5=0fa33ba1b32b254abe0b731a52c0f2f9
sha256=62b254548ad7a9e71231a160275827d67ff39022ee8e2854a7c9d9fe9a688e65
+[http://heanet.dl.sourceforge.net/pwsafe/pwsafe-0.2.0.tar.gz]
+md5=4bb36538a2772ecbf1a542bc7d4746c0
+sha256=61e91dc5114fe014a49afabd574eda5ff49b36c81a6d492c03fcb10ba6af47b7
+
[http://www.rpsys.net/openzaurus/patches/archive/pxa-linking-bug.patch]
md5=ce6d8a7a25cc1c9593417746bcf84ca0
sha256=24aac1d158095007a10a47e38320a1618fab2d536f19caff94f4dd0ab29f306b
@@ -12834,6 +16358,10 @@ sha256=c7d82fbe1d008edfb5ae53879de24bb882b2cdbd9ee9aab67389910da499210e
md5=11d4a1ba795b2b72476a3f8edecf23bc
sha256=d3cce10825519a6e8a98872a90b176c806f6a37cac3cb047c36e0ba159bcf424
+[http://www.mn-logistik.de/unsupported/pxa250/pxaregs.c]
+md5=a43baa88842cd5926dbffb6fb87624f6
+sha256=f339b91cd8ab348052c36b36d20033e4bffc3666bc836ff72d5704f025e1c057
+
[http://mercury.chem.pitt.edu/~shank/py-libmpdclient-0.10.0.tar.gz]
md5=3a26540b7e057f23187b56e85dc82f95
sha256=fad4e6ca8e9e2a9e4bcddc96194db69827164f65b8a35cb326d0c8cd3a870238
@@ -12842,10 +16370,34 @@ sha256=fad4e6ca8e9e2a9e4bcddc96194db69827164f65b8a35cb326d0c8cd3a870238
md5=d2aa74615aa9cf23413975a68613ffc1
sha256=12527f130dd695184c44c6197deb619c26c9b5b31ce7699a5dd97e0ad2dd7bd1
+[http://heanet.dl.sourceforge.net/py-xmlrpc/py-xmlrpc-0.8.8.3.tar.gz]
+md5=d2aa74615aa9cf23413975a68613ffc1
+sha256=12527f130dd695184c44c6197deb619c26c9b5b31ce7699a5dd97e0ad2dd7bd1
+
+[http://downloads.sourceforge.net/pyopenssl/pyOpenSSL-0.6.tar.gz]
+md5=af67fda6d2125cae9c56ee50430a40c7
+sha256=58ee9dd10fbd97d65347626f60a38aafdcb05d19ad90c883c4284266ba7ec959
+
+[http://heanet.dl.sourceforge.net/pyopenssl/pyOpenSSL-0.6.tar.gz]
+md5=af67fda6d2125cae9c56ee50430a40c7
+sha256=58ee9dd10fbd97d65347626f60a38aafdcb05d19ad90c883c4284266ba7ec959
+
+[ftp://ftp.alsa-project.org/pub/pyalsa/pyalsa-1.0.16.tar.bz2]
+md5=a1f4d561fa5c41a570480f3f328559a2
+sha256=f2c9195284d3c3925d83424a9e24ac8ce96e706abced5d3007df57f9fe51518f
+
+[http://heanet.dl.sourceforge.net/pyalsaaudio/pyalsaaudio-0.3.tar.gz]
+md5=1e061d726df57995e9b09594b304054b
+sha256=04cda928ef4ebc4b340668fe49626fc50619e644cd3825a93344cd0a066a4a61
+
[http://www.andrewchatham.com/pyogg/download/pyao-0.82.tar.gz]
md5=8e00f5154401a6f6d99efd20606e2819
sha256=9a444518252f6d747e76a219e5efbc05b4e1742260a7419da9ddf93a519b30c5
+[http://org.csail.mit.edu/pybluez/release/pybluez-src-0.10.tar.gz]
+md5=4c28dc47783ad232bf872ae7baad6033
+sha256=9877655ae7e4465d6c237f0896d359bd77021436abc7ed7c89ba76afe6ebe774
+
[http://org.csail.mit.edu/pybluez/release/pybluez-src-0.13.tar.gz]
md5=eb38d423b49255a7b9f5ba1f50844b53
sha256=d8e41f48c86403cb7fc8d0880a207c53a9e4ba6b6eab2fe8870c346567fa3a03
@@ -12862,22 +16414,46 @@ sha256=ab10b00c209e9feaebfff944d411f300ca032d09d3ebb64e3498acf9fea09c6d
md5=e26e77919b606113f565d70036c1f504
sha256=9212afffee727e39ae99406b5a59ab3248556bcfebfae24d8278313678147e32
+[http://heanet.dl.sourceforge.net/pycap/pycap-0.1.6.tar.gz]
+md5=c90bc5382dede1a941e023e7bc27c473
+sha256=961e37f49afeda70d89c21830751548a2ac4912a35122bf70bf29091eef5c4a0
+
[http://downloads.sourceforge.net/pychecker/pychecker-0.8.14.tar.gz]
md5=531214b2c922462eb57dde5d37f004ac
sha256=4c8601f11112b7fce53634f65140da171d85fc1e1004d0be6d5120848eedcf77
+[http://heanet.dl.sourceforge.net/pychecker/pychecker-0.8.17.tar.gz]
+md5=9d2a2d62b368ce503830f830a89bd230
+sha256=7ee4ea2fc02151196590cdef6073302dd61156503ee242a68a3c8aff50e86e52
+
[http://web.mit.edu/~emin/www/source_code/pycodes/pycodes-1-1.tar.gz]
md5=26c99a8b10ccb2a21ca4891b85a07978
sha256=2a9fbef7d953e1fc1eec837a4087cd518e465226b060b5cb3ea67bcef1760269
+[http://web.mit.edu/~emin/www/source_code/pycodes/pycodes-1-2.tar.gz]
+md5=c39e0ffea530cbf0b4f2aa6af6e81b66
+sha256=d203b4be819e20314576d5c26329862e7d371c84e8f192e31402a0b6d9e055aa
+
[http://www.amk.ca/files/python/crypto/pycrypto-1.9a6.tar.gz]
md5=cdcebdfd63e74754f57b9e9b0db4ea20
sha256=a6d7db68c87699e283a1f58b637a7e730c350899fd7b35b88e63caa0e85a9ab9
+[http://www.amk.ca/files/python/crypto/pycrypto-2.0.1.tar.gz]
+md5=4d5674f3898a573691ffb335e8d749cd
+sha256=b08d4ed54c9403c77778a3803e53a4f33f359b42d94f6f3e14abb1bf4941e6ea
+
[http://pycurl.sourceforge.net/download/pycurl-7.14.0.tar.gz]
md5=6f73d518fb520af14634a06ee1b7ddce
sha256=a60e08b01fc3355ec18ec0e447349b6f8bff3f9628eb42891cff1eb51b9618b1
+[http://pycurl.sourceforge.net/download/pycurl-7.18.2.tar.gz]
+md5=39210d56f1d5a75ac8dd6a2866a93dd5
+sha256=95d21bd61e03d22ee4ac18fc0b9040c163cb504c4b2cf1dc43c18f32508f6736
+
+[http://www.rhodesmill.org/brandon/projects/pyephem-3.7.2a.tar.gz]
+md5=92d035abe09b9dba39780bc66738ce23
+sha256=5e7e4a23544d9ef232913d3dc9fac3a9a6a2ced4892ce6c4d197ecbb23f89dcd
+
[http://www.rhodesmill.org/brandon/projects/pyephem-3.7b.tar.gz]
md5=08ddcadfef79b6020d593b7665b4c3fa
sha256=f310597a3da24cf6799f233cf88914ae5d4ddb2dc8ed6e47cbf95a39fa0e9634
@@ -12886,10 +16462,18 @@ sha256=f310597a3da24cf6799f233cf88914ae5d4ddb2dc8ed6e47cbf95a39fa0e9634
md5=7cab1ef229b47760f91437b427e43819
sha256=cbd1ee276a6e1bbd525b4c88ec13df9be5c40833d6ffc78b3cd76420c25e9938
+[http://www.stsci.edu/resources/software_hardware/pyfits/pyfits-1.1.tar.gz]
+md5=c609558432e2b61bc91cf511e8b62fd9
+sha256=163dc19bf85754c013cd42102e5afc96f40d0264664acaa69d34404524c1928d
+
[http://www.divmod.org/static/projects/pyflakes/pyflakes-0.2.0.tar.gz]
md5=da243a4425bda4a714b1338fe73663fa
sha256=1fe008b728923f25d3c8ebd7f28cc538aa0814f3b090df817e25c266fcaecf6a
+[http://www.divmod.org/static/projects/pyflakes/pyflakes-0.2.1.tar.gz]
+md5=e65d9245d706350b3db811280d897f30
+sha256=3eecd66deecc2de5c31bb91a4b4479232087e80da94e3086e2a686879374cde9
+
[http://www.pygame.org/ftp/pygame-1.6.tar.gz]
md5=ea5db930c0031873a7f5ad1f2f7926db
sha256=dff059338cc1b3409567a5b7f12bd23facc21b2c4ad356257fe50e5e85d2ae02
@@ -12914,10 +16498,18 @@ sha256=efa81e0281668988b8cc2af9d0546befa4365662f1ebec37e0c7c863e969da41
md5=0e9e9300e81847f4f7266f49d3bebbaf
sha256=79c5d3ab8f072f1d0b102b2bd6410b0dc383a008b5efad1750d8b6dadfde8c6e
+[ftp://ftp.gnome.org/pub/GNOME/sources/pygobject/2.15/pygobject-2.15.4.tar.bz2]
+md5=df59affe5b8fd7148506c3473d479868
+sha256=c746693328bfed7838a1f3bfac41b13d7f39a81ac961559cd0daf700fc677da7
+
[http://downloads.sourceforge.net/pygoogle/pygoogle-0.6.tar.gz]
md5=334e2d9e5a765ffa9769e2c4cdfcd110
sha256=ad3f4530977a15e52b379ef301a4a80cf69a883f24dd6cebc5b47b3009c092a4
+[http://heanet.dl.sourceforge.net/pygoogle/pygoogle-0.6.tar.gz]
+md5=334e2d9e5a765ffa9769e2c4cdfcd110
+sha256=ad3f4530977a15e52b379ef301a4a80cf69a883f24dd6cebc5b47b3009c092a4
+
[ftp://ftp.gtk.org/pub/gtk/python/v1.2/pygtk-0.6.12.tar.gz]
md5=31f0991a18708d47fa29583c0ad956f6
sha256=7c95e6ae35d282fb333dc7b29bd91e543518ea7f3dfa11f21d52be0654234010
@@ -12942,6 +16534,10 @@ sha256=dee1ec46a43bf624f1ff796903bd2d49e65c1cc8396385f46bf1489817bd6e60
md5=49818a591430e08057c27a11e4c40aef
sha256=2a7bdd52c24ed0e70e4a2d82c697214c4ab5a70f94ea9e7934df15ca202d1169
+[http://heanet.dl.sourceforge.net/pyid3lib/pyid3lib-0.5.1.tar.bz2]
+md5=49818a591430e08057c27a11e4c40aef
+sha256=2a7bdd52c24ed0e70e4a2d82c697214c4ab5a70f94ea9e7934df15ca202d1169
+
[http://downloads.sourceforge.net/pyirclib/pyirclib-0.4.3.tar.gz]
md5=b9d60e69314a548dfd7d48da3d540d62
sha256=1615a543e645dd2199f6315d606dcc561373d64d1d7dfc74aba2246a67632808
@@ -12950,6 +16546,14 @@ sha256=1615a543e645dd2199f6315d606dcc561373d64d1d7dfc74aba2246a67632808
md5=24e7d7c4ffe9ec96412786fe58d23073
sha256=cbc3fc0b95250078826b8bfdf98e982c6c3f28919b23a2bb0d2c1d204b13aada
+[http://downloads.emperorlinux.com/contrib/pyiw/pyiw-0.3.3.tbz2]
+md5=152e59edffd60464b737dfe26f9fedce
+sha256=935a3b750ba4034deb41511a7d75393f93566a8a044227bfa19be6b04288dc91
+
+[ftp://ftp.logilab.org/pub/pylint/pylint-0.13.2.tar.gz]
+md5=79596b1bf05f0e5da7621a0bef798a3c
+sha256=749e0b693c9e2a30ef8fe04b0ffaabe05e392e4837b2bf353715fc8a852c5a6e
+
[ftp://ftp.logilab.org/pub/pylint/pylint-0.3.3.tar.gz]
md5=4ed7fb4b8bc126ca2412d9cf074f49c8
sha256=56399d61e1ab5662189bced26f6450684adf179f5dd308bab7602e7aee1334af
@@ -12958,10 +16562,18 @@ sha256=56399d61e1ab5662189bced26f6450684adf179f5dd308bab7602e7aee1334af
md5=4e3b6b50485610e273fededdb25b47ad
sha256=a78315e1ddf5af61cf91000a4b2f8e2df0841edd97b2596b2e0c5505bf8330a2
+[http://heanet.dl.sourceforge.net/pylirc/pylirc-0.0.5.tar.gz]
+md5=4e3b6b50485610e273fededdb25b47ad
+sha256=a78315e1ddf5af61cf91000a4b2f8e2df0841edd97b2596b2e0c5505bf8330a2
+
[http://spacepants.org/src/pymad/download/pymad-0.5.1.tar.gz]
md5=9b9a6c77d1b7a7706e77fd2e7e964c01
sha256=4a854db3eefd5afcf5c5434f279a6c304129cce41d9046ba044db73686038412
+[http://spacepants.org/src/pymad/download/pymad-0.6.tar.gz]
+md5=a1405fb4b610348565c8d0e400c5ff18
+sha256=1c9fc529b78de7d26e9e47cf182c9f8bf43838d8f62a9c1773540d57f5ebc522
+
[http://www.schwarzvogel.de/pkgs/pymetar-0.11.tar.gz]
md5=7953d8ac04b889e0968620193c66473a
sha256=f3237fe997390469af50f79ed5981f6c8cf051300f23c464aea332c900194a8c
@@ -12970,18 +16582,38 @@ sha256=f3237fe997390469af50f79ed5981f6c8cf051300f23c464aea332c900194a8c
md5=45a4ecc4d0600661199e4040a81ea3fe
sha256=10051f2894e901037dfa05b3c604fbdd76d891b9db2213a3c4f24ae79fbcc2a4
+[http://ftp.gnome.org/pub/GNOME/sources/pyorbit/2.14/pyorbit-2.14.3.tar.bz2]
+md5=3c4d42ae1a7303fd85071a842617043f
+sha256=a3517e0ddaf23508f99e7489a23e3462f86c528ea24bce432e832a78ee4149db
+
+[http://ftp.gnome.org/pub/GNOME/sources/pyorbit/2.24/pyorbit-2.24.0.tar.bz2]
+md5=574593815e75ee6e98062c75d6d1581f
+sha256=8754669b8220aa1f151b920360029d5ea28c42bec55769059676725fe28397b8
+
[http://www.wiggy.net/files/pyrad-0.8.tar.gz]
md5=562ddc819d5f6b9d6e1458483e8bbd26
sha256=0ba5090c66aa76a78dac74f92162f3220ac244ad79ce3ee749ff59022c6ca9fd
+[http://pypi.python.org/packages/source/p/pyrad/pyrad-1.1.tar.gz]
+md5=ab1502f8ccd7409ced757d78b0dee7df
+sha256=6a28096ae45261479048a0418b76ad5b6e370031ba8c773f495d8a2b018fc474
+
[ftp://ra.stsci.edu/pub/pyraf/v2.3/pyraf-1.2.1.tar.gz]
md5=cfa04c40cf969c81e882ad2820aa2914
sha256=9fb0f6ce1b8234af3a18c589212fe418efca36cd5977a23ab8ee5887315358e8
+[ftp://ra.stsci.edu/pub/pyraf/v2.5/pyraf-1.4.tar.gz]
+md5=ec97161924bb644263eac9b010e705a5
+sha256=3fe6c1b65c44c105d72635b9fdf08560ec5e155e464a59cfe824a332d770fc0a
+
[ftp://ftp.logilab.org/pub/pyreverse/pyreverse-0.5.0.tar.gz]
md5=a35281f7b3fea3cceff54378ebac09a4
sha256=703b204bd1d57b1bfc0ba95246d229a599259b782ee18072d6041656d412073b
+[ftp://ftp.logilab.org/pub/pyreverse/pyreverse-0.5.2.tar.gz]
+md5=499cfc69b3cacbdf70a32f253b4a0eb1
+sha256=cb5a5855c68743622b1902c7c106b30316c623c265906f2acb2fa2c9d97b3f37
+
[http://www.vanille.de/mirror/pyserial-2.0.tar.bz2]
md5=a8db6163466c21845faa6ef57af992da
sha256=df76084516b34b5e04dd84e54ef38613d87c56bc04de3d0a711f72fb6707ab0b
@@ -12990,6 +16622,10 @@ sha256=df76084516b34b5e04dd84e54ef38613d87c56bc04de3d0a711f72fb6707ab0b
md5=14e774b7b6e5aa52820f0590d3b8c4d9
sha256=f37c49e29ab9efae5f0ee5004ed34da00436cc0a99810ac4aae53bacec12ab12
+[http://heanet.dl.sourceforge.net/pyserial/pyserial-2.2.zip]
+md5=14e774b7b6e5aa52820f0590d3b8c4d9
+sha256=f37c49e29ab9efae5f0ee5004ed34da00436cc0a99810ac4aae53bacec12ab12
+
[http://downloads.sourceforge.net/pysqlite/pysqlite-1.0.tar.gz]
md5=f21b19ff048f6bafbbfc3edb86b4c4e4
sha256=ca921f56f8e5aa4032abc25b13cf4c86bf5ba24f631c13dc4f511c45d3781dad
@@ -13006,6 +16642,18 @@ sha256=7e66c07d3eb93035f9272d01470e531a7c9f9d9751ad06f3a9c13b4f67c0a06a
md5=984074d5d2ca0d6aafd770976e60b8d2
sha256=b957b471779237e1f0adb578a59a7a3c07217d01e9525314c5e6c28c348533ef
+[http://heanet.dl.sourceforge.net/meta-tools/pytester-0.6.0.tar.gz]
+md5=8a7763e31e4cc3fdf9154c793dda3bc0
+sha256=7d17f07aa470cac6afc1b7e68745c1bf1767913ce52b401296e21cab245fe26b
+
+[http://labix.org/download/python-constraint/python-constraint-1.1.tar.bz2]
+md5=975e5449d6670dd19498bb9ec4856d39
+sha256=0d904161351a8e55b272ed9691b12dca4278bed62fde53ba2a36f479996db910
+
+[http://heanet.dl.sourceforge.net/python-fam/python-fam-1.1.1.tar.gz]
+md5=f6c760c6d8e5ea69a3fce029f7973558
+sha256=139f069a4455560a8c68c4c18569f2cb453eeda33d522862f7a4af13932d9cdc
+
[http://dl.cihar.com/python-gammu/latest/python-gammu-0.13.tar.bz2]
md5=e92083c150264a2851fa5a7a1ef7bb9f
sha256=1f43959d29b12397082a621f9ff436a76ec4b89cd44442ebce2e127e524f9b06
@@ -13022,10 +16670,30 @@ sha256=954134b57e91339fcc5f3413629d9dfae517b42e202588b53e343927fd3fef88
md5=f6bbd996e7dde9eef849468f3123a8f0
sha256=f88bfa19a707f83fe74613da74ac801b5e0cfb98628655ecc4cfac481c05ec38
+[http://rudd-o.com/wp-content/uploads/projects/files/python-inotify/python-inotify-0.1.0.tar.gz]
+md5=361bcab2f0cd57cdaf6fe6fe433778b0
+sha256=22557b44a693918d2a4a4b267b22dd2baa542539e225e3999e1a2b1bf91b954a
+
+[http://heanet.dl.sourceforge.net/python-irclib/python-irclib-0.4.6.tar.gz]
+md5=7e4fc4b5382c6b54ede8b6e29270cba8
+sha256=f1f472a698966b0350857b20fc7f6dd86e4a1f83870edfbe30eb36552b449680
+
+[http://opensource.bolloretelecom.eu/files/python-netfilter-0.5.4.tar.gz]
+md5=2029edea09db0829f16b06042c0004ed
+sha256=1ef9ca0508159cc63e1cd097a204664b99eedfa596d326866c8fce9b30715379
+
[http://downloads.sourceforge.net/pythondialog/pythondialog-2.7.tar.bz2]
md5=19e68b362fe61ef84b981d53d96f0735
sha256=5f7dbcbd28eebadc736d957b9511a87ad5570c8fc822c8123a42e7259773cb7f
+[http://heanet.dl.sourceforge.net/pythondialog/pythondialog-2.7.tar.bz2]
+md5=19e68b362fe61ef84b981d53d96f0735
+sha256=5f7dbcbd28eebadc736d957b9511a87ad5570c8fc822c8123a42e7259773cb7f
+
+[http://heanet.dl.sourceforge.net/pyusb/pyusb-0.4.1.tar.gz]
+md5=9576c3e471e40e021fa44f36712bbd04
+sha256=9991a999170c533c10dbff227a9d617ef592fd579edfc21a55f0b715a7d329db
+
[http://www.andrewchatham.com/pyogg/download/pyvorbis-1.3.tar.gz]
md5=3ddd0dc996b57827c324910cc899d40b
sha256=c7816f5ad6e45634d88de80cff288b1e1a30bf0afb80f7ca3773e634779d64c0
@@ -13042,14 +16710,30 @@ sha256=1481afca7dfed9bcecfa6f4c8909a70bb0b90428e9b535b0bb40bc337bc62578
md5=86a5441285fc908145414b63348d11a3
sha256=c2adf20955cb62af5c94622d0dd47fb82ee63da33c03d5a1f82337ba83044bb7
+[http://www.freedesktop.org/~lanius/pyxdg-0.16.tar.gz]
+md5=55b71ec0df9509e05e562ac402b119f7
+sha256=b7f91cec9b42404a680c780c40d37c825701d7e533c1043bbabf6a0551e86635
+
[http://downloads.sourceforge.net/pyzeroconf/pyzeroconf-0.12.tgz]
md5=e7180e9440d961c6aba5056fdd7997f0
sha256=00689fa56dd87eb47b30565ab7561c94d2cde58372e267116889d2531d880b98
+[http://heanet.dl.sourceforge.net/pyzeroconf/pyzeroconf-0.12.tgz]
+md5=e7180e9440d961c6aba5056fdd7997f0
+sha256=00689fa56dd87eb47b30565ab7561c94d2cde58372e267116889d2531d880b98
+
+[http://www.libqanava.org/dl/qanava-0.0.7.tar.gz]
+md5=ff9b1bef0be97e81691697fa670461fc
+sha256=a779934f67b8de54ab075834b7b1024b13f832a4299699a6fcf7c5d5cfc74972
+
[http://www.piro.hopto.org/~piro/zaurus/qclockchange-0.1a.tar.gz]
md5=05bb0611a9523ef8c095e768b357ba0d
sha256=eba68cb125b017743a768bdc3c8788e97674ea499a40a03edee7976bf7b89063
+[http://piro.sytes.net/~piro/zaurus/etc/qclockchange-0.1b.tar.gz]
+md5=4131497c414c7fedae1df58cab2ddfa3
+sha256=8cb7000f55ab124d5fe928960c3c9a059faf4f374981b88e74ac0cdb7904c98a
+
[http://www2.gol.com/users/ikezawa/zaurus/qcoptest_0.1.1.tar.gz]
md5=a31f12647c5bb5f93c81465b4e5ff25a
sha256=5795b9d619142e2d01016130c7ac71298aa1cabda4806f11762bb8fd489293af
@@ -13078,10 +16762,18 @@ sha256=57d9c0be4714f9973ce50f70d77c68b874cc5456cab2d210861a4b1ee32cb67f
md5=4a81867ea4212cb5ebd2a6bde91502c0
sha256=5782703fe0cbed713dc17ed10560f55408350310461483715b2c0a58bcd83c49
+[http://heanet.dl.sourceforge.net/qof/qof-0.6.0.tar.gz]
+md5=4a81867ea4212cb5ebd2a6bde91502c0
+sha256=5782703fe0cbed713dc17ed10560f55408350310461483715b2c0a58bcd83c49
+
[http://downloads.sourceforge.net/qof/qof-0.7.2.tar.gz]
md5=dff6bfda556544a240e833d22e509b50
sha256=643359de7833c9fe661fcfc6fc0dc6e3f390bce55041eba123a495e661366990
+[http://heanet.dl.sourceforge.net/qof/qof-0.7.2.tar.gz]
+md5=dff6bfda556544a240e833d22e509b50
+sha256=643359de7833c9fe661fcfc6fc0dc6e3f390bce55041eba123a495e661366990
+
[http://qolsr.lri.fr/code/qolyester-20050728.tar.bz2]
md5=922ac0c5a70d8bcba50b23009b3c4878
sha256=81ce65c833ecd7c98d0af1d19419a3d93af811d99865ed2c8b377a7e507af4a7
@@ -13094,6 +16786,10 @@ sha256=ba2d98c4fabb31a66a66a235a5bbc9cb9e8a2c6f3939e71826d8763a8e7e3c0d
md5=6b94eda9bd8e2b884c753d70fee04b3f
sha256=3378f7a92f3afbc3663cce8c99790092282eb01101ba21aed4709736cf875ad5
+[http://heanet.dl.sourceforge.net/qpdf2/qpdf2_2.2.1_20040217b.tgz]
+md5=6b94eda9bd8e2b884c753d70fee04b3f
+sha256=3378f7a92f3afbc3663cce8c99790092282eb01101ba21aed4709736cf875ad5
+
[http://www.vanille.de/mirror/qpe-gaim_20041030.tar.bz2]
md5=b61c7005301956e231feacff707c7b19
sha256=0b55004666e3353feef384c5795a05b5bf1a3b69a487aee5b8f8e9d66c133b86
@@ -13110,6 +16806,14 @@ sha256=5925931a046074598009ddee5c2989330f2fce570f6590c08a55ac955d1e64a6
md5=974ff064b13640329da21f565ac351e6
sha256=5b070799c3eebf1dd94b1d800da0d532d2e9c353e061d4addc3466232e4a3072
+[http://heanet.dl.sourceforge.net/qpegps/qpegps_0.9.2.3.3_src.zip]
+md5=974ff064b13640329da21f565ac351e6
+sha256=5b070799c3eebf1dd94b1d800da0d532d2e9c353e061d4addc3466232e4a3072
+
+[http://heanet.dl.sourceforge.net/qpegps/qpegps_0.9.3.1_src.zip]
+md5=71b270b75bd773b81be3aaa0e4fc88cd
+sha256=f186ef1f117d3a9a9374ac19cfc8daad40a522638e5a758ec79fdd79fac351f4
+
[http://downloads.sourceforge.net/qpegps/qpegps_0.9.3_src.zip]
md5=2e477f949ee47f446c05e718fae4ec3b
sha256=12b7f014e9ac0b650836ee9e54f58bd728c66591b7de94a9a8bd600bfb217622
@@ -13278,6 +16982,18 @@ sha256=4044bfacb44ec9fa9160b56aeb1e76e1ca62b17115ae38298065cbaad16491a7
md5=78137ecaa66ff4c3780bd05f60e51cf5
sha256=a22c927f9ceb7152b0c45c939ccb81217c8d614f3c411c86781b24520f2ec15a
+[http://www.quagga.net/download/attic/quagga-0.99.6.tar.gz]
+md5=78137ecaa66ff4c3780bd05f60e51cf5
+sha256=a22c927f9ceb7152b0c45c939ccb81217c8d614f3c411c86781b24520f2ec15a
+
+[http://www.quagga.net/download/attic/quagga-0.99.7.tar.gz]
+md5=f448281c50007408ce92c5d8e2107abc
+sha256=fd258e4503646129ca77f6fe9c16b69f36f320256768b84dbabd2e4915ab8eb4
+
+[http://www.quagga.net/download/attic/quagga-0.99.8.tar.gz]
+md5=0a53fb579033fa57ca0e5c3ff0b52105
+sha256=7e745118921982ad7f67a6733161f74c88ba71c587158ab335f0581124be551d
+
[http://mirror1.pdaXrom.org/rc9/src/quake1src.tar.bz2]
md5=28405a79f488570bf4e2e8d453f856a0
sha256=5cd896faae49268327231f299a1187a974cb85acb509fffe8a60b84693a7e3e8
@@ -13290,6 +17006,14 @@ sha256=8a1a1e67980fb664f12dd99851cb600b970371bf35bb5e3242ef4d341877e80f
md5=2255c1d9857c725f6e82662593fcb51e
sha256=f39180bbf8ca641a4a4b9a2d19fb5ef61f2e368b53729944588549b8cb9ac3c0
+[http://users.softlab.ece.ntua.gr/~ttsiod/quickstartindex.cc]
+md5=841603b0b16162b3b47f9f85cb2e1dfd
+sha256=8ed21bd84253d3d09a67481d3b441b6410a173b65c952c3e9e2e1c7b67aea6c8
+
+[http://users.softlab.ece.ntua.gr/~ttsiod/quickstartsearch.cc]
+md5=9874bb8924b9ffcfb82ffdfb9bac94d1
+sha256=643bcc948b53b2f2a72fc1698574e1004831784467f660b0da9955db0b392f1d
+
[http://download.savannah.gnu.org/releases/quilt/quilt-0.39.tar.gz]
md5=34f0c654aefba0342db6c676988634b5
sha256=06b32d6f8fe7065b4c2c8142a244374e1be963757125bac20ba016b92231b5bf
@@ -13306,14 +17030,26 @@ sha256=47bf030565bb462840db694acc183273455714028c74974c5b3a3bd4ad29ad89
md5=142b10ab27e837c3c4603cf9a7e9343b
sha256=3b6db68d53441119dced27e5bad26ec087294cb9d878d37bcea61e1f1e4849a1
+[http://heanet.dl.sourceforge.net/qwt/qwt-4.2.0rc1.tgz]
+md5=142b10ab27e837c3c4603cf9a7e9343b
+sha256=3b6db68d53441119dced27e5bad26ec087294cb9d878d37bcea61e1f1e4849a1
+
[http://www.xm1math.net/qxmp/qxmp-1.0.tar.bz2]
md5=9eb52b5b6c1dda6ff96790acb9915da8
sha256=285be4b83819c4bf24b2db1e120a9c8e1756863f49aa631acf09bbbae1e04709
+[ftp://ftp.westwood.com/pub/redalert/previews/demo/ra95demo.zip]
+md5=b44ab9ec1bc634ea755587d1988e3722
+sha256=8c48bdb53523ea4d353a7914d9234ce4e3e6f5832eeb47b3b6b005853e8748d2
+
[http://downloads.sourceforge.net/radlib/radlib-2.6.2.tar.gz]
md5=e3a4b94c4c70b66accb018fdd0e93209
sha256=fff54e79937babd9e519f2f56c60e15eee6c453cba9ad2d238154d6fc96450bf
+[http://heanet.dl.sourceforge.net/radlib/radlib-2.6.2.tar.gz]
+md5=e3a4b94c4c70b66accb018fdd0e93209
+sha256=fff54e79937babd9e519f2f56c60e15eee6c453cba9ad2d238154d6fc96450bf
+
[http://v6web.litech.org/radvd/dist/radvd-0.7.2.tar.gz]
md5=26ea468b2323e44cf827ae5f84d18dc8
sha256=66ed3cbb85c77aaf8293e3e5df678dc9ade82253628d2ce8cec570655cf157e9
@@ -13338,18 +17074,38 @@ sha256=7a5eb58f10d02f58c2f7fb153bb5dc6d72173d5fa3d317bdbd9674f4577e0ad0
md5=968a1e3f5161bab80c306df31c54cfb1
sha256=67332a0a16471c1c3592d3e51ae5cc0562f9a2f1b1ab942b493f7d5080bd2c33
+[http://heanet.dl.sourceforge.net/rdesktop/rdesktop-1.3.1.tar.gz]
+md5=968a1e3f5161bab80c306df31c54cfb1
+sha256=67332a0a16471c1c3592d3e51ae5cc0562f9a2f1b1ab942b493f7d5080bd2c33
+
[http://downloads.sourceforge.net/rdesktop/rdesktop-1.4.1.tar.gz]
md5=78dd2bae04edf1cb9f65c29930dcc993
sha256=db3da6016ceec07efda277adcb175b14c4e5255b0f85137f4a1dce79b0ee5144
+[http://heanet.dl.sourceforge.net/rdesktop/rdesktop-1.4.1.tar.gz]
+md5=78dd2bae04edf1cb9f65c29930dcc993
+sha256=db3da6016ceec07efda277adcb175b14c4e5255b0f85137f4a1dce79b0ee5144
+
[http://downloads.sourceforge.net/rdesktop/rdesktop-1.5.0.tar.gz]
md5=433546f60fc0f201e99307ba188369ed
sha256=5ead17c3d29cb1028aeca485ee7a8c65694c1b02a1b7014c3da920b265a438aa
+[http://heanet.dl.sourceforge.net/rdesktop/rdesktop-1.5.0.tar.gz]
+md5=433546f60fc0f201e99307ba188369ed
+sha256=5ead17c3d29cb1028aeca485ee7a8c65694c1b02a1b7014c3da920b265a438aa
+
[http://downloads.sourceforge.net/rdesktop/rdesktop-1.6.0.tar.gz]
md5=c6fcbed7f0ad7e60ac5fcb2d324d8b16
sha256=35026eaa8e14ca8bd0ba3730926f14222f8452f2ac662623bbf1909d8b060979
+[http://heanet.dl.sourceforge.net/rdesktop/rdesktop-1.6.0.tar.gz]
+md5=c6fcbed7f0ad7e60ac5fcb2d324d8b16
+sha256=35026eaa8e14ca8bd0ba3730926f14222f8452f2ac662623bbf1909d8b060979
+
+[http://qa.debian.org/watch/sf.php/rdesktop/rdesktop-1.6.0.tar.gz]
+md5=c6fcbed7f0ad7e60ac5fcb2d324d8b16
+sha256=35026eaa8e14ca8bd0ba3730926f14222f8452f2ac662623bbf1909d8b060979
+
[http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.0.4.tar.gz]
md5=756b38aaf2602d097cafd08996fb7887
sha256=e754605b72b5498d11207920291d0eed6fa78ad46d3b9ad018cff9bb480224ea
@@ -13362,6 +17118,18 @@ sha256=0cbfb4b3940ecc9e351bbd72b5a9c53af050f2f5f63d500e8ff714ab6c91e447
md5=d6168a6c18d5912e98d9343b33fdad97
sha256=1a47035dd0f283dbc6c0964679afdf6f2c975b462419d1880ac379dc880ba74a
+[http://heanet.dl.sourceforge.net/re2c/re2c-0.13.1.tar.gz]
+md5=d6168a6c18d5912e98d9343b33fdad97
+sha256=1a47035dd0f283dbc6c0964679afdf6f2c975b462419d1880ac379dc880ba74a
+
+[http://john.fremlin.de/programs/linux/read-edid/read-edid-1.4.1.tar.gz]
+md5=aadc9a21ea4a1c9819757cda973372f4
+sha256=bffac0107bf6a64a35291e4ca1afc8823996ca6b334f05e6debe9fa558934947
+
+[http://ftp.de.debian.org/debian/pool/main/r/read-edid/read-edid_1.4.1-2.1.diff.gz]
+md5=77a18acd52ece9540d62859e964943bf
+sha256=4d129037dd239adf58280cd7f1110622995d5c1ce428d53b17cbdf32cfbadb96
+
[ftp://ftp.cwru.edu/pub/bash/readline-4.3.tar.gz]
md5=f86f7cb717ab321fe15f1bbcb058c11e
sha256=eeaf6f050b9f515b0636e5b4f2c153f9ef78e9061ee5dd74f612fab54c77bf88
@@ -13394,6 +17162,10 @@ sha256=7cf45008810ca894b085ae0eb1a0071f0cb6989dd9ce35cfcd617fedf7018c7f
md5=ed807a83455b8aaff5e894e94161a352
sha256=0b8591a646d214f0f959483dfcd9b9624996790d546982d814b47ca8fe4c5725
+[http://heanet.dl.sourceforge.net/refdbg/refdbg-1.2.tar.gz]
+md5=ed807a83455b8aaff5e894e94161a352
+sha256=0b8591a646d214f0f959483dfcd9b9624996790d546982d814b47ca8fe4c5725
+
[http://savannah.nongnu.org/download/regex-markup/regex-markup-0.10.0.tar.gz]
md5=47f9df1cd3865d20aecd6d73e7a7518d
sha256=879f0af7622c1eb2d1b7c5f7d0ec53ea96fd48b05bc4f4c17542a2ea17fafba5
@@ -13402,6 +17174,10 @@ sha256=879f0af7622c1eb2d1b7c5f7d0ec53ea96fd48b05bc4f4c17542a2ea17fafba5
md5=600da451b706c4f24451299e348da555
sha256=74f1521cc613855d26881c7b46fe72b59dafdf377cf26ec9d4f064979039a27f
+[http://heanet.dl.sourceforge.net/regina-rexx/regina33.zip]
+md5=600da451b706c4f24451299e348da555
+sha256=74f1521cc613855d26881c7b46fe72b59dafdf377cf26ec9d4f064979039a27f
+
[ftp://ftp.namesys.com/pub/reiser4progs/old-versions/reiser4progs-1.0.4.tar.gz]
md5=b2cbc8eb9429b50e0e99ba4eeda4801e
sha256=4990e24f9a49588cc2d7c3646fb9b5c3946213db26e1df129d218265a88ada2e
@@ -13414,6 +17190,14 @@ sha256=c0862c53aecd23724a72d32fb54706d61d9858925c78408a2852d042417e68bf
md5=b42cf15f6651c3ceff5cb84996c0d539
sha256=c0862c53aecd23724a72d32fb54706d61d9858925c78408a2852d042417e68bf
+[ftp://ftp.nl.debian.org/debian/pool/main/r/reiserfsprogs/reiserfsprogs_3.6.19.orig.tar.gz]
+md5=b42cf15f6651c3ceff5cb84996c0d539
+sha256=c0862c53aecd23724a72d32fb54706d61d9858925c78408a2852d042417e68bf
+
+[http://xorg.freedesktop.org/releases/individual/app/rendercheck-1.3.tar.bz2]
+md5=eb6a358b79b0aeaf03d56c5e1f394365
+sha256=60e83bebab37c2754ae77cc359c0b67e8bc72b46821c7fa260ccc5c811bd741f
+
[http://xlibs.freedesktop.org/release/renderext-0.8.tar.bz2]
md5=b00a97b00bf93ab2ac6442ea13ea9c0b
sha256=779317ca2e99f02b394af0c6f77f16def56de3b71a5d9f9ac6e5e9cfb65192e1
@@ -13438,6 +17222,14 @@ sha256=467910e5f6b6e137db93a1ccaf668d4146c3dd27dfa0f368b2a20a0a14a23592
md5=fa360e7dcdb195fa5738216facc881c6
sha256=6c2bd1aa8894a7eb180945a39780e00f4b3949aa487fe278fcace5310d4a2da5
+[ftp://ftp.nl.debian.org/debian/pool/main/r/resolvconf/resolvconf_1.28.tar.gz]
+md5=fa360e7dcdb195fa5738216facc881c6
+sha256=6c2bd1aa8894a7eb180945a39780e00f4b3949aa487fe278fcace5310d4a2da5
+
+[ftp://ftp.nl.debian.org/debian/pool/main/r/resolvconf/resolvconf_1.41.tar.gz]
+md5=f7cc9a2a30f480be3ecefedea363575c
+sha256=357ae73b048a2a6db46c8b28e0b79bc9448dbae96f52e44b07db7e40895ef2cf
+
[http://xlibs.freedesktop.org/release/resourceext-1.0.tar.bz2]
md5=007713326ca5f1adfd39f3cb587c3b9b
sha256=78e0a532bb84d6d85e90244bf3bb0ee9a5246545ebc9b677173e37e231d30cdc
@@ -13490,6 +17282,10 @@ sha256=1126f0ecc8cab3af14a562cddc5d8ffeef47df7eba34a7aadcdee35a25ec2b1e
md5=773c1e4291177c5b7a887763f6cb83a6
sha256=bfaa36f246dc01775268644c153a2c65f5e2009b45d19f72e3d06c83c59d3aed
+[http://heanet.dl.sourceforge.net/roadmap/roadmap-1.1.0-src.tar.gz]
+md5=773c1e4291177c5b7a887763f6cb83a6
+sha256=bfaa36f246dc01775268644c153a2c65f5e2009b45d19f72e3d06c83c59d3aed
+
[http://www.roadmap.digitalomaha.net/roadmap/roadmap_1_0_12p2_src.tar.gz]
md5=749f5923a146f0e29f2bce127f09c2af
sha256=2d544f4205cc42b4da2cd39ca589f2c826f56ad106e571450fc2694666440a92
@@ -13506,6 +17302,14 @@ sha256=11f9cc331d0be87f0f172840e2bb6e03e27c3b8e9ecbb3eb8cffdc5b73afbd95
md5=56e6a29f2dbdf11d6f4b74a3f03ff959
sha256=d91120d78e770c9c09822560dacb42fca641d092cbe52064ca7232f089062921
+[http://heanet.dl.sourceforge.net/rox/rox-filer-2.5.tar.bz2]
+md5=56e6a29f2dbdf11d6f4b74a3f03ff959
+sha256=d91120d78e770c9c09822560dacb42fca641d092cbe52064ca7232f089062921
+
+[http://www.roaringpenguin.com/files/download/rp-pppoe-3.8.tar.gz]
+md5=0e32760f498f9cde44081ee6aafc823b
+sha256=d916e9cfe1e62395f63a5361936fa855f6d0f0a37dc7227b394cdb725f553479
+
[ftp://ftp.jbj.org/pub/rpm-4.4.x/rpm-4.4-1.src.rpm]
md5=07f932a5f2c06bc14278f91782613c12
sha256=a515675401cc9aff33cf8fd48d23a177cb9385907758c0e29a1dab693f55efe2
@@ -13530,6 +17334,14 @@ sha256=413523cd8ebd4429c192c5cab7a85d017655b32f21a9c261169597180889b370
md5=1fa701df95bb538fd0f0bf18d51534c7
sha256=ed783c3141176ae84b7caec3f76cb483b09cf5c6fbc675abcdaaf5970ff0a4f1
+[http://www.claws-mail.org/downloads/plugins/rssyl-0.18.tar.gz]
+md5=7dfd8ae53cf1ed88d5e4150f77b9df63
+sha256=b02eff373fd66daec2ffd75afd3ad97c32c45679883ee65b21aa50fec92fc752
+
+[http://xorg.freedesktop.org/releases/individual/app/rstart-1.0.2.tar.bz2]
+md5=99aea04a27197056368a4431f30f9cdb
+sha256=02fc48b5069018e4262f0e5ebb669acedc04167307c98f0fdb2ca22e568e9596
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/rstart-X11R7.0-1.0.1.tar.bz2]
md5=6f33a1bd8e99372b7544ddfcad456369
sha256=d662e932154df4d99ffcf29cd1efe5adb7b0eb1841ccffe9155b9c5d8055434c
@@ -13562,10 +17374,26 @@ sha256=17697db5bb9de399b71f7927070f60b3554b70b0ecc0419b50455d56560ea169
md5=c7536e907363ea1da63430b49e42931d
sha256=d7d5a3d17f492049fceb2b9ea22c4c2af7243506219d83f7005b77ae410add29
+[http://heanet.dl.sourceforge.net/nogravity/rt-nogravity-data.zip]
+md5=c7536e907363ea1da63430b49e42931d
+sha256=d7d5a3d17f492049fceb2b9ea22c4c2af7243506219d83f7005b77ae410add29
+
+[http://www.kernel.org/pub/linux/kernel/people/tglx/rt-tests/rt-tests-0.21.tar.bz2]
+md5=b215112a3e06e7d932c64a91a4efa1e0
+sha256=ffaa7aad27b1b1518d270bc5812198a3029dbf6feb13823739c503e1f7f67c5f
+
[http://downloads.sourceforge.net/rt2400/rt2570-1.1.0-b2.tar.gz]
md5=f4131d670920a878b4d4a0f5d4d8b93a
sha256=a677291149687339396fed06c46cc08fd76fcb62d0f4459cae02c6cf54b4eb39
+[http://heanet.dl.sourceforge.net/rt2400/rt2570-1.1.0-b2.tar.gz]
+md5=f4131d670920a878b4d4a0f5d4d8b93a
+sha256=a677291149687339396fed06c46cc08fd76fcb62d0f4459cae02c6cf54b4eb39
+
+[http://homepages.tu-darmstadt.de/~p_larbig/wlan/rt2570-k2wrlz-1.6.0.tar.bz2]
+md5=9b96ffc8ceece0522daac443bc41c4af
+sha256=31248ac19b7935638c373aeced6187262a440d195dabfef6128845b4b16bee6c
+
[http://homepages.tu-darmstadt.de/~p_larbig/wlan/rt2570-k2wrlz-1.6.1.tar.bz2]
md5=87947cf1868ac37d4d756f3585dbf1e6
sha256=11d2c4a1b69a4b2b49811128a41c33f25c71e590b019ace392761598ca3d419f
@@ -13578,10 +17406,18 @@ sha256=1d8fb8980025a0126520bb8f92dd0a5ce59c72e10889323212d3b4fd5496390a
md5=0340e1ceba72330111e6fc85679c75bf
sha256=94beb93da6dabd16892c899f496eeec745fc69b856abd0d19896b2a4b0fb7c72
+[http://homepages.tu-darmstadt.de/~p_larbig/wlan/rt73-k2wrlz-1.0.0.tar.bz2]
+md5=be1820ec548283ccaf5eea7094193351
+sha256=6b9dfcfe509f3c659e2450610ad3bf0a9eef613481085b1b1bfed6647f21782d
+
[http://homepages.tu-darmstadt.de/~p_larbig/wlan/rt73-k2wrlz-2.0.1.tar.bz2]
md5=121e2ed57d01e04f82e942c502b1ca75
sha256=e04718f3989bc567bf185cacfb27e324218cce5f5c87fca65328e49a3b56e603
+[http://homepages.tu-darmstadt.de/~p_larbig/wlan/rt73-k2wrlz-3.0.0.tar.bz2]
+md5=952af13db40a8aa723c859256c697a9c
+sha256=91619748c4dba733c60eb8a40805c972f407b2463dc6de856ac40336d66bc16c
+
[http://music.mcgill.ca/~gary/rtaudio/release/rtaudio-3.0.1.tar.gz]
md5=5b60500bc9605d2409b71124e48aa929
sha256=59cc003bab753335b3ce14a908e663ea782514b3531dc7030379ff753ef1a78c
@@ -13590,10 +17426,18 @@ sha256=59cc003bab753335b3ce14a908e663ea782514b3531dc7030379ff753ef1a78c
md5=6216be7ce5e3ead9dc115eaeea863694
sha256=597cefac4535d7f3b752253e5997b3c851c261b26b966a39beb032dcf1d5baa7
+[http://libtorrent.rakshasa.no/downloads/rtorrent-0.8.3.tar.gz]
+md5=d1b43acf08e371a56915293bbcf584c6
+sha256=554456550ca6e792297d6d39367120af5b2bd6181d514a43faf4e2f565721908
+
[ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.5.tar.gz]
md5=3fbb02294a8ca33d4684055adba5ed6f
sha256=19590e972b80333e26a6514c34d976c2037138361481a16f27b75e5d33f33a58
+[http://rxtx.qbang.org/pub/rxtx/rxtx-2.1-7r2.zip]
+md5=9290b4832d46199f8d798a531209640b
+sha256=31db3852a86105766758975519b27d262407c96cacad4f34ad0de5aae26addd9
+
[http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-4.8.tar.bz2]
md5=b8f69ee5a4a2cd195892107be3a3cb29
sha256=de644640cf71a6ce72f27ac6489b65434105fc6c94538c471925a15e2259b796
@@ -13626,6 +17470,14 @@ sha256=33d2363d40b1db7568864dc063ce4af70e50a9f9292a16445f0b167618d8fbba
md5=1b8cfd298b9fa10c4779c98fbe8e0bd3
sha256=564d375388284d7f13003202cba9fc1976b045bd14b3f12adec1449cded33f26
+[http://heanet.dl.sourceforge.net/sablevm/sablevm-1.12.tar.gz]
+md5=6648af9bb5dd3dbbc8cb6835371f5ecd
+sha256=576c1af8affdebb0d5e10f8a8edad10e994965cef6db7980a3c52e25e15d6b94
+
+[http://heanet.dl.sourceforge.net/sablevm/sablevm-classpath-1.12.tar.gz]
+md5=938602a0648660f13357115b6f1fbd60
+sha256=3e7b039a188ce5b2f74c86309936e193ea5d5eefcbdcaa92b38bc3f7e1e9fec4
+
[http://sablevm.org/download/release/1.12/sablevm-classpath-1.12.tar.gz]
md5=ae8788df73ee0c2dd1ba8ed0f6d9b817
sha256=1e50e20b9f597235709eadda23e6d15d3cdd5e63dbfeed6f50aeb5a85b31c405
@@ -13634,6 +17486,18 @@ sha256=1e50e20b9f597235709eadda23e6d15d3cdd5e63dbfeed6f50aeb5a85b31c405
md5=4bd5142c1741bb302dcd8e3b2e22dcd5
sha256=c93f35baa7100fa04033b646b273ebf1da01954ea1d1dd33ab599b92ed916fa1
+[http://heanet.dl.sourceforge.net/sailcut/sailcut-1.3.2.tar.gz]
+md5=4bd5142c1741bb302dcd8e3b2e22dcd5
+sha256=c93f35baa7100fa04033b646b273ebf1da01954ea1d1dd33ab599b92ed916fa1
+
+[http://www.pleyades.net/david/projects/sakura/sakura-2.1.0.tar.bz2]
+md5=37ef8dee0b01107fc31ad3683af5572d
+sha256=aa053f8b561a1ce50955d72a7b0e2145178edca9cff40ab2e6e8f1d71cac9d6b
+
+[ftp://ftp.suse.com/pub/people/tiwai/salsa-lib/salsa-lib-0.0.1.tar.bz2]
+md5=abfe905d58fbc0910434d08539e36ff6
+sha256=8088a18b109f2c47eedd899f731b6f3fa9b92fa8b91335db0348802d28f8519e
+
[http://samba.org/samba/ftp/stable/samba-3.0.10.tar.gz]
md5=b19fd86d3c11a1b43f75a5988cd9ceeb
sha256=d13a8e562caaa21afe45027630baa33f0fab0bd25a7cfa2218307545dfbac73e
@@ -13670,6 +17534,10 @@ sha256=89106b5bc5a66ca0eaf4553371c89ac8542a757964d7a91c07b8fb77e040eebe
md5=8c0936272dcfd4e98c51512699f1c06f
sha256=13271a7eb4dc4aa6072162abbd78848e4faad32c468b9b44e7f95cde96a4e17e
+[ftp://ftp.sane-project.org/pub/sane/old-versions/sane-frontends-1.0.13/sane-frontends-1.0.13.tar.gz]
+md5=2930626e627df49b45192a722cedc8a6
+sha256=94cd595fe1ae130b8490d5690c7665d15536554473ad648ed46fc0ac3f383a80
+
[http://stage.maemo.org/pool/maemo/ossw/source/s/sapwood/sapwood_1.20-1.tar.gz]
md5=92dbb7fbcf468030662d4a103ecaca58
sha256=d0baabff2a5dba4ad8dfc79f15f0d3110ab88564a451c835b56618cf808ba870
@@ -13714,6 +17582,10 @@ sha256=0e2e0524f0559daa6816e4f7ad83b29891455c35c61694bcc5869e2011e3c808
md5=c7b0363d646fbdee7fd09042de6fb0a7
sha256=2068e0dc61189a37487dcf432909540e30579e452907ccbbd97d914fd0e06911
+[http://www.secdev.org/projects/scapy/files/scapy-1.1.1.tar.gz]
+md5=8ac720a1bea4304797c713ef1ed063f1
+sha256=2a11ba05f34b2978af3add623a641e0340d39322b4ca2bd26baae743c78de956
+
[http://savannah.nongnu.org/download/scew/scew-0.3.1.tar.gz]
md5=e9a69f7014cad332cc78667b07eebbce
sha256=0e966359b9e1de31bf375b2a982b7f63cc6dd0c253bda480d1913c668791972a
@@ -13722,10 +17594,18 @@ sha256=0e966359b9e1de31bf375b2a982b7f63cc6dd0c253bda480d1913c668791972a
md5=0fd84a82c51f67d2d0531aab78f66d2a
sha256=fc5cd165ecc07d2e254412f39a17a26a753bf081a0e02ed5db0b02d2f6bacc6f
+[http://people.redhat.com/mingo/cfs-scheduler/sched-cfs-v2.6.23.12-v24.1.patch]
+md5=a4a3cfd0abdb876cd6a353b882791ba2
+sha256=51703277e08c47f8c07585ae2319543ff89013465da67828b556b7e7df9313f8
+
[http://downloads.sourceforge.net/schrodinger/schroedinger-0.2.0.0.tar.gz]
md5=45f8d0efd9b76579a005e4ffe7f96ac3
sha256=0b01f9fb9c869ecb6e066993d59e34789f82d445438480ac0e2dc30f29d047a0
+[http://heanet.dl.sourceforge.net/schrodinger/schroedinger-0.2.0.0.tar.gz]
+md5=45f8d0efd9b76579a005e4ffe7f96ac3
+sha256=0b01f9fb9c869ecb6e066993d59e34789f82d445438480ac0e2dc30f29d047a0
+
[http://www.diracvideo.org/download/schroedinger/schroedinger-1.0.5.tar.gz]
md5=55596c41572c5efcf4b2cae9c68c2152
sha256=bbb73ebc3a22f53e75dfbaa1718eebcc5a3619bb200b50df42d5377b99ebf4d4
@@ -13742,10 +17622,18 @@ sha256=2632398044dc6cb3d49b8760bfb0b878445daaa415af419d6d6a09eb7e423c31
md5=de530fa29e83f3b6efb618873398fa31
sha256=195df54afedd60767e55393187df0f1e7e0ddb3a46347a5ee82d5050f964c3ba
+[http://heanet.dl.sourceforge.net/scons/scons-0.97.tar.gz]
+md5=de530fa29e83f3b6efb618873398fa31
+sha256=195df54afedd60767e55393187df0f1e7e0ddb3a46347a5ee82d5050f964c3ba
+
[http://downloads.sourceforge.net/wordlist/scowl-6.tar.gz]
md5=69d9b4b34dc85011d89115fa3cd2e011
sha256=2468f134a2a384eec8d154c7f8bdb9212c2601036aeec29bb38fdeaad3b14912
+[http://heanet.dl.sourceforge.net/wordlist/scowl-6.tar.gz]
+md5=69d9b4b34dc85011d89115fa3cd2e011
+sha256=2468f134a2a384eec8d154c7f8bdb9212c2601036aeec29bb38fdeaad3b14912
+
[ftp://ftp.gnu.org/gnu/screen/screen-4.0.2.tar.gz]
md5=ed68ea9b43d9fba0972cb017a24940a1
sha256=05d087656d232b38c82379dfc66bf526d08e75e1f4c626acea4a2dda1ebcc845
@@ -13762,6 +17650,14 @@ sha256=c426660739a93f94364de29cde222f7c3621364d9843b52c91735ba8b6a81c62
md5=659bf15bbbb31817ebad9372c8827618
sha256=2a19694b9825ec13349adac691933a8f890117ef566a9cd58a9e439030a96a3a
+[ftp://ftp.nl.debian.org/debian/pool/main/s/screen/screen_4.0.2-4.1sarge1.diff.gz]
+md5=659bf15bbbb31817ebad9372c8827618
+sha256=2a19694b9825ec13349adac691933a8f890117ef566a9cd58a9e439030a96a3a
+
+[http://xorg.freedesktop.org/releases/individual/app/scripts-1.0.1.tar.bz2]
+md5=08c7f078fc351196c21db3a8206d482d
+sha256=1b154b4359302ca499818c45396325aef9ff364d6ff4ce5c3769e4803994a136
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/scripts-X11R7.0-1.0.1.tar.bz2]
md5=b5b43aa53372b78f1d67c86301e3dc02
sha256=b502bc765cffc23189b77ba4d22e843fe03404bfab4e24b97ff4daee58176b33
@@ -13782,6 +17678,10 @@ sha256=24ec219323a3d1e20a9d080b2352411f37d171a4a02e12a2930e6ea199ee4341
md5=86b310223642b6841c9e04ecd4d7fed8
sha256=6b53eb1645ac64667f0ee109b3456ba909b1c8bec432330a9d90e9a20980823b
+[ftp://ftp.nl.debian.org/debian/pool/main/s/scsi-idle/scsi-idle_2.4.23-5.tar.gz]
+md5=86b310223642b6841c9e04ecd4d7fed8
+sha256=6b53eb1645ac64667f0ee109b3456ba909b1c8bec432330a9d90e9a20980823b
+
[http://downloads.sourceforge.net/scummvm/scummvm-0.12.0.tar.bz2]
md5=cd5620c57645948c8da0d4d9c9fcffb3
sha256=db9aa3bbb648d09639d9e16f1872558a105f222dac5e3d0a16370b4cf7c3e699
@@ -13790,10 +17690,22 @@ sha256=db9aa3bbb648d09639d9e16f1872558a105f222dac5e3d0a16370b4cf7c3e699
md5=efc4207a7f10b24e9fc5afa10ed9c455
sha256=ac22ad70ad6f88c7c8450bc06ba38602331c7470abcafb9e7fe62bfb505b1a3b
+[http://heanet.dl.sourceforge.net/scummvm/scummvm-0.6.0.tar.bz2]
+md5=efc4207a7f10b24e9fc5afa10ed9c455
+sha256=ac22ad70ad6f88c7c8450bc06ba38602331c7470abcafb9e7fe62bfb505b1a3b
+
+[http://heanet.dl.sourceforge.net/scummvm/scummvm-0.6.1b.tar.bz2]
+md5=143dd7cfe0995922c49e1f8a6cdf2055
+sha256=29007f54d9e5a37a3da9f51670de7828dde9a3559beddbdd5c2f59796fb220f6
+
[http://puzzle.dl.sourceforge.net/scummvm/scummvm-0.6.1b.tar.bz2]
md5=143dd7cfe0995922c49e1f8a6cdf2055
sha256=29007f54d9e5a37a3da9f51670de7828dde9a3559beddbdd5c2f59796fb220f6
+[http://heanet.dl.sourceforge.net/scummvm/scummvm-0.9.0.tar.bz2]
+md5=5eede9c97d1883f80770a3e211419783
+sha256=5824f67aa37b00fc8b92ac4fcc413a9a7d868174dcd6df580c4d706807e4545e
+
[http://puzzle.dl.sourceforge.net/scummvm/scummvm-0.9.0.tar.bz2]
md5=5eede9c97d1883f80770a3e211419783
sha256=5824f67aa37b00fc8b92ac4fcc413a9a7d868174dcd6df580c4d706807e4545e
@@ -13802,18 +17714,34 @@ sha256=5824f67aa37b00fc8b92ac4fcc413a9a7d868174dcd6df580c4d706807e4545e
md5=30a82ad466bae223875e66ee14b94904
sha256=5cd5d9c06281a4f81d85d9a9f9b0410045d4a764a855f06f574183b528c15d1a
+[http://heanet.dl.sourceforge.net/scummvm/scummvm-0.9.1.tar.bz2]
+md5=30a82ad466bae223875e66ee14b94904
+sha256=5cd5d9c06281a4f81d85d9a9f9b0410045d4a764a855f06f574183b528c15d1a
+
[ftp://ftp.debian.org/debian/pool/main/s/scw/scw_0.4.3.orig.tar.gz]
md5=4c9fb66fa496cf32542e92f32f821818
sha256=fca3763b05f064728c9ff248fa0766808d1ceae561b88ad202811924e4ccdb45
+[ftp://ftp.nl.debian.org/debian/pool/main/s/scw/scw_0.4.3.orig.tar.gz]
+md5=4c9fb66fa496cf32542e92f32f821818
+sha256=fca3763b05f064728c9ff248fa0766808d1ceae561b88ad202811924e4ccdb45
+
[http://downloads.sourceforge.net/sdcc/sdcc-2.5.0.tar.gz]
md5=c572e7842fe36348f5b2972c1025a75a
sha256=138d2e59569f76f1a5d35bd5d85e7006eeebc4f48cd3dac902e2824ed50c3d80
+[http://heanet.dl.sourceforge.net/sdcc/sdcc-2.5.0.tar.gz]
+md5=c572e7842fe36348f5b2972c1025a75a
+sha256=138d2e59569f76f1a5d35bd5d85e7006eeebc4f48cd3dac902e2824ed50c3d80
+
[http://downloads.sourceforge.net/sdcc/sdcc-src-2.8.0.tar.bz2]
md5=1b9c2e581b92d5e3f13bca37c5784080
sha256=cbb035699d8910c7ca2fa360a773504b44165e98042ed8c208fea2fe47a96557
+[http://heanet.dl.sourceforge.net/sdcc/sdcc-src-2.8.0.tar.bz2]
+md5=1b9c2e581b92d5e3f13bca37c5784080
+sha256=cbb035699d8910c7ca2fa360a773504b44165e98042ed8c208fea2fe47a96557
+
[http://repository.maemo.org/pool/maemo/ossw/source/s/sdk-default-icons/sdk-default-icons_0.2-1.tar.gz]
md5=85ccc685b72f6f77da8a4b0ef7c5281b
sha256=8dcd3aac06f24111461433353015cd36bfaaf45b74ff9aa336713759b6759b0c
@@ -13866,6 +17794,14 @@ sha256=3a8b96d7955a022045c781c1b8ac266fa8cdd47295744d60e7c00a6e88abbb3d
md5=bee5d87d40615e67c84ab0b0c65049ba
sha256=c23c12259854c7cec6d19bf397afff4a542a22170b14de73b321aa8cafcf3a86
+[http://xorg.freedesktop.org/releases/individual/app/sessreg-1.0.3.tar.bz2]
+md5=07665816f2623ec82e665fb7d31c6cef
+sha256=7d0c145d53246ddf09fc749f91324897ed9a3da0064808f99b789c37470080dc
+
+[http://xorg.freedesktop.org/releases/individual/app/sessreg-1.0.4.tar.bz2]
+md5=839e968d7197b9563f0fd8a5a3aac2e3
+sha256=23e163502e208ac16f04a12b15f7f8dcd9919f0149c714353b7f92539b7e9802
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/sessreg-X11R7.0-1.0.0.tar.bz2]
md5=8289a5b947165449c23bdfad9af02b4c
sha256=3769ad5059a2841a8ee28fc8a7d3a3ca8eb59f4fd46d0bd629829f3841202734
@@ -13874,6 +17810,10 @@ sha256=3769ad5059a2841a8ee28fc8a7d3a3ca8eb59f4fd46d0bd629829f3841202734
md5=b30985591b239d2913382b97817ba790
sha256=4639247cb15c306f2182eea53982fe8007a8b9080cb9c1a8a38d5d2a45e4c20f
+[ftp://ftp.nl.debian.org/debian/pool/main/s/setmixer/setmixer_27DEC94.orig.tar.gz]
+md5=b30985591b239d2913382b97817ba790
+sha256=4639247cb15c306f2182eea53982fe8007a8b9080cb9c1a8a38d5d2a45e4c20f
+
[http://www.vanheusden.com/setpwc/setpwc-0.9.tgz]
md5=0ec56a142d79bc2dd346fc6f12f9aa5e
sha256=827940306b30e3d92805052b31e8bff2f326fca7574b162260ca5386027091c1
@@ -13890,6 +17830,14 @@ sha256=7e4487d320ac31558563424189435d396ddf77953bb23111a17a3d1487b5794a
md5=c4867d72c41564318e0107745eb7a0f2
sha256=7e4487d320ac31558563424189435d396ddf77953bb23111a17a3d1487b5794a
+[http://heanet.dl.sourceforge.net/setserial/setserial-2.17.tar.gz]
+md5=c4867d72c41564318e0107745eb7a0f2
+sha256=7e4487d320ac31558563424189435d396ddf77953bb23111a17a3d1487b5794a
+
+[http://mput.de/~kristian/.openmoko/settingsgui-0.8-beta.tar.bz2]
+md5=4a4c4855447f506078dfb762ba72e35d
+sha256=5f4f727cbe982db701dcc4a70cd2c19a4c153a4b0b35a6b5b561b48d53649855
+
[http://mput.de/~kristian/.openmoko/settingsgui-0.8.tar.bz2]
md5=8b6f19636983fe22bad5ee1e0906c837
sha256=e839e55b2d7babbbf0302429e9c58ff6e62a064c9ae4cb2d6f957a89b81e0022
@@ -13962,6 +17910,10 @@ sha256=1bd129c7a68537533c77267992eaf490ff64bcc3d01c6f4b51343b8f266ae99e
md5=016f49d71bc32eee2b5d11fc1600cfbe
sha256=0d48ffe4d801180c15466f20aaa5802adb9d22067e8941e051dc3c64717ec3c2
+[http://heanet.dl.sourceforge.net/shfs/shfs-0.35.tar.gz]
+md5=016f49d71bc32eee2b5d11fc1600cfbe
+sha256=0d48ffe4d801180c15466f20aaa5802adb9d22067e8941e051dc3c64717ec3c2
+
[http://handhelds.org/~zecke/oe_packages/shisensho_V1.0.0.tar.gz]
md5=001103f5847e71b0198c3a11df7d62d0
sha256=17cebdc8ae4374c3944a3233d86278f4d09aaf90279b48e98367e9387f7e6acc
@@ -13974,6 +17926,14 @@ sha256=feec48d2d79aad6d5c7daa911702fccb3dce18ac2e1ee23341d135275ce2a719
md5=4d0f756b5b63a68593b2de560c1a5b35
sha256=06064e929423b1bd60a31652d2a31763dccc48e86ea9cdefbcadf524df2bd3f2
+[http://xorg.freedesktop.org/releases/individual/app/showfont-1.0.1.tar.bz2]
+md5=339b2faf1ca5114fda414338e15b6e21
+sha256=87db3cf12914abc6b074d12b35c7f39c8fd7b5d3933b339e2c1260a51061760c
+
+[http://xorg.freedesktop.org/releases/individual/app/showfont-1.0.2.tar.bz2]
+md5=8f83d774ed4cc2a6dca86edd856d820a
+sha256=9bd0373659b2f24120dba887fd155f99aed02e4a7c2afae69e7db1c1fa05e88c
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/showfont-X11R7.0-1.0.1.tar.bz2]
md5=334cb5133960108ac2c24ee27e16bb8e
sha256=58716b9fb29b8b9397577ebddfe01202f7dcd4be90c1f73fab2fb8794b83b390
@@ -13982,6 +17942,10 @@ sha256=58716b9fb29b8b9397577ebddfe01202f7dcd4be90c1f73fab2fb8794b83b390
md5=bba4a99e59581066e905c9326a724ba5
sha256=bc6bfd100c495e74baa651c470252484b19bfc2e6fa8520f591b0c01b9fcfb5d
+[http://www.sparc-boot.org/pub/silo/silo-1.4.8.tar.bz2]
+md5=badc27616dc92ad42f5e30751a6b322c
+sha256=2c5e3a832662aa962f700e64ce3c1fc8c77e801000c47b8d66feeb03e66d95de
+
[http://simh.trailing-edge.com/sources/simhv37-1.zip]
md5=c8c57379e2e9afbf9817fbbe99ee1106
sha256=4c3f7374e1faa54c705f7c139e992bb7d3492e9dc62aca5b1e24e5a43bb0f132
@@ -14050,10 +18014,18 @@ sha256=28a6af2d1490374de26084e346bbd227586c0f6232dcf4cfebf80413adc7d932
md5=dfe9f5d3f17075ec23eb923899ac5f24
sha256=124499d3c5d2d44ab07b60c235547079044f3728fd3c907987900e270bd947f8
+[http://heanet.dl.sourceforge.net/slotsig/slotsig-0.6.tar.bz2]
+md5=dfe9f5d3f17075ec23eb923899ac5f24
+sha256=124499d3c5d2d44ab07b60c235547079044f3728fd3c907987900e270bd947f8
+
[http://downloads.sourceforge.net/slrn/slrn-0.9.8.0.tar.bz2]
md5=47e9931771114ba192356a0473e9649e
sha256=b97ea8385c4c9db64d69a84fcf87e5ffd98239932c88ff19f2e4c107ae24cdb2
+[http://heanet.dl.sourceforge.net/slrn/slrn-0.9.8.0.tar.bz2]
+md5=47e9931771114ba192356a0473e9649e
+sha256=b97ea8385c4c9db64d69a84fcf87e5ffd98239932c88ff19f2e4c107ae24cdb2
+
[http://www.dakotacom.net/~ymg/files/slsnif-0.4.4.tar.gz]
md5=78eeff8ba36ee0c3a954ec0878d2a997
sha256=315eb08a14255c137b435cb4f3c1dbfa67427be1c6bec62ff77a54246161c83e
@@ -14066,14 +18038,30 @@ sha256=0a2080a48f8a52d10d49aa78a66027205920b76c8e901d07fb040759191aad9e
md5=53f6861a916169a88a9edb1848e27dd0
sha256=2fdde1b4e610cd6e004db8f98ac1100fcbea03b8f11e236de536ce22bc6c620d
+[http://heanet.dl.sourceforge.net/smartmontools/smartmontools-5.33.tar.gz]
+md5=53f6861a916169a88a9edb1848e27dd0
+sha256=2fdde1b4e610cd6e004db8f98ac1100fcbea03b8f11e236de536ce22bc6c620d
+
[http://downloads.sourceforge.net/smartmontools/smartmontools-5.37.tar.gz]
md5=4ab3668b7d1362ce923f64a211e0e568
sha256=2984645b207c52ea9b8ef3951af8bd0c5aab469607fabf63ade05f8fe87309c1
+[http://heanet.dl.sourceforge.net/smartmontools/smartmontools-5.37.tar.gz]
+md5=4ab3668b7d1362ce923f64a211e0e568
+sha256=2984645b207c52ea9b8ef3951af8bd0c5aab469607fabf63ade05f8fe87309c1
+
[http://downloads.sourceforge.net/smartmontools/smartmontools-5.38.tar.gz]
md5=a282846532ecbd6b4a28072373b3a70b
sha256=b2097320a1fca4851f1377a14f4cc14a46e27d2a44ca017c40a6cb618b2f31e8
+[http://heanet.dl.sourceforge.net/smartmontools/smartmontools-5.38.tar.gz]
+md5=a282846532ecbd6b4a28072373b3a70b
+sha256=b2097320a1fca4851f1377a14f4cc14a46e27d2a44ca017c40a6cb618b2f31e8
+
+[http://xorg.freedesktop.org/releases/individual/app/smproxy-1.0.2.tar.bz2]
+md5=31da204a0255ba8c6a65386e65dc1c90
+sha256=76d22f0cf07c8c4386a15c5c935b58319bd747befb940a0f03f652d59c4f67d2
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/smproxy-X11R7.0-1.0.1.tar.bz2]
md5=60f54881b6fb27a8ba238629e4097c4d
sha256=c56617fd511eac4bdcff5b9b171be0aeacb7d8ddfe48615aa61295cf90b62888
@@ -14086,6 +18074,10 @@ sha256=56f13e337de528530e35b192d84b869bd3d40cbd0320f3d108f7d741503b995b
md5=7c11b59753ae8fea2c1f1030c34bff42
sha256=7b408a4e7eb5c4fa6861e3d5f0b49f5ce872c87775fb302a7d36956b77f1e2b9
+[http://gpephone.linuxtogo.org/download/gpephone/sms-1.1/sms-1.1.tar.bz2]
+md5=baa60d94d99c943b136347a5438ad708
+sha256=b1118e32a03c245fe1140f968fc6d045dae66a7c092f2e42274e9bae3b7b96b8
+
[http://www.linux-projects.org/downloads/sn9c102-1.32.tar.gz]
md5=4d5b5bb9c70e69435a608c73da73b632
sha256=780edfac5a67172a49bc4e8b1bd384fa9184ceaf55bf5ab002fd7b8415db7e3b
@@ -14102,10 +18094,22 @@ sha256=489bb2f9fb69922e9befc27ae1b8d19d31c83c586f55b7ecc503cb4f5e767da4
md5=6df271fd6a92d7641d7b060dedf7fec6
sha256=7eedc4ece1c82668c06222ef85457206139253e24a50e5b5d2401a41baee28c1
+[http://www.dest-unreach.org/socat/download/socat-1.3.2.1.tar.bz2]
+md5=860fe417ea5e9ca2d2b2225192b85b87
+sha256=ecfbca297c26eff6cb04c2c45af1ee5c21d4a123a05f8b056a1c81ffcdfa1e3a
+
[http://downloads.sourceforge.net/sofia-sip/sofia-sip-1.11.7.tar.gz]
md5=09d027ee9817cc1a1b8c0e96271bade4
sha256=328531d0f522a207a9721223c92b823643af5c82e5958fc5e9c945ea36ddafd6
+[http://heanet.dl.sourceforge.net/sofia-sip/sofia-sip-1.11.7.tar.gz]
+md5=09d027ee9817cc1a1b8c0e96271bade4
+sha256=328531d0f522a207a9721223c92b823643af5c82e5958fc5e9c945ea36ddafd6
+
+[http://heanet.dl.sourceforge.net/sofia-sip/sofia-sip-1.12.7.tar.gz]
+md5=c6d7c4c6318fe1ac661862062aad241a
+sha256=86a9522f4ccb17c3b86916784e1de1dce5fe72df6dab06db91f73c2cd3ab96f4
+
[http://joshuawise.com/code/softfan/softfan-0.10.tar.gz]
md5=e19e8a55c70d9b78f3c5abfa456ebf0c
sha256=d1cf80381378041049c2b5ec25afca56939cce1d7dd8a8d8ab2ac46e210e354d
@@ -14130,14 +18134,26 @@ sha256=03b2f2c0edba48457ec6178b0a10edfe3481254112936715603a21f638822f50
md5=53a3ebe3da0f5845770fd99e2ff0a965
sha256=9efdc359ccc15af51edc33ead837f0820d353165c633cbe8c86f65ff0d3be30c
+[http://heanet.dl.sourceforge.net/sox/sox-12.17.5.tar.gz]
+md5=53a3ebe3da0f5845770fd99e2ff0a965
+sha256=9efdc359ccc15af51edc33ead837f0820d353165c633cbe8c86f65ff0d3be30c
+
[http://downloads.sourceforge.net/sox/sox-13.0.0.tar.gz]
md5=0243d62895caee558b5294d5b78cfbcb
sha256=c66c52cfa42fe126592563c3d8974007a9858bd35d2c1136389a721eeebb9f8e
+[http://heanet.dl.sourceforge.net/sox/sox-13.0.0.tar.gz]
+md5=0243d62895caee558b5294d5b78cfbcb
+sha256=c66c52cfa42fe126592563c3d8974007a9858bd35d2c1136389a721eeebb9f8e
+
[http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.3.tgz]
md5=6ea33941985fbf94b5f79dc3255ad925
sha256=368467b757736aef99e19f68e4ed50012b555ef18445b4ad7e47da8c1c353118
+[http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.4pre16.tgz]
+md5=9e4de1934d4d49bfee9640e39d19894e
+sha256=3ab8a8ccaa5c9f3ca918209240d38f30e6d43fc9592ae0a791d0e235b15e28aa
+
[http://www.soft-switch.org/downloads/snapshots/spandsp/spandsp-20070123.tar.gz]
md5=28b67b6f56d97051c48f251116e0519f
sha256=18b335e1804cc24505ca683343d62cb98e845ff1e2e3c966502e67f1b61f2546
@@ -14146,6 +18162,10 @@ sha256=18b335e1804cc24505ca683343d62cb98e845ff1e2e3c966502e67f1b61f2546
md5=08bf3f6d8433a1f4981a2afaa6b49a6c
sha256=b652bc27f95dcf10a7626b1d2943a1084e1e0b7f9bd3a97f9a46b6688370fe4b
+[http://www.codemonkey.org.uk/projects/git-snapshots/sparse/sparse-2008-11-13.tar.gz]
+md5=3f2c1e3c1b09e09cff1b94e334247221
+sha256=ddad6c18d9fbcbcd50452b3d432e6028e7703fb68c68612b28bf879a7c3fdb4c
+
[http://mxhaard.free.fr/spca50x/Download/spca5xx-20060501.tar.gz]
md5=8fcec25715aea10f9ebec5728c37e752
sha256=b8049142742cc81bc945aadefb40d173aeb447e428ec62a93e781032ea9b40c2
@@ -14178,14 +18198,30 @@ sha256=77a3609bf1762f533461c01ef3485d0c9382fa54ec05204f0ff157a4789ce7ab
md5=c4438b22c08e5811ff10e2b06ee9b9ae
sha256=342f30dc57bd4a6dad41398365baaa690429660b10d866b7d508e8f1179cb7a6
+[http://www.sphinxsearch.com/downloads/sphinx-0.9.8.tar.gz]
+md5=347e547b79b733778d7553ede34e0aac
+sha256=86de861550fc7b119b3cbe63a34bad32ac771f44c930d229775ac124c83571d9
+
[http://downloads.sourceforge.net/cmusphinx/sphinxbase-0.1.tar.bz2]
md5=5ff76b3a4799405ad91e88331eb938bb
sha256=ffb5e646d98c058ad2f1f0d7738b39e29fbe432981b1b5d9c8a79cdcb168c3c6
+[http://heanet.dl.sourceforge.net/cmusphinx/sphinxbase-0.1.tar.bz2]
+md5=5ff76b3a4799405ad91e88331eb938bb
+sha256=ffb5e646d98c058ad2f1f0d7738b39e29fbe432981b1b5d9c8a79cdcb168c3c6
+
[http://downloads.sourceforge.net/cmusphinx/sphinxbase-0.3.tar.bz2]
md5=17610af80be230e5760dbb25690a45f0
sha256=b5817b8629f89e16ba88e1c62dce0321978f3aea038aa77cb61a1ff7fa3e0dbb
+[http://heanet.dl.sourceforge.net/cmusphinx/sphinxbase-0.3.tar.bz2]
+md5=17610af80be230e5760dbb25690a45f0
+sha256=b5817b8629f89e16ba88e1c62dce0321978f3aea038aa77cb61a1ff7fa3e0dbb
+
+[http://pypi.python.org/packages/source/s/sphinxsearch/sphinxsearch-0.1.tar.gz]
+md5=920deac1bd4d16fe1c5b51fe839140ab
+sha256=7fcf0aa2e5e08719b39aeb145d3b6e953a8643bb6fd5e8359303399493ee6c39
+
[http://www.rpsys.net/openzaurus/patches/archive/spitzkbd_fix-r0.patch]
md5=d69c74ab8e2d7664a48a09773450dd27
sha256=59e2b9b2244c169c6580cbfffaf5e2bd2f453753f879036487ec6ed116cf851b
@@ -14254,6 +18290,14 @@ sha256=1673b9218ec318067a662315c161ae123088cad319231ec079018acb4717e8bb
md5=46f92e42243bc51aaa3871645ce78bd5
sha256=cb07a9801a128e2f42cf49b7e9d577b092ab54aa05242655af93491a73a91a1f
+[http://www.zentus.com/sqlitejdbc/dist/sqlitejdbc-v041-src.tgz]
+md5=11aad2f368734e1ff8e0ecc37710d4a9
+sha256=c04bb15b650ffcda80ccd3526b325b49a1173b3421da22b16845aad4a8945c10
+
+[http://kamikaze.waninkoko.info/patches/2.6.23/klight1/broken-out/squashfs-lzma-2.6.23.patch]
+md5=4f9b572c2381c457d866cda9300208de
+sha256=e0f476d04af5921d4a44ab312a03fc6c7122b71adff6e38add8aa188d9969784
+
[http://kamikaze.waninkoko.info/patches/2.6.24/kamikaze1/broken-out/squashfs-lzma-2.6.24.patch]
md5=cfdb5caec0326a3ced8b4159f602c94f
sha256=a7e784b151b25ca724bb7c9611b07cd9a9f3de12014ee80fcada7dd9a8248f53
@@ -14262,14 +18306,30 @@ sha256=a7e784b151b25ca724bb7c9611b07cd9a9f3de12014ee80fcada7dd9a8248f53
md5=0b7fcaab8e634ae2385984885c731082
sha256=353b768294783959219f1203e76c128fb4c75fa37f3a3bb139603c5db55c6974
+[http://heanet.dl.sourceforge.net/squashfs/squashfs2.0-r2.tar.gz]
+md5=0b7fcaab8e634ae2385984885c731082
+sha256=353b768294783959219f1203e76c128fb4c75fa37f3a3bb139603c5db55c6974
+
[http://downloads.sourceforge.net/squashfs/squashfs2.2-r2.tar.gz]
md5=a8d09a217240127ae4d339e8368d2de1
sha256=750a7a4896d782698a0f531ca30582f0ddd365fe317a04c4dd4fa1ce2eb053eb
+[http://heanet.dl.sourceforge.net/squashfs/squashfs2.2-r2.tar.gz]
+md5=a8d09a217240127ae4d339e8368d2de1
+sha256=750a7a4896d782698a0f531ca30582f0ddd365fe317a04c4dd4fa1ce2eb053eb
+
[http://downloads.sourceforge.net/squashfs/squashfs3.1-r2.tar.gz]
md5=c252e5286b142afa54ca49829c51a33f
sha256=ec3159feae5324e78f7fc09f8f534bd6a3e7ed735144ee8a8e9e7871e77115e0
+[http://heanet.dl.sourceforge.net/squashfs/squashfs3.1-r2.tar.gz]
+md5=c252e5286b142afa54ca49829c51a33f
+sha256=ec3159feae5324e78f7fc09f8f534bd6a3e7ed735144ee8a8e9e7871e77115e0
+
+[http://heanet.dl.sourceforge.net/squashfs/squashfs3.3.tgz]
+md5=95c40fca0d886893631b5de14a0af25b
+sha256=8423027a1e7dc238d27ec227f47ce22d1317b4c9a0a9ee49a38b6e6f8da8a5c8
+
[http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE14.tar.bz2]
md5=eadb138d48320df8b99349121159c6bf
sha256=dcb0c10965430862721b675e2f9f6a30819880e03124b5e9403bfce2c7f3b69a
@@ -14282,14 +18342,30 @@ sha256=3da4fccc40c7c8ad51dba5bc7ac29a3a53905d5f2de0761353214d7e359d4bfd
md5=40fe4a353d03b80f8b37e4b0cc6159d3
sha256=f80f713105fc0747197b6e5d2440cd77205cb1febe25b7b4fe08809ab67ace26
+[http://heanet.dl.sourceforge.net/fuse/sshfs-fuse-1.8.tar.gz]
+md5=3c575cf89a6d3d8ab6063c2f60bd5b25
+sha256=057626d78e5ade840568ab0e171a1d1ae87348ab51bf9e35d1cdc074fc4e2edb
+
[ftp://ftp.debian.org/debian/pool/main/s/ssmtp/ssmtp_2.61.orig.tar.gz]
md5=957e6fff08625fe34f4fc33d0925bbc9
sha256=2151ad18cb73f9a254f796dde2b48be7318b45410b59fedbb258db5a41044fb5
+[ftp://ftp.nl.debian.org/debian/pool/main/s/ssmtp/ssmtp_2.61.orig.tar.gz]
+md5=957e6fff08625fe34f4fc33d0925bbc9
+sha256=2151ad18cb73f9a254f796dde2b48be7318b45410b59fedbb258db5a41044fb5
+
+[http://www.kegel.com/crosstool/crosstool-0.43/patches/binutils-2.16.1/stabs-tweak.patch]
+md5=404d3f5e5adfd757dd91e58bd66ed10e
+sha256=393d1f60ee4e3b4ce8138481e17da02ca2f23e06887a0650be2f5ecf85628844
+
[http://downloads.sourceforge.net/stalonetray/stalonetray-0.7.6.tar.bz2]
md5=eebb46182b64d75b89776bbfc867f470
sha256=35043df77437b66ade4a07b69f31aaa8c157ddc2833899eeb8a4794399a9e061
+[http://heanet.dl.sourceforge.net/stalonetray/stalonetray-0.7.6.tar.bz2]
+md5=eebb46182b64d75b89776bbfc867f470
+sha256=35043df77437b66ade4a07b69f31aaa8c157ddc2833899eeb8a4794399a9e061
+
[http://handhelds.org/~skyhusker/starling-0.1.tar.bz2]
md5=4762b45291ff5f71691f187ee87a449e
sha256=7a0002c9247b46ff61b44ecc800bec8b6239279475f9a359b35daf11e58c1406
@@ -14334,30 +18410,66 @@ sha256=262e2cb0e3f98891b3216df838a0257fb6675b0b98be8084bfd43843cfc234b4
md5=28335e15c83456a3db055a0a0efcb4fe
sha256=9de428477d4d3f383d58c2f16b2544da2a5ec0acc50ee90ecb81dfe38f56edb8
+[http://heanet.dl.sourceforge.net/strace/strace-4.5.11.tar.bz2]
+md5=28335e15c83456a3db055a0a0efcb4fe
+sha256=9de428477d4d3f383d58c2f16b2544da2a5ec0acc50ee90ecb81dfe38f56edb8
+
[http://downloads.sourceforge.net/strace/strace-4.5.12.tar.bz2]
md5=c9dc77b9bd7f144f317e8289e0f6d40b
sha256=d8d9d62f0ebab71fab62b5ba7eaddd8bb8df9b7f4988b4a8e0d0724662702acf
+[http://heanet.dl.sourceforge.net/strace/strace-4.5.12.tar.bz2]
+md5=c9dc77b9bd7f144f317e8289e0f6d40b
+sha256=d8d9d62f0ebab71fab62b5ba7eaddd8bb8df9b7f4988b4a8e0d0724662702acf
+
[http://downloads.sourceforge.net/strace/strace-4.5.14.tar.bz2]
md5=09bcd5d00ece28f8154dec11cadfce3c
sha256=a6808914cbfead2595dfd061a0f14dcbb0a8bb645e3cfdfa5c247d7ded9e0e7d
+[http://heanet.dl.sourceforge.net/strace/strace-4.5.14.tar.bz2]
+md5=09bcd5d00ece28f8154dec11cadfce3c
+sha256=a6808914cbfead2595dfd061a0f14dcbb0a8bb645e3cfdfa5c247d7ded9e0e7d
+
+[http://qa.debian.org/watch/sf.php/strace/strace-4.5.14.tar.bz2]
+md5=09bcd5d00ece28f8154dec11cadfce3c
+sha256=a6808914cbfead2595dfd061a0f14dcbb0a8bb645e3cfdfa5c247d7ded9e0e7d
+
[http://downloads.sourceforge.net/strace/strace-4.5.15.tar.bz2]
md5=ef40944118841803391d212cb64d3c5b
sha256=ba8c492c1b2033d4e2131f05df9e3780d4bc35bea87aa32a6052dd53a814e288
+[http://heanet.dl.sourceforge.net/strace/strace-4.5.15.tar.bz2]
+md5=ef40944118841803391d212cb64d3c5b
+sha256=ba8c492c1b2033d4e2131f05df9e3780d4bc35bea87aa32a6052dd53a814e288
+
[http://downloads.sourceforge.net/streamripper/streamripper-1.61.10.tar.gz]
md5=2d62a4546521980e1ed705a5094a6ec3
sha256=08ca63620c1c071f4b2d42c5f63f38cee920aa57cde151ac3cfcf344437e3f11
+[http://heanet.dl.sourceforge.net/streamripper/streamripper-1.61.10.tar.gz]
+md5=2d62a4546521980e1ed705a5094a6ec3
+sha256=08ca63620c1c071f4b2d42c5f63f38cee920aa57cde151ac3cfcf344437e3f11
+
[http://downloads.sourceforge.net/streamripper/streamripper-1.61.3.tar.gz]
md5=57cd09098917bda29f841d366649681c
sha256=1747aee9fa4cc09b49e0fb14baace3293f8f870c0de27fd3550cde21d99e9cd7
+[http://heanet.dl.sourceforge.net/streamripper/streamripper-1.61.3.tar.gz]
+md5=57cd09098917bda29f841d366649681c
+sha256=1747aee9fa4cc09b49e0fb14baace3293f8f870c0de27fd3550cde21d99e9cd7
+
[http://weather.ou.edu/~apw/projects/stress/stress-0.18.8.tar.gz]
md5=160d41166d98a1e88c3f95f556633b71
sha256=3f753cd91828808ecbdeffd1fe3125eccc6f71ecad7756115acc08b3e2c764dc
+[http://weather.ou.edu/~apw/projects/stress/stress-1.0.0.tar.gz]
+md5=d693ff044ac7d34f8aaea202cd96f679
+sha256=778126fdcc3ecb54d4a8dad6164001603bcc3b79ba64b3c2c5285275bc0cbedf
+
+[http://heanet.dl.sourceforge.net/strigi/strigi-0.5.10.tar.bz2]
+md5=cfaa2114ea27f2a00e6773c374e98ec4
+sha256=3851f803de3759490073c1d682d018592b010437b9ac2b85394eaddc63621faf
+
[http://www.stunnel.org/download/stunnel/src/stunnel-4.09.tar.gz]
md5=2077669b04c36e4c0baa68348e8860a7
sha256=56004db651fe180ed23882c555607c8f2723a3e99734d462fe644e531a574271
@@ -14366,6 +18478,10 @@ sha256=56004db651fe180ed23882c555607c8f2723a3e99734d462fe644e531a574271
md5=6042daa703d8bd34174b195843e7ffaa
sha256=4cc4cc703bcd4da0df25e7b87b082bd9d1c836868bc4641b3c960931582dc3d2
+[http://heanet.dl.sourceforge.net/subapplet/subapplet-1.0.8.tar.gz]
+md5=6042daa703d8bd34174b195843e7ffaa
+sha256=4cc4cc703bcd4da0df25e7b87b082bd9d1c836868bc4641b3c960931582dc3d2
+
[http://subversion.tigris.org/downloads/subversion-1.3.1.tar.bz2]
md5=07b95963968ae345541ca99d0e7bf082
sha256=4f10334d72266815ff427eb25e0e574efcc684dcf01e0229b7d02f63b068d39d
@@ -14378,6 +18494,10 @@ sha256=6960ed42174be9c54853e8708cc91a7c8355b23c4c3921a6d7fe7947d50843e4
md5=de0e792c9804c7bce397d267af5eb30d
sha256=8260a2d3a67c5cebc100e7662f81679582c0f05a2a28260e235bdf051e72aee3
+[http://subversion.tigris.org/downloads/subversion-1.4.5.tar.bz2]
+md5=4c333a5fe827568c67d195cda7a5e154
+sha256=763b8c9c16c03adc3ad00ccf1b5b47a08b5ffe94e499d3c87bb02acbc1026b53
+
[http://ftp.sudo.ws/sudo/dist/sudo-1.6.8p12.tar.gz]
md5=b29893c06192df6230dd5f340f3badf5
sha256=56f7d86032538a4a98d90af3742903a09ba16d6db82b593e4a47605f87fa581a
@@ -14386,10 +18506,18 @@ sha256=56f7d86032538a4a98d90af3742903a09ba16d6db82b593e4a47605f87fa581a
md5=1f26fa4aee57469a0636a70649343fb3
sha256=ca4c614e09371a986ca5d86065fc697f7eb07b2064a6a2cad541755df0135883
+[http://dev.laptop.org/pub/sugar/sources/sugar-artwork/sugar-artwork-0.82.0.tar.bz2]
+md5=3d271bf9f0d412afb9a5618ba5496fb8
+sha256=dbe36fa758a49dd8526885e2025b51d6e1e6e32458168e420c955b633ee3b100
+
[http://dev.laptop.org/pub/sugar/sources/sugar-base/sugar-base-0.82.0.tar.bz2]
md5=5c568166761af4839cbc78db5dcd0061
sha256=124db55b59cdf5731096276e30d07b3537bc217ae63607f1394c2bb118cfe694
+[http://dev.laptop.org/pub/sugar/sources/sugar-datastore/sugar-datastore-0.82.0.tar.bz2]
+md5=7a6bbb387c1f7cd3ddd6663869df3b88
+sha256=3fc7ed937865773089d146f0fce72ee556f0655c612ae840a08dbd1a13d92d39
+
[http://dev.laptop.org/pub/sugar/sources/sugar-presence-service/sugar-presence-service-0.82.1.tar.bz2]
md5=361bf10937908a638442b562ebb26d0b
sha256=6aceb2140c44ada61c9deba9215a12b9a1025fabecc07907edfdcf0ba8ca341b
@@ -14406,6 +18534,14 @@ sha256=ab958a3cc04858ab72f3fe2844362f249897c3bb2149208be22da2ce5d46c9c0
md5=7c10acf574f09ae5cb9eb2a4b9bf93ff
sha256=8f2275d9667909d3418213522d5d4ef3312c158190429062f79da6b982b9ce6b
+[http://heanet.dl.sourceforge.net/super-tux/supertux-0.1.2.tar.bz2]
+md5=7c10acf574f09ae5cb9eb2a4b9bf93ff
+sha256=8f2275d9667909d3418213522d5d4ef3312c158190429062f79da6b982b9ce6b
+
+[http://heanet.dl.sourceforge.net/super-tux/supertux-0.1.3.tar.bz2]
+md5=f2fc288459f33d5cd8f645fbca737a63
+sha256=0092588351776626955339caaa62d12ce5954bb80c5f6952f60a122f53c2ad97
+
[http://swfdec.freedesktop.org/download/swfdec/0.4/swfdec-0.4.0.tar.gz]
md5=157d31c9dc02aa22b5f27323e5a203fc
sha256=c31d3bbee984c7971d2b24cddc279d8ad65edff8216778d617484c147ba3ae3d
@@ -14434,6 +18570,14 @@ sha256=68b1b032cdc6297f068ef8c3c09abdd46a08512e17705d477cc0bf7b80a550e8
md5=4a0bae63e3713e89b26db7209b6a7e05
sha256=c2ad63095e34b4a474e7ff4adb6ea8b7ab238bb5738d00a739102bb8bb71d805
+[http://heanet.dl.sourceforge.net/swig/swig-1.3.31.tar.gz]
+md5=4a0bae63e3713e89b26db7209b6a7e05
+sha256=c2ad63095e34b4a474e7ff4adb6ea8b7ab238bb5738d00a739102bb8bb71d805
+
+[http://crosswire.org/ftpmirror/pub/sword/source/v1.5/sword-1.5.10.tar.gz]
+md5=4c920f2a3ee72040df8a8e105ad840df
+sha256=5fb3f030e9395e23a48c02bde6bc81ad42b1c4056a011d9ee15c4c85110eb847
+
[http://www.crosswire.org/ftpmirror/pub/sword/source/v1.5/sword-1.5.10.tar.gz]
md5=4c920f2a3ee72040df8a8e105ad840df
sha256=5fb3f030e9395e23a48c02bde6bc81ad42b1c4056a011d9ee15c4c85110eb847
@@ -14466,6 +18610,10 @@ sha256=c913105c740fe9cbbf7ab49f663acf5640b812995c2f9c716294f6b44a3185c4
md5=45e9e89775613b0afb732fbc11c73d26
sha256=72a6ab7c8a0baf0d1d432929c19a7d096335ba4adc43e40488b6a77e5995a0f5
+[http://www.logarithmic.net/pfh-files/synaesthesia/synaesthesia-2.4.tar.gz]
+md5=784105cbeed3ab209231675f0e029497
+sha256=48505975e809ebadf416dc3e35a528ef87f01b117f2f1c5498d728ead8786493
+
[http://hem.bredband.net/miko22/syncml-client-0.1.tar.gz]
md5=a3a6ebd4d64a4de4234f6d8a7f7f61d5
sha256=d5b4d8a69bf72abcea74a3d02d9bed470abff0d5252c601b73ce8fe933822aea
@@ -14474,26 +18622,54 @@ sha256=d5b4d8a69bf72abcea74a3d02d9bed470abff0d5252c601b73ce8fe933822aea
md5=da9effc847d13f9725b6db043d8283a5
sha256=567a50863c04dc9ccf5def3c62bb9f0494e995357620603dd00bbe035ca7500e
+[http://heanet.dl.sourceforge.net/synergy2/synergy-1.2.7.tar.gz]
+md5=da9effc847d13f9725b6db043d8283a5
+sha256=567a50863c04dc9ccf5def3c62bb9f0494e995357620603dd00bbe035ca7500e
+
[http://downloads.sourceforge.net/synergy2/synergy-1.3.1.tar.gz]
md5=a6e09d6b71cb217f23069980060abf27
sha256=4a15e26456498dda5f3aa7d688a4892e0c50394a2f01685136fbc954bacc9691
+[http://heanet.dl.sourceforge.net/synergy2/synergy-1.3.1.tar.gz]
+md5=a6e09d6b71cb217f23069980060abf27
+sha256=4a15e26456498dda5f3aa7d688a4892e0c50394a2f01685136fbc954bacc9691
+
[http://downloads.sourceforge.net/linux-diag/sysfsutils-1.3.0.tar.gz]
md5=d11c99271531be3c1e6d36b53968cd2b
sha256=03e3dc79fd7b36266372de0d331d792c04d185e57495c6fb1d46a0ea0ed0b04d
+[http://heanet.dl.sourceforge.net/linux-diag/sysfsutils-1.3.0.tar.gz]
+md5=d11c99271531be3c1e6d36b53968cd2b
+sha256=03e3dc79fd7b36266372de0d331d792c04d185e57495c6fb1d46a0ea0ed0b04d
+
[http://downloads.sourceforge.net/linux-diag/sysfsutils-2.0.0.tar.gz]
md5=b7857c045ef3b4810c9b8be965c05fb9
sha256=d162ddc4f4a29c770549cb135da179e205480c065739dbe6c3c1bed6d84a3060
+[http://heanet.dl.sourceforge.net/linux-diag/sysfsutils-2.0.0.tar.gz]
+md5=b7857c045ef3b4810c9b8be965c05fb9
+sha256=d162ddc4f4a29c770549cb135da179e205480c065739dbe6c3c1bed6d84a3060
+
[http://downloads.sourceforge.net/linux-diag/sysfsutils-2.1.0.tar.gz]
md5=14e7dcd0436d2f49aa403f67e1ef7ddc
sha256=e865de2c1f559fff0d3fc936e660c0efaf7afe662064f2fb97ccad1ec28d208a
+[http://heanet.dl.sourceforge.net/linux-diag/sysfsutils-2.1.0.tar.gz]
+md5=14e7dcd0436d2f49aa403f67e1ef7ddc
+sha256=e865de2c1f559fff0d3fc936e660c0efaf7afe662064f2fb97ccad1ec28d208a
+
+[http://qa.debian.org/watch/sf.php/linux-diag/sysfsutils-2.1.0.tar.gz]
+md5=14e7dcd0436d2f49aa403f67e1ef7ddc
+sha256=e865de2c1f559fff0d3fc936e660c0efaf7afe662064f2fb97ccad1ec28d208a
+
[http://www.ibiblio.org/pub/Linux/system/daemons/sysklogd-1.4.1.tar.gz]
md5=d214aa40beabf7bdb0c9b3c64432c774
sha256=44357e0fae8c8f0e315bf130b4e86a4f96b91d66eeb4e473def4ce8336fff102
+[http://www.ibiblio.org/pub/Linux/system/daemons/sysklogd-1.5.tar.gz]
+md5=e053094e8103165f98ddafe828f6ae4b
+sha256=6169b8e91d29288e90404f01462b69e7f2afb1161aa419826fe4736c7f9eb773
+
[http://kernel.org/pub/linux/utils/boot/syslinux/Old/syslinux-2.11.tar.bz2]
md5=38a30cc790265f19f80330330ffaa527
sha256=cdc785cb2356a7147e988e6b572d378c3762cf701c85e4c91a634545e6b9aff4
@@ -14510,6 +18686,10 @@ sha256=57c4ca6e7836460297edcc45148373ec131157b29c184ee011b29ec491e010f0
md5=d1bfdaa53d31f572f540be55d1480027
sha256=c087b112da0afd1c50ba8a8a2727c4cabfb1e5a57f43701c5abdc05865072649
+[http://kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.63.tar.bz2]
+md5=ee6b84cc7b598b4e1a00a4a8c6676d4e
+sha256=d4d17102e014d3183a11719896061dc464c3d9a836caaf47b3b57da4ac23b52d
+
[http://www.balabit.com/downloads/syslog-ng/1.6/src/syslog-ng-1.6.11.tar.gz]
md5=8f9ca6140f428dc9adec9fa1c270a2dd
sha256=dd37f1e280bd6c2d66c9a15aa3ee9e209a1b649e3b79e70fee58aea1cb0ea093
@@ -14538,6 +18718,10 @@ sha256=035f98fae17d9cff002993c564ccc83dc4ed136127172caeff872b6abdb679d8
md5=cc5d4130b25bb8a1c930488b78930e9b
sha256=34ff6a85d1dae64d06b5aca04fb17822dd26a734f40cd966e3dd980afa4a037a
+[ftp://ftp.nl.debian.org/debian/pool/main/t/t1lib/t1lib_5.0.2.orig.tar.gz]
+md5=cc5d4130b25bb8a1c930488b78930e9b
+sha256=34ff6a85d1dae64d06b5aca04fb17822dd26a734f40cd966e3dd980afa4a037a
+
[http://repository.maemo.org/pool/maemo4.1/free/t/tablet-browser-interface/tablet-browser-interface_0.0.5-1.tar.gz]
md5=930b83fa92154a2abb3d711b9e3af87a
sha256=199fcaa5bc5b0b56537d43c522a9f0d839e61d7ffc58438da56574f642159519
@@ -14562,14 +18746,26 @@ sha256=d2a107e3a5ceaeeb15ab2e3d7cd308653b4ded8aaf8d3c0e0be3b64ba4e17cfc
md5=e88c400394c092c2688bb2d490c80ccb
sha256=fb89ac4e8578adc140e19cb4929b200d2898e5a8373230f500c16e59c803cba1
+[http://heanet.dl.sourceforge.net/tapioca-voip/tapioca-0.3.9.tar.gz]
+md5=e88c400394c092c2688bb2d490c80ccb
+sha256=fb89ac4e8578adc140e19cb4929b200d2898e5a8373230f500c16e59c803cba1
+
[http://downloads.sourceforge.net/tapioca-voip/tapioca-xmpp-0.3.9.tar.gz]
md5=8d810351eb5b30e70b202e067da450c1
sha256=51dd2ecda515e5872971cf80216915492686f5a5c9745e12ba1b3c5aec826fce
+[http://heanet.dl.sourceforge.net/tapioca-voip/tapioca-xmpp-0.3.9.tar.gz]
+md5=8d810351eb5b30e70b202e067da450c1
+sha256=51dd2ecda515e5872971cf80216915492686f5a5c9745e12ba1b3c5aec826fce
+
[http://downloads.sourceforge.net/tapioca-voip/tapiocaui-0.3.9.1.tar.gz]
md5=2b0fc6997e793784763fe23c81a4986f
sha256=d83dca75ba6088c90b993de9d30b4b0d3189e5efa84151c16d55ef0ec072c38a
+[http://heanet.dl.sourceforge.net/tapioca-voip/tapiocaui-0.3.9.1.tar.gz]
+md5=2b0fc6997e793784763fe23c81a4986f
+sha256=d83dca75ba6088c90b993de9d30b4b0d3189e5efa84151c16d55ef0ec072c38a
+
[ftp://alpha.gnu.org/gnu/tar/tar-1.13.93.tar.gz]
md5=71bfeab35c9935631fc133f9d272b041
sha256=0ef70273b6a54357c7823ed1f11015523f5cc5fe16df097e0b5300ae725c44e1
@@ -14586,6 +18782,10 @@ sha256=be8bf33afb5adc2377e45d94693ffd46b75f267f9b808df0c7006e51211f9deb
md5=dc62a061d83cf72d1eca7e8ae2c8e1a6
sha256=4078c44beebfd298995983b9e2ea189167a1ab081d96a7c485a67b65a974e878
+[http://heanet.dl.sourceforge.net/subapplet/tasklist-105.tar.gz]
+md5=dc62a061d83cf72d1eca7e8ae2c8e1a6
+sha256=4078c44beebfd298995983b9e2ea189167a1ab081d96a7c485a67b65a974e878
+
[http://pimlico-project.org/sources/tasks/tasks-0.12.tar.gz]
md5=a2926370099899e578082702328e55ee
sha256=f9b99636f86c2747f84fa918b949152491ee92594a7f1e83418589e83f8d1e4a
@@ -14602,6 +18802,10 @@ sha256=65083a94bce9e539c4d9141b4e765415872e01bf17ec4be906d2e304aa8c3e7f
md5=629dfea34e4087eb4683f834060abb63
sha256=8dcfa54b58a6aaf4853fc27752c25d6c2592c485952b2fad25a9bea4b52bed33
+[http://heanet.dl.sourceforge.net/tcl/tcl8.4.11-src.tar.gz]
+md5=629dfea34e4087eb4683f834060abb63
+sha256=8dcfa54b58a6aaf4853fc27752c25d6c2592c485952b2fad25a9bea4b52bed33
+
[ftp://ftp.porcupine.org/pub/security/tcp_wrappers_7.6.tar.gz]
md5=e6fa25f71226d090f34de3f6b122fb5a
sha256=9543d7adedf78a6de0b221ccbbd1952e08b5138717f4ade814039bb489a4315d
@@ -14618,6 +18822,10 @@ sha256=09f1daece22a3555f1ca1f9779caf36357cc8d5b9ad1964606093c7e884e0da4
md5=77b991a686e83cb716fd241aaa6ea432
sha256=db19142fd2ca6218ead04fb3144b1640e2ad5a1c784a4e790c8816a37a79ac2e
+[http://heanet.dl.sourceforge.net/tcpick/tcpick-0.1.22.tar.gz]
+md5=77b991a686e83cb716fd241aaa6ea432
+sha256=db19142fd2ca6218ead04fb3144b1640e2ad5a1c784a4e790c8816a37a79ac2e
+
[http://michael.toren.net/code/tcptraceroute/tcptraceroute-1.5beta6.tar.gz]
md5=0200707ad81b88c31439820ae9bc5102
sha256=08ce9b24ab7b6ad45ac7f668eccfb7007ef182406f7db0b7e455decfb0b49bec
@@ -14626,6 +18834,10 @@ sha256=08ce9b24ab7b6ad45ac7f668eccfb7007ef182406f7db0b7e455decfb0b49bec
md5=f27e025d9e69f36a7d8b679c047daba1
sha256=2bfbdd6df159c815b392cd99146df5a450c1a8ffab30a13fd34bced8ee33cda0
+[http://heanet.dl.sourceforge.net/tea-editor/tea-17.3.5.tar.bz2]
+md5=c28db354576aaec2152970b06d534640
+sha256=a7147079740acef2df0d2caab164062b12806d988216aa03667198d1100f5eb2
+
[http://telepathy.freedesktop.org/releases/telepathy-gabble/telepathy-gabble-0.3.0.tar.gz]
md5=12a4508e338a39c63c24c41261eba3dd
sha256=b4fcd32237271e400b00e779116e8203eac5efdaf53c78b9909b85a158fd81d8
@@ -14650,6 +18862,10 @@ sha256=820af6a106ee3c2ee019ed5a1d9c6a751020a3d1fdeee84316faf8eff467a721
md5=18b6cae979e438628a1032ff1f12b38e
sha256=f779fbfd30ddc80e15c39f42fc9877725e829dfa19101c3762d6ae809760a3a9
+[http://telepathy.freedesktop.org/releases/telepathy-glib/telepathy-glib-0.6.0.tar.gz]
+md5=dd32a28c5ca484f950302a04e04d43a7
+sha256=51a82f05d0a323b294b7525aefb68d0611d5bd87739e206340f092d76ceed9fe
+
[http://telepathy.freedesktop.org/releases/telepathy-glib/telepathy-glib-0.7.0.tar.gz]
md5=b4cb035a6e235be3179364341843e929
sha256=e5cffebb02ad5c8192c7bd98aae90e65b008b03150b613659efa641d5f96c141
@@ -14666,10 +18882,26 @@ sha256=49dca0428d69f43c856800967b2def8c890cd322fbdd0aa47c227aec5820a690
md5=21bfda9e1fa12e25b4173deb9ffd0b5d
sha256=3ed0cb5dd687e4d9fa838a318f9ef12a8c221894ff188687c27625f0ac3bce82
+[http://heanet.dl.sourceforge.net/tapioca-voip/telepathy-inspector-0.5.0.tar.gz]
+md5=7fe5810c15edacb0d9c5590d3767f8f0
+sha256=16ff39f1d80e6898d0c58e634211254833e6067bd55bc3b4eefabf53cbe6844d
+
+[http://heanet.dl.sourceforge.net/mission-control/telepathy-mission-control-4.21.tar.gz]
+md5=2ad61079a79b0426c81593ad69f56ada
+sha256=0b98c93fc64409aae43d8f2941784f8f11639ad68b67320417554fa471a86508
+
+[http://heanet.dl.sourceforge.net/mission-control/telepathy-mission-control-4.22.tar.gz]
+md5=aa8a8264c596c666f886f85356b56e09
+sha256=a36371f8f9d86cb767e4ea84ed378d6546750843d4b1c0d57f7e53153e8da51b
+
[http://downloads.sourceforge.net/mission-control/telepathy-mission-control-4.31.tar.gz]
md5=75c59f2c0f990326fc1b66c0bc762c43
sha256=926a8c047bd43a1fc21539c2ec5b9bf00426083ffe18c2db8c44964b80286b6a
+[http://heanet.dl.sourceforge.net/mission-control/telepathy-mission-control-4.45.tar.gz]
+md5=b7810e1a53579bc496796538aefcc014
+sha256=cb5565a66fb233d7c0b9418bcef53fe330c8a5a0f904a9a04de087ad0b4d0be9
+
[http://downloads.sourceforge.net/mission-control/telepathy-mission-control-4.49.tar.gz]
md5=463234dcf1182ba71a0d39f594922488
sha256=c7cbaa8edec5c9be78aa954938c64b57e6c2c0f13de260c88fefdbf849e94d4d
@@ -14682,6 +18914,14 @@ sha256=76009d233a69b2d12c2aff94770dfe9fc0558e07071f941b738bab357f8fb7b9
md5=0a547e7af4a33355bac3638dd2e40859
sha256=326b82519a49a238a476c028097bde5820c4b58af500dbb5b715cdfd6fe0bfcd
+[http://heanet.dl.sourceforge.net/mission-control/telepathy-mission-control-4.67.tar.gz]
+md5=0a547e7af4a33355bac3638dd2e40859
+sha256=326b82519a49a238a476c028097bde5820c4b58af500dbb5b715cdfd6fe0bfcd
+
+[http://telepathy.freedesktop.org/releases/telepathy-python/telepathy-python-0.14.0.tar.gz]
+md5=a42cc4defcaf46099e07972ece791c2d
+sha256=3065fae35064c22380963a0d29a04bedb86c05e51d3af84c73f3da8f2107cb2d
+
[http://telepathy.freedesktop.org/releases/telepathy-python/telepathy-python-0.15.1.tar.gz]
md5=b3e9bd31393c4cebbd8077b62b2bcd8c
sha256=02a5c752201e016905c75503217af5a25eebe3f6a4e02a75173ed34021401296
@@ -14714,6 +18954,10 @@ sha256=c4fa04257fea6e968d4caa28cc18dbbf9eea4769a463296eaca21ceea757a728
md5=e3bc57773a60134ef37e9f06fe541108
sha256=6fc9e28a574bf22028249e9a12e033c8bee0aeccbf90621238a6f538e60e7d60
+[http://heanet.dl.sourceforge.net/tesseract-ocr/tesseract-1.0.tar.gz]
+md5=e3bc57773a60134ef37e9f06fe541108
+sha256=6fc9e28a574bf22028249e9a12e033c8bee0aeccbf90621238a6f538e60e7d60
+
[http://www.cgsecurity.org/testdisk-6.6-WIP.tar.bz2]
md5=3cc59a7e425c49dbdf76b54d85b55619
sha256=2b472be7105eaa88e0c9cca241225c56fdcb80d34dec60ef1d865b0877be771c
@@ -14770,6 +19014,14 @@ sha256=16d746a7bf057a9147756e15fdd7ce76a63ddde122294ce188dc8332da5118ba
md5=80b904d4a10fccee9045d0feeaa65df8
sha256=56062708bb547425f8e8f0f9c571d4fa06fcc89a11146a5b15c608fd8debdb80
+[http://heanet.dl.sourceforge.net/vnc-tight/tightvnc-1.3.9_unixsrc.tar.gz]
+md5=80b904d4a10fccee9045d0feeaa65df8
+sha256=56062708bb547425f8e8f0f9c571d4fa06fcc89a11146a5b15c608fd8debdb80
+
+[http://qa.debian.org/watch/sf.php/vnc-tight/tightvnc-1.3.9_unixsrc.tar.gz]
+md5=80b904d4a10fccee9045d0feeaa65df8
+sha256=56062708bb547425f8e8f0f9c571d4fa06fcc89a11146a5b15c608fd8debdb80
+
[http://downloads.sourceforge.net/vnc-tight/tightvnc-1.3dev7_unixsrc.tar.gz]
md5=030903eeafc3c20ef1fb1610bfe6311d
sha256=390fdd05d86e091300248a4f74a0ffe7b4169f75aa2c1a5461c997a4c2ed2c10
@@ -14806,10 +19058,18 @@ sha256=7e45b6f6824b1342e598dee162368ed8d1c9c1bcee96d8e1eda9a4c63c599f08
md5=408e34fe8a1cec497f98f05bbe89b348
sha256=8475bb2ff42f5f162de6825c8c700fd61bae7b629de3e0aaf95cb54a224220ba
+[http://heanet.dl.sourceforge.net/tcl/tk8.4.11-src.tar.gz]
+md5=408e34fe8a1cec497f98f05bbe89b348
+sha256=8475bb2ff42f5f162de6825c8c700fd61bae7b629de3e0aaf95cb54a224220ba
+
[http://trevp.net/tlslite/tlslite-0.3.0.tar.gz]
md5=2d5f7efafa5d04598b21f1889e981207
sha256=bbc3bdbdefc81f7b186f1c5697f6939b5fc77d4569112edd1a6b3aceae177228
+[http://trevp.net/tlslite/tlslite-0.3.8.tar.gz]
+md5=5e1c19500e30fc7580939c18b435f937
+sha256=3d79170d8c3a662fa717b6401e8004208df113aaf3b18689bbeb704a23bf5b9f
+
[ftp://ftp.trolltech.com/pub/freebies/tmake/tmake-1.11.tar.gz]
md5=b007a86a83483ff9bd6795f45780ddce
sha256=6d828029e276f42fee507f58ed0bd6890ef75f0e54f45f2b1129a2426c817c61
@@ -14834,10 +19094,18 @@ sha256=d158e56c43c978b6b2e5d3eed176357c6252ec5ec2ecd26c457fa9ae55fefc55
md5=9769f74c54b97b6fe53872e64137144f
sha256=66adcad8c8ce58c8fb01dbe8cff9ad39855a4d548ddc9405e70198671dae813e
+[http://tinymail.org/files/tmut/releases/v1.1/v1.1.0/tmut-1.1.0.tar.bz2]
+md5=6178256c82efcd02b5d50f2289c13d9b
+sha256=ac5dcd76faf25e0c40e91a4bcfea7f6f1bec33d361ad89a6e2f6fc63fa26590e
+
[http://downloads.sourceforge.net/tn5250/tn5250-0.16.5.tar.gz]
md5=2f9ef4509198e96bb184577fdddfce6d
sha256=794687ae1b34aba9a3cf6f9b118d0ba91b8f83858fe92a9ded0611225db3ca0e
+[http://heanet.dl.sourceforge.net/tn5250/tn5250-0.16.5.tar.gz]
+md5=2f9ef4509198e96bb184577fdddfce6d
+sha256=794687ae1b34aba9a3cf6f9b118d0ba91b8f83858fe92a9ded0611225db3ca0e
+
[http://keihanna.dl.sourceforge.jp/tomoe/16048/tomoe-0.2.1.tar.gz]
md5=95eca127a1d519ff4e836b3d00d7fa84
sha256=3942e0ff0a3b945d0464b69fcc01092a582f2c4e173bd8877572706e584e0e9e
@@ -14898,14 +19166,26 @@ sha256=5730611c42f8a8540343faa9512d9161073d2f882668c80dd0cf6a34c72daa75
md5=fa658ae2f20458d3c5d3effba3b2dd7e
sha256=3193c3446d211db2bd3c169c86f6d433666669336bd589a20c87f1483295cf2a
+[http://www.gnome.org/~jamiemcc/tracker/tracker-0.5.4.tar.gz]
+md5=724208e1b2d235148499672b44181298
+sha256=ad214a2692041f423d2150777c233b21cab2d108f849edc513192587ac63c9c2
+
[http://downloads.sourceforge.net/transconnect/transconnect-1.2.tar.gz]
md5=c255ff48387ea6a7092707ba992237e7
sha256=47d6cc44f78fc6d4cdb1dfee02fe6e0f4d8aae0ce2e3e92567667f0475736617
+[http://heanet.dl.sourceforge.net/transconnect/transconnect-1.2.tar.gz]
+md5=c255ff48387ea6a7092707ba992237e7
+sha256=47d6cc44f78fc6d4cdb1dfee02fe6e0f4d8aae0ce2e3e92567667f0475736617
+
[http://downloads.sourceforge.net/transconnect/transconnect-1.3-Beta.tar.gz]
md5=50f75731e610fce00803cc7d98b301fd
sha256=404df2c479517020290be9847191523c1fcbd3e929e8bb1191a7832209d04af8
+[http://heanet.dl.sourceforge.net/transconnect/transconnect-1.3-Beta.tar.gz]
+md5=50f75731e610fce00803cc7d98b301fd
+sha256=404df2c479517020290be9847191523c1fcbd3e929e8bb1191a7832209d04af8
+
[http://xorg.freedesktop.org/releases/individual/proto/trapproto-3.4.3.tar.bz2]
md5=3b713239e5e6b269b31cb665563358df
sha256=ff32a0d3bc696cadc3457be9c85e9818af2b6daa2f159188bb01aad7e932a0e1
@@ -14974,6 +19254,10 @@ sha256=db5b27df7bbb318036ebdb75acd3e98f1bd6eb6608fb70a67d478cd243d178dc
md5=4c3e6ae586be277537ebb68f2a45b883
sha256=4746c04c9a4ad9e0788a38e0a2f81919a630d8070ceabc89f156b6d41d8ceb37
+[ftp://ftp.nl.debian.org/debian/pool/main/t/ttf-gentium/ttf-gentium_1.02.orig.tar.gz]
+md5=4c3e6ae586be277537ebb68f2a45b883
+sha256=4746c04c9a4ad9e0788a38e0a2f81919a630d8070ceabc89f156b6d41d8ceb37
+
[http://www.bedroomlan.org/~alexios/files/SOFTWARE/ttyconv/ttyconv_0.2.3.tar.gz]
md5=7997ba54401a7685290a6666b9d28585
sha256=d91b4addcbb241b04b6cf795447163ed890a436b10205d2cd9cc1885ea3d9433
@@ -14994,6 +19278,10 @@ sha256=67c4b7677469040b4fc37c084bc4f1ef4c365477e79862c3dc7c256c9f9257c2
md5=a56b71dc40249195b32b304633c28a3e
sha256=5b41550477a893bf2b82ab73fc7fb6c839ba52d0deac059be1a473dd7bb92a4e
+[http://xorg.freedesktop.org/releases/individual/app/twm-1.0.4.tar.bz2]
+md5=0865e14c73c08fa8c501ae877298ee9f
+sha256=daa088f9ae231508929b7bd4746e942212b53f2802ca4cee450139fabc8de1fa
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/twm-X11R7.0-1.0.1.tar.bz2]
md5=cd525ca3ac5e29d21a61deebc1e0c376
sha256=2ce51682b63d1f3f3c566bddf84f74105634247d7b4ef559dd3f0199c9e6d41e
@@ -15046,6 +19334,10 @@ sha256=633d76612d73a7add41a3b90fe5721ea5f4282d52bd8408b9d4fab261443aa6c
md5=8b766bb807c1f7c0c02ff798ea5db80e
sha256=b4c6367ab85de8f148c903bb25dc69de7a7d7d05f204f58880a16a8b81bf93de
+[ftp://ftp.denx.de/pub/u-boot/u-boot-1.1.2.tar.bz2]
+md5=f10b6954498bab5d08d0f50de381af50
+sha256=4f32cfd01f0678080f8e98009ba99ce37f1261d842e3af9a6b3add22005a80ca
+
[http://downloads.sourceforge.net/u-boot/u-boot-1.1.2.tar.bz2]
md5=f10b6954498bab5d08d0f50de381af50
sha256=4f32cfd01f0678080f8e98009ba99ce37f1261d842e3af9a6b3add22005a80ca
@@ -15070,10 +19362,22 @@ sha256=62192ddf019c5d24f6538b33c9e69b6e5792bf5b0f464c0149061e2f0871108b
md5=17aeee76ca4c07887bbfea8a52d40884
sha256=62192ddf019c5d24f6538b33c9e69b6e5792bf5b0f464c0149061e2f0871108b
+[ftp://ftp.denx.de/pub/u-boot/u-boot-1.3.0.tar.bz2]
+md5=2298f6d6d5c52d42a90c44774ed07751
+sha256=a55d6d46120ea7625a9d2fe594f677690e7dc9e9b3151a6af0ebe25978458608
+
+[ftp://ftp.denx.de/pub/u-boot/u-boot-1.3.1.tar.bz2]
+md5=8fbd29c7e70c524a42d18b9c3f3a4aa1
+sha256=64811b4ab4ca362b01a3d08f53a2dbbf059e18484b90cb5e21c0365d53b87f77
+
[ftp://ftp.denx.de/pub/u-boot/u-boot-1.3.2.tar.bz2]
md5=78b1c2722d3907b5fae2cd219dbaf927
sha256=8ab07cd758a1775642629e624f70e376fa8e84a2f879dee4544158d9c90cde2a
+[http://linux.omap.com/pub/bootloader/2430sdp/source/u-boot-SEP1106.tar.gz]
+md5=49c07dec9e1be69fd01d46f47ec03731
+sha256=a090786113b02647413ebc15888af269f2e6d50f73cbb94b0619cc1702911dae
+
[http://www.reitwiessner.de/programs/u2nl-1.3.tar.gz]
md5=d97a16d8b2231501ba418b5f1ffe018a
sha256=7e1d8239a5bd43c50f6091b484acbc8a7c5886cd4523f1e369504266cbaca50d
@@ -15154,6 +19458,10 @@ sha256=da0ca1e821e3fa7cfbe73ddb1480b921002ee992f5e5fbc611422c103b907443
md5=b2c104938c1c3eb47e7605432bbd3157
sha256=c750c8180057385eaa0844f1148d6f0223b986da322773195eab44b33b97c19f
+[http://heanet.dl.sourceforge.net/ufraw/ufraw-0.12.tar.gz]
+md5=b2c104938c1c3eb47e7605432bbd3157
+sha256=c750c8180057385eaa0844f1148d6f0223b986da322773195eab44b33b97c19f
+
[http://uim.freedesktop.org/releases/uim/stable/uim-1.3.1.tar.bz2]
md5=2832e23d4778bbacbfa4b49bf642d667
sha256=ed2cfa15018a4fd2557e875f66fcb3f0b9dabe12fa0700aa2f11cca69c2cb256
@@ -15166,6 +19474,10 @@ sha256=e35fcb9b14e7621dc32975872a5147137ff12cc71e16993702a49268d59c079c
md5=4ba5657f3f7d71a818f3e6259b5d4fde
sha256=e5b7b7c4b61f7b0affa5e3987e0127c695d2e512f39df68b97479b50cc39ed78
+[http://upir.cz/maemo/dists/chinook/main/source/ukeyboard_1.2.tar.gz]
+md5=cf291d487250e3e9c1cc34389ce49297
+sha256=1f54d52abc5a53db45bc063948375b947af2c031ee1b810686027f7694deb474
+
[http://upir.cz/maemo/dists/chinook/main/source/ukeyboard_1.6.tar.gz]
md5=78b8ab318d725b07c3c08c390290a556
sha256=0ecaf4e174c5b8eb3c1225cc60917404e14ad613f57fd2ca290d31548f089bcf
@@ -15174,14 +19486,26 @@ sha256=0ecaf4e174c5b8eb3c1225cc60917404e14ad613f57fd2ca290d31548f089bcf
md5=cea56d3a1a7e4f1a4d12697330c4526b
sha256=00f40bf3c8e4ed3ca169ec54352fc7499d443e443d91b7460997ddca5448905e
+[http://heanet.dl.sourceforge.net/ulxmlrpcpp/ulxmlrpcpp-1.7.3-src.tar.bz2]
+md5=7c5d849d8d1cd9ccfb4b90350145d503
+sha256=0d568ff00cd45f73f3634723f8cb453f8bc952760cad3829bcbca88378a2ed83
+
[http://www.unicap-imaging.org/downloads/unicap-0.9.3.tar.gz]
md5=69db7c7dacb58c303d44f3b6598653ee
sha256=bf619a4675aa4b7cec9c3a664e1fcd9d869facf393e4e9e51e52490db98d6585
+[ftp://ftp.fsl.cs.sunysb.edu/pub/unionfs/OLD/unionfs-1.x/unionfs-1.0.11.tar.gz]
+md5=494651fe0cf724c093b4be80e35e857f
+sha256=f1df81423a65590ffd20df43f5cd0be14cf6746437eb40c2c924f5f58a6e18a7
+
[ftp://ftp.fsl.cs.sunysb.edu/pub/unionfs/unionfs-1.0.11.tar.gz]
md5=494651fe0cf724c093b4be80e35e857f
sha256=f1df81423a65590ffd20df43f5cd0be14cf6746437eb40c2c924f5f58a6e18a7
+[ftp://ftp.fsl.cs.sunysb.edu/pub/unionfs/OLD/unionfs-1.x/unionfs-1.0.13.tar.gz]
+md5=1dca48ff260dacf890b8040a3cea55b3
+sha256=61b03ce855734b1a1b4b180856095876d562c22e359ba847a2544c488c7254b4
+
[ftp://ftp.fsl.cs.sunysb.edu/pub/unionfs/unionfs-1.0.13.tar.gz]
md5=1dca48ff260dacf890b8040a3cea55b3
sha256=61b03ce855734b1a1b4b180856095876d562c22e359ba847a2544c488c7254b4
@@ -15210,18 +19534,34 @@ sha256=145d95e2ef1ef9add2e3c97d1340907e33ab8749eb1235372e7f0b7af600a8e9
md5=e135bc8a390b65573bbc8ff4628e490c
sha256=24859c992fb58f0bf4840e1378da91b942c73263b0213096e6755436af8d16bc
+[http://upstart.ubuntu.com/download/0.3/upstart-0.3.8.tar.bz2]
+md5=5cdd2dc3a3f02089c9450edf4e8f4941
+sha256=9a2a37455ad4e9dd2856b5a0f15adb1a3f84439f60d0f63b041584a2666e9835
+
[http://downloads.sourceforge.net/sc2/uqm-0.3-source.tgz]
md5=6abcdc3caf7efd3bd978332743ee7568
sha256=e42ac3b45c1c8a3199bbd9b666e9225d76bc18d902339c54cbb4df3a75909e53
+[http://heanet.dl.sourceforge.net/sc2/uqm-0.3-source.tgz]
+md5=6abcdc3caf7efd3bd978332743ee7568
+sha256=e42ac3b45c1c8a3199bbd9b666e9225d76bc18d902339c54cbb4df3a75909e53
+
[http://downloads.sourceforge.net/sc2/uqm-0.5.0-source.tar.gz]
md5=9002b1bc2de9285588dd97b618a867a7
sha256=bdb715784bf0c94825cf40f97c60a5ec83fd3e17e9e186a78cd145781c4d9804
+[http://heanet.dl.sourceforge.net/sc2/uqm-0.5.0-source.tar.gz]
+md5=9002b1bc2de9285588dd97b618a867a7
+sha256=bdb715784bf0c94825cf40f97c60a5ec83fd3e17e9e186a78cd145781c4d9804
+
[http://downloads.sourceforge.net/uriparser/uriparser-0.5.1.tar.bz2]
md5=faf561c6260e1b580cba2509f410a29f
sha256=5a664f5c8f404c1148f661499866f1fe8df8debef2adc55c630ac83e6d57a98c
+[http://heanet.dl.sourceforge.net/uriparser/uriparser-0.5.1.tar.bz2]
+md5=faf561c6260e1b580cba2509f410a29f
+sha256=5a664f5c8f404c1148f661499866f1fe8df8debef2adc55c630ac83e6d57a98c
+
[http://linux.duke.edu/projects/urlgrabber/download/urlgrabber-3.1.0.tar.gz]
md5=2a92d8ce0d89c5e772a98e9b8dcd5b73
sha256=34d48f4f4390ed06c0fc8fac580f6fe4cd2bfb3557ff0f11254a7bea25d353ca
@@ -15230,6 +19570,10 @@ sha256=34d48f4f4390ed06c0fc8fac580f6fe4cd2bfb3557ff0f11254a7bea25d353ca
md5=4bf9e297f1db0502ec2753f3e084f4cd
sha256=03c1970273b211be8a6a8d23e44522b5d20a774781d31b51c26109985ac28cdd
+[http://excess.org/urwid/urwid-0.9.8.1.tar.gz]
+md5=5a033bcafa4eb8c6e76636112bc3de98
+sha256=d0fb637d27f2aacdb116683970d915656bdfb68fa20affe68fffc52d5ab379a3
+
[http://oz.drigon.com/patches/usb-ohci-hooks-r1.patch]
md5=5fa0f5c96b0ac775457db1c34e2a2050
sha256=095745353b285a3675ab9778f13510171a49cb530dd6702fe5f2a137eaeeaa5e
@@ -15278,6 +19622,10 @@ sha256=1d645fa76a9482a6630b9a7257d11eabfa94ef4337493ef7075e25cbb8820491
md5=05276dc307a0297904bc892e9998bf59
sha256=98d29c0c013debc32f1a17fd66f5e9248025959b07d13f1faba91aa5a1a9ba6b
+[http://heanet.dl.sourceforge.net/linux-usb/usbutils-0.70.tar.gz]
+md5=05276dc307a0297904bc892e9998bf59
+sha256=98d29c0c013debc32f1a17fd66f5e9248025959b07d13f1faba91aa5a1a9ba6b
+
[http://downloads.sourceforge.net/linux-usb/usbutils-0.72.tar.gz]
md5=ee345fe605ffcfce843dae4aed81122b
sha256=00385353242173b878413e0423c1dddcbbb50a3cadc3bb9d0a6adcf335794423
@@ -15398,6 +19746,10 @@ sha256=c03e8e2a63fad2049406aa6722683568700901f782ff4ba562905c11b42c3647
md5=9aea32dc66e42895d7cbebe79b6dc6d5
sha256=0a08ba289566e4d69b937c6bc29e43ba99b445811583b08bdef8d4b52e8a7d0c
+[http://download.gnome.org/sources/vala/0.5/vala-0.5.1.tar.bz2]
+md5=0051ae1f2ef967ce21e77889719daad1
+sha256=b24593c78fa322349ae9967a454464e37a25ab58f44481334589a609e9bcca7b
+
[http://www.valgrind.org/downloads/valgrind-3.2.1.tar.bz2]
md5=9407d33961186814cef0e6ecedfd6318
sha256=7f9a15d7be16ca03a0912191e8d55a486bf69690e11bb76ccece3eaff3730a33
@@ -15414,6 +19766,10 @@ sha256=95b7b4d815bd479332637c93e69ec24167cd28d4f9d9f9b718e1b091bb88aafa
md5=d97a8dbc72942c57542f50322b538a48
sha256=05b473815f9706387a3c5eaeb4da2e492f624e0b7783432179454f9d69bb973c
+[http://heanet.dl.sourceforge.net/vde/vde-2.0.2.tar.bz2]
+md5=d97a8dbc72942c57542f50322b538a48
+sha256=05b473815f9706387a3c5eaeb4da2e492f624e0b7783432179454f9d69bb973c
+
[ftp://ftp.billsgames.com/unix/x/vectoroids/src/vectoroids-1.1.0.tar.gz]
md5=c63ce56b09aa7da9a6e95d804e9ee314
sha256=8d14dd281767e994108abd77c8e67d5a17718d0ad1e34d37e026911d14697b2e
@@ -15438,6 +19794,10 @@ sha256=ab088478830cd30c2fe34fb7f44ffd4d177af7711c225c24676d3e9e9f24780c
md5=de9e16a8a464531a54a36211d2f983bd
sha256=074b4576113e89213940e3ea3901dd035ab317255cd78c929aa52d89227f1f37
+[http://xorg.freedesktop.org/releases/individual/app/viewres-1.0.1.tar.bz2]
+md5=cdbed540daf7975b56000420c9aa5bf9
+sha256=bf49cd45ffb197a6992b3b7c99c94161eaf7cf6a2b661d3905ac382bedce34b8
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/viewres-X11R7.0-1.0.1.tar.bz2]
md5=004bf8dd4646aca86faf5aa22b0c3f2f
sha256=0ee43fd2dd9c8b60fad0e3d89bb04dcb8d7e398b33bbcc603a8e0900c3144a28
@@ -15446,6 +19806,10 @@ sha256=0ee43fd2dd9c8b60fad0e3d89bb04dcb8d7e398b33bbcc603a8e0900c3144a28
md5=14c7de0702a5bd5e45924bd166ae5ee2
sha256=9370d4e6a7166c03c8838edc9defd5c9c637b0a2a2f765e2a0d7ec4ed9079fb8
+[http://heanet.dl.sourceforge.net/viking/viking-0.9.6.tar.gz]
+md5=14c7de0702a5bd5e45924bd166ae5ee2
+sha256=9370d4e6a7166c03c8838edc9defd5c9c637b0a2a2f765e2a0d7ec4ed9079fb8
+
[ftp://ftp.vim.org/pub/vim/unix/vim-6.2.tar.bz2]
md5=c49d360bbd069d00e2a57804f2a123d9
sha256=0619ddfa76f3856461f8d61b070a9da792ed587629f2b5718212ddb0c184fa70
@@ -15462,6 +19826,10 @@ sha256=494e27bd169d333917c0febcace466f89d119f71961e8959022fc6eab89764fc
md5=89937e6d6cd8f658d037da0a7cfd3f4e
sha256=bcf62f1121fe704a019363467f9182e29931ee6779f3b65e996171f4caa11369
+[http://ftp.gnome.org/pub/GNOME/sources/vino/2.22/vino-2.22.2.tar.bz2]
+md5=be507a80ec2c3cd5888060b81ff74f4e
+sha256=f01b24635120e9f5fc5332cbdff49e26603d1c7089d70057209f41cd634751e7
+
[http://www.mneuroth.de/privat/zaurus/visiscript_src_0.3.2.tar.gz]
md5=c43beaef5817fe525099341620e3584b
sha256=3ec61d179aa29811f1383bd99c529342aecea1b3b4cffaa8670aecd7486d0c94
@@ -15562,6 +19930,10 @@ sha256=0e61bbccbc6689d8d9ea4842795498d3ff85079b870eda899cbbd7beb80866ec
md5=309534fd03c5d13a19c43916f61f4bbf
sha256=fc80dac6d622fdb2db16d772edc6ff7d0023ee6eb5f2acb79d894ee30197c2e5
+[http://heanet.dl.sourceforge.net/vtun/vtun-2.6.tar.gz]
+md5=309534fd03c5d13a19c43916f61f4bbf
+sha256=fc80dac6d622fdb2db16d772edc6ff7d0023ee6eb5f2acb79d894ee30197c2e5
+
[http://gpe.linuxtogo.org/download/source/vtype-utils-0.6.tar.gz]
md5=1bcb6f204f491d3813861dd8760cec61
sha256=51fa4fa2e2a8ecdce773d42d7ecb4bdf33b89a332418059c275b8a9d3fd3e8f9
@@ -15610,17 +19982,33 @@ sha256=b7bf9feeedea26d7e06935369a1a556089426e94f9ead946018526c96cd9b12e
md5=3f9b5bf104ec523b8eebe69f93919ded
sha256=acd218148d7f92ee7bd0539d6aabd0b42cca8ae4ffe241bfa8760d30605b28c9
+[http://heanet.dl.sourceforge.net/wbxmllib/wbxml2-0.9.0-src.tar.gz]
+md5=3f9b5bf104ec523b8eebe69f93919ded
+sha256=acd218148d7f92ee7bd0539d6aabd0b42cca8ae4ffe241bfa8760d30605b28c9
+
[http://downloads.sourceforge.net/wbxmllib/wbxml2-0.9.2.tar.gz]
md5=67a48fd9b69db8818a4dca5375c7993a
sha256=cb4909d8753dff7f6ac90a62a61ed1ae68e49ead2dbc60c22673c55bb0e14a36
+[http://heanet.dl.sourceforge.net/meta-tools/weather-0.7.0.tar.gz]
+md5=ce547183f7b455d837d654a484b29a83
+sha256=fabdec4b04d50b50558b6062d35884c60b419e65b3738b08be07d729b6f3d46a
+
+[http://webpy.org/static/web.py-0.21.tar.gz]
+md5=9877a65a31bd97f649562ceab123995d
+sha256=1900e88c268fe48b8f79589683068e1160792bcac2bd3867a262a02081755ccb
+
[http://downloads.sourceforge.net/webcamserver/webcam_server-0.50.tar.gz]
md5=96830836f64edbb12c248eb84e6b0d18
sha256=b8e200ae66c20897c9aaa80b0044e638a0016d3bdb6e67560fd61f1ef162f305
+[http://heanet.dl.sourceforge.net/webcamserver/webcam_server-0.50.tar.gz]
+md5=96830836f64edbb12c248eb84e6b0d18
+sha256=b8e200ae66c20897c9aaa80b0044e638a0016d3bdb6e67560fd61f1ef162f305
+
[http://downloads.sourceforge.net/wesnoth/wesnoth-1.4.5.tar.bz2]
md5=09b7b76d4a4eedf502f38df9d551d827
-sha256=
+sha256=ce4b00b85fd26cbb7b7362b405648f422d3c228df4236eac8ce2f464182cf750
[ftp://ftp.gnu.org/gnu/wget/wget-1.9.1.tar.gz]
md5=e6051f1e1487ec0ebfdbda72bedc70ad
@@ -15678,6 +20066,10 @@ sha256=6fb80935fe208538131ce2c4178221bab1078a1656306bce8909c19887e2e5a1
md5=05fada181e12bfa94b52f0b10395b28c
sha256=a4f15c73e2b67c888cbedfaa8093661dff6cb859357c197c60f3026baddb939e
+[http://heanet.dl.sourceforge.net/wireshark/wireshark-0.99.4.tar.bz2]
+md5=05fada181e12bfa94b52f0b10395b28c
+sha256=a4f15c73e2b67c888cbedfaa8093661dff6cb859357c197c60f3026baddb939e
+
[ftp://ftp.elmeg.de/artem/ClientCards/11b/linux/wl_lkm_718_release.tar.gz]
md5=049c6c3d410e9f46884627b57485d3e7
sha256=a28c7ea94d57a5354b7de06cf5f6416d80a40596911c129d4b6a4087dc916831
@@ -15742,6 +20134,10 @@ sha256=cf688be96ba5f3227876b3412150e84a3cee60ddd0207b6d940d1fbbaf136b57
md5=7bb22f2bcdeed54b3fb5407d6d8bc9bb
sha256=2f9755e2e3f96d26380857ef95be7765e6e276f6b53194c70633c027485d67f0
+[http://hostap.epitest.fi/releases/wpa_supplicant-0.6.0.tar.gz]
+md5=635c7af7cecb39954997146b5c734b1c
+sha256=24ce7873cbf2b23c00f931dd7f20326bea5463dd2a50a865b3d9bffd3f5780b7
+
[http://hostap.epitest.fi/releases/wpa_supplicant-0.6.3.tar.gz]
md5=b51b2975f21006f85f7297f3fb1acde1
sha256=f70b18243e049bbda66254388b6e94d404e747d913b8496d6e93a9c56bbf4af2
@@ -15750,14 +20146,30 @@ sha256=f70b18243e049bbda66254388b6e94d404e747d913b8496d6e93a9c56bbf4af2
md5=eb06a9a05d3916addf9451297a558aa2
sha256=0c10e59dd079c4e5d9ec6eebe9a8ac0e1b9e472cccef49c705f87a78391e79fa
+[http://heanet.dl.sourceforge.net/wqy/wqy-zenhei-0.6.26-0.tar.gz]
+md5=bf2c1cb512606d995873bada27c777da
+sha256=47355b6ec84bb309614b6d657ddfda993b96ed0be569264f82e523b254f945b2
+
+[http://woodstox.codehaus.org/2.0.6/wstx-src.tar.gz]
+md5=3fc8e914d13316aa254b883a99fd2b85
+sha256=e7ab2018865334a1b9b04161235192c2fdc7387baa422b576722db2011f75157
+
[http://downloads.sourceforge.net/witty/wt-2.2.0.tar.gz]
md5=c990186db06cf188cb267d12bc21e2da
sha256=f91445e5e1a02ee16f0bc1eb31a1cdfa53c4bb1e1cb4f76fae33436d472e9345
+[http://heanet.dl.sourceforge.net/witty/wt-2.2.0.tar.gz]
+md5=c990186db06cf188cb267d12bc21e2da
+sha256=f91445e5e1a02ee16f0bc1eb31a1cdfa53c4bb1e1cb4f76fae33436d472e9345
+
[http://downloads.sourceforge.net/wvware/wv-1.2.0.tar.gz]
md5=b6319d5e75611fe2210453b5feb82c0c
sha256=a76f44468e78591e6d510d326702e7c3999d2b9dd3ab8ab8c1c9811fd5b111e4
+[http://heanet.dl.sourceforge.net/wvware/wv-1.2.0.tar.gz]
+md5=b6319d5e75611fe2210453b5feb82c0c
+sha256=a76f44468e78591e6d510d326702e7c3999d2b9dd3ab8ab8c1c9811fd5b111e4
+
[http://switch.dl.sourceforge.net/sourceforge/wvware/wv-1.2.0.tar.gz]
md5=b6319d5e75611fe2210453b5feb82c0c
sha256=a76f44468e78591e6d510d326702e7c3999d2b9dd3ab8ab8c1c9811fd5b111e4
@@ -15770,10 +20182,18 @@ sha256=0c65ea807950fab32e659d1869a7167ff978502bd5d0159dbe9de90eb6c2e16b
md5=07f76102b9798f7a01cb35663589896f
sha256=9dcbe3c0006ea63012c5a57720128170bef39b72d8e98e79ccbee202a3e7323f
+[http://heanet.dl.sourceforge.net/wview/wview-3.1.3.tar.gz]
+md5=07f76102b9798f7a01cb35663589896f
+sha256=9dcbe3c0006ea63012c5a57720128170bef39b72d8e98e79ccbee202a3e7323f
+
[http://wvstreams.googlecode.com/files/wvstreams-4.4.1.tar.gz]
md5=907b0cba8931553d848620ea16f006b9
sha256=cff48f9a87e94672c7a819661a3a5c893ee44e763c6e5775d00aff3de43619b1
+[http://www.gedanken.demon.co.uk/download-wwwoffle/wwwoffle-2.9c.tgz]
+md5=50208b5c8d5c125accd18f9760225f9e
+sha256=6b134ac08daf1186c1cdd34fea4ad8c4f1ad2f52307db98786e262dc4243256c
+
[http://biolpc22.york.ac.uk/pub/CVS_HEAD/v1/wx-cvs-Gtk.tar.bz2]
md5=cac58d215b73189e8574d1c361e771a6
sha256=1e09f6ad9dd987403f9549c2640680cf932ba00df5afa20a4531e98544b413a5
@@ -15782,14 +20202,30 @@ sha256=1e09f6ad9dd987403f9549c2640680cf932ba00df5afa20a4531e98544b413a5
md5=029ff5aac16ff5c42c89b9a7c7ac4029
sha256=7c03f8e02b023c8843bc959bf32d972cdca27d5f6601c6c2ce1c1174208966d4
+[http://heanet.dl.sourceforge.net/wxwindows/wxBase-2.6.4.tar.bz2]
+md5=6e55324d2a522d23fd8834ad8656e0b6
+sha256=1679c29f94983f3fb855f79dcffa2335eb638c6e159444185506e0ff50e6672a
+
+[http://heanet.dl.sourceforge.net/wxwindows/wxBase-2.8.9.tar.bz2]
+md5=2f78233829bb8979ca31f86b6de87ee9
+sha256=5bad521a93021ee7af10127b8c9b4235c16274ad06943585022bfc23a6f4b005
+
[http://downloads.sourceforge.net/wxwindows/wxWidgets-2.6.3.tar.gz]
md5=7af577ac8a6d78d6a0fef1b09cf1093e
sha256=f4f42e8b649285fb0d8cf8109e420f6a0d16b2315985d017935279ceb26eb035
+[http://heanet.dl.sourceforge.net/wxwindows/wxWidgets-2.6.4.tar.gz]
+md5=43cbe5c7508f7dc3e141c346a897fbe7
+sha256=b31c3bc4e85e7f972db1dfb7b447d213694569e2a5794a84116295c334a11f43
+
[http://downloads.sourceforge.net/wxwindows/wxWidgets-2.8.9.tar.gz]
md5=3ad40ea2b1728eefa94f60beb9951ff7
sha256=9b4096bb1e273914adf101182c27d457f46fcc44d1b3ea027bae3d34ace8c6f7
+[http://heanet.dl.sourceforge.net/wxwindows/wxWidgets-2.8.9.tar.gz]
+md5=3ad40ea2b1728eefa94f60beb9951ff7
+sha256=9b4096bb1e273914adf101182c27d457f46fcc44d1b3ea027bae3d34ace8c6f7
+
[http://xorg.freedesktop.org/releases/individual/app/x11perf-1.4.1.tar.bz2]
md5=fd06c8b8e3572a0e14af65a49e0dd7d1
sha256=c81819618ec596fda55b950ef80f2ee02e5ce149ea99f1f741cedb459b4d3064
@@ -15814,6 +20250,22 @@ sha256=0ab0690814d9b773ba790fde1728abea985f64e129b2cf42e12435d1f09adf69
md5=0683a56108ca6d0c4329c7b9a5b7fbde
sha256=e3f8a224af7a8df4defc2c0b3567e1a697486443a2e073fa56122c4a4e439d65
+[http://heanet.dl.sourceforge.net/libvncserver/x11vnc-0.9.4.tar.gz]
+md5=0683a56108ca6d0c4329c7b9a5b7fbde
+sha256=e3f8a224af7a8df4defc2c0b3567e1a697486443a2e073fa56122c4a4e439d65
+
+[http://www.oligarchy.co.uk/xapian/1.0.5/xapian-core-1.0.5.tar.gz]
+md5=5fbfec7f23b0f539d32b50de4a278b95
+sha256=277e30cbd4a4d9355e9b2c02489d34cbaed87754bbdeb8956e5463e9fb592658
+
+[http://www.oligarchy.co.uk/xapian/1.0.7/xapian-core-1.0.7.tar.gz]
+md5=b4acff50028120852d4a8d943065f6d2
+sha256=75f2e805399ce61c423d7945f7f0d14aac53943538345425f6a1033b9fe59631
+
+[http://xappy.googlecode.com/files/xappy-0.5.tar.gz]
+md5=cc0c6d5a8f9346ad90bd5f8183789c96
+sha256=998d148114abb4ae68ef2c340d971dfe09ec581850a1f0fd7c856f3c9b397b3e
+
[http://xorg.freedesktop.org/releases/individual/app/xauth-1.0.2.tar.bz2]
md5=31b956edaeb453ddaa640420e97b25b2
sha256=569e5a581e5eb16abf1c04a66da22c6dade14578ab34e5e78b8724bb655f1f17
@@ -15826,18 +20278,42 @@ sha256=1fd18b53fda74ea4649eb9577b1cf86538a25d171f10251eeb30d11cdd5bda8c
md5=ef2359ddaaea6ffaf9072fa342d6eb09
sha256=cbb271f6c3586210f31953933c4d06bd34272df9c596f5e26124ca3caf8529be
+[http://www.hoopajoo.net/static/projects/xautomation-1.00.tar.gz]
+md5=5051d633c15a0aac8c6eada281584d1d
+sha256=019578691e8ab02532e35033331e275b658b360033e9e34dfdecf4774d161e3c
+
[http://dl.bytesex.org/releases/xawtv/xawtv-3.93.tar.gz]
md5=8d2731e6e95f173f41a0ddc875d55804
sha256=d5e333bc74c0a534bf96f40ea89b7e700f137d46f1fdbaea13fa552ad6227af8
+[http://xorg.freedesktop.org/releases/individual/app/xbacklight-1.1.tar.bz2]
+md5=51b4a1c0ae2b3bd77417306fd78a3e94
+sha256=c795001f15974569e16f25b201ac2ac7666c5a646f8d0de3afa0c3a1ba5d64a4
+
+[http://xorg.freedesktop.org/releases/individual/app/xbiff-1.0.1.tar.bz2]
+md5=404f5add4537d22dd109c33e518a5190
+sha256=9845b1fa8a1cfd408f01fd69b66808068e847cdc925d114c7723c17934a96503
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xbiff-X11R7.0-1.0.1.tar.bz2]
md5=c4eb71a3187586d02365a67fc1445e54
sha256=c9c899fddcb5053d6cf2a00a933b6e6b0429af547efbe85f89ad3bb35176bbec
+[http://xorg.freedesktop.org/releases/individual/data/xbitmaps-1.0.1.tar.bz2]
+md5=b28a9840cde3c38d7c09716372fea257
+sha256=5aa5be594e77f772b85d39f0c25f61a61c7f6fa02ba940e614c5ee386deeb867
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/data/xbitmaps-X11R7.0-1.0.1.tar.bz2]
md5=22c6f4a17220cd6b41d9799905f8e357
sha256=3d7b78cf588871caa00ef79f5f66657803cf9a07350ac5dcf56fbe5ca2a794a8
+[http://xorg.freedesktop.org/releases/individual/app/xcalc-1.0.1.tar.bz2]
+md5=07b948cf671fde88df1a59bfb0cab3b8
+sha256=17484e5fec0ebe7dd8df7218fde1449c52be3f4c6377a85a9fd86e377a7f4248
+
+[http://xorg.freedesktop.org/releases/individual/app/xcalc-1.0.2.tar.bz2]
+md5=d31a99795b9668f047aa11bf36df6df0
+sha256=96375e2d212e7249d14d0beac73c1a6d89252b5fcf571bd9f5c7303a14bb4a32
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xcalc-X11R7.0-1.0.1.tar.bz2]
md5=c1ecea85be15f746a59931e288768bdb
sha256=a1af9c7474307077e69cf86c185c77a3a1454ada64e3abf766fcdee6e92b4fd6
@@ -15882,10 +20358,30 @@ sha256=abdc3055a9c85996c84adc858b2c8f02116f330bdbaeff9e7b38a99da4b852a4
md5=50fbc65bf9c051029ea081cf497493f3
sha256=4827a11db099d4968183d322e326ea5657ddec560c3f2ceef8d210d0a3b83584
+[http://www.xchat.org/files/source/2.6/xchat-2.6.8.tar.bz2]
+md5=940fd8560a4e4e5d905e53207c6cbb87
+sha256=7e239a43c5e293da57a0ee8dc1e383d243ec44b00e682558db93be3d2752611f
+
+[http://www.xchat.org/files/source/2.8/xchat-2.8.4.tar.bz2]
+md5=66d60febc62a01bafac9bb3a35fb37ae
+sha256=f95a9a9e477128aae536669dedd79f4e7b4d469072565695289e4bbb5b36dd63
+
+[http://xorg.freedesktop.org/releases/individual/app/xclipboard-1.0.1.tar.bz2]
+md5=2c6ecedb10dc51adbb64c95f22fd99c2
+sha256=3399a27101285112ea578e1855c8374254afa8d427a3c5943458abc27c4d70fc
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xclipboard-X11R7.0-1.0.1.tar.bz2]
md5=a661b0f922cbdc62514bfd3e700d00fd
sha256=74e949dc0fc1d275b60a170975a9bb99a12153687f2a3478b963b1ae4c607d96
+[http://xorg.freedesktop.org/releases/individual/app/xclock-1.0.2.tar.bz2]
+md5=6b930326f71993fb54b7203902b387cd
+sha256=ced648762382eab09e0ccb87371cb745646ede08ffcb068faa6025d20c4d1f3d
+
+[http://xorg.freedesktop.org/releases/individual/app/xclock-1.0.3.tar.bz2]
+md5=2b1a3d030d87e62a591db8ee4c0072e6
+sha256=10b5777ae9ef2a10d4cf447bd1bf13372d7061573835c2c87d5c948b65e9577f
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xclock-X11R7.0-1.0.1.tar.bz2]
md5=00444fed4bf5cd51624476ee11dd1fab
sha256=eb93d5278f5e46f8d7ff5b53a10a03fef09326e72966c3a0b8faa255436ee6b9
@@ -15902,10 +20398,26 @@ sha256=b2807e96a9d632b7bbf1782a43095de51f3feae3d2e25374d3df00c6c68792ab
md5=77f3ba0cbef119e0230d235507a1d916
sha256=f28e8f6baaaa590ed991314c98f16d114e4668b93c5c6e7fb1bf51f3cc7bf6c0
+[http://xorg.freedesktop.org/releases/individual/app/xcmsdb-1.0.1.tar.bz2]
+md5=8579d5f50ba7f0c4a5bf16b9670fea01
+sha256=e275a39f41ffae854db77b2c5decfad2cac32afbcd158842032dc9ca04efe92e
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xcmsdb-X11R7.0-1.0.1.tar.bz2]
md5=1c8396ed5c416e3a6658394ff6c415ad
sha256=6e1cdf207ca998acd4e1cc991bde47fcf9d01d24ba733f9d3afe3c64843ef838
+[http://xorg.freedesktop.org/releases/individual/app/xcompmgr-1.1.4.tar.bz2]
+md5=3eb1c2b7a6ceaec4ee872cb06d202d91
+sha256=4bf647745b4de940ef75796fc8ad4e1f83c276e474f7b6779f317fcd070de884
+
+[http://xorg.freedesktop.org/releases/individual/app/xconsole-1.0.2.tar.bz2]
+md5=8678ddd23573022d68dcd883ae239be8
+sha256=45db847e810a932bb962041a4c242f97779142f7e36feec64ec5f9073bd9b377
+
+[http://xorg.freedesktop.org/releases/individual/app/xconsole-1.0.3.tar.bz2]
+md5=0e1a3110bebabecc2897d67a973526b0
+sha256=1b1ec25fefad34f5c33c74474358c1f5a8702d8c04defc854826bccb7a46bc45
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xconsole-X11R7.0-1.0.1.tar.bz2]
md5=f983b589ba9de198d90abee220a80f81
sha256=f62bd7916589515d338055cf977b544d031883659f0ec97cbbd08441256f1059
@@ -15914,6 +20426,14 @@ sha256=f62bd7916589515d338055cf977b544d031883659f0ec97cbbd08441256f1059
md5=dd817a0fabe11b1b463492b37247b013
sha256=be246df3bb5b5ed6bcc3d527f7b6015b3c3f2035090f52729ec4c796f5da20e9
+[http://www.nickg.me.uk/files/xcowsay-1.1.tar.gz]
+md5=cf08b324b67d5761158344adcea89402
+sha256=e0dd4b753690c650c6bfbb5af9d190fa6bb3d889a491c8553a34ba397ede8bbc
+
+[http://xorg.freedesktop.org/releases/individual/data/xcursor-themes-1.0.1.tar.bz2]
+md5=014bad415e64c49994679cdb71a97e37
+sha256=4e7dcd402cd045ce1bd1a3de496270e78d6ead2478a0bcb3404072b33c5c9ea0
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/data/xcursor-themes-X11R7.0-1.0.1.tar.bz2]
md5=c39afeae55a7d330297b2fec3d113634
sha256=730029a4f23661094f0d246595041e51ec0b55e7405fcd5affee1ec7f9aba813
@@ -15926,6 +20446,14 @@ sha256=b26adf2d503d01299718390ae39dab4691a67220de09423be0364e9a060bf7e4
md5=7b0c623049d4aab20600d6473f8aab23
sha256=b26adf2d503d01299718390ae39dab4691a67220de09423be0364e9a060bf7e4
+[http://xorg.freedesktop.org/releases/individual/app/xcursorgen-1.0.1.tar.bz2]
+md5=39e1e62f5bd92603b0230b8b948c2fc4
+sha256=18d3e0d64853089c2154f1f867df087fc15f87e03e09fabc98ee5e265d8a53ef
+
+[http://xorg.freedesktop.org/releases/individual/app/xcursorgen-1.0.2.tar.bz2]
+md5=6fc90896b8c786cb1a2100b4167f7874
+sha256=e009322bd2afef8d4ad91bcb6b17874e1cd00b1aaf397e7019a82cc44f3c174e
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xcursorgen-X11R7.0-1.0.0.tar.bz2]
md5=4d7b26dbb4442e89ec65c4147b31a5f7
sha256=8290616302932e72d4224cbe27d872efa5f44b0b8553ded0bbfb3537abe76907
@@ -15946,6 +20474,10 @@ sha256=4511dc4df6ebb320a4a516b3b712c86f6924e5ee9832618f58ebba06c64712ea
md5=b3884eaec59a63691f66bc29ce57a56d
sha256=75378ad3eacbe32c625de3b4af3e1f6fc9772ab45c1cd1393483d95ac4da3b22
+[http://xorg.freedesktop.org/releases/individual/app/xditview-1.0.1.tar.bz2]
+md5=e9a7192ef29453b8c810ddd556a463c0
+sha256=177194e5f83b31c2f934e3a0b573e8ae359edf2ef1a2403ee8e1dad383558117
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xditview-X11R7.0-1.0.1.tar.bz2]
md5=21887fe4ec1965d637e82b7840650a6f
sha256=c3662dc4e97f7eb0bbcd7cf952bd9f67218e8ceb8f5418fb6bf61ee5e8ec0392
@@ -15954,10 +20486,22 @@ sha256=c3662dc4e97f7eb0bbcd7cf952bd9f67218e8ceb8f5418fb6bf61ee5e8ec0392
md5=619d0549c6c20ca15aa77769f2fbabe2
sha256=9e640974c132ef1faafedc77e4602d55457b2791006b677cec071ee8afbf9a74
+[http://xorg.freedesktop.org/releases/individual/app/xdm-1.1.4.tar.bz2]
+md5=a2b4c280f3e324d081a0d9ed76a8a123
+sha256=928238ea20e074372659b2902de0e0d754083196911319319795fdbfd1ca6073
+
[http://xorg.freedesktop.org/releases/individual/app/xdm-1.1.6.tar.bz2]
md5=c89f8bc74fda4d19e5f374f59c88810f
sha256=c41ac89d9da5c3f5424e9c4871d363ff17acf0fd2a46830931c447ba0b5a8bcd
+[http://xorg.freedesktop.org/releases/individual/app/xdm-1.1.7.tar.bz2]
+md5=92effdb698d9ecc9113fe4f49294bd90
+sha256=6a7bceccb1eb9ce3d14259be7a6cc8268bc9e1f127298480b9322ceb6f032d6d
+
+[http://xorg.freedesktop.org/releases/individual/app/xdm-1.1.8.tar.bz2]
+md5=cc1816bc62a3722ad509373b0b7f30fe
+sha256=e1169058775a44b0898351d2f645039b4d8946360285831e553587a147b735e9
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xdm-X11R7.0-1.0.1.tar.bz2]
md5=9ac363721dbb8cd39aa1064b260624a6
sha256=9bf8895b98fb35ee38ac713ce83c80abdd8e33de278e1ddf982a293c31b56b81
@@ -15978,6 +20522,14 @@ sha256=4294768751bd4ffb47e5ebacfc7b5b9f95a1a2f4d221d8af64474382473e1962
md5=2b08e9ca783e3aa91d7fb84fdd716e93
sha256=d97f2872f5400f7fb5c0ad9442eced4bea55ab523de27417bd479db0071e3fed
+[http://xorg.freedesktop.org/releases/individual/app/xdriinfo-1.0.1.tar.bz2]
+md5=be3c5a9b242a57226b5bb5f22ec341ca
+sha256=f693977bdaea7eb6b095a6b6bc60b8a62110ecdef4c455211346e592f59c3772
+
+[http://xorg.freedesktop.org/releases/individual/app/xdriinfo-1.0.2.tar.bz2]
+md5=a5ec51ed9f0a55dc3462d90d52ff899c
+sha256=7b03ac095b6c79688c20ad61e3576d4698e3f16c09a7f3f1e7c50826814e7265
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xdriinfo-X11R7.0-1.0.0.tar.bz2]
md5=75b8b53e29bb295f7fbae7909e0e9770
sha256=84753f1c33be507ed9c1cc9d5e78565cc61e60d1403e499d7f25603d9a3b4f6b
@@ -15986,6 +20538,10 @@ sha256=84753f1c33be507ed9c1cc9d5e78565cc61e60d1403e499d7f25603d9a3b4f6b
md5=36cc576a71bca1177ce793003ed78f32
sha256=9049146404b9596d70f77a0250d26aff93ba7ba6f42e99f7ee2302a757dfd362
+[http://xorg.freedesktop.org/releases/individual/app/xedit-1.0.2.tar.bz2]
+md5=c56160e93c24ddf17e69891ed50deb72
+sha256=2658d78bbaf8c9effac261f3c229c035fbfda817fa9636dea1e46078213362df
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xedit-X11R7.0-1.0.1.tar.bz2]
md5=19f607d033f62fb1ee5965f4236b19d4
sha256=cfbea0872e9963ae3ff61b07000f92d840b65244eec0e1a9750a58a03d70db93
@@ -15998,6 +20554,10 @@ sha256=fb22559759a92f1a6c10716b743509ba20005f223725ec4b6492462bfe9237d0
md5=04169609449a8846bc1e6891c04cadf4
sha256=77fae8a1e7aa58007115c939aa68fd5028da79c481fc457dfce546b50c9dfda5
+[http://mirror.serversupportforum.de/apache/xerces/c/2/sources/xerces-c-src_2_8_0.tar.gz]
+md5=5daf514b73f3e0de9e3fce704387c0d2
+sha256=416eaf74bbe6ff3b3c64a282e886810cad6cbb48478d3c83344661504c09c8d6
+
[http://xorg.freedesktop.org/releases/individual/app/xev-1.0.2.tar.bz2]
md5=e3008eb0655da3026c162a5597d70869
sha256=cac2771b67942d9a00b46532176feb18b2f82c434e0f6ece578d95953ef33053
@@ -16026,10 +20586,26 @@ sha256=41c091d05943817c0b667192dab8c8f3a3a59c04a66dd311a9573f48a7b70b3b
md5=c0e88fc3483d90a7fea6a399298d90ea
sha256=41c091d05943817c0b667192dab8c8f3a3a59c04a66dd311a9573f48a7b70b3b
+[http://xorg.freedesktop.org/releases/individual/app/xeyes-1.0.1.tar.bz2]
+md5=033f14f7c4e30d1f4edbb22d5ef86883
+sha256=530902e8732130e37d9b46e73eecff90d6dbc5d5628620fded74a4e054aa8029
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xeyes-X11R7.0-1.0.1.tar.bz2]
md5=3ffafa7f222ea799bcd9fcd85c60ab98
sha256=e93bb322fe96ceabd0581bb70101aaa1001b0b8f894b3ae0e1fa2e4b38f41af2
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-acecad-1.1.0.tar.bz2]
+md5=ce0b7bec500273ad935cbfa212b8ac8a
+sha256=3e5feea79f1d48cd46a2a40661140042ac586f90311669f79d65fea6cfc112ad
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-acecad-1.2.1.tar.bz2]
+md5=2c371317f2aae34c04db63c19759a44e
+sha256=07d2f8a1153d34a6516b8f1129fc32a18f2862bbb58c9bad4637fb282d60385a
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-acecad-1.2.2.tar.bz2]
+md5=2d6596b2b0cfa527b5ed4df2014684bf
+sha256=953ebb7d7ed579ce648dd6f6a25307c37ad8230a0336ec6fc58247732835f26e
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-acecad-X11R7.0-1.0.0.5.tar.bz2]
md5=b35b1756579ebe296801622bdf063ab1
sha256=699ba1716f74db0aaa66aa510ebf195560ff09f88001f98bde9275d2826f30ea
@@ -16038,6 +20614,14 @@ sha256=699ba1716f74db0aaa66aa510ebf195560ff09f88001f98bde9275d2826f30ea
md5=7ed47ca8feb1fbbe305f3a6732181550
sha256=b2bcdb4ef8cb9645e476afcedeadbb9d1688f8e8f7bd010f6718a15f1673556b
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-aiptek-1.0.1.tar.bz2]
+md5=951b2b1a270f67d28e2e89fd2b9f15ae
+sha256=3db0e3259034d838c2ff7ae26718422db6d33d89cd1a2defa0efdddbbbfcc28a
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-aiptek-1.1.1.tar.bz2]
+md5=2aa75313ea5652a8cf93581c65ee6493
+sha256=219116b0275b93333b8471fc94d97320a116d695c4249837fd97763f00a85d77
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-aiptek-X11R7.0-1.0.0.5.tar.bz2]
md5=9ee5109ef33e281ce0784ad077f26cee
sha256=62d1dfdc2f902d016999861ec3fd58b4630341e8f4df45e65c7bee730b51fd8e
@@ -16046,6 +20630,18 @@ sha256=62d1dfdc2f902d016999861ec3fd58b4630341e8f4df45e65c7bee730b51fd8e
md5=e4ede86a636263c02530005ba958b65b
sha256=1d0cd2377f61974dca5ed141304ec2b55814af6f9d084ce634694713cdb6da28
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-calcomp-1.1.0.tar.bz2]
+md5=af13f9de2af4e1d03b2da0c037fd718a
+sha256=ebc446e74eea72d391104b1ce3b2a5376bced098154ec089a944f4311d240904
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-calcomp-1.1.1.tar.bz2]
+md5=689099e2ade8a8c9f68f82fdf569b3ad
+sha256=8117b37da2e031eb983e1e98034710a1511299496fcf235f936caff252fa8957
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-calcomp-1.1.2.tar.bz2]
+md5=ebc9a64dc72ae3015c16011bbd2d3557
+sha256=bf6edb9d78c90952a16c8bab9e69aebb3e1361e4423ec90e47df57e8c873254b
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-calcomp-X11R7.0-1.0.0.5.tar.bz2]
md5=f4199b5df063701462d5a8c84aadd190
sha256=f3f913f627e0871a65a4e18cc3df3b0188bfe0e73a755436921488756753f989
@@ -16054,6 +20650,14 @@ sha256=f3f913f627e0871a65a4e18cc3df3b0188bfe0e73a755436921488756753f989
md5=40a557a54cc8ff58cbc4dc1abd37bb18
sha256=89f23360b8eadd5bf602712d78d83147245b51424aa06d9b643265f840857610
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-citron-2.2.0.tar.bz2]
+md5=1fe53cd055a69650f3c2e02377ec728c
+sha256=26cfa755d3a383f80039fcd286c44ba5f7b353feb8c674f386bb08d741d2c3fe
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-citron-2.2.1.tar.bz2]
+md5=4e254fcefb3bea55772e63c12570f6d9
+sha256=1480ba63b342c00a53292d513bd79a69e1ea7c01a0c77d1a368ffb22e37c1a83
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-citron-X11R7.0-2.1.1.5.tar.bz2]
md5=62b5405d337bc055bc9345565cc0da8c
sha256=fbac5de06334b6757d91fcc2abc08e2c56c7a57dcba1abdb5c99133decf7f795
@@ -16062,6 +20666,14 @@ sha256=fbac5de06334b6757d91fcc2abc08e2c56c7a57dcba1abdb5c99133decf7f795
md5=9d33544dc2beb9643cf329f5f4ab295b
sha256=362d927749c899b18287afed4c3fff59480bc18cec63e9d104073b585fd3814a
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-digitaledge-1.1.0.tar.bz2]
+md5=53461c34cc0712aacab92b820b9fcb84
+sha256=24001f19b46b5bc2fcf8212f04863e4efa90175fac797350525e14848ab98a38
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-digitaledge-1.1.1.tar.bz2]
+md5=4c27e0f3c6447e76df39a837fd46a00f
+sha256=ded010f82b1dbb57b1ee0ad6707902b31540e0592c94d6bbf3b43a7a35220775
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-digitaledge-X11R7.0-1.0.1.3.tar.bz2]
md5=8342f3a0dcdaa1120af01dd25dabf0d7
sha256=964a13291f412a6da62d3ad98bb8afa21ad7c884eb6234f279a0d40d7f912b58
@@ -16070,6 +20682,18 @@ sha256=964a13291f412a6da62d3ad98bb8afa21ad7c884eb6234f279a0d40d7f912b58
md5=e98d51c032e9324ab961a1353f65b6b2
sha256=a416d031dcf31c28f0b91866ddf11594d86d5e40437c3b4529f95cc8a2958254
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-dmc-1.1.0.tar.bz2]
+md5=e1bcbdefcb839173de79aeb3cd038b77
+sha256=c5ca8fb2dfe0130767b2c10bd0661277a67e7d5b9171a7f5f6264ec48790473f
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-dmc-1.1.1.tar.bz2]
+md5=f21f008220bc7687ce1c34ab557ec32f
+sha256=f98c5a7010fa71cee88b4c2470e5cd804e42dfbc5292cf1c20eb75e9b1814002
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-dmc-1.1.2.tar.bz2]
+md5=91021ea8f3593221c0d9ee9cc14deb48
+sha256=b6f4eb367ab1aa7da5ac5218953d7cdde409c9ddf59f6cb6b2e1aa2789b3f361
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-dmc-X11R7.0-1.0.0.5.tar.bz2]
md5=fdf127a2d419f7c2e02bec27273091d3
sha256=6e03c373f3aa25b7305e927d76dd9fd233d83a3ec08bf517e8cbdd2b00d32be5
@@ -16078,6 +20702,18 @@ sha256=6e03c373f3aa25b7305e927d76dd9fd233d83a3ec08bf517e8cbdd2b00d32be5
md5=d26f4abbb4c14a64cb5d19676edc1a58
sha256=8287cb7ca9af7996850eef6f32b4577f5747049ca635b6b5851fc56ff0b04bf3
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-dynapro-1.1.0.tar.bz2]
+md5=1683178d09dfc604dde9ea2aab950a28
+sha256=fc2ad50b1aa027fe57da53cbb73db0b4b9d0de9032f00dd42e7cc0aae7c50d6a
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-dynapro-1.1.1.tar.bz2]
+md5=d47be12a230c44a05d56d6b79ebcfc38
+sha256=ed0f1ba81febf8e7a20cfaf32b021fcaa102af37f3070d67d6a101eeb6964992
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-dynapro-1.1.2.tar.bz2]
+md5=ceb5efbd3d62e24ab3a5f9f180777f7c
+sha256=55b7b2e950331292ec05c81d566af6d1000ac3cf904068964c3b9d43cea4deec
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-dynapro-X11R7.0-1.0.0.5.tar.bz2]
md5=89dbb839ab4c5fca3dbc3c2805a7efb9
sha256=28a2707b4633b99fa9b5fc5106d5eff9445344e50bd6a05a41094178a508e11b
@@ -16086,6 +20722,18 @@ sha256=28a2707b4633b99fa9b5fc5106d5eff9445344e50bd6a05a41094178a508e11b
md5=5121ef14108585c902753ae6e4b813f7
sha256=fe0f5a9dac8a7fa2e2758bbc5a50190d99b39c5510422ce99efd95d96e13889f
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-elo2300-1.1.0.tar.bz2]
+md5=43885769d6f741272dda162e82902b0d
+sha256=9551f67e24c4573867a64d032d1ff6b63654caab8a85d3c6b2af7748daaa2134
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-elo2300-1.1.1.tar.bz2]
+md5=4eef20f44954d49571a10b9134fdb663
+sha256=cc2cd97f49cce1795ea74034b1416ff7cd5107e1a69258b09a741d55a98ba005
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-elo2300-1.1.2.tar.bz2]
+md5=611d0a77a80286bc926dd3c414e59555
+sha256=ce575f79a5a93f4129a4e63572911d54cdc6640abc303afeb3c74741bb3c9627
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-elo2300-X11R7.0-1.0.0.5.tar.bz2]
md5=6009a17f13a37bfde8b60c2fba5b0e5b
sha256=6a4dec968d92c7a73dc801367c2743062b3a09b37bb8ed7ba720f435f1f53703
@@ -16094,14 +20742,30 @@ sha256=6a4dec968d92c7a73dc801367c2743062b3a09b37bb8ed7ba720f435f1f53703
md5=7eeb9f2018aef32299c37ad2b3744b8d
sha256=46d3d459821a321cf82252bd4130134b5ecab0984cc0ec5ce0f0f8b3b6e41908
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-elographics-1.1.0.tar.bz2]
+md5=ecb2bf1f800d4f5f4c295f2a0e6b1de7
+sha256=1583e1dae6e3ecd34ba55deae7dfc052efede0378f852de6224308d7e7d5b2d8
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-elographics-1.2.2.tar.bz2]
+md5=50a9c32af12ca4733afe23042f012f9c
+sha256=76ded0e6977f7d562a8236bc810423cd050320531be9621d868a48309ebc4d63
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-elographics-X11R7.0-1.0.0.5.tar.bz2]
md5=24c33f833bb2db72a07c3d28bfc0aae9
sha256=f1b7f84175d33f4d18c83cd0d37bd3962acd668922fa074a8ae29e18517cdda7
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-elographics-X11R7.0-1.0.0.5.tar.bz2]
+md5=24c33f833bb2db72a07c3d28bfc0aae9
+sha256=f1b7f84175d33f4d18c83cd0d37bd3962acd668922fa074a8ae29e18517cdda7
+
[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-evdev-1.1.5.tar.bz2]
md5=01705ea9a4d1699d5eeb17e7f297a581
sha256=52b7daab86dade2d189f0378ddf196c018cdc9dd47ade0b3b8fc7591cb4bbe9e
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-evdev-1.2.0.tar.bz2]
+md5=0c7c41d3f1637bb559e80c2ad708f05d
+sha256=b23b231d754cab717a4b145ee3a5f3e73db46d877d23502326e9794d92d976ba
+
[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-evdev-1.99.4.tar.bz2]
md5=f56d98ab11ef77cfcbafb5d93c697791
sha256=71e896168819bcf50044c175482d03873c31bc6eb355305a87e94772580789dd
@@ -16118,6 +20782,14 @@ sha256=ba53e8ce6bfa01da7fa86a31853542a71722b41b511041bdb58cf66c10f3edb4
md5=6eba3b46ff77b99c44f93d2a08cc6935
sha256=e1e2b2ffe37e1c70829eef55f700cf3cffd49b3b3e0e2d3bb47c2cdd5db5adf6
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-fpit-1.1.0.tar.bz2]
+md5=a31066a2076d18619ceaea67f6d89698
+sha256=8ee3b2df90516182460fbda025153aa7fb2c6ba343e4239d225963a287f694f8
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-fpit-1.2.0.tar.bz2]
+md5=0f3e013d5ff58e0aba3d9e1d18830291
+sha256=87e3dd97d57ddb520cafa5e68fa7846cfc3d9d71cb054cdf0e1d650c7b1cff7e
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-fpit-X11R7.0-1.0.0.5.tar.bz2]
md5=fc0e11fefc322623914a2d819d5b6d51
sha256=8f131c2b26b1e0e16e9dfacc73d457bb16cf6e455a1dbdc382f4a3e3b219c703
@@ -16126,6 +20798,14 @@ sha256=8f131c2b26b1e0e16e9dfacc73d457bb16cf6e455a1dbdc382f4a3e3b219c703
md5=223ef71e07b18e140ef227feef965ef2
sha256=a11dbb0bdb6bfc65fc2a8b096edd4797816767aabe49349517a51497e373ac0b
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-hyperpen-1.1.0.tar.bz2]
+md5=1dfccb75069e61e0c6f990b47eb58c40
+sha256=d1c20a3340e06c5634759832dcf2edc6acb41476a4f637eba6880730e607f493
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-hyperpen-1.2.0.tar.bz2]
+md5=175c1e1ad668ebbbe212c1e975dd14f9
+sha256=689d1c5c1f21eed00ae03a01c57482f7bbef36d7e07156556c99febe28c7d413
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-hyperpen-X11R7.0-1.0.0.5.tar.bz2]
md5=0c4f2a6390e3045e4c48a48b47b6332c
sha256=708011ed8fdb6d321e7ca91787ff06c7bcb011cc4a3b5d6c0c02562222da7ef4
@@ -16134,6 +20814,14 @@ sha256=708011ed8fdb6d321e7ca91787ff06c7bcb011cc4a3b5d6c0c02562222da7ef4
md5=8f1d96c97e48c794a61d2e81dcc1d06a
sha256=798bc6be1385c2c39483553a9f20b022247d364a8acf7e31b3ee2c61e31183e3
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-jamstudio-1.1.0.tar.bz2]
+md5=a32e36a24545791a3408cdc5563b6523
+sha256=ce41b360bd08ea31036b79cfc25a32c854147522e4580f5ca1a203233e657e1a
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-jamstudio-1.2.0.tar.bz2]
+md5=8011f90d7dd801d26e8c3dd058633978
+sha256=c5bbade96f1849b45f665a54e08ac8f9d5a94d31a8a680edc4d3c9361d164ac0
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-jamstudio-X11R7.0-1.0.0.5.tar.bz2]
md5=49de35ca024be2cb785832ae37ec30d0
sha256=ed5c17b702a43192710b7476f3a8540d04bc800554fd05e348be4f510f651dfa
@@ -16142,6 +20830,18 @@ sha256=ed5c17b702a43192710b7476f3a8540d04bc800554fd05e348be4f510f651dfa
md5=ca01cca63fa57600c1cf6b307bb9aa8c
sha256=cacc590ac4e57f3374e18b9898c6fa8992f31db6e1cf985391fe42c33a29fe15
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-joystick-1.1.0.tar.bz2]
+md5=e0025215542c7a11c5a7f9548631dbd7
+sha256=11c3e8056e8f44b9a6f348b5366c7e725155563374770b82e339e913b9a60d16
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-joystick-1.3.1.tar.bz2]
+md5=ff25ea697cfa1570cc28f4b9cf9c761f
+sha256=1d33b9668e039ea9adc0680c1f2971785508cfd74b2215749db23af23ef8f9ce
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-joystick-1.3.2.tar.bz2]
+md5=e48b99e55093525ebb7811a014391a0b
+sha256=6cad238e0a54dec75c5224f9c0774b4fce2a03b06f1c61b404e9ea97d4941d4b
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-joystick-X11R7.0-1.0.0.5.tar.bz2]
md5=9e3ba60836f4c1d2e4cebc63a28321b4
sha256=9b69192a4368bafeaf94432ec50025dd3f60340290ef2500f6032159870ed489
@@ -16154,6 +20854,10 @@ sha256=240abf3bc4068f9823dbe6e8ff9c63e5aee1442fd85c80122f2ee44c00fe101e
md5=babf094e37bdfc08076d4adb4c69c1d9
sha256=b7e7377d75f3a10cceb5df18019b8e4498fbed0100478edd4af75bf8cd45d6fd
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-keyboard-1.2.0.tar.bz2]
+md5=06e14029e00b32ed085769775b398efd
+sha256=8c45fc324ea01377f9932250824ee1769bdf1eab6e4b661c22a39deb0b01580a
+
[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-keyboard-1.2.2.tar.bz2]
md5=ab3122921f6359c54e250879288ffd47
sha256=c25b35524eaf00928d97bd0d8bf9e489d92993b133461b5f4d8d9655d37ec072
@@ -16170,6 +20874,18 @@ sha256=e82d510157d13be37eed604cfb0d9355c054c4d3ac39bdef0c6ef320f2973d77
md5=d81490c79db78b0c182f0b2a37e02756
sha256=33b2190541a96b601d22ce6f275b95b0869bad89af8629cf2d8035951f78c47e
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-magellan-1.1.0.tar.bz2]
+md5=0d6a81aa864ac790d9a8b517ca7016ad
+sha256=8eef54b50c428513a330ed7183ce37f269050252a4d1199d3b00ad6bf0a7833d
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-magellan-1.1.1.tar.bz2]
+md5=8a966d3b74dc2a801ff09b895037090c
+sha256=06da7d1b222ba47ba0c7fd561965d78f2c8e46f44c998cb768e98bdc3c0e1741
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-magellan-1.2.0.tar.bz2]
+md5=9801ba10f15f8be2420dfb3f3b5d5d27
+sha256=c5285147a4df0b5b0fd5dcb7c0e5953bc982d3d6f2a2ed2e7767ead909a510e4
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-magellan-X11R7.0-1.0.0.5.tar.bz2]
md5=fd7367f467dc3302604274cee59a7c7b
sha256=e13fb01c5b86b9409d1e4024c06b55a18d5c2eba98370e73870caa19f8ef973b
@@ -16178,6 +20894,10 @@ sha256=e13fb01c5b86b9409d1e4024c06b55a18d5c2eba98370e73870caa19f8ef973b
md5=9e4bde8bbc56e99f43164bbe79343360
sha256=80734e0406f6cd8263c22dd6c34b4cc387d75d27a1cee02c13fb7626df05ba53
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-magictouch-1.0.0.5.tar.bz2]
+md5=d23f2791cd634ef85b7cc5e9da8f8407
+sha256=9cedc831e9d86889f473fbe3b8f1478afe5ed8c0dd71492aeb896cc681d7444c
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-magictouch-X11R7.0-1.0.0.5.tar.bz2]
md5=a51d84792b8c0079d7c8d13eb17acf31
sha256=1e384f8cf5f516c3b460b8e1a94ef98dba9681a3ca0a2f2fb3687a9df12d00d5
@@ -16186,6 +20906,18 @@ sha256=1e384f8cf5f516c3b460b8e1a94ef98dba9681a3ca0a2f2fb3687a9df12d00d5
md5=b3ed11fd57bf99ca515d72a16875cf68
sha256=ac0ff1cfa93d9512d0a2a5b47430f6ecbcb34bce2c3e76542e883e4731ea1f2b
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-microtouch-1.1.0.tar.bz2]
+md5=7b3cc0330d70e7e4e07914fcb325b331
+sha256=7f92f5531495ecfbfd00744198fd4b2aa3b8f5c188b115e55e865e961bca2039
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-microtouch-1.1.1.tar.bz2]
+md5=9843fbea6cc0c4129e96ce9a6c893cf6
+sha256=5f2f0b16705c6226081a452f9f876508c388b384fca69106d377cd134cfddfd3
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-microtouch-1.2.0.tar.bz2]
+md5=1ad1aee7d8df84b9ea832d1e75963257
+sha256=b3034e0a768c4f646ea954d59dd414d00df3238e845848081221af6efe864f3b
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-microtouch-X11R7.0-1.0.0.5.tar.bz2]
md5=0c25e0340b6483fb2a600b0e885724a2
sha256=f113b6649719261da21137d4b18168862d37efc1a79db2dcd1e078f6dc9d8a3b
@@ -16198,10 +20930,18 @@ sha256=2776fe554835a2be94e69cc40af7b4d4f7048d9a36a844ebaf1a792ba0868dea
md5=d8bcd9fb1b4efb02acd251495f9a30c1
sha256=7d4c2ecbe8f9327f7c8093c05401ab68b22f3343bcf04e4838cc40c21b7f8e0a
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-mouse-1.2.1.tar.bz2]
+md5=72b07e65bbea6ab484d84c048f6835fb
+sha256=82671998e2b02ad097e3d5cc7d964e11de0b3ca3dfec4876e8fa2a13af6aacc3
+
[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-mouse-1.2.2.tar.bz2]
md5=c47c598e55e7080b8ea30f70781f7ca3
sha256=80e9cb52b2036b71289b2140bcd3ac202cf46fd42830761c53120ddac38e7edf
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-mouse-1.2.3.tar.bz2]
+md5=47da1fa52584933d045528109f094eff
+sha256=a07cb2169f43018c90b7889781c0db30cda0da03811edccb8c4db533166357ab
+
[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-mouse-1.3.0.tar.bz2]
md5=31a51b0e5ddc4fac19754f48a3adf881
sha256=054b253f366795c2865714ce8bc545c79e59aa9ce1b7a9a4a05b9c674dff9dec
@@ -16214,6 +20954,14 @@ sha256=183c1cda6550c8821ef4b8d13e681a32813bcd32b6cf34a75d3870e399fa292d
md5=e427b9a1dfbed3d4c9de2bf01008fa60
sha256=ffc07ecf8bdb4cc30d399f06ea950d8016f254614930e3d3fe476ab88748f3b3
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-mutouch-1.1.0.tar.bz2]
+md5=98ae915c67cabf0e6d40a425dbdbe10b
+sha256=cc67e0dd4f4fcc8d798f0bfe42b975132c5739bdd80809580a74182e4d1b62ea
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-mutouch-1.2.0.tar.bz2]
+md5=50711d390d2867e3fa7e06b59b2d575b
+sha256=214f0831f36ebfc081b9f31f91ae27972ced9371b9b2256650998596a097061d
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-mutouch-X11R7.0-1.0.0.5.tar.bz2]
md5=4758e667bfbba517df2a58d51270cfe2
sha256=f46f328c9d8ef4dd6fe118121831ff4cd34ea9f06b198f548af4c703a1aab771
@@ -16222,6 +20970,14 @@ sha256=f46f328c9d8ef4dd6fe118121831ff4cd34ea9f06b198f548af4c703a1aab771
md5=1f15391dc1b24cd400ccb9c370f568d0
sha256=751b2ea30696af593320b2cad3f0131b252851020fd3277ca5e1907a0ca29e4d
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-palmax-1.1.0.tar.bz2]
+md5=0959dbf7972dfb95f56e4bd3f56447cf
+sha256=5c00c85eed2950a575362bee2f21c2fa68eb8af81e7f1d451273a1302eac4145
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-palmax-1.2.0.tar.bz2]
+md5=9655d2235569c5a6ac321c6fb89a6f3b
+sha256=02177c339ba60fb6cc942d3bc93a322e94247f36a6fe90c7c1121694c929b05b
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-palmax-X11R7.0-1.0.0.5.tar.bz2]
md5=d138024a20298304af883631d23c5338
sha256=0756cb4d78cd896811f06675b986bdaa8d48ef2b3c53bf68001634fe1f7806c9
@@ -16234,6 +20990,14 @@ sha256=311ea26819f0ba66eede1fcc88026f6563b42807d0d4a239ea14574ccca26e26
md5=0589f2eaa84afb9bd49b226ce7dacdda
sha256=dea18a07cf8f59e7bc981cfa1f6ef476dd14f7d9bee3bb1a55a6cc49f766150e
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-penmount-1.2.1.tar.bz2]
+md5=268af4dceda544d8c815b9b7e87d4536
+sha256=fab08de727da6f56b82d8ecee451a52e7129ff80522e711c5322f1bd2fa9970a
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-penmount-1.3.0.tar.bz2]
+md5=24594c0222e631fedccc7c540c420b03
+sha256=9cb4e0e83dcefe1ece814d638bd186785b6bc1debe1aa2101ce2a4ea0376805a
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-penmount-X11R7.0-1.0.0.5.tar.bz2]
md5=065b1cf862864741aebcfefcc7c09539
sha256=314492cea0998182623f2a67461d64df00b910acd052c3a50f9349ead740151a
@@ -16242,6 +21006,14 @@ sha256=314492cea0998182623f2a67461d64df00b910acd052c3a50f9349ead740151a
md5=6093b35d21ce93029b2b28d8b69a1444
sha256=101bee132f27fe7f53d8242955aa195a174aede066921445bc1ceb3ef1a35f07
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-spaceorb-1.1.0.tar.bz2]
+md5=294810ca9e93c4096458c6a0f2fb5679
+sha256=9cd53cb719bf401ff3f72233d3a88c59539b94eaf11e586e307c807a325f0815
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-spaceorb-1.1.1.tar.bz2]
+md5=c7fb96281874733480ba86a5a0a3b5af
+sha256=be8f052e7132d39094f42a08c0b7171a9e280e9fa1b162a62343d1dc0d2449cf
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-spaceorb-X11R7.0-1.0.0.5.tar.bz2]
md5=193ca7b1e87c3995b86f15a01b63b297
sha256=e5fa2e430b39ddfe443b6c433d975f02025b5fa90f31fa249942d8bf01452bc4
@@ -16250,6 +21022,14 @@ sha256=e5fa2e430b39ddfe443b6c433d975f02025b5fa90f31fa249942d8bf01452bc4
md5=62c381b6c56d41a75858c16dccd06394
sha256=06a4dff5bd575e65ef4984f5f6415e4ef11d2301b028bd3383d45117c125c737
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-summa-1.1.0.tar.bz2]
+md5=b37a432fd87bb9f46d011622d6fce6b3
+sha256=f10f2cadd4120b40b3658000c87f910e3005f4d787441c7dd83b48ebbf2a11f2
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-summa-1.2.0.tar.bz2]
+md5=7e17468c0d90dcbbb6202a8242efff4b
+sha256=3e8bcd89b4b3f86677f338a4584f41acb2a3cca7fe492cbea32664aa6f4f8cd8
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-summa-X11R7.0-1.0.0.5.tar.bz2]
md5=61d780857e5dc139081718c075e74a01
sha256=6456ddecc0e1b962b5f14b98b81d2e936cb48dcdacdd871dfa0e24c0d252498c
@@ -16258,6 +21038,18 @@ sha256=6456ddecc0e1b962b5f14b98b81d2e936cb48dcdacdd871dfa0e24c0d252498c
md5=56765c5ee99f67802bca8a1134ad7fc1
sha256=57460dfa0429c58d598f192aa65661300dd104953073d977ad4f4b15a596eda8
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-synaptics-0.15.0.tar.bz2]
+md5=939f1c831c5cd3a6f027e982592dfc5b
+sha256=e7d481c375a11df55eb8f12390c329c2bfda3258c689cec11cfec27cb5895c8b
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-tek4957-1.1.0.tar.bz2]
+md5=be8a4bd474ad6c85b93f66dd6fcfa6ee
+sha256=09b9506d1bb1deaaf69872392bc56e1d75997bb8157e85a9121749bf5fe15727
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-tek4957-1.2.0.tar.bz2]
+md5=8103db1ca5c55726e0b58148e4b1fc06
+sha256=b097a5b1acbd732d9ca5d28c13003a1f1c8a3465f4fa77c1578d36330f3358a2
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-tek4957-X11R7.0-1.0.0.5.tar.bz2]
md5=df633403c91a48c6a316c6a5f48e53e2
sha256=1cc4a964e2b407d2b9ebbac0bf38787e572d9bd88759fc0b229f588ac90ed139
@@ -16270,6 +21062,10 @@ sha256=064f75c31ac167e61b9b29c2cef86908ecf1e1a742019298b37799664d08d19d
md5=4231b517d216e9f80ba66f13a0f30afd
sha256=d70c64f3f4fe931e12d5af7f91ff04cd0d16dd7459061c50b3149f9e35de8091
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-ur98-1.1.0.tar.bz2]
+md5=3cf8928411458baaa9e726e51772c550
+sha256=214bceb0fd52a932d448ce03d66539eed2e6660617e3d42977704cb7eec6472a
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-ur98-X11R7.0-1.0.0.5.tar.bz2]
md5=9b1530b3dcbb77690ad0e61f60489899
sha256=2cbcca2d5c62de8376bbc9e1fea6f4564ece32f6f6b5e926b199c2e60a3dae7d
@@ -16278,10 +21074,26 @@ sha256=2cbcca2d5c62de8376bbc9e1fea6f4564ece32f6f6b5e926b199c2e60a3dae7d
md5=7e8288f4f75bcba1e3aaf6ef68664b38
sha256=f06dea24204c6f3f42c29d1a89f51da801082094e393a716d592d638fa9ddb66
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-vmmouse-12.4.0.tar.bz2]
+md5=313e403e56702f6c38d1a5c830b60dc2
+sha256=383e0973aad0e96812fc019cb579abaf016f97427fc07466b150fe15739ba63c
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-vmmouse-12.4.3.tar.bz2]
+md5=44730af795616ed4d4a0cd9a3a07935d
+sha256=d668c4cacd4be6d56608fbdf7779d60120f38f3315e6385a7cc87339124e77ab
+
[http://xorg.freedesktop.org/releases/X11R7.1/src/driver/xf86-input-vmmouse-X11R7.1-12.4.0.tar.bz2]
md5=f253663de03e0fbb377ce085947412b1
sha256=973a51a442d0c97eb3f76af3b148194de8a4187e74f4a68033b0480c6408db42
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-void-1.1.0.tar.bz2]
+md5=ea72a92d43b95f413347df96d6a73933
+sha256=b43c5d920821bd06b6a1a131dd071ab838bf024c3cb092c6d1f10d57b648b0e4
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-input-void-1.1.1.tar.bz2]
+md5=862c230f5f6e0c545f232b4c0fa9537a
+sha256=dde062d6267a3fd9d51b0daee88fd84fceea52a6019de51dece46e92012dbc4f
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-input-void-X11R7.0-1.0.0.5.tar.bz2]
md5=c7ae53dee1f3e95fa5ce9659b34d8446
sha256=ca90a522b78114d72748164c7a99274634cd2b50953f9c52f91b31746c790b5e
@@ -16290,6 +21102,14 @@ sha256=ca90a522b78114d72748164c7a99274634cd2b50953f9c52f91b31746c790b5e
md5=3683affae738de5ef130b6720bdfd6dd
sha256=4612a45a90fb1aec8cabd36abeaf04f202ecc45d2074427bfa9f368f95514e43
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-apm-1.1.1.tar.bz2]
+md5=ac7e05f0dfc7e02cac0bf17b9eb89b11
+sha256=09d7e6cf30b94f141f8ebe2560b301a058f645e74108edc28c908e750865dcec
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-apm-1.2.0.tar.bz2]
+md5=4f78650d79656dc803a720049d65682e
+sha256=f0fe020f892e6e3a696a490c86312a1b32672bffb7dead153c24f103540a6185
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-apm-X11R7.0-1.0.1.5.tar.bz2]
md5=323911ab16a6147d3cabceff9336a3d2
sha256=ceaf4a611b8ee8bc31bc784f1012b0d6be6380e8823f6bf03a9a1ee737264a78
@@ -16298,6 +21118,14 @@ sha256=ceaf4a611b8ee8bc31bc784f1012b0d6be6380e8823f6bf03a9a1ee737264a78
md5=a5320411ba92e637ffb233e9cbb80d13
sha256=1e43d482e570328abcb8a1e03c62f8c3e3fcaf3eb09dc885503a1add158be0a2
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-ark-0.6.0.tar.bz2]
+md5=6921479baca8f7b156029489fd335854
+sha256=e5abc4f4ae643ce56d5773f052515196f05786235e4afd155a3232e20dbc84d7
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-ark-0.7.0.tar.bz2]
+md5=6826c556ebe9a1248cbc7f7edd44f956
+sha256=8e65e73045fabe37c15f6d4895baa09346bdac2f7537607b523aacd7bcf57594
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-ark-X11R7.0-0.5.0.5.tar.bz2]
md5=342937e275dbc92f437417a3186a8222
sha256=47aa2ecf4129e72e049796571e3125ff3bc8dae7fe31e27d361470d4a3b8d548
@@ -16306,6 +21134,14 @@ sha256=47aa2ecf4129e72e049796571e3125ff3bc8dae7fe31e27d361470d4a3b8d548
md5=a5bed67815b9e650182806da301b488c
sha256=06c2462dfa65c32e31a972292531bf686c56c3f9cf21baf814ab0eda5cf26653
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-ast-0.81.0.tar.bz2]
+md5=04bc08907da13612dbc4918fe54e63e3
+sha256=b95553aaf89bef28051c82914cee2b91102dbc2370d0d855404ba453902459b8
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-ast-0.85.0.tar.bz2]
+md5=b415bf3259ad0acdaf62e3dde76e3289
+sha256=9018ff84e4866d895c037aad33fb31c79d5f47d3f54707600cc3fe6076485b28
+
[http://xorg.freedesktop.org/releases/X11R7.1/src/driver/xf86-video-ast-X11R7.1-0.81.0.tar.bz2]
md5=ac1595de8397efd740038994b1e9ef67
sha256=f0020c88ca3f86b4826c556888b476f081b80010ba78239f95e5349835ad8811
@@ -16318,6 +21154,18 @@ sha256=9b0899694000cb91d5643e2482376af24bd495cb01b4c9dcdd6ee3545b0aefae
md5=f6d559f9d20f61567d381916b376590f
sha256=d08a429e1fb1620ae81839181a4dc6cd579d52fc440d44d7bba36d19be355780
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-ati-6.7.196.tar.bz2]
+md5=06db625391c75c8be86c4dd5a5d713e6
+sha256=8923a08232255ceacf770ef767d86bbfb195dffa9559baa1b1de90f9c947a6d9
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-ati-6.7.197.tar.bz2]
+md5=7bd53945ce6d0b48b7fd558039e82aa2
+sha256=b6c67996cfdbbf9b3a191b9092f5d515dd7fae564544626792dd5ef404e29134
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-ati-6.8.0.tar.bz2]
+md5=3c97c7925ebf4162eeb3463e23adc0e3
+sha256=3863851e3c85d25cc38941eec63e866656806821b028519ae32ab8b276664fba
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-ati-X11R7.0-6.5.7.3.tar.bz2]
md5=92525195a7a36f5ffbffcb4e6a564e50
sha256=094da5eae789e50d1ebc4d7823d4c8ac701e3bbe387c0ff63285e2ab32aad1f8
@@ -16326,6 +21174,14 @@ sha256=094da5eae789e50d1ebc4d7823d4c8ac701e3bbe387c0ff63285e2ab32aad1f8
md5=c490366e7a663b4d05acb45713be45ee
sha256=4f471f90fcedd164c5e550afbe2dd3f7247b38c19e3d44b0b8941bbcdf0f1a10
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-chips-1.1.1.tar.bz2]
+md5=3182d43439ca4cbf08ff9aa76990bba3
+sha256=16a81cdb6b311176936c3326d279c0d75530adbcf9a3489eea55992ac5bc7494
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-chips-1.2.0.tar.bz2]
+md5=0fec6bee65383790485d917247a61629
+sha256=05f38c49b23be36afa68b738faf520b8dbf05b92c769107039426651801d4f99
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-chips-X11R7.0-1.0.1.3.tar.bz2]
md5=90f23505faceac30d3f46ab94f7293e1
sha256=2df2e34dc61907fb3c41b4590f51d39f951d2d74422d84f1f7d53ef6f5b25352
@@ -16334,6 +21190,14 @@ sha256=2df2e34dc61907fb3c41b4590f51d39f951d2d74422d84f1f7d53ef6f5b25352
md5=cae9b1b131c1fc1b45ad1a9604fdeb66
sha256=e851ff555f177ebe6b4d8f961e088a1e2f5947ba739e5b891eb5b3ff4cdd652b
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-cirrus-1.1.0.tar.bz2]
+md5=66344e315def275605dafb314ce59851
+sha256=5988962199d5013274f6a6952939e4f405df658bb6616ebf9954c993b1179b1b
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-cirrus-1.2.1.tar.bz2]
+md5=bc28fdedaee9059180e2534f9dbcd2f6
+sha256=e7c99ed66326df5fadf6e5d875859a430fec4369415a27cde72a91109f78bb9c
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-cirrus-X11R7.0-1.0.0.5.tar.bz2]
md5=7708693ad9d73cd76d4caef7c644a46f
sha256=29e6fdd67e8ec51c534f6123f9935a165711255d935fb9cb28cd44f9db278b3e
@@ -16342,6 +21206,10 @@ sha256=29e6fdd67e8ec51c534f6123f9935a165711255d935fb9cb28cd44f9db278b3e
md5=0af3af1dc5686e1f487815b231b3dc0a
sha256=f1a07fb7b78604b2731d9e859d50d59f16ad839da3cb75b19a99fd0500006c0c
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-cyrix-1.1.0.tar.bz2]
+md5=02ed7d5215610a3463a0307b30bb5425
+sha256=d6a66778e0f6ddd907cba5784386bd6bb526f773b5db9faa35875ba67c2ca6ad
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-cyrix-X11R7.0-1.0.0.5.tar.bz2]
md5=14f868d16554b19fef4f30398a7b9cf1
sha256=6eb51d5d4489083c8a1eeabc1fbd22baeafe6486a7940516d1e2b741564acd06
@@ -16350,6 +21218,14 @@ sha256=6eb51d5d4489083c8a1eeabc1fbd22baeafe6486a7940516d1e2b741564acd06
md5=adb1e6346efd8dfe5dcccd47d46869cb
sha256=25ba42dedc297ca2a7257fdb4e050e8d61cdd6710c8adabdb3925908b09f9d02
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-dummy-0.2.0.tar.bz2]
+md5=22b7cc20a33443cbd218bd2521850cfe
+sha256=46013885696f3c1a5e05c5d503abc69e691443319a97cf2c6a01ec031e06c910
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-dummy-0.3.0.tar.bz2]
+md5=3d96297556846bee02a74166ffb5d052
+sha256=5a4bbde0b7f0334bb63b159e5ef6e164be3699e3424734c2bd9823f20a30a278
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-dummy-X11R7.0-0.1.0.5.tar.bz2]
md5=462654f9be7e3022f97147e3390db97a
sha256=f50f6d3d7fd79c5ce40ea6039a2fb82f136b13c18afbc2b7e941d41d6568b698
@@ -16374,6 +21250,26 @@ sha256=c6032ec1753a0f5975b5a7488ca3ca0d46f84bc5dd8fcb42eebd807c7faec765
md5=c209e54fa8dcd3cd3342e84d261b02db
sha256=d03eb7e5b47e2f1e1a665700f4e22d15651dc949196b0ec880f0d63cafb6814c
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-geode-2.8.0.tar.bz2]
+md5=a2b9c70a32b0a6436d837d67fa7aae18
+sha256=f0b68171dd4256c927fbee91ecf84fa28c409b5b6b39cbf47eaa48fd73db305f
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-glide-1.0.1.tar.bz2]
+md5=a825152b086564c1011bac9e48413189
+sha256=2b636894ecd8fc3472e05e548f0390ea802f5d9db7906ac302ec8cbd1e5f64b3
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-glint-1.1.1.tar.bz2]
+md5=2cf49f701024a145bd25aff9da11d479
+sha256=d63e0dd3f5cecebaf1915193a68ac83e90c1e973e3276a71bd14651d67115e6d
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-glint-1.2.0.tar.bz2]
+md5=1f5271ac01d4475efe73ab6f2c3646f4
+sha256=a0edd1109c03efdb0f6defc18745f89fb3c11142381e2657f94d492ddd1e7419
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-glint-1.2.1.tar.bz2]
+md5=6d7afdac0a26cf201c3f3b417c31c5e1
+sha256=161780d2127d0548a2017ca461ce38e7a69afce5d921a08604e91478c6be1cda
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-glint-X11R7.0-1.0.1.3.tar.bz2]
md5=f14c2f1696c05760207adcaac856e5e5
sha256=d5b4cb7b490edc3be57c40a00299002b60b8060396b3c902b2bf92090fcbd940
@@ -16382,10 +21278,26 @@ sha256=d5b4cb7b490edc3be57c40a00299002b60b8060396b3c902b2bf92090fcbd940
md5=99073dcfdfa24df68879c7b01324e91a
sha256=21b70d71593f123c470dae2b4e75bac7478fffa50503c85b02e8f2c1945417d2
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-i128-1.1.0.5.tar.bz2]
+md5=6e0d3e09fc99d6f0a0e969613ddf58cc
+sha256=a99d2b04b829faa7542545380317c8f59f54ecbd5e0a7008580f3155742d0381
+
[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-i128-1.1.0.6.tar.bz2]
md5=c483efc90b1935025b17e4b9e9c2e4df
sha256=b52183f5a7d0adee1d21b4b0a0908886b7bbc69dc4498f1e7a3edc4b1988c41c
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-i128-1.2.1.tar.bz2]
+md5=d0080732eaa15059b0a953aa3522185a
+sha256=0d023cacf8134241cd8efcd5744eb156399406c92f59d3895392f2b5fd055eb1
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-i128-1.3.0.tar.bz2]
+md5=aff4922d2f02bad7e0d8649358edbcee
+sha256=62eadebd3417ffb3857f10f16597c59541ceb135ddbc30b2140f46d9eb7dddd7
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-i128-1.3.1.tar.bz2]
+md5=3b170a6df5114420cd4021a057918a09
+sha256=49bb23625654ebcd74d0d23f534b074188f4b21c3cd443b06ac83b9485bf9a75
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-i128-X11R7.0-1.1.0.5.tar.bz2]
md5=078eed8c3673488ee618dfc7a3ef101b
sha256=543d7b8bc0c9e7889c686a647f98641f0a9b052e58321a8a17518d680e6db95a
@@ -16394,6 +21306,14 @@ sha256=543d7b8bc0c9e7889c686a647f98641f0a9b052e58321a8a17518d680e6db95a
md5=9252e33d14c8869d995bf67e445ffb4e
sha256=4973e6bd62eb307131e179ba313cfa6e79d15184eef5324bba985e2f781bb3d4
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-i740-1.1.0.tar.bz2]
+md5=57302e225060a7286ae1a970c87a589b
+sha256=b8f2144c987d8a14f8b477ee3aa43fc1c76d040a77e40938c3c97c8e34e2b7c5
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-i740-1.2.0.tar.bz2]
+md5=d0e5a805c546b29b1dd3b55a68d16dc4
+sha256=59c8f6ee465bef033c1c20bfff8121a318efda9656d5dc29f674bb655f18486f
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-i740-X11R7.0-1.0.0.5.tar.bz2]
md5=625448b13ebe2a13b7defad1efec05c4
sha256=b0f2f2dd17bd01018fa91d042214b596f9d2303a81a0b86de102400b00f87d09
@@ -16406,6 +21326,10 @@ sha256=51c5c1503c884459d8d4f699aa095d163c2de8c8c4d434f4309916efda4c89f6
md5=fc1e0da3430551bf25a7babf7ccfd3bf
sha256=30d0cd555d8b8b5bb53d93eaae1ad2aecb5c94a760e2346d60b6e194c254e40f
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-i810-1.7.4.tar.bz2]
+md5=744a6ee1ebfe1c74e3b170b8d7ef8395
+sha256=ff8cd89c9ba39ce68dd6ac4dcb222280835d007a20b419819749298e8ec74259
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-i810-X11R7.0-1.4.1.3.tar.bz2]
md5=fe6bec726fc1657b537508bbe8c2005b
sha256=1d9227ba301152738c6b498ec512ddfa67ce7c09e40b883fdbf43cd31e85b523
@@ -16414,6 +21338,14 @@ sha256=1d9227ba301152738c6b498ec512ddfa67ce7c09e40b883fdbf43cd31e85b523
md5=fe6cc3eab247c7f0a1d152de0ee0fc80
sha256=debd142a815e5e2611433f1af97d467e50361ad5b3baa0b54fb4b61b0280ef83
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-impact-0.2.0.tar.bz2]
+md5=07c9557f6529a88845b01924313e5763
+sha256=1528a123b41bf42506eb8e37c3506086395f062cca71f64cbc67929ff1010022
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-imstt-1.1.0.tar.bz2]
+md5=94853ca217238ed1f568a10cbeebe057
+sha256=9238c2257f9437dd7ab37c049d7f20c010e2f5ff833a37d2d6243f223f10fb7d
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-imstt-X11R7.0-1.0.0.5.tar.bz2]
md5=cc949688918b78f830d78a9613e6896b
sha256=738463dbf1980b9d0f95936a2d951dc51bd776c7949215c2456580948660669e
@@ -16430,6 +21362,22 @@ sha256=d976c5f5e9c84f3817aba6ad22855446f1c2b9bfa0d53bd11c37c62cfdefa60a
md5=5cd6b3ed57c7e78ab51e9d9266e73fb6
sha256=5afdc91e93ffed09ea5258c6fde210c729ea2b44d83f98acfd92c3da7e99e64b
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-mach64-6.8.0.tar.bz2]
+md5=6081b8fa50c689d51f85c2fbaf93867e
+sha256=fba616f88d351759e00a90965e38a0d82608698ae36fc2a18df4036cd384e1a1
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-mga-1.4.1.tar.bz2]
+md5=ba373233a7d13084d14046a17b02e248
+sha256=5becb5f0caf0f99296db28b32be46eb95d0a88ac8e4829c47cb637fb52d06564
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-mga-1.4.9.tar.bz2]
+md5=11066b84b949cd04300ec819c9c51532
+sha256=d57dd2323052f064092167a232fb7576f46e5d62e98bc9cc6a7f270cc8d0fdc0
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-mga-1.9.99.tar.bz2]
+md5=29785ff1de2b0f7b7f1c48350449447c
+sha256=82a91e523d40625c9e042ee640276756d1169cca7eb305c691a3378805c4c81c
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-mga-X11R7.0-1.2.1.3.tar.bz2]
md5=cb0409782020b5cc7edc273624ffdd17
sha256=8f4ef9e7a82aa1f4624b2d87da8ff0472e3f5c2ccdc7998f4418c6906cadc915
@@ -16438,6 +21386,14 @@ sha256=8f4ef9e7a82aa1f4624b2d87da8ff0472e3f5c2ccdc7998f4418c6906cadc915
md5=b42cab6a2742bf90a205a991c281f4e2
sha256=d7e9fe8b79229cb76a2749eb9658dfa96ea580420de05170e5a7b402062a9592
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-neomagic-1.1.1.tar.bz2]
+md5=7a3d3d6e60b9686d955c45d9ebbd5c1b
+sha256=d6497080967b8285b663fedd7cafd4457578282ebd7da0b216b6fa214dd88a86
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-neomagic-1.2.1.tar.bz2]
+md5=a72f57fca4f4dff9a2c82eb1fe7456f4
+sha256=96e38d5378596174f76c735c4723ff2ac336f9069644502a9b706586b845e0a5
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-neomagic-X11R7.0-1.0.0.5.tar.bz2]
md5=ffe9015678a41e97bdbd2825066bb47b
sha256=cfaa594be277cd2a1bf9d796bb398e07319e9b34cff306b408145a37925dc97f
@@ -16478,6 +21434,26 @@ sha256=41350b8e67713fd9dcb2662e2a481e19b7de5a9d5e6dd7a346ba6662d908209b
md5=e4dc415b1e45db0bbdacc203ed33024a
sha256=97d47df7720d3cfcb56c4debca9218c3fc5352d34d82bc4880c8a620185f8c5e
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-nv-2.1.12.tar.bz2]
+md5=42f12a36d7afc26c817e8e8f5c8b7274
+sha256=f56d2bb42f6c4369dd3c6adc30988c53a229650f910b0db1bb3bf9376054011e
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-nv-2.1.3.tar.bz2]
+md5=f9b38e24157c3aac6014119ac18d76da
+sha256=8d9b5ea137c31919f7821e7f3ecbd133158813c1059f4a8ed0a723535d969952
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-nv-2.1.7.tar.bz2]
+md5=192414222f1a98e228832ee53f8178c0
+sha256=7c9135d80b519246b2a85ff0481d6ee0fddeb578d669ff490f236f85873e8c5a
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-nv-2.1.8.tar.bz2]
+md5=c3e8c98287dc98677bebfbe1ba51ab77
+sha256=825ffb97525517de9f0ff7155946c6e58c278dba11957573cc970dd3b094f94a
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-nv-2.1.9.tar.bz2]
+md5=c6b7e52fa18455c22eb040b8d2575ce5
+sha256=20d92ff3ab4b9ecc150f4ed17a7012a48f56dbf3fb51b51dde769b28922976d9
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-nv-X11R7.0-1.0.1.5.tar.bz2]
md5=9a88547fe550e20edcc5a938d31e22b1
sha256=0ce5ad1affc488f317fd297893a469ed20f451b8bd8b12bb36450ecc8c56e5d0
@@ -16486,10 +21462,30 @@ sha256=0ce5ad1affc488f317fd297893a469ed20f451b8bd8b12bb36450ecc8c56e5d0
md5=b5c7144231652242ef8436ec8898138c
sha256=8fd91ce003998739677556bf13146e9a3560970ea5342bad5c44c11fc49410cb
+[http://www.openchrome.org/releases/xf86-video-openchrome-0.2.902.tar.gz]
+md5=6e3ea28e0b0baf3dc1230da4e1a850ea
+sha256=f645da4120b3ad5356b46269ae13ef8e2315bbb443a8c147e05c611f7fa21df7
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-openchrome-0.2.903.tar.bz2]
+md5=c0820787e89958c9114d359b6a3cd464
+sha256=b7e4858d6b5c6428fae2485a2c2097cdf6073268ef812aae2ccbc3d936db7410
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-r128-6.8.0.tar.bz2]
+md5=007bec0c6b07d9d3aeca4da18e561efb
+sha256=5689ca714fee9c9272bee12883b07a0ef2c40358ffb19fa684e963027b56567b
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-radeonhd-1.2.0.tar.bz2]
+md5=6a932ec17da9ce5a6d9000c1649c3a7e
+sha256=87c6353dd52bbe22d3a45f28fb39de1dd44f41568aaf8a9b0d45a7ed62313e27
+
[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-rendition-4.1.3.tar.bz2]
md5=a8b97feccb32184820d5856fe78d34db
sha256=37e7aef72f7466485f5a3bafd0d43190cb7439de16868bfba2c59bb4c9df4408
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-rendition-4.2.0.tar.bz2]
+md5=7c03de3804d4c4f6ff59f74050d24b2b
+sha256=b57b62f707d87534a799170e31b33311449cfd7019a56e6b4fa85a4c7faaae15
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-rendition-X11R7.0-4.0.1.3.tar.bz2]
md5=f1a25db74a148dea45115e813027b932
sha256=4ad42c65f60bc7f3f37f636eae5ae5a9049cdd4df5c546f93f201fdf16213f48
@@ -16502,6 +21498,10 @@ sha256=053a60acae48000dfd03b4518fe10c6901240a8858dbfa49e0506557075a3c79
md5=d95ab6445cab477f39adfbbc81006f67
sha256=4a1206cb1a200aad8881216547d9913d0e24928138f3b1bb912a3336b9c05c97
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-s3-0.6.0.tar.bz2]
+md5=d05e7c3cb044437eda8663e174ba913c
+sha256=ed07e4648b0f405fddd563783b49f971d649dd07cc8bc7737a93ff3d90f6c067
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-s3-X11R7.0-0.3.5.5.tar.bz2]
md5=83b9e8a9b8fc1c49bda2811358e5007c
sha256=3e11f78c39eb03fe4b9e6a2b68347420297fa38cd36f42235ee4be9c87175103
@@ -16510,6 +21510,14 @@ sha256=3e11f78c39eb03fe4b9e6a2b68347420297fa38cd36f42235ee4be9c87175103
md5=3083c03884d44468e395d26a8d990c53
sha256=b9b9abdd80c00782ca2e1313016c3d3904dc10a1de1c94d29cd4efafeb1f52f3
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-s3virge-1.10.1.tar.bz2]
+md5=4a293047e988d4ea1e9e96d3b5793f43
+sha256=9094115621ef73c957cf887332717ec727c751959b1059e3d00fbfe0114a978a
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-s3virge-1.9.1.tar.bz2]
+md5=a91c73285ef67ee7cd9e2da28acb6cc4
+sha256=cef5702963f49e737fb8b1472dc0241f7a5da49f844ac77f2df3e693a84bc822
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-s3virge-X11R7.0-1.8.6.5.tar.bz2]
md5=d0164c37749ab5f565db9813487e1900
sha256=064293e33256c5baa8932b42f181ec0d2fc7c0ef5b72e655aefa72d58e2b91ff
@@ -16522,6 +21530,14 @@ sha256=075fba99f38b900416858a39c7cd62f0f3f583ee48cb52d546b12e916fa13c32
md5=6367e921a98f6a7fec9d0a9bc5ff0a47
sha256=1a9aa442152c139e3c54bc6c323bd13edf0bfff70a81c03969bcb1159317edb2
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-savage-2.1.3.tar.bz2]
+md5=9c5e541613b07de6e7b2b2df3a2e35b1
+sha256=f5f154df377cb445935d1453d6b7095d63912d5776dcb44f8d3c2f10ab1a3cc5
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-savage-2.2.1.tar.bz2]
+md5=62b8aba48b54eaefeae87df502bf219c
+sha256=adf95cae0fbaf72326c51c4c9e61486eef062bb1706f6ab46d942f2c36d8a37e
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-savage-X11R7.0-2.0.2.3.tar.bz2]
md5=6b638dd500d10dba1822d3ea5061fc65
sha256=e4ee3af5989cc9b0c8ff59082f64a564420dc22a2eb9fd53e41da24260a65e98
@@ -16530,6 +21546,14 @@ sha256=e4ee3af5989cc9b0c8ff59082f64a564420dc22a2eb9fd53e41da24260a65e98
md5=7df6bc61424a566325e48e5eb89a21e2
sha256=efc0b44d7146c0d0f966dd1f0bdf6098e086fec7a33f5b480f99fa17e2bc7cc4
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-siliconmotion-1.5.1.tar.bz2]
+md5=ee35d7714ce44a2b5ac7ad7b7b7dd75a
+sha256=54cf791695a53d4836d32f899b7d34b969edf5415f02e36956b6e72993e21cd7
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-siliconmotion-1.6.0.tar.bz2]
+md5=a8419a8ed17b02b2a6dd4d30d5e94b00
+sha256=cc5301b9c6adb9a0770509b8570d38730d43e9ffce6d6886cd9a090965017e53
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-siliconmotion-X11R7.0-1.3.1.5.tar.bz2]
md5=957de4e2a3c687dbb2e9e18582397804
sha256=6723b5b7e9ea5b3aebcbbaeaca59790e6a9ab6a7d5324c671454e426854aef3f
@@ -16546,6 +21570,10 @@ sha256=bcc0dcde5d469cc2500676e0ad29dcd12b1370066289902387ead762260e4b40
md5=e35d817fa4ee7beb6cd5aa744b9c0783
sha256=898ee8fb16fff89ba8ac5c83b9f5a2371084719db0cf034140427229191436f6
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-sis-0.9.4.tar.bz2]
+md5=43f12cabf770b06170cdd1cdaafdc50f
+sha256=50856446841526fc393af6bae0fbc39c20bb07e60056a676d0bc620446b593ac
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-sis-X11R7.0-0.8.1.3.tar.bz2]
md5=e3bac5a208b8bacfbec236b5a5b0ef40
sha256=c578fec74f7028ee28a46a62ab2b22fdcbd6de8cefa7a185e73c68b1d8a12e8b
@@ -16554,6 +21582,14 @@ sha256=c578fec74f7028ee28a46a62ab2b22fdcbd6de8cefa7a185e73c68b1d8a12e8b
md5=f3ed22290e677381dd6236ef3bbfc7ac
sha256=6c4c821941c571b39c950acd57ed4a646a6474070a68a0caa09eb7c3b2715e03
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-sisusb-0.8.1.tar.bz2]
+md5=cbd669507e4aa35e468905f09b546333
+sha256=1596b79ab3e33263bde2d456cc0376808abee80b4cde059605f176d98bdb45cb
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-sisusb-0.9.0.tar.bz2]
+md5=7b1f5465f423a859f306f4f1d6306a1b
+sha256=76b79c9b7d3b35b8e2e5354569bf0936c4afd39a9dcbdf66327714d75137930a
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-sisusb-X11R7.0-0.7.1.3.tar.bz2]
md5=781d726a0ca54b65521e383ab99043c8
sha256=6f972b126774d3d051b2f683e82661c07a1b4787b8ce04847eae80b283c5feb3
@@ -16562,6 +21598,10 @@ sha256=6f972b126774d3d051b2f683e82661c07a1b4787b8ce04847eae80b283c5feb3
md5=11d580e2cc795b902b6f1a326962190b
sha256=bfdde9894930ffddb93343647a377a1456a830687d3de6fba2010ffe31c7b04d
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-sunbw2-1.1.0.tar.bz2]
+md5=559c95f044a31cfe7f71453e9b89c35b
+sha256=d71074e941ad8f71ac476651c2ca4142a5c2243e8fecdf216bc0ffbf18338136
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-sunbw2-X11R7.0-1.0.0.5.tar.bz2]
md5=0cdda1ab939ea1190c142aa8aabfaf83
sha256=13ab882849164dd677228523b91081fa7bda6955daae128f0b8754759e2f7278
@@ -16570,6 +21610,10 @@ sha256=13ab882849164dd677228523b91081fa7bda6955daae128f0b8754759e2f7278
md5=cae0b4709a2cc489182392094fe0bba3
sha256=aa656c99ff6ba9c1013b6060c92bbcda2c30ceff72ecc49139c65eb935844f43
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-suncg14-1.1.0.tar.bz2]
+md5=9e25784e912cb2f0493b87431fd60773
+sha256=1eca2b0970e725db49f9e462a0c2e618b2616389647335b5aec9d6e495e40527
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-suncg14-X11R7.0-1.0.0.5.tar.bz2]
md5=8f3a734d02ae716415f9c6344fa661bd
sha256=809a8d57a49c07991d350d4bff955656256afa2c99978050d2aa320d071ef52d
@@ -16578,6 +21622,10 @@ sha256=809a8d57a49c07991d350d4bff955656256afa2c99978050d2aa320d071ef52d
md5=3d95d9bf985bcf13c0d040a5136334a1
sha256=f9a1ee987c554607c6fed4ae27adbf75c825d628fe522802a717429a85327487
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-suncg3-1.1.0.tar.bz2]
+md5=b9cb8cfb6a4234bebc434f744af53208
+sha256=3564ebc8ccdfea872d46559166d881e93ac7c17e3ed46bb4087960f491c37df9
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-suncg3-X11R7.0-1.0.0.5.tar.bz2]
md5=799a54cef1f4435e00fa94a1d97d056f
sha256=31831c2f44e7d28c928d816c2c5074cc0ec1f0cc83994bf28e46c7f840ab8866
@@ -16586,6 +21634,10 @@ sha256=31831c2f44e7d28c928d816c2c5074cc0ec1f0cc83994bf28e46c7f840ab8866
md5=b719d82950a39e33903882c7b878415e
sha256=9be5402d4f8f32154c01065f7b01a99e61c2deff959715eb8656259c63195adb
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-suncg6-1.1.0.tar.bz2]
+md5=aa6b7836fe6ccc99994bf15ff2b74e86
+sha256=d6b1f3b79c57ef5281e0204b2847812cf9fa5df616478f01591445a36537194b
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-suncg6-X11R7.0-1.0.0.5.tar.bz2]
md5=2227f3fb86b02148f347e002662e53c8
sha256=f6ddac6bc0b0a446ff9401467e4219340151498824d98c9274ed38a959330aea
@@ -16594,6 +21646,14 @@ sha256=f6ddac6bc0b0a446ff9401467e4219340151498824d98c9274ed38a959330aea
md5=de3773fe837b633cd7841546358a90b0
sha256=5b5e22e501b0cf03704fe4737abc49c6c2a2f08a1af28067634f4b69c838e621
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-sunffb-1.1.0.tar.bz2]
+md5=dee23564c0d8069f52c7cd29c78be667
+sha256=f897a427e83cf6965fd82724e3298aea44eb3131ba62f904cb514dfd0a879029
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-sunffb-1.2.0.tar.bz2]
+md5=816842de26bce8a935f3c9c3cfedbc42
+sha256=59f2f8fc2399a4d6b0ce733481c58694e723a989f4712c00436d35e27c059292
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-sunffb-X11R7.0-1.0.1.3.tar.bz2]
md5=bb5182e3b74b3baa6fee245ac8bbf09a
sha256=318bd61c8da6e938d5c707a0c70ba3ada1c053ff3172a918f821a1a015b7b6ce
@@ -16602,6 +21662,14 @@ sha256=318bd61c8da6e938d5c707a0c70ba3ada1c053ff3172a918f821a1a015b7b6ce
md5=5bcb5b90c679a046d604d4f98d804d0d
sha256=38406fc4e7aa1367587517b4a872fe88dd0be9751aa057b84dc62a7238ccffcc
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-sunleo-1.1.0.tar.bz2]
+md5=0408d95795d754c92d12d6476b6932a1
+sha256=b504d50f261bea9bc9dcd2a9c9c3307b24dee97c18d13b5a6deb3eb393270da9
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-sunleo-1.2.0.tar.bz2]
+md5=14fe008620940a674981912fa02ae133
+sha256=b315be97197020ae352efe48e9bcd13a572c3a03b2a4d598e89157a897746e06
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-sunleo-X11R7.0-1.0.0.5.tar.bz2]
md5=deb17a74ba68ee9593ac774206bd3612
sha256=025e3636fb59dae9285dab63de9181fc8337d1d8438b7ee8f93095d6731deb0f
@@ -16610,6 +21678,10 @@ sha256=025e3636fb59dae9285dab63de9181fc8337d1d8438b7ee8f93095d6731deb0f
md5=821ddc77ada3cd3efb0a2a7bc70bf825
sha256=6c7339466d5b3cfc3c6ea3ca4ec4bad2f16666f1c472efc4f3048c1f711c67d4
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-suntcx-1.1.0.tar.bz2]
+md5=779a31151e44d2fd2a5ee1794f836889
+sha256=72986a3981b746f60df1aba443d610db437fe8d5053e64630686f471c47b01cf
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-suntcx-X11R7.0-1.0.0.5.tar.bz2]
md5=74d6ba5e55afdfebff84db08b6589e26
sha256=38eb95f2991fab51c3442022bcef258de508ebfa0c631024edbdf55a1c4f24fd
@@ -16622,6 +21694,10 @@ sha256=275a6082d3d11614dbc737bab505b9dd72bcbfae44af6ccbe115db66bb2ad2f1
md5=04c49acb5c5dbde14eabd32d06df6e73
sha256=6b1a00df5c9628817d08f07c6f18f578950744f3eb63b4397be8b0754e728624
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-tdfx-1.4.0.tar.bz2]
+md5=b13132f24683ef759bfb0c1db5096496
+sha256=c3be06d324f2e49ece1f243b10d7180a32fbe65dbbb81e162279c8608800dead
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-tdfx-X11R7.0-1.1.1.3.tar.bz2]
md5=0201415230bf0454384c3bad099520d2
sha256=65e95c95bc4fa5fdb766b7edf8f39253cf8496fca66bc4bc06f260ab9e9ce504
@@ -16630,6 +21706,14 @@ sha256=65e95c95bc4fa5fdb766b7edf8f39253cf8496fca66bc4bc06f260ab9e9ce504
md5=21500d264bccecde3122835bc39c7793
sha256=018d27561286d39ea4fea5967f2433c6748da51472bd63db0c74bc32f18417e1
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-tga-1.1.0.tar.bz2]
+md5=9eda4d4490706b2dd8f4ecdbaf779856
+sha256=50143dfdd259fd114dc2f41518a4898d5407bf55422251df75812b96a1fa6e9b
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-tga-1.2.0.tar.bz2]
+md5=f3bddf0a64932ca9bd72041ccd3b5501
+sha256=a92f8cad0e21318be465719a9f30a50d5719b0b70bf8e15f3937e7850cf1aea6
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-tga-X11R7.0-1.0.0.5.tar.bz2]
md5=fa67bf34454888d38e15708395cfed87
sha256=96b071b4e12dcfd027402621b897c6d73818aada4d66f77a8802cc46b9efe206
@@ -16642,6 +21726,14 @@ sha256=250ed70d94070f6f8b14540b6509e6ea25f38616b0e0c443f232cc4028765db7
md5=c0e8b2f54942b6902b7dd4f30defe800
sha256=d23eb8fa165d238ddf64da63dcd60c70a01cd761608a18402cfb95aed6722495
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-trident-1.2.4.tar.bz2]
+md5=7f628f7eb4abdc4c49bb252eefc4335a
+sha256=f942596e7427a089be9c9353c45c22002999580197c9715d9363d19ee170ba8d
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-trident-1.3.0.tar.bz2]
+md5=e89799579d0cf3858362bd751469e0bf
+sha256=a4f66c9f46f6e93c2c1f10e782a211ddc338b0ff9f0a2ccd2d660db031d3ddb5
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-trident-X11R7.0-1.0.1.2.tar.bz2]
md5=69f28afc7b585d01bb06b1e2f872f8ea
sha256=b7958afb0204bb1d3c8a33e7a56b94a6d4f09426dbcd141ef327e28f523d42eb
@@ -16654,6 +21746,10 @@ sha256=69eda434078afe442c228195593108b860f9d297f7bd29c19c57eedeb59304ad
md5=488aa9c3ec7a95e6589afa4b50bec8b4
sha256=c9c1f3318715b7268068bc733d00bcab93924e97eb38f94548e442fd6cdfd56e
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-tseng-1.2.0.tar.bz2]
+md5=f98fc22142a009dc3a6cdf930c95203f
+sha256=1090d9100934329000ac330d0c66a0ac4f60d2ba83196ea15c2833a28a18b1e3
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-tseng-X11R7.0-1.0.0.5.tar.bz2]
md5=981f46914c1e54742418f0444ea2e092
sha256=5e67a6893375585be731b0fd822e9c3407a0930f7addbc8cf01fffad57f9d0b6
@@ -16662,6 +21758,14 @@ sha256=5e67a6893375585be731b0fd822e9c3407a0930f7addbc8cf01fffad57f9d0b6
md5=62d58d822fdd32e67658bb86ab4e4390
sha256=cd41d3b58a6ce65ebe4313735a2111880b27b910e5c2e09ea91720ad230f9006
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-v4l-0.1.1.tar.bz2]
+md5=69339c38eba2cebc357d67e7a755d734
+sha256=33ad549ea3f6a8da7f58d9964f3f2d83aabc6d64c2ebc2ea0033ac8dacaec870
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-v4l-0.2.0.tar.bz2]
+md5=2251ae2a0a905764941cd7b098e85ad1
+sha256=cbff9120fbad900cbdc7ac535d04984e7b491d69a8eb0b371e30ae07cb61925d
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-v4l-X11R7.0-0.0.1.5.tar.bz2]
md5=e422c63bc83717ecd0686aef2036802b
sha256=54094ee8388e4d067e111f64bf765b677536bc11c71d39c05c83ab6ea336e0f8
@@ -16670,10 +21774,18 @@ sha256=54094ee8388e4d067e111f64bf765b677536bc11c71d39c05c83ab6ea336e0f8
md5=fac76ca4a56380f0765d884e1b20a487
sha256=97b5ada6716fd6a2821224fd952fc064cbe721c7446547136794587a2e393114
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-vermilion-1.0.1.tar.bz2]
+md5=0f7c6be1bbdc5eb43d82b356fe0f5104
+sha256=4feb4cd8d239a1b5a944c82b253d106b7f7da083fc4d87a8aeeb822c2e980d8b
+
[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-vesa-1.3.0.tar.bz2]
md5=4a307852f3b4850e436a41dab2a73676
sha256=b96c80ae81f5123ecef344dac4c734b2e281143d3ab7a7e633d6bf04c893e203
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-vesa-2.0.0.tar.bz2]
+md5=433cf6f961eb4a2ab6fcb086def0b2b4
+sha256=f20b2e429657552eea207fb8bc4b47c8e293d99c229dcb4da11b7c5bfdc1e165
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-vesa-X11R7.0-1.0.1.3.tar.bz2]
md5=049ada4df1abb5aa2b6633ba90353e78
sha256=c6601cd278ebc30a0d20b49b6284bc21b4910f8ef5d24d1c62daa1591a251452
@@ -16682,6 +21794,10 @@ sha256=c6601cd278ebc30a0d20b49b6284bc21b4910f8ef5d24d1c62daa1591a251452
md5=16a20d6bf7ba858d511e96daaf43700c
sha256=54241149f54d8355c54035a6ddf2af8a51ede1a4b72a404ff43b1bba54e465fb
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-vga-4.1.0.tar.bz2]
+md5=b93e5fe9757db779a75cd3ce97b9613d
+sha256=ca25f4c0f706688cbc2dcd03ffaf6a57a17290290257f0cc1b1f1bb261f95b41
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-vga-X11R7.0-4.0.0.5.tar.bz2]
md5=24437857707acc337cab331cc56f64e2
sha256=325a11679316f3ccd83e4c0712e45301285bda62ff716df232446211fb19cb34
@@ -16706,10 +21822,18 @@ sha256=6444f1b61a53b9ea89551d95d32bcf98d4d018d0d3ff9c34626c5c24d1b60507
md5=eaf1ce9fa23363799140602afaa10f37
sha256=1971fd356ba54204c3611edb9144c43c25c21167a5fa5ee725d3f2e3f9864fa9
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-vmware-10.15.2.tar.bz2]
+md5=99322cbcc9081ad44e9cba63e3df8f7e
+sha256=edae155c82d348b76dabe1373605bf6715b577cdd7a95f8b54ad534dc47c71ff
+
[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-vmware-10.16.1.tar.bz2]
md5=a5e1f2539b82206e411c3647f10c425f
sha256=91ed99ae936be5df25d310d81e31e0a7efefc023e462d93a9289ac18ebdf4e89
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-vmware-10.16.5.tar.bz2]
+md5=6d78c82ea7c2bb0fcb587d7bb4e8f60a
+sha256=3e4e9abfd806b36076083ef6cacc93b713bfa4ddefe7005edfc15c64f5174366
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-vmware-X11R7.0-10.11.1.3.tar.bz2]
md5=4df79349e26add4c23f6be8bec347ad4
sha256=79b0bf59d866d3760fa8a55b4a19d56ae7fa6a962d629a9de5c188cec5c98c9a
@@ -16722,6 +21846,10 @@ sha256=a260f9456db466fef3036aff01570f3a12fd275e35bf4c8c4c0ea0f63bf91281
md5=bc878e795688b49a595b355482d27174
sha256=3975601baee674b2bad0dfe696586f17cc913f1dc7f1d5c4e184623e0461751c
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-voodoo-1.2.0.tar.bz2]
+md5=7c681d9b57f5e1f798263fc1a9d99245
+sha256=b79ba6d5d4300570c00f8be37c536f47f2d78c18845f70f525da2a29e47c4b8c
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/driver/xf86-video-voodoo-X11R7.0-1.0.0.5.tar.bz2]
md5=e00cc814ebdb3f3067e075bc93b26199
sha256=2241fd7e5ae8de43f109f712f5125afa6ec5156068c941d7b65981ac7ce7548a
@@ -16730,6 +21858,18 @@ sha256=2241fd7e5ae8de43f109f712f5125afa6ec5156068c941d7b65981ac7ce7548a
md5=0c96fac2d303dd5981de78e704d3a067
sha256=35409b42f843ac3b352e344253f3075b2d9c8ae2ac5af02962fd67575427e066
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-wsfb-0.2.1.tar.bz2]
+md5=c159af867a9af3abc4da332189213a76
+sha256=39e358aa17d939f561a28c82b9e7beca202d7ebd7d40d401c88a9dff3d90d148
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-xgi-1.5.0.tar.bz2]
+md5=08529fd015191be9244f598aa0894aa6
+sha256=5fb23432ee8940c04494744da8b5f58bebc6ef113e96a50a74f0aa7d98a69194
+
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-xgixp-1.7.99.3.tar.bz2]
+md5=c541152aee693fad743ef7cbf75a7ffc
+sha256=13a1658ee3ead0ab8e8bf7a9c8f8f0e3e40e38138f45d8431e735cd7184fbbd8
+
[http://xorg.freedesktop.org/releases/individual/proto/xf86bigfontproto-1.1.2.tar.bz2]
md5=a318c1e86123832d7b0c95fc7d47ef35
sha256=01b475b5b27709a738db6f94ce2ded37f5db0792e8d9318069ecf1690a15f124
@@ -16898,6 +22038,10 @@ sha256=ddabfb0ccf04366820efdeb7c640ee3a648a55e51b5177c9861a5ab896e96ddd
md5=4c3d1acb8ce37ea4dd55d82aeb38e9e7
sha256=7394906dec7b50789407219f85143ae83b10938949d38adeecdd59eb50c8c1c6
+[http://xorg.freedesktop.org/releases/individual/app/xfd-1.0.1.tar.bz2]
+md5=c72abd90f50ef459bc14b39ec9fcc7f8
+sha256=111baa16780429d6739ab69b7393a18d75a10b7615dcc8cd0b0878ab9a5e2e1e
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xfd-X11R7.0-1.0.1.tar.bz2]
md5=26c83a6fe245906cc05055abf877d0f2
sha256=a3fe35b19aa957e5261a12ef78de2c62b47796aa612b2334088b3d98dcd77e8f
@@ -16930,10 +22074,18 @@ sha256=0cde8831dc56669a046f6284b0a8dabd583942837e41832e7ed57e57020c4446
md5=5d2a990bb725b6720db93f34dd91a731
sha256=791a05a2fd695508ff6b3fd3e0e2be66de28a3d0bf86ee22e14126992d7aef21
+[http://xorg.freedesktop.org/releases/individual/app/xfindproxy-1.0.1.tar.bz2]
+md5=5df3a162429bdd6ce5aea3ca5f6365b8
+sha256=6b585ceadd3e17b433e177d80837e485869d6704f1181b6f3457ae56ba1988ea
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xfindproxy-X11R7.0-1.0.1.tar.bz2]
md5=5ef22b8876bb452f670e0fc425a12504
sha256=33e4334126ee11aa6b68e0dc2c1aea0f0d37144240f650f21e10a90db9b05b6c
+[http://xorg.freedesktop.org/releases/individual/app/xfontsel-1.0.2.tar.bz2]
+md5=288fe4cf8a990e4e602aac16dd9109fb
+sha256=7a66ba3910bd7e39d58f9d4a4a588f191a874b8607369fe2cc9203a7115006a9
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xfontsel-X11R7.0-1.0.1.tar.bz2]
md5=d1df7b8622b7f8ebca4b2463118d7073
sha256=b87b5f171cb4d61e35ff0fda9231166c4b6132fe512b05e8ff63a91be47eab43
@@ -16954,6 +22106,18 @@ sha256=b9bb03820a8ba1995ffe3e5b96b6d5ebbbc0347ad1202172f13bba63b2984d54
md5=f43cb64d623b748208dfd9012d17b654
sha256=452dde2923c7ae5a2b8cb4b9735507c579c1c55a0e5e45a34210e52574ee641b
+[http://xorg.freedesktop.org/releases/individual/app/xfs-1.0.5.tar.bz2]
+md5=3fc73b5e39a1fe8b8d96563c8144cffe
+sha256=f586f2101d42e512e7d20a6a6715c3c2cad19cacbee3b4034a0818de349e38f9
+
+[http://xorg.freedesktop.org/releases/individual/app/xfs-1.0.6.tar.bz2]
+md5=a62ea490a8b97f74b53732df8fc309d8
+sha256=5a3ad18fdc67e261454740217f7c02d1b6825013abcebdcd778a4865fd823353
+
+[http://xorg.freedesktop.org/releases/individual/app/xfs-1.0.8.tar.bz2]
+md5=f10717e45535b64eb45226aac571dac2
+sha256=34b5040b3db7552fc1cdfa46f926ce5b7217ea5d77cfafbbddf94fbae6b4f482
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xfs-X11R7.0-1.0.1.tar.bz2]
md5=a297da3d906110e9c29ec56c5ea578a8
sha256=5d9df9048863f6d281fc1b71601ff7d31d5075eceeba462b3a32dd4734440c6a
@@ -16962,6 +22126,14 @@ sha256=5d9df9048863f6d281fc1b71601ff7d31d5075eceeba462b3a32dd4734440c6a
md5=b1650e876b19741762b654dcdb98be47
sha256=15094fbb2ebbe067c88ed32a62724b71019ee577c849b25aa6ebf0115efc63c6
+[http://xorg.freedesktop.org/releases/individual/app/xfsinfo-1.0.1.tar.bz2]
+md5=e98b18fbce1261de30b1de819d86f48a
+sha256=adc33443b3a7f334d2407de702004a0491f24708e0e1abe74cd8ae114cd60cd9
+
+[http://xorg.freedesktop.org/releases/individual/app/xfsinfo-1.0.2.tar.bz2]
+md5=e6c0071f6d5436113982f4a575d3f94b
+sha256=95aaca84f948fc7e25d82c58d3fdbba44911b99f3e205378ce82a786c11bb96f
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xfsinfo-X11R7.0-1.0.1.tar.bz2]
md5=55ca0cfd09b1c1555d492d6961d9af46
sha256=8d5f6ad0318a8958eaf5772657007ffb545a36c9cd8190f2511cfa03c0069d63
@@ -17006,14 +22178,30 @@ sha256=10b2f7ffbf309c12ec82b4bc28b35014cb223208d3003bab3765b70dea9d96bd
md5=fbea3ef7eec87fd669958f9cf597bfb8
sha256=d6f6052ec9bdc2a048dd34a79248ee56abd903055adc0d89d04715eb17ac1dc0
+[http://xorg.freedesktop.org/releases/individual/app/xfwp-1.0.1.tar.bz2]
+md5=0dbde8b3867032b9e4a383d46dfd7e48
+sha256=cdd6ecb453c62086dd01808a26787641add419dd42469349f79d0adeb89a6d93
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xfwp-X11R7.0-1.0.1.tar.bz2]
md5=e1ef3fef10d1f7fbd936794982a8f0be
sha256=d333ce08122e6cde1a9d4fc7cb8e58b13e9335b52fd249046e8380f23d9bf429
+[http://xorg.freedesktop.org/releases/individual/app/xgamma-1.0.1.tar.bz2]
+md5=45d8fa3c85d4bfda87251798fd605a45
+sha256=085330064fdb90a152d2d44474fa20bb81ccb6c587c144f5f9c323cb9cc31eee
+
+[http://xorg.freedesktop.org/releases/individual/app/xgamma-1.0.2.tar.bz2]
+md5=f13ddedaa63a608d3b025d326f4f5b5d
+sha256=5d3d5b230fc60aefae8f4865c17add133b5fb11377fd61c80897ef94fcccf41e
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xgamma-X11R7.0-1.0.1.tar.bz2]
md5=07167da3f6b21985e27174ec70f213c0
sha256=ec744335f06c070d30f7f256262f6326c2cfff35a0ed6178e7be18ad44ad8a86
+[http://xorg.freedesktop.org/releases/individual/app/xgc-1.0.1.tar.bz2]
+md5=72fc8dd68f585000c0a542eba0264571
+sha256=7caddfc6c34f62a4ab2dba2ba34085f6b2343b36ec1bec3b522a2188170e1093
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xgc-X11R7.0-1.0.1.tar.bz2]
md5=8cd01cf558c3eed738115abcf720277d
sha256=6151d08a12e7a9874738c46119c6ffe8383d1fe6c5d10ffc9d88e2adc8e454e8
@@ -17038,10 +22226,18 @@ sha256=6a283d383358200a9d6866d5d666a0227c8412d9c33d41f166f39c011482aed4
md5=96e5195c366064e7778af44c3e71f43a
sha256=6a283d383358200a9d6866d5d666a0227c8412d9c33d41f166f39c011482aed4
+[http://heanet.dl.sourceforge.net/xine/xine-lib-1.0.tar.gz]
+md5=96e5195c366064e7778af44c3e71f43a
+sha256=6a283d383358200a9d6866d5d666a0227c8412d9c33d41f166f39c011482aed4
+
[http://downloads.sourceforge.net/xine/xine-lib-1.1.0.tar.gz]
md5=3537cfd58d253b4be20a4975e7086e38
sha256=795085a067b3a11c1b3de48b4d07b01d8ffb6123bd188a73cb53b0605f875c64
+[http://heanet.dl.sourceforge.net/xine/xine-lib-1.1.0.tar.gz]
+md5=3537cfd58d253b4be20a4975e7086e38
+sha256=795085a067b3a11c1b3de48b4d07b01d8ffb6123bd188a73cb53b0605f875c64
+
[http://folks.o-hand.com/dodji/0xdeadbabe/xine.tgz]
md5=8b78ce490cde6eb3c586656e9bc5ead8
sha256=86402c93b332c44b4e79c568137257d567de1f95cd5f6f6e5433b7e67b40050a
@@ -17078,6 +22274,14 @@ sha256=15781cf2b15af8a2535ecc49acce77cc16573571344a71dcbe198ec12e5bb774
md5=521574088fbd688edbf91e6bae674265
sha256=06c1049f6b63d1c368a1e03e2392097919b22ff24899e190de3577bffe6fe524
+[http://xorg.freedesktop.org/releases/individual/app/xinit-1.0.9.tar.bz2]
+md5=224c36057e4416205d4e421af01a2f15
+sha256=b4218fd4ca5e431bf69cba848c21e91235fda30504634b9f6b6cd011dcbd8999
+
+[http://xorg.freedesktop.org/releases/individual/app/xinit-1.1.0.tar.bz2]
+md5=9144097186c3d2454beffe8ac3b53c6e
+sha256=c79ec1a4d60404715a626f2832f1b62f43b9d52a1e4642b40af743ee41362590
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xinit-X11R7.0-1.0.1.tar.bz2]
md5=6d2df59fa328cbc99c0de98bc2e14597
sha256=e55c61ede6760ce0d8eaac6dc386850c7873311ab038c69338e35559ec0bbd02
@@ -17086,10 +22290,18 @@ sha256=e55c61ede6760ce0d8eaac6dc386850c7873311ab038c69338e35559ec0bbd02
md5=05ae7771d2245bf325ff30b13da92666
sha256=c15dd54ad64e660d5a3e8c1ea0d14e50ba1127aab2e3211b82e3ee1e6c7045a4
+[http://xorg.freedesktop.org/releases/individual/app/xinput-1.3.0.tar.bz2]
+md5=977d657e8d7b59f7d82c98ebef444b28
+sha256=330c3e5188abf256131c162c456060804f369349e9a0e7aa3efbc54add802e45
+
[http://xorg.freedesktop.org/releases/individual/app/xkbcomp-1.0.3.tar.bz2]
md5=2fbcae1323c266edf5b6c61751f2e343
sha256=0635bae5dae3c933ebba997475ae14fa213aee1f2ea8aaff2ca76c50f8aec716
+[http://xorg.freedesktop.org/releases/individual/app/xkbcomp-1.0.4.tar.bz2]
+md5=d5122f1d5a91725a81c843f3bd388244
+sha256=fefc574bf639d64348939edf9654306af2bb3c20447be9cff493cb06d87cb672
+
[http://xorg.freedesktop.org/releases/individual/app/xkbcomp-1.0.5.tar.bz2]
md5=6cc96c3e4ed5d9802fe717beac008f19
sha256=204403e0388e83127212109310037d17f56c3c3fd3c96d7dcaa0df99684f00c1
@@ -17118,6 +22330,10 @@ sha256=94e1909faa9bf754c0e78a6bea8fa6e16c0931c4a2eb1f2252b7f0fa480cb4df
md5=1f706f92334ee65818512b3b45d7be65
sha256=37af4603fa399760a055cc994c61b25778febf676af3fcfad84577f484a174e6
+[http://xorg.freedesktop.org/releases/individual/app/xkbevd-1.0.2.tar.bz2]
+md5=68f2a143716c23b566f8509d9498f516
+sha256=4b78e316ecf9a9498291f634a7e9ee712ba429d5606f300c0a27eacdaaa1f72b
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xkbevd-X11R7.0-1.0.1.tar.bz2]
md5=7ba0496f079552d1918d73bd09bde9b2
sha256=9b358d085bb4fcbfcb0a928cacd4825ba918ef21a2a5e4a3ee401f09abc97f90
@@ -17126,10 +22342,18 @@ sha256=9b358d085bb4fcbfcb0a928cacd4825ba918ef21a2a5e4a3ee401f09abc97f90
md5=af4fb106610b4ee3e36ddfdfe213f40f
sha256=86ab048045dcd1de690de0b040235040f496c686730ad557c912e0f40edf5c4a
+[http://xorg.freedesktop.org/releases/individual/app/xkbprint-1.0.1.tar.bz2]
+md5=b98ae2d8b21c545b7b322d0b302efefa
+sha256=008dffea5b213880cb3ebd40d0b9bf0cc10392fb0349831efdebf2a428dd2e17
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xkbprint-X11R7.0-1.0.1.tar.bz2]
md5=6235c39690968d0a9a4c1b1c16c8905a
sha256=d2e9c3c28e23010441ce40c48bda7adabd338a256cb9b99848be6ed937fc10e7
+[http://xorg.freedesktop.org/releases/individual/app/xkbutils-1.0.1.tar.bz2]
+md5=84396a3dd75337caaae29d8fa5616fb1
+sha256=aaad73ed8db764978a18bc6ba774d38a4c1330c86622c0b47ae3ced09c175856
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xkbutils-X11R7.0-1.0.1.tar.bz2]
md5=798502eca0c6c3e8c02d76fabb910532
sha256=8178a1c45af6e844ca0adcfe72fbddcbaebf3f305452a83e39768373981be92f
@@ -17138,26 +22362,58 @@ sha256=8178a1c45af6e844ca0adcfe72fbddcbaebf3f305452a83e39768373981be92f
md5=d9e9f69f9c6ef5c5a8255cfbe6a57d51
sha256=49f02ed7b0b246a640fb129fcb3d24d7560305bb6f04e69b09739554857f79f5
+[http://xlibs.freedesktop.org/xkbdesc/xkeyboard-config-1.4.tar.bz2]
+md5=a9fe7efbc67a6966c4d4501f0cf88073
+sha256=921a857dcf90a59df7feb26da5aabcf0bbfb749c46e2a46c3bc7a0280b83b0e1
+
+[http://xorg.freedesktop.org/releases/individual/app/xkill-1.0.1.tar.bz2]
+md5=f66d76abb0f75514ca32272e23cca757
+sha256=77a11aac6e4ae2132d8b7b4335be77de26655e6aa88b40e51fd2ee802f14a9de
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xkill-X11R7.0-1.0.1.tar.bz2]
md5=35f47fd58d75c1ea5f414b21a10bdbf3
sha256=fe59dfdcd43faf8efa778f9b2390525a606a62dcd7a70774982bc19301f6a3ce
+[http://xorg.freedesktop.org/releases/individual/app/xload-1.0.1.tar.bz2]
+md5=ba013813f9c21eb015559466f8d02a44
+sha256=8d51184d6b18eea2f64e0c5b88cd95edff8353ce6529e780f95b1f2347babbf2
+
+[http://xorg.freedesktop.org/releases/individual/app/xload-1.0.2.tar.bz2]
+md5=b41ed6b4bcfc9897366c27a94d2bf150
+sha256=86b176b6efc52557b1c7631bfdd5c17e7060a438e1e85ce15ec9657be356c50b
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xload-X11R7.0-1.0.1.tar.bz2]
md5=11080456822146ebc0118b15f4b911d9
sha256=6b5b3ef58e6646f004a5f1cbc6be8f32b824cfbf78a30bf242e4f07083668770
+[http://xorg.freedesktop.org/releases/individual/app/xlogo-1.0.1.tar.bz2]
+md5=4c5482552f38a7d42398a694cc9b2ee6
+sha256=de59f9be3d45fe93f445f39bec3cea09753a671e56863ce77e3a797d2df526b2
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xlogo-X11R7.0-1.0.1.tar.bz2]
md5=0314b2f5173da64957031400638fa5f8
sha256=1397377bae07e8907f73bc445e967d4d4400769e683c2119598d952c8ad28131
+[http://xorg.freedesktop.org/releases/individual/app/xlsatoms-1.0.1.tar.bz2]
+md5=69adcda848479acc3b82b3928812d191
+sha256=456d575a0cdb37fc9415578a3ad34ba3cf9eb5eb0f6e5a25f97ca41db416d55a
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xlsatoms-X11R7.0-1.0.1.tar.bz2]
md5=737b4d7893aa886e8e4181c94380a421
sha256=6a079872319ac7934578cace787f4f89ea87258f6dd8b33e5b4359be1256e9a3
+[http://xorg.freedesktop.org/releases/individual/app/xlsclients-1.0.1.tar.bz2]
+md5=44473b880d26bfbe8b3d4d72b183cba7
+sha256=988c71c6dc3519523fe5844ee3e49d91f843a83c783dd0baa20526d9d2981698
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xlsclients-X11R7.0-1.0.1.tar.bz2]
md5=cc0d64e90eab0b90b38355e841824588
sha256=05c269e322ed1ef54b8a32883c8676f46330ec70d85b0a158dbefc2b0e91ceb8
+[http://xorg.freedesktop.org/releases/individual/app/xlsfonts-1.0.1.tar.bz2]
+md5=ca9c6c88d0b83360b7b5092615fbf591
+sha256=c8d826194299b2b8e3c6edce7070f05421465b0118ed47135a0195d12fe8a720
+
[http://xorg.freedesktop.org/releases/individual/app/xlsfonts-1.0.2.tar.bz2]
md5=28958248590ff60ecd70e8f590d977b7
sha256=cc6e519b783b082a2fe4cd06ea5b3693ee6bdb23f4b36e7a72753c524ef5111c
@@ -17166,6 +22422,14 @@ sha256=cc6e519b783b082a2fe4cd06ea5b3693ee6bdb23f4b36e7a72753c524ef5111c
md5=e8681e5671e7f01922ce6c8f2327e602
sha256=1f8d23d5f7dac0f06bc6c6fe6ed7d8e620fe1b0057654da314e24f7c6faefc6f
+[http://xorg.freedesktop.org/releases/individual/app/xmag-1.0.1.tar.bz2]
+md5=058d168d1c7c991b8d12158433ea5f63
+sha256=1f239057cdfb2164b2e8fc229e2518d20b27a853f975e73618a4a81f09ebeb02
+
+[http://xorg.freedesktop.org/releases/individual/app/xmag-1.0.2.tar.bz2]
+md5=7c6a783e42c88360ac31d259a864a19d
+sha256=51dd943e607ddd8067fd13cd597998fb00560cbf06450a8c374563a78a86da43
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xmag-X11R7.0-1.0.1.tar.bz2]
md5=38ac487ac1b75be0253fe7f973947386
sha256=d039d857c6d334d481452c20f5e419b1e120e03e6c9af709f071d9c00ffd9cd1
@@ -17186,6 +22450,14 @@ sha256=5bd358381d75f17802a0c8dfc62dcdaf9e782ecad23c0fca3e5c5b6445ff7ba1
md5=e2571ce90bdf1517eea4d8085170fe6c
sha256=c3044870d1778b4f6d64463f0aeda2995aade1e0bea0feb6935d18bf44fcf6cb
+[http://xorg.freedesktop.org/releases/individual/app/xman-1.0.2.tar.bz2]
+md5=855f2dbfa2aff58b8b9cd6a1c1120fad
+sha256=00bc616892388c94505b09564daffbad2df2e7c684686dea2d78dbcd210212f2
+
+[http://xorg.freedesktop.org/releases/individual/app/xman-1.0.3.tar.bz2]
+md5=3d3a4b310a65ccce82472ef83acbbf97
+sha256=38e03bfa2d3d109d55342e3539be952268e405fb458fb8c4f87739594a25394a
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xman-X11R7.0-1.0.1.tar.bz2]
md5=a4f21547120952aeb8e5663ebd72e843
sha256=3d159c703ba901657d9633b239d39b21c8de68a2c3358fd1aa4175d20359ef87
@@ -17194,14 +22466,30 @@ sha256=3d159c703ba901657d9633b239d39b21c8de68a2c3358fd1aa4175d20359ef87
md5=89761d6047acca5fb6fb69eb2633afe9
sha256=a7f195777e6520a912a231c3c97a5fba82d361bfeee8948a18c026da7b04654e
+[http://xorg.freedesktop.org/releases/individual/app/xmessage-1.0.1.tar.bz2]
+md5=b3674c3a00a089764d86aa94e257ccec
+sha256=b921aef62c2a2f5c32048502cd96630e9d42493cd39d1841fde247274f24bbda
+
+[http://xorg.freedesktop.org/releases/individual/app/xmessage-1.0.2.tar.bz2]
+md5=b4b561ef11fd184989a6062962e86748
+sha256=02b4016e93acab94105fa61f6dbe13082669276ab4650b871835fb7884b0c3c3
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xmessage-X11R7.0-1.0.1.tar.bz2]
md5=5a17607184fd348c2b36b5499ae9d2e6
sha256=e9cb13ed6ae88cdeffe200ea1ec008b2413f182171c9d1ee7dede049f61df473
+[http://xorg.freedesktop.org/releases/individual/app/xmh-1.0.1.tar.bz2]
+md5=656bcbdd41818a8b5a9f7dba77a3eeba
+sha256=9471fb455ce0bfc582b865722ab7417c587c9fea82342181e9cd0a9629c2c6fa
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xmh-X11R7.0-1.0.1.tar.bz2]
md5=53af2f87dc096d84f11ca6fbd6748b34
sha256=e86cbfb7d4fcad741751afd2e1304c41af42af3d95d09745cc27fb34200d5b8b
+[http://xmlpull.org/v1/download/xmlpull_1_1_3_4c_src.tgz]
+md5=34c8a093e5678dd633411dfea88f8558
+sha256=e17aa1a26119966258a3656a262bbba0f0b036eecb6d9bf192cf4b497686f4c3
+
[http://www.xmms.org/files/1.2.x/xmms-1.2.10.tar.bz2]
md5=03a85cfc5e1877a2e1f7be4fa1d3f63c
sha256=ff9eabae2074043294a19ec7beaf0959bd076f6cd60558264faeec08f4a0eb6a
@@ -17210,6 +22498,10 @@ sha256=ff9eabae2074043294a19ec7beaf0959bd076f6cd60558264faeec08f4a0eb6a
md5=410b30968bdb4adce0baec8acc7f2ed4
sha256=c0c89d93442c85296386199dc08a8ad9b480a29deea31936e5688c2bcc9a5265
+[http://heanet.dl.sourceforge.net/xmms-mad/xmms-mad-0.10.tar.bz2]
+md5=410b30968bdb4adce0baec8acc7f2ed4
+sha256=c0c89d93442c85296386199dc08a8ad9b480a29deea31936e5688c2bcc9a5265
+
[http://mirror1.pdaxrom.org/source/src/xmms-tremor-1.0.tar.bz2]
md5=998d2a399bd0fb9a2bcde6d5bd2443d4
sha256=66514764e9aa0168af22a5b4334e9882fbb0b87285ee2055c1daceb3a2214315
@@ -17238,6 +22530,10 @@ sha256=5002223fd102fc5bd454a8b62feb9d281f454769624a071804d6bfc82416a0b4
md5=2d9472aa72a7d530509aa12df58efdf1
sha256=c26fd58cd16b13fe305b7dadcabc1764552cdd30b55e798cb218df3cb0c88f03
+[http://xorg.freedesktop.org/releases/individual/app/xmore-1.0.1.tar.bz2]
+md5=d36e918dce779a9d207b7a266f4e87c8
+sha256=653566be73c474bc45f1a6631e14b008445c74557a8f6f46effee1ac3e8f2527
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xmore-X11R7.0-1.0.1.tar.bz2]
md5=99a48c50d486b7c9098b4f5598782cac
sha256=0616d2c8d7aa990787f6c27e412c65b3f5e1b9a42b12562700bc2da953def4c1
@@ -17254,6 +22550,18 @@ sha256=019ba3dbfe2f23e5847cc839a26c630cea20fe8d62df4775a21087176908b9d7
md5=073c1b4f0029249a05800900abd13077
sha256=6044df7ff07d38c4ce1020453f259f4caa16272aca7d835204852e416dfa2605
+[http://xorg.freedesktop.org/releases/individual/doc/xorg-docs-1.0.1.tar.bz2]
+md5=78fd95f6d5ea69d91723dcc16280c664
+sha256=b7b8593b055e29dedc0631e1db9781583038afc67bce0f715fdf3201570d1e4e
+
+[http://xorg.freedesktop.org/releases/individual/doc/xorg-docs-1.2.tar.bz2]
+md5=f817c5df43817846c1b27bac83da74d7
+sha256=23648ac11d5cc57f3e1e747a73bd1c4f83c42a657969814af0d399fdd3d7beec
+
+[http://xorg.freedesktop.org/releases/individual/doc/xorg-docs-1.4.tar.bz2]
+md5=4f2005bdd430a98c262901383459009e
+sha256=fffc67e50ce396e6ddd95e842fa8351954b8f09cb729a9a062e0496a8bda4925
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/doc/xorg-docs-X11R7.0-1.0.1.tar.bz2]
md5=ac0d76afa46ef5da9e1cf33558f4b303
sha256=a3adf1c61247254cc81c80a6c020fe6a9fe0abbdc5f66f8631ec87a1a356c4ae
@@ -17262,6 +22570,10 @@ sha256=a3adf1c61247254cc81c80a6c020fe6a9fe0abbdc5f66f8631ec87a1a356c4ae
md5=a7c05bf0897ba99fe01af528c0831183
sha256=5118569d9214c308b532cfb04df9cc14288f29b307adb00e3eed7f2ab5744efb
+[http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.1.0.tar.bz2]
+md5=d070c58a598fb52c5cb86344725c4ad6
+sha256=da1d5ce91098e1187579306275a9664ef6f1cea935fabcbd72f4c77af415a461
+
[http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.2.0.tar.bz2]
md5=ea291c89e68832d570d9d5e007218bd6
sha256=e3e56b35ee13098f4ee79948beb20bfc9a06d1a7a35fb906405ff1531b92bb85
@@ -17290,6 +22602,14 @@ sha256=51b142df328d427143705371f139a08ff3bcd6efe0eab91f4178ca4017c0ebc2
md5=9a817e5f7374d45b4dbe64b21bc0fb61
sha256=9a0687812eaceaccc21d55dead47f1fbecf8300a28604bd2c08aae6ff7874cd0
+[http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.5.1.tar.bz2]
+md5=d16f5a033f001c9069b4141194614da2
+sha256=2f36880bffaee0a5b2b704376a02b22066b6842445e1d77da698854e5973eb21
+
+[http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.5.3.tar.bz2]
+md5=308971036e25250e7fe3cccfd5a120f8
+sha256=a680174f54be7763819e5275c5d5d44fc9e9b6f8e9351dd45c150eb4c182d5bb
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/xserver/xorg-server-X11R7.0-1.0.1.tar.bz2]
md5=0e7527480fb845a3c2e333bd0f47ff50
sha256=0419124e1bab473f8f9e2d7de1dba8bae2ed1375b72d55cdfb9471dac357ed47
@@ -17306,6 +22626,10 @@ sha256=211f4d13d8cd726b10553534a4d0f0267b18d39dd30b2f5bc6dfcde9f6d6b8c9
md5=ae3d4f73c42953b0a5513bb2967ab913
sha256=be1fbd7646a55eb9a9ad161f9b83034ba88a82c780e29d4a7888db2495947f25
+[http://xorg.freedesktop.org/releases/individual/doc/xorg-sgml-doctools-1.2.tar.bz2]
+md5=f930e5be117922f0841614c8d43f1ae8
+sha256=4def78f2e0e002f5693b61b53ab4325fbc150d3614fe53818e8df9b365a4dbea
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/doc/xorg-sgml-doctools-X11R7.0-1.0.1.tar.bz2]
md5=d08d4fd10ac46d8b4636efe4d8c0de74
sha256=2a676fdaf45a7a1e40f4df2cbd09d542672c2d0fe1f890a874b8719e0a448ad7
@@ -17314,6 +22638,10 @@ sha256=2a676fdaf45a7a1e40f4df2cbd09d542672c2d0fe1f890a874b8719e0a448ad7
md5=2b820facb5658160a08ff4d9ca906ad5
sha256=594d9b543d3e183d5f0a3669a2a1e3c8e18b1f10bf6952dc6c614aabe1a288b5
+[http://prdownloads.sourceforge.net/xoscope/xoscope-1.12.tgz]
+md5=89f8019a772713a976b634305d29cfe5
+sha256=d7dec98f0d85f7ce889d0b2fcb4ed683a6384057ccea2ab531a0710969ff7ca2
+
[http://math.mit.edu/~auroux/software/xournal/xournal-0.2.tar.gz]
md5=db62deddcbf4dc7d52b7da405e61ed0d
sha256=be1c24d49086a2b45462fb17deb8142533616182d728fd826a30bc32a87ed087
@@ -17330,22 +22658,46 @@ sha256=bb797a384b9acb8209fea572934d1b1484c5de41f062fe152ae99962f52f98ea
md5=b3d352d08e71606383c31da5790b8d60
sha256=dff617ca33dc263caecb6afc5d42c109166ef2a1c0fe0afa070ff6691ea0e8d7
+[http://xournal.sourceforge.net/xournal-0.4.tar.gz]
+md5=139ef3045c99dc5c07118b47ff9257e1
+sha256=4de076c38b4b64188d23821e7d7a0f6a26b1d6707e768dadda14eb69dcc84598
+
[http://repository.maemo.org/pool/maemo/ossw/source/x/xpext/xpext_1.0-5.tar.gz]
md5=1b0cb67b6f2bd7c4abef17648b062896
sha256=a3b06f5188fd9effd0799ae31352b3cd65cb913b964e2c1a923ffa9d3c08abbe
+[http://xorg.freedesktop.org/releases/individual/app/xphelloworld-1.0.1.tar.bz2]
+md5=5c7fd1e35dd63089229e357c46e4f407
+sha256=b1ca08e3ba4e5b135ee9d8675e717a6f88eafa53b031b2b821d2760897e35426
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xphelloworld-X11R7.0-1.0.1.tar.bz2]
md5=80c9a23c7efb72b9674d7af6b7346992
sha256=4fbc61ec9405b0797318dcf54f5c3a3cc83221f27014563113d2f3f78b3982bf
+[http://xorg.freedesktop.org/releases/individual/app/xplsprinters-1.0.1.tar.bz2]
+md5=c1558277f4a010473ff0744845c49537
+sha256=adc60a1808e0974b75a0e7f95022f23411a0e2e9f83e84c441cba5f28f8db072
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xplsprinters-X11R7.0-1.0.1.tar.bz2]
md5=1d0a68dada5e14ab07d7660abd4d03e3
sha256=4f54239ec09f4555d15969d44ac84719e739f78071b0f7855ec620a1f0257a3b
+[http://xorg.freedesktop.org/releases/individual/app/xpr-1.0.1.tar.bz2]
+md5=01c0a14755fc91369e8c011c9f881d5d
+sha256=b871221d23dc4fc50398e9fe0e2a6a4e951aa6c9df2c5671d069ad88f0fd6249
+
+[http://xorg.freedesktop.org/releases/individual/app/xpr-1.0.2.tar.bz2]
+md5=6b3a6896081f628bf5a2c9129417c86f
+sha256=c325a9896d1cda43a681f1c2a6a2bbb1c580ade57a882b0a8f84ffa359238adf
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xpr-X11R7.0-1.0.1.tar.bz2]
md5=487b5ab96b373acb80808758ce23eb49
sha256=8c77256313114c80d49ac5db0013c439ddf9888f2d265f66c9ee3da2de46cdf4
+[http://xorg.freedesktop.org/releases/individual/app/xprehashprinterlist-1.0.1.tar.bz2]
+md5=99ee20a9af25375895f5d7ebc1004163
+sha256=ba67e9256f703d614ab891b1d676fc26e7479094b957370cbb363c78b2f20259
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xprehashprinterlist-X11R7.0-1.0.1.tar.bz2]
md5=3907bce78d304dedb2a5dd6944bd2ed5
sha256=cc28f5d046d60c12e71b88863c502cca3c6457a07996bd54974debe115f11d73
@@ -17354,6 +22706,10 @@ sha256=cc28f5d046d60c12e71b88863c502cca3c6457a07996bd54974debe115f11d73
md5=83a43006896fc270515a86f9ccec2c35
sha256=03d2b69abb17382ead3bc796d451a61d576ff9ac2af34dcd6aba39f77e03df59
+[http://heanet.dl.sourceforge.net/xprint/xprint_mozdev_org_source-2004-07-07-release_009_001.tar.gz]
+md5=83a43006896fc270515a86f9ccec2c35
+sha256=03d2b69abb17382ead3bc796d451a61d576ff9ac2af34dcd6aba39f77e03df59
+
[http://xorg.freedesktop.org/releases/individual/app/xprop-1.0.2.tar.bz2]
md5=5b6f02a3b1cda0cadc35f84814fe53d4
sha256=88b1e65703c68f14ac6cb735737d1a0e52751a18fdc8a39d2d1e5eaa07875ca0
@@ -17446,6 +22802,10 @@ sha256=adf3f97fcb0d768e19058e94dd4aaec70ea61afa8077f6c6e99aa70bc8564e14
md5=2187897f97f0c818b27f8b8d33f31fa8
sha256=8be898b0514248d430a4c71be3ffdf6da8e296dabae27a186ed662f38c386397
+[http://xorg.freedesktop.org/releases/individual/app/xrefresh-1.0.2.tar.bz2]
+md5=1228f890f86148e4e6ae22aa73118cbb
+sha256=522831fd29c0b250f29735a01b02e96e311f200a675e45c8b3d187b6f86b32f5
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xrefresh-X11R7.0-1.0.1.tar.bz2]
md5=5a46d5fb82aeeb4d6aac58c9cc367439
sha256=9915ee47ff85d83eee825b1a44857b92b4b16558e4bf436671ae7a37f4ab65ad
@@ -17458,6 +22818,10 @@ sha256=964f96d9d86140564fa42de6f803bf3065ef287620cec4462d2fae8ca396034b
md5=d8a54596cbaf037e62b80c4585a3ca9b
sha256=67c2fc94a7ecedbaae0d1837e82e93d1d98f4a6d759828860e552119af3ce257
+[http://xorg.freedesktop.org/releases/individual/app/xrx-1.0.1.tar.bz2]
+md5=5f65e24f8a225e255beb2059e33d6b37
+sha256=a51ac7c607f2f79de771807f590ccfe8b1819dae6f30dd615dd2afbe6007c4e4
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xrx-X11R7.0-1.0.1.tar.bz2]
md5=9de3b04392c98df59c79a34fd51c385f
sha256=2a177a9f36c92fdc109260a7c04980db6920fb9d3529d79e9bc019ae7f5a310e
@@ -17466,6 +22830,14 @@ sha256=2a177a9f36c92fdc109260a7c04980db6920fb9d3529d79e9bc019ae7f5a310e
md5=aeff1063bec0e906a20b9a6bbc8a83e3
sha256=fbf0ee62f55c432cd930df45ae31b39b9db3a44a80ebb472b06e59bf8ff78d75
+[http://www.jwz.org/xscreensaver/xscreensaver-4.22.tar.gz]
+md5=9f37c428f034e581026e243445378195
+sha256=d0a4a6a60a1cad27aebc23580acdce442d3c6d8eae782883c7df08b3fc3184a1
+
+[http://www.jwz.org/xscreensaver/xscreensaver-5.07.tar.gz]
+md5=55a12fcb5d3a7231c9850ef9d9f82918
+sha256=8c50a74c07b1fffcbb20bd79e3ee92f1f52191e5a187433bb49964ccf94badb6
+
[http://gpe.linuxtogo.org/download/source/xserver-common-1.10.tar.gz]
md5=b73f38a79582e0d026a52bb5ee3ea0e3
sha256=7ada44f9b7bd1071d846e7c0dea6399ebcfd45d37b9583a4e44d18cf5c5fca29
@@ -17498,6 +22870,10 @@ sha256=c93e01cd754e8cafc6e02d32a7304d4b152e6aba9e6b0bcaea9ded12263f24b4
md5=72c8b5c4c4aa18abe4f29308d2726e1e
sha256=3e198bf84fac63cd5d93521c1646cf6dc2d959b4c84a16aa9cd1d9ca94ddd212
+[http://gpe.linuxtogo.org/download/source/xserver-common-1.21.tar.gz]
+md5=7810436d0085f8808a09ea6377526c71
+sha256=723dbbdfac6e421aa3343a2f1cef7cfb998bb5c045dcf0df870aeba6dd78b79d
+
[http://gpe.linuxtogo.org/download/source/xserver-common-1.22.tar.gz]
md5=658badd22689cdde536050f740ec8319
sha256=70a767f1109bf70353c58b0fb54626a1300fd0724017196bfd17d13a582ddd62
@@ -17538,14 +22914,34 @@ sha256=db17d017fff06df2e47f9d123bfb4f1d63a063eb3c08ec017292cc206bb293d1
md5=ba1e928daa7146e44e3c55db323884f4
sha256=f27e8dc088d9ca3aa9493ae13422a8c02ce07543780f1fe09985a0d8f41136d4
+[http://xorg.freedesktop.org/releases/individual/app/xsetmode-1.0.0.tar.bz2]
+md5=d074e79d380b031d2f60e4cd56538c93
+sha256=988b47cd922991c6e6adbce15dc386ac75690b61744b526c3af5a4eaa9afa0aa
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xsetmode-X11R7.0-1.0.0.tar.bz2]
md5=d83d6ef0b73762feab724aab95d9a4a2
sha256=ff7e076c77c35f746bc01d15d3ff9e203a45a850ef7e26ef11726b0b9f709e4a
+[http://xorg.freedesktop.org/releases/individual/app/xsetpointer-1.0.0.tar.bz2]
+md5=c94ea103e27e370e4e5030e50c5d5d69
+sha256=7d65f450420b4f764dcf38e4ccee9d608b5a5874706e716cb861bfe2586b7d4a
+
+[http://xorg.freedesktop.org/releases/individual/app/xsetpointer-1.0.1.tar.bz2]
+md5=9e5bcbeda4aaf02bfa095e41d30baee4
+sha256=495d88871eb5081e98bbae55f813f73cb3ce4145d6ca3e8f2826800166c04571
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xsetpointer-X11R7.0-1.0.0.tar.bz2]
md5=195614431e2431508e07a42a3b6d4568
sha256=103e35a5523e9237ef3a27bb8e08ab4443de5ceedfe5784be48afde6fba6cd06
+[http://xorg.freedesktop.org/releases/individual/app/xsetroot-1.0.1.tar.bz2]
+md5=fc7eeb7130bb54345671a9dbaab567ac
+sha256=897d77acd3f4a366472386139827eaac24cc423c811ef0e65e0d5eca099a3155
+
+[http://xorg.freedesktop.org/releases/individual/app/xsetroot-1.0.2.tar.bz2]
+md5=9af7db9f3052aef0b11636720b3101dd
+sha256=4f9a751f4830d479fae8ccb68ed04896dc99612789310b7917bd15c04aa3351d
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xsetroot-X11R7.0-1.0.1.tar.bz2]
md5=e2831b39cd395d6f6f4824b0e25f55ed
sha256=8327c294491dbd13c06c8d5d6bf971dca215f59facce99d3e4d0c170d7f0fe44
@@ -17554,10 +22950,18 @@ sha256=8327c294491dbd13c06c8d5d6bf971dca215f59facce99d3e4d0c170d7f0fe44
md5=63e6c23e5a2036cfba77bd22c9a7bff2
sha256=33237bb8fdad27e7f9fef9122198654e4e39081582baeb60ca4246308ffa4eb2
+[http://xorg.freedesktop.org/releases/individual/app/xsm-1.0.1.tar.bz2]
+md5=cce867ff7d0df9c0b9e682591779952c
+sha256=2f2535b5394d59be0a4bb15c12ea1b19b873a0096446ecc4c71aa81f0d99b29a
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xsm-X11R7.0-1.0.1.tar.bz2]
md5=e3588272ce3b7dc21d42ead683135a8a
sha256=c66e75117b4aa9dc3272f1568f83321a1273ab50309fcb4bc64e62d124596a49
+[http://go-mono.com/sources/xsp/xsp-1.2.5.tar.bz2]
+md5=adb7871e5ebeefcf8ed959523442c0fb
+sha256=25c246b7ed3e82a5f3562c2c15db551332830de4c238a53e3260ab7d40cd015a
+
[http://repository.maemo.org/pool/maemo/ossw/source/x/xsp/xsp_1.0.0-8.tar.gz]
md5=2a0d8d02228d4cbd28b6e07bb7c17cf5
sha256=8b722b952b64841d996c70c3278499886c81bb5012991beed5f66f4158418f59
@@ -17566,6 +22970,10 @@ sha256=8b722b952b64841d996c70c3278499886c81bb5012991beed5f66f4158418f59
md5=cbe38d183fa6cf0d7c29b4befd0d71d6
sha256=f5d79766715012ea7bb7ef164994963950c3343ef025ee71d1540aa26ab48c8c
+[http://xorg.freedesktop.org/releases/individual/app/xstdcmap-1.0.1.tar.bz2]
+md5=86ab558441edfb86f853639e4290a754
+sha256=0d920660137dee514599f63b5a8c8ce14d2474607e28e32c973cafb360f7e738
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xstdcmap-X11R7.0-1.0.1.tar.bz2]
md5=e276aa02d44dcacf5ac13aa0cabd404d
sha256=3af07e423eddf28593a424f6cd53291d1413b905ddd6915aaa3f44007b238a8c
@@ -17594,10 +23002,18 @@ sha256=16bc4646f105efd3d0dd105899ac19035d67acf50950ca8c70cf68772508272d
md5=96e142331edd498a9364887b2548f1bb
sha256=9ff21a8d9ea524ca9b7cb6d6b4d522b4cb20b1c35edeb8995a9e9265a0df64bd
+[http://xorg.freedesktop.org/releases/individual/lib/xtrans-1.2.tar.bz2]
+md5=a91fef8b932b21992af7dfff7b2643f3
+sha256=d6c3cabd5ecd0183a8a9bc6b3471545df8e2c78956b4c4cfd48f0c545a88c9a4
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/lib/xtrans-X11R7.0-1.0.0.tar.bz2]
md5=153642136a003871a9093c8103d6ac5a
sha256=c9a049b4367318b53cbad02bc7e3c4450778e3237400a515b2a6272405b8b912
+[http://xorg.freedesktop.org/releases/individual/app/xtrap-1.0.2.tar.bz2]
+md5=97a62a011a11f03b46d72851aa298fa8
+sha256=8f513da45b0c65dff4a3d477e5600a98d677571d7ed283f52c905987dcae0fbc
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xtrap-X11R7.0-1.0.1.tar.bz2]
md5=6d56946322d2875eb33f25f5e5f621a3
sha256=be25959a38d1e2d3b54e5620863a95c2eb712c6b4bce698b88ccff66d2964559
@@ -17622,6 +23038,18 @@ sha256=a3cfc867672924f27d5ed39a99bc089cc9417d193513984f0a081a92230e947b
md5=9bcab80b474d5454477d1ca166a68c34
sha256=27b9dc2203de9b1706ca39fa6ca80ecab8807909ec901c4a345b8e41178800a1
+[http://heanet.dl.sourceforge.net/xvidcap/xvidcap-1.1.6.tar.gz]
+md5=c6add7ae452e5cecbdda6e55e7c67cdb
+sha256=17ca7b7f8ce12f7e312b2abc2da7f381dc0e964cdac6312631cd7987f02b9fba
+
+[http://heanet.dl.sourceforge.net/xvidcap/xvidcap-1.1.7rc1.tar.gz]
+md5=449ee23b6ea171f090b9de48ffefb364
+sha256=487bf07b2f9ead6a59682d091081e47cfe4ca5777de32e6cec5bef55fa51c82f
+
+[http://xorg.freedesktop.org/releases/individual/app/xvidtune-1.0.1.tar.bz2]
+md5=e0744594f4e5969b20df28d897781318
+sha256=6d0feb42c2f1d6011d97c776b9d580fd589cdf3cfe246cd99437c406a2740d36
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xvidtune-X11R7.0-1.0.1.tar.bz2]
md5=a12e27fb732cb115b6adc4c724c44c5d
sha256=f7b3925d7e9981d146d3e5774de0521e6d48e2ed99841f538f267e8bc58bf5cd
@@ -17638,14 +23066,30 @@ sha256=126e2a612ac723f9688904fcfa612688d62e520ce55c56eb34eb5390074cf150
md5=39d79590345bed51da6df838f6490cbf
sha256=5b52a7241aef8e3372fb15f58f2276e043e19a87269aa6a0330b5823bc3697f6
+[http://xorg.freedesktop.org/releases/individual/app/xwd-1.0.1.tar.bz2]
+md5=911addfb7fa402217ddac63e5c1d97c7
+sha256=c8bd9bcd64df439c2cd09eaa3e83a1297fbfed5c7d3dd8117342b3a25eeae131
+
+[http://xorg.freedesktop.org/releases/individual/app/xwd-1.0.2.tar.bz2]
+md5=0a6ef08a2ac08ad5c4dd1522eb3788a3
+sha256=ab8974e010c1957a9a65a54656215463dea324adcaa9954147ecdcc6e9307f61
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xwd-X11R7.0-1.0.1.tar.bz2]
md5=596c443465ab9ab67c59c794261d4571
sha256=8ec0abf34ec88f3681666c7727749bac1ccf3f935c1c7f78c009a764f7f0fb11
+[http://xorg.freedesktop.org/releases/individual/app/xwininfo-1.0.2.tar.bz2]
+md5=e5dbc8866a55958297f5f38205b6be1e
+sha256=9fdfd3259b335531cdba831872ec0e32c5f6df01e14b87c3187b494be75b7b66
+
[http://xorg.freedesktop.org/releases/individual/app/xwininfo-1.0.3.tar.bz2]
md5=721f84332c98c33152460bb22ba9ded6
sha256=fbe3a1aafbc6fa113e58971ff2a82605a7e106af8b810eea4b7512de58a5478a
+[http://xorg.freedesktop.org/releases/individual/app/xwininfo-1.0.4.tar.bz2]
+md5=e2a9bf5ab7f2a0866700a3b49dd8c6bf
+sha256=df9a52788632cd3338e7bd7107ac732b11b8e2c367d4600578cd77e350428ee4
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xwininfo-X11R7.0-1.0.1.tar.bz2]
md5=3ec67e4e1b9f5a1fe7e56b56ab931893
sha256=75bc03d2eafd4c7139d707fb86b023376d5a5ad2e9315dad53b250cb19e8bce1
@@ -17654,6 +23098,10 @@ sha256=75bc03d2eafd4c7139d707fb86b023376d5a5ad2e9315dad53b250cb19e8bce1
md5=6a80a6512b9286f15a5bc47d3a019bc9
sha256=55fc617d536e58f088c694e71e1a02d3019c887c9abd2222574f84866b145d5e
+[http://xorg.freedesktop.org/releases/individual/app/xwud-1.0.1.tar.bz2]
+md5=6e3c5d0297d88e890b6f5df31f73dd60
+sha256=d2de2d39b4479e23adc92d131f66e87db41441aae11b72991bb01d5f6c93336c
+
[http://xorg.freedesktop.org/releases/X11R7.0/src/app/xwud-X11R7.0-1.0.1.tar.bz2]
md5=e08d2ee04abb89a6348f47c84a1ff3ed
sha256=a10c7950ad632f07426ea9516b3743c562da8403f0da0cc678277031020f1586
@@ -17702,6 +23150,10 @@ sha256=e145638ab4b0f267075b82db5ab9f7170ae2abf1fa1212d5175c31fe4bd28477
md5=96eb282a1a3e4fea69b94f1db069f4e9
sha256=f218b25c4be2261c49b9c9e1f10c93b64eaf6132ace6bc4052cf0489e3ac56e8
+[http://heanet.dl.sourceforge.net/bedic/zbedic_1.2-2.tgz]
+md5=c7e8e267567a96cff7920a0365978c4d
+sha256=b991cc5635849353081c2a3350142484763323bc58bfa49b62285645aac129b9
+
[http://www.vanille.de/mirror/zbench-2.0.tar.bz2]
md5=75beb13ea40ce93b7a141b82fbf4437a
sha256=b1a1a5d98596fc24225968a480617feb5723390db9175cd6e01828b7fda3a921
@@ -17710,6 +23162,10 @@ sha256=b1a1a5d98596fc24225968a480617feb5723390db9175cd6e01828b7fda3a921
md5=ce40fdcd923110ee75717295a5fd4100
sha256=09bff63fdf2ae0704423ad232d31e792b342433e12306e107c14dc02f06ed507
+[http://heanet.dl.sourceforge.net/zeroconf/zcip-4.tar.gz]
+md5=ce40fdcd923110ee75717295a5fd4100
+sha256=09bff63fdf2ae0704423ad232d31e792b342433e12306e107c14dc02f06ed507
+
[http://zd1211.ath.cx/download/zd1211-driver-r77.tgz]
md5=ab79187f18b102df2fb576bd4cf733fd
sha256=8e5715e9d2bd2cb489c601ff91305f81fd662b27cb2da5486071fbab5bd8b634
@@ -17726,10 +23182,18 @@ sha256=dd71e82cd3df6ca60e629cc5655e7a380586b363a3d963482e9f151eb186dbad
md5=19f28781d76569af8551c9d11294c870
sha256=866308f6f59f7075f075d4959dff2ede47735c751251fecd1496df1ba4d338e1
+[http://heanet.dl.sourceforge.net/zd1211/zd1211-firmware-1.4.tar.bz2]
+md5=19f28781d76569af8551c9d11294c870
+sha256=866308f6f59f7075f075d4959dff2ede47735c751251fecd1496df1ba4d338e1
+
[http://downloads.sourceforge.net/zd1211/zd1211-firmware1.3.tar.bz2]
md5=cfff76ea35f4f93c37f6c99aa2058140
sha256=78b013e2e0bb4c1af1adbd7acca4299cd3d83e96d8da2731f629f562b5f153a6
+[http://heanet.dl.sourceforge.net/zd1211/zd1211-firmware1.3.tar.bz2]
+md5=cfff76ea35f4f93c37f6c99aa2058140
+sha256=78b013e2e0bb4c1af1adbd7acca4299cd3d83e96d8da2731f629f562b5f153a6
+
[http://www.cinlug.org/modules/Static_Docs/data/db/zddice/zddice_1.0.0_arm.src.tar.gz]
md5=791e8986c6e16dcd1c9878126725e06b
sha256=eba57692dadd21df8d4afaea4daf8db5179c7398e11cd019fd462aa6947f4119
@@ -17750,10 +23214,18 @@ sha256=a2683b8a6a172017f0fe6392fb07d87a5c02fc2714fbff4c98dcae67db588636
md5=538e86a10a0c373f98a4c2dff29b39dd
sha256=84568814469d4d7c44a324badb8023b049aae5d5f17e4b788a955f8d5137b3c4
+[http://heanet.dl.sourceforge.net/zile/zile-2.0beta6.tar.gz]
+md5=538e86a10a0c373f98a4c2dff29b39dd
+sha256=84568814469d4d7c44a324badb8023b049aae5d5f17e4b788a955f8d5137b3c4
+
[http://downloads.sourceforge.net/zile/zile-2.2.15.tar.gz]
md5=1fa62e2309fa52e26a5594cc38911aee
sha256=2822148fdf6f2054b51c776db21f71e817761c225b370ab3f3ce7efe3711368f
+[http://heanet.dl.sourceforge.net/zile/zile-2.2.15.tar.gz]
+md5=1fa62e2309fa52e26a5594cc38911aee
+sha256=2822148fdf6f2054b51c776db21f71e817761c225b370ab3f3ce7efe3711368f
+
[http://ftp.info-zip.org/pub/infozip/src/zip232.tar.gz]
md5=8a4da4460386e324debe97f3b7fe4d96
sha256=d0d3743f732a9baa162f80d0c4567b9c545b41a3385825042113810f2a56eb2f
@@ -17786,6 +23258,10 @@ sha256=28e73da5403faad322022e8fb327f99677841d26396a1a1f1e854c768b47cf7c
md5=7084c0d2b28108563ca45e5ec1533ba1
sha256=c4fb0477fdc110b63d867ae2a46cca7913fa6a0ca8bf574c7189329bea91dcdf
+[http://heanet.dl.sourceforge.net/zrally/zrally_0.90_src.tar.gz]
+md5=7084c0d2b28108563ca45e5ec1533ba1
+sha256=c4fb0477fdc110b63d867ae2a46cca7913fa6a0ca8bf574c7189329bea91dcdf
+
[http://handhelds.org/~zecke/oe_packages/zrev7_V1.0.1.tar.gz]
md5=fa339990ee78b0fd1bad994f0b35764c
sha256=bc3487bf3927f7e3ea46cef770724d20e820883f4173eb7f8a1332c51d9b6431
@@ -17802,6 +23278,10 @@ sha256=f539e6db53233fa75d5fa389b4807d54add312fc96de71b5eb7cf4f071719027
md5=1343c4de6d586a1b4ed2b5c97d53e717
sha256=6a136cbc7fdb38c73fe5862f21913e8fe63864063bba833c149c1098d758a12f
+[http://www.lachner-net.de/old/Frames/Software/zshopi_0.2.tar.bz2]
+md5=1343c4de6d586a1b4ed2b5c97d53e717
+sha256=6a136cbc7fdb38c73fe5862f21913e8fe63864063bba833c149c1098d758a12f
+
[http://handhelds.org/~zecke/oe_packages/zsubhunt_V1.0.0ern.tar.gz]
md5=7f1fee1e58d92fbe72ffee34078c6fa2
sha256=d31c51a3db059c564e77ee8776f441b3ea530089a7b48aa31a49d2ebf7bf9dc9
@@ -17814,6 +23294,10 @@ sha256=b23ec333618729edeafbae77b5a73183e6e168c671452b98fac2bf3f13660207
md5=2c3881503615d86b78b89ad5f4ec675c
sha256=006c061dc031e711cc3ccccbb659ffb9b09b74ff3be6c5768aecd7297738b1c0
+[http://www.gohome.org/cgi-bin/viewcvs.cgi/zten.tar.gz]
+md5=d24f03c8df5c98d510590bd9a63dc932
+sha256=7fa88dcb6da482bc20fc4916f191e9c35d01b3c0f45c9bcd66067029c49cc0b4
+
[http://www.linux-solutions.at/projects/zaurus/source/zuc_V1.1.2ern.tar.gz]
md5=c4ed24fa825940f4803bd494fd9c12a6
sha256=8e7d8d05bcc99203f4ca8231647b2a24d51b10abffeb00910cb6eeee85427f86
@@ -17830,11 +23314,31 @@ sha256=42494c9c712caaf3ca96f8abf59aaeb0fb3dbd2076c21d8642ea4c6cd9a04900
md5=a01cbe39a48579ba92582ff75a5e37c2
sha256=a832819915838b364dd19f7f5d8d632b7d0493d8a19e2d011f9b5a3f2e8cf266
+[http://heanet.dl.sourceforge.net/zapping/zvbi-0.2.22.tar.bz2]
+md5=a01cbe39a48579ba92582ff75a5e37c2
+sha256=a832819915838b364dd19f7f5d8d632b7d0493d8a19e2d011f9b5a3f2e8cf266
+
[http://downloads.sourceforge.net/zapping/zvbi-0.2.24.tar.bz2]
md5=918c8ebb03c0e2f3272e0d90a92f2289
sha256=12f5b654f6b91953391d2492a09d2c9586d5b7af419f0eeb306e1d30245659d3
+[http://heanet.dl.sourceforge.net/zapping/zvbi-0.2.25.tar.bz2]
+md5=b63c626baf1fc385df04d88bc9628a4a
+sha256=fa85c35ae5694e6b1ce0dee920c1ecb93698b66c35717368143560930aedbc13
+
[http://downloads.sourceforge.net/zziplib/zziplib-0.10.82.tar.bz2]
md5=a6538f6c44ceeed0ed7e8e356f444168
sha256=f684397ce39ec400ba3369521892b7c3a8711d3ef1be59115db9f8d57707bbb8
+[http://heanet.dl.sourceforge.net/zziplib/zziplib-0.10.82.tar.bz2]
+md5=a6538f6c44ceeed0ed7e8e356f444168
+sha256=f684397ce39ec400ba3369521892b7c3a8711d3ef1be59115db9f8d57707bbb8
+
+[http://heanet.dl.sourceforge.net/zziplib/zziplib-0.12.83.tar.bz2]
+md5=4943ab7aa141af2c339266cd66b05c74
+sha256=5cc1a53bb909922596bdd0fa967b654fe1bfbe0dcf1d34608f0b7c90e0c27867
+
+[http://heanet.dl.sourceforge.net/zziplib/zziplib-0.13.49.tar.bz2]
+md5=5f7b88ebb2bcd7e8044328482d079661
+sha256=f57c4e33eb2cdd87a6c2f01bfa4794340fbe61ea1a1cfc7dac3b6671e1dd22af
+
diff --git a/conf/distro/angstrom-2008.1.conf b/conf/distro/angstrom-2008.1.conf
index 33349fcde1..cc5be470d2 100644
--- a/conf/distro/angstrom-2008.1.conf
+++ b/conf/distro/angstrom-2008.1.conf
@@ -116,7 +116,8 @@ PREFERRED_VERSION_gcc-cross-intermediate ?= "${ANGSTROM_GCC_VERSION}"
#Loads preferred versions from files, these have weak assigments (?=), so put them at the bottom
require conf/distro/include/preferred-e-versions.inc
-require conf/distro/include/preferred-xorg-versions-X11R7.3.inc
+require conf/distro/include/preferred-xorg-versions-X11R7.4-updates.inc
+require conf/distro/include/preferred-xorg-versions-X11R7.4.inc
#avr32 only has patches for binutils 2.17 in OE
PREFERRED_VERSION_binutils_avr32 = "2.17"
diff --git a/conf/distro/include/angstrom-2007-for-openmoko.inc b/conf/distro/include/angstrom-2007-for-openmoko.inc
index 0c7fe5be49..22a2c98a16 100644
--- a/conf/distro/include/angstrom-2007-for-openmoko.inc
+++ b/conf/distro/include/angstrom-2007-for-openmoko.inc
@@ -218,7 +218,7 @@ DISTRO_EXTRA_DEPENDS += " \
DISTRO_EXTRA_RDEPENDS += "\
update-modules \
- ${@base_contains("MACHINE_FEATURES", "screen", "psplash", "",d)} \
+ ${@base_contains("MACHINE_FEATURES", "screen", "exquisite", "",d)} \
angstrom-version \
opkg opkg-collateral distro-feed-configs \
util-linux-mount util-linux-umount \
diff --git a/conf/distro/include/angstrom-2008-preferred-versions.inc b/conf/distro/include/angstrom-2008-preferred-versions.inc
index f7c1161bf2..e58eb40519 100644
--- a/conf/distro/include/angstrom-2008-preferred-versions.inc
+++ b/conf/distro/include/angstrom-2008-preferred-versions.inc
@@ -12,6 +12,9 @@ PREFERRED_VERSION_gst-pulse = "0.9.7"
PREFERRED_VERSION_gtk+ = "2.14.2"
PREFERRED_VERSION_gtkmm = "2.14.1"
PREFERRED_VERSION_inputproto = "1.4.4"
+PREFERRED_VERSION_libgemwidget = "1.0"
+PREFERRED_VERSION_libgpephone = "0.4"
+PREFERRED_VERSION_libosip2 = "2.2.2"
PREFERRED_VERSION_libsdl-x11 = "1.2.11"
PREFERRED_VERSION_libtool = "2.2.4"
PREFERRED_VERSION_libtool-native = "2.2.4"
@@ -25,4 +28,3 @@ PREFERRED_VERSION_pulseaudio = "0.9.10"
PREFERRED_VERSION_tiff = "3.8.2+4.0.0beta2"
PREFERRED_VERSION_udev = "124"
PREFERRED_VERSION_xserver-kdrive = "1.4.0.90"
-PREFERRED_VERSION_xserver-xorg = "1.4.2"
diff --git a/conf/distro/include/angstrom.inc b/conf/distro/include/angstrom.inc
index 48cbb49d2c..5d250074c5 100644
--- a/conf/distro/include/angstrom.inc
+++ b/conf/distro/include/angstrom.inc
@@ -21,6 +21,32 @@ CACHE = "${TMPDIR}/cache/${ANGSTROM_MODE}/${MACHINE}"
DEPLOY_DIR = "${TMPDIR}/deploy/${ANGSTROM_MODE}"
require conf/distro/include/angstrom-${ANGSTROM_MODE}.inc
+# ARM920T and up can use thumb mode to decrease binary size at the expense of speed
+# (the complete story is a bit more nuanced due to cache starvation)
+# Angstrom turns on thumb for armv4t machine according to this RFC:
+# http://lists.linuxtogo.org/pipermail/angstrom-distro-devel/2008-October/002714.html
+
+# We can't do ARM_INSTRUCTION_SET_armv4t since that will un-overridable in recipes like gcc
+ANGSTROM_ARM_INSTRUCTION_SET ?= "arm"
+ANGSTROM_ARM_INSTRUCTION_SET_armv4t = "thumb"
+
+ARM_INSTRUCTION_SET = "${ANGSTROM_ARM_INSTRUCTION_SET}"
+# "arm" "thumb"
+# The instruction set the compiler should use when generating application
+# code. The kernel is always compiled with arm code at present. arm code
+# is the original 32 bit ARM instruction set, thumb code is the 16 bit
+# encoded RISC sub-set. Thumb code is smaller (maybe 70% of the ARM size)
+# but requires more instructions (140% for 70% smaller code) so may be
+# slower.
+
+THUMB_INTERWORK = "yes"
+# "yes" "no"
+# Whether to compile with code to allow interworking between the two
+# instruction sets. This allows thumb code to be executed on a primarily
+# arm system and vice versa. It is strongly recommended that DISTROs not
+# turn this off - the actual cost is very small.
+
+
#Use this variable in feeds and other parts that need a URI
ANGSTROM_URI ?= "http://www.angstrom-distribution.org"
diff --git a/conf/distro/include/moko-autorev.inc b/conf/distro/include/moko-autorev.inc
index 9f5b7403a2..b63b9e0fe5 100644
--- a/conf/distro/include/moko-autorev.inc
+++ b/conf/distro/include/moko-autorev.inc
@@ -54,14 +54,13 @@ SRCREV_pn-openmoko-today2 ?= "${AUTOREV}"
SRCREV_pn-openmoko-today2-folders ?= "${AUTOREV}"
SRCREV_pn-openmoko-toolchain-scripts ?= "${AUTOREV}"
SRCREV_pn-openmoko-worldclock2 ?= "${AUTOREV}"
-#SRCREV_pn-openocd ?= "${AUTOREV}"
-#SRCREV_pn-openocd-native ?= "${AUTOREV}"
+SRCREV_pn-openocd ?= "${AUTOREV}"
+SRCREV_pn-openocd-native ?= "${AUTOREV}"
SRCREV_pn-opkg ?= "${AUTOREV}"
SRCREV_pn-opkg-native ?= "${AUTOREV}"
SRCREV_pn-opkg-sdk ?= "${AUTOREV}"
-#SRCREV_pn-packagekit ?= "${AUTOREV}"
+SRCREV_pn-packagekit ?= "${AUTOREV}"
SRCREV_pn-pyefl-sudoku ?= "${AUTOREV}"
-SRCREV_pn-python-etk ?= "${AUTOREV}"
SRCREV_pn-python-gsmd ?= "${AUTOREV}"
SRCREV_pn-tichy ?= "${AUTOREV}"
SRCREV_pn-u-boot-openmoko ?= "${AUTOREV}"
diff --git a/conf/distro/include/preferred-om-2008-versions.inc b/conf/distro/include/preferred-om-2008-versions.inc
index 43bdc8f259..96484d4d2c 100644
--- a/conf/distro/include/preferred-om-2008-versions.inc
+++ b/conf/distro/include/preferred-om-2008-versions.inc
@@ -231,7 +231,7 @@ PREFERRED_VERSION_dcopidl2cpp-native ?= "3.5.4"
PREFERRED_VERSION_dcopidl-native ?= "3.5.4"
PREFERRED_VERSION_dcron ?= "2.3.3"
PREFERRED_VERSION_ddclient ?= "3.6.3"
-PREFERRED_VERSION_debianutils ?= "2.19"
+PREFERRED_VERSION_debianutils ?= "2.30"
PREFERRED_VERSION_dejagnu ?= "1.4.4"
PREFERRED_VERSION_dejagnu-native ?= "1.4.4"
PREFERRED_VERSION_detect-stylus ?= "0.13"
@@ -1713,7 +1713,7 @@ PREFERRED_VERSION_setserial ?= "2.17"
PREFERRED_VERSION_setxkbmap ?= "1.0.4"
PREFERRED_VERSION_sgml-common ?= "0.6.3"
PREFERRED_VERSION_sgml-common-native ?= "0.6.3"
-PREFERRED_VERSION_shared-mime-info ?= "0.22"
+PREFERRED_VERSION_shared-mime-info ?= "0.51"
PREFERRED_VERSION_sharp-compat-libs ?= "0.5"
PREFERRED_VERSION_sharprom-toolchain-native ?= "1.0"
PREFERRED_VERSION_shasum-native ?= "1.0"
@@ -1932,8 +1932,8 @@ PREFERRED_VERSION_util-macros ?= "1.1.5"
PREFERRED_VERSION_util-macros-native ?= "1.1.5"
PREFERRED_VERSION_uucp ?= "1.07"
PREFERRED_VERSION_v4l2apps ?= "20020317"
-PREFERRED_VERSION_vala ?= "0.3.5"
-PREFERRED_VERSION_vala-native ?= "0.3.5"
+PREFERRED_VERSION_vala ?= "0.5.1"
+PREFERRED_VERSION_vala-native ?= "0.5.1"
PREFERRED_VERSION_vde ?= "2.0.2"
PREFERRED_VERSION_vectoroids ?= "1.1.0"
PREFERRED_VERSION_videoplayer ?= "0.1"
diff --git a/conf/distro/include/preferred-xorg-versions-X11R7.4-updates.inc b/conf/distro/include/preferred-xorg-versions-X11R7.4-updates.inc
new file mode 100644
index 0000000000..cf999a2a4d
--- /dev/null
+++ b/conf/distro/include/preferred-xorg-versions-X11R7.4-updates.inc
@@ -0,0 +1,3 @@
+# This file is for updates after X11R7.4 was released
+
+PREFERRED_VERSION_xserver-xorg ?= "1.5.3"
diff --git a/conf/distro/include/preferred-xorg-versions-X11R7.4.inc b/conf/distro/include/preferred-xorg-versions-X11R7.4.inc
index d6cdc13d5d..46fa8d496a 100644
--- a/conf/distro/include/preferred-xorg-versions-X11R7.4.inc
+++ b/conf/distro/include/preferred-xorg-versions-X11R7.4.inc
@@ -36,99 +36,44 @@ PREFERRED_VERSION_task-xorg ?= "X11R7.4"
# app
PREFERRED_VERSION_appres ?= "1.0.1"
-PREFERRED_VERSION_bdftopcf ?= "1.0.1"
-PREFERRED_VERSION_beforelight ?= "1.0.3"
PREFERRED_VERSION_bitmap ?= "1.0.3"
-PREFERRED_VERSION_editres ?= "1.0.3"
-PREFERRED_VERSION_fontosfnt ?= "1.0.4"
-PREFERRED_VERSION_fslsfonts ?= "1.0.2"
-PREFERRED_VERSION_fstobdf ?= "1.0.3"
PREFERRED_VERSION_iceauth ?= "1.0.2"
-PREFERRED_VERSION_ico ?= "1.0.2"
-PREFERRED_VERSION_lbxproxy ?= "1.0.1"
-PREFERRED_VERSION_listres ?= "1.0.1"
PREFERRED_VERSION_luit ?= "1.0.3"
PREFERRED_VERSION_mkfontdir-native ?= "1.0.4"
PREFERRED_VERSION_mkfontdir ?= "1.0.4"
PREFERRED_VERSION_mkfontscale ?= "1.0.5"
-PREFERRED_VERSION_oclock ?= "1.0.1"
-PREFERRED_VERSION_proxymngr ?= "1.0.1"
-PREFERRED_VERSION_rgb ?= "1.0.3"
-PREFERRED_VERSION_rstart ?= "1.0.2"
-PREFERRED_VERSION_scripts ?= "1.0.1"
-PREFERRED_VERSION_sessreg ?= "1.0.3"
+PREFERRED_VERSION_sessreg ?= "1.0.4"
PREFERRED_VERSION_setxkbmap ?= "1.0.4"
-PREFERRED_VERSION_showfont ?= "1.0.2"
PREFERRED_VERSION_smproxy ?= "1.0.2"
-PREFERRED_VERSION_twm ?= "1.0.4"
-PREFERRED_VERSION_viewres ?= "1.0.1"
PREFERRED_VERSION_x11perf ?= "1.5"
PREFERRED_VERSION_xauth ?= "1.0.3"
PREFERRED_VERSION_xbacklight ?= "1.1"
-PREFERRED_VERSION_xbiff ?= "1.0.1"
-PREFERRED_VERSION_xcalc ?= "1.0.2"
-PREFERRED_VERSION_xclipboard ?= "1.0.1"
-PREFERRED_VERSION_xclock ?= "1.0.3"
-PREFERRED_VERSION_xcompmgr ?= "1.1.4"
PREFERRED_VERSION_xcmsdb ?= "1.0.1"
-PREFERRED_VERSION_xconsole ?= "1.0.3"
PREFERRED_VERSION_xcursorgen ?= "1.0.2"
-PREFERRED_VERSION_xdbedizzy ?= "1.0.2"
-PREFERRED_VERSION_xditview ?= "1.0.1"
-PREFERRED_VERSION_xdm ?= "1.1.8"
PREFERRED_VERSION_xdpyinfo ?= "1.0.3"
PREFERRED_VERSION_xdriinfo ?= "1.0.2"
-PREFERRED_VERSION_xedit ?= "1.0.2"
PREFERRED_VERSION_xev ?= "1.0.3"
-PREFERRED_VERSION_xeyes ?= "1.0.1"
-PREFERRED_VERSION_xxf86dga ?= "1.0.2"
-PREFERRED_VERSION_xfd ?= "1.0.1"
-PREFERRED_VERSION_xfindproxy ?= "1.0.1"
-PREFERRED_VERSION_xfontsel ?= "1.0.2"
-PREFERRED_VERSION_xfs ?= "1.0.8"
-PREFERRED_VERSION_xfsinfo ?= "1.0.2"
-PREFERRED_VERSION_xfwp ?= "1.0.1"
PREFERRED_VERSION_xgamma ?= "1.0.2"
-PREFERRED_VERSION_xgc ?= "1.0.1"
PREFERRED_VERSION_xhost ?= "1.0.2"
-PREFERRED_VERSION_xinit ?= "1.0.9"
PREFERRED_VERSION_xinput ?= "1.3.0"
PREFERRED_VERSION_xkbcomp ?= "1.0.5"
PREFERRED_VERSION_xkbevd ?= "1.0.2"
-PREFERRED_VERSION_xkbprint ?= "1.0.1"
PREFERRED_VERSION_xkbutils ?= "1.0.1"
PREFERRED_VERSION_xkill ?= "1.0.1"
-PREFERRED_VERSION_xload ?= "1.0.2"
-PREFERRED_VERSION_xlogo ?= "1.0.1"
PREFERRED_VERSION_xlsatoms ?= "1.0.1"
PREFERRED_VERSION_xlsclients ?= "1.0.1"
-PREFERRED_VERSION_xlsfonts ?= "1.0.2"
-PREFERRED_VERSION_xmag ?= "1.0.2"
-PREFERRED_VERSION_xman ?= "1.0.3"
-PREFERRED_VERSION_xmessage ?= "1.0.2"
-PREFERRED_VERSION_xmh ?= "1.0.1"
PREFERRED_VERSION_xmodmap ?= "1.0.3"
-PREFERRED_VERSION_xmore ?= "1.0.1"
-PREFERRED_VERSION_xphelloworld ?= "1.0.1"
-PREFERRED_VERSION_xplsprinters ?= "1.0.1"
PREFERRED_VERSION_xpr ?= "1.0.2"
-PREFERRED_VERSION_xprehashprinterlist ?= "1.0.1"
PREFERRED_VERSION_xprop ?= "1.0.4"
PREFERRED_VERSION_xrandr ?= "1.2.3"
PREFERRED_VERSION_xrdb ?= "1.0.5"
PREFERRED_VERSION_xrefresh ?= "1.0.2"
-PREFERRED_VERSION_xrx ?= "1.0.1"
PREFERRED_VERSION_xset ?= "1.0.4"
PREFERRED_VERSION_xsetmode ?= "1.0.0"
-PREFERRED_VERSION_xsetpointer ?= "1.0.1"
PREFERRED_VERSION_xsetroot ?= "1.0.2"
-PREFERRED_VERSION_xsm ?= "1.0.1"
-PREFERRED_VERSION_xstdcmap ?= "1.0.1"
-PREFERRED_VERSION_xtrap ?= "1.0.2"
-PREFERRED_VERSION_xvidtune ?= "1.0.1"
PREFERRED_VERSION_xvinfo ?= "1.0.2"
-PREFERRED_VERSION_xwd ?= "1.0.1"
-PREFERRED_VERSION_xwininfo ?= "1.0.3"
+PREFERRED_VERSION_xwd ?= "1.0.2"
+PREFERRED_VERSION_xwininfo ?= "1.0.4"
PREFERRED_VERSION_xwud ?= "1.0.1"
# data
@@ -142,55 +87,35 @@ PREFERRED_VERSION_xorg-sgml-doctools ?= "1.2"
# driver
PREFERRED_VERSION_xf86-input-acecad ?= "1.2.2"
PREFERRED_VERSION_xf86-input-aiptek ?= "1.1.1"
-PREFERRED_VERSION_xf86-input-calcomp ?= "1.1.2"
-PREFERRED_VERSION_xf86-input-citron ?= "2.2.1"
-PREFERRED_VERSION_xf86-input-digitaledge ?= "1.1.1"
-PREFERRED_VERSION_xf86-input-dmc ?= "1.1.2"
-PREFERRED_VERSION_xf86-input-dynapro ?= "1.1.2"
-PREFERRED_VERSION_xf86-input-elo2300 ?= "1.1.2"
-PREFERRED_VERSION_xf86-input-elographics ?= "1.2.2"
-PREFERRED_VERSION_xf86-input-evdev ?= "1.99.4"
-PREFERRED_VERSION_xf86-input-fpit ?= "1.2.0"
-PREFERRED_VERSION_xf86-input-hyperpen ?= "1.2.0"
-PREFERRED_VERSION_xf86-input-jamstudio ?= "1.2.0"
-PREFERRED_VERSION_xf86-input-joystick ?= "1.3.1"
+PREFERRED_VERSION_xf86-input-evdev ?= "2.0.4"
+PREFERRED_VERSION_xf86-input-joystick ?= "1.3.2"
PREFERRED_VERSION_xf86-input-keyboard ?= "1.3.1"
-PREFERRED_VERSION_xf86-input-magellan ?= "1.2.0"
-PREFERRED_VERSION_xf86-input-magictouch ?= "1.0.0.5"
-PREFERRED_VERSION_xf86-input-microtouch ?= "1.2.0"
PREFERRED_VERSION_xf86-input-mouse ?= "1.3.0"
-PREFERRED_VERSION_xf86-input-mutouch ?= "1.2.0"
-PREFERRED_VERSION_xf86-input-palmax ?= "1.2.0"
-PREFERRED_VERSION_xf86-input-penmount ?= "1.3.0"
-PREFERRED_VERSION_xf86-input-spaceorb ?= "1.1.1"
-PREFERRED_VERSION_xf86-input-summa ?= "1.2.0"
-PREFERRED_VERSION_xf86-input-tek4957 ?= "1.2.0"
-PREFERRED_VERSION_xf86-input-ur98 ?= "1.1.0"
+PREFERRED_VERSION_xf86-input-synaptics ?= "0.15.0"
PREFERRED_VERSION_xf86-input-vmmouse ?= "12.5.1"
PREFERRED_VERSION_xf86-input-void ?= "1.1.1"
PREFERRED_VERSION_xf86-video-apm ?= "1.2.0"
PREFERRED_VERSION_xf86-video-ark ?= "0.7.0"
PREFERRED_VERSION_xf86-video-ast ?= "0.85.0"
-PREFERRED_VERSION_xf86-video-ati ?= "6.8.0"
+PREFERRED_VERSION_xf86-video-ati ?= "6.9.0"
PREFERRED_VERSION_xf86-video-chips ?= "1.2.0"
PREFERRED_VERSION_xf86-video-cirrus ?= "1.2.1"
-PREFERRED_VERSION_xf86-video-cyrix ?= "1.1.0"
PREFERRED_VERSION_xf86-video-dummy ?= "0.3.0"
PREFERRED_VERSION_xf86-video-fbdev ?= "0.4.0"
-PREFERRED_VERSION_xf86-video-geode ?= "2.9.0"
-PREFERRED_VERSION_xf86-video-glide ?= "1.0.0"
-PREFERRED_VERSION_xf86-video-glint ?= "1.2.0"
-PREFERRED_VERSION_xf86-video-i128 ?= "1.3.0"
+PREFERRED_VERSION_xf86-video-geode ?= "2.10.1"
+PREFERRED_VERSION_xf86-video-glide ?= "1.0.1"
+PREFERRED_VERSION_xf86-video-glint ?= "1.2.1"
+PREFERRED_VERSION_xf86-video-i128 ?= "1.3.1"
PREFERRED_VERSION_xf86-video-i740 ?= "1.2.0"
-PREFERRED_VERSION_xf86-video-i810 ?= "1.6.5"
-PREFERRED_VERSION_xf86-video-imstt ?= "1.1.0"
-PREFERRED_VERSION_xf86-video-intel ?= "2.2.1"
-PREFERRED_VERSION_xf86-video-mga ?= "1.4.8"
+PREFERRED_VERSION_xf86-video-impact ?= "0.2.0"
+PREFERRED_VERSION_xf86-video-intel ?= "2.4.2"
+PREFERRED_VERSION_xf86-video-mach64 ?= "6.8.0"
+PREFERRED_VERSION_xf86-video-mga ?= "1.4.9"
PREFERRED_VERSION_xf86-video-neomagic ?= "1.2.1"
PREFERRED_VERSION_xf86-video-newport ?= "0.2.1"
-PREFERRED_VERSION_xf86-video-nsc ?= "2.8.3"
-PREFERRED_VERSION_xf86-video-nv ?= "2.1.9"
-PREFERRED_VERSION_xf86-video-radeonhd ?= "1.2.0"
+PREFERRED_VERSION_xf86-video-nv ?= "2.1.12"
+PREFERRED_VERSION_xf86-video-openchrome ?= "0.2.903"
+PREFERRED_VERSION_xf86-video-r128 ?= "6.8.0"
PREFERRED_VERSION_xf86-video-rendition ?= "4.2.0"
PREFERRED_VERSION_xf86-video-s3 ?= "0.6.0"
PREFERRED_VERSION_xf86-video-s3virge ?= "1.10.1"
@@ -202,20 +127,20 @@ PREFERRED_VERSION_xf86-video-sunbw2 ?= "1.1.0"
PREFERRED_VERSION_xf86-video-suncg14 ?= "1.1.0"
PREFERRED_VERSION_xf86-video-suncg3 ?= "1.1.0"
PREFERRED_VERSION_xf86-video-suncg6 ?= "1.1.0"
-PREFERRED_VERSION_xf86-video-sunffb ?= "1.1.0"
-PREFERRED_VERSION_xf86-video-sunleo ?= "1.1.0"
+PREFERRED_VERSION_xf86-video-sunffb ?= "1.2.0"
+PREFERRED_VERSION_xf86-video-sunleo ?= "1.2.0"
PREFERRED_VERSION_xf86-video-suntcx ?= "1.1.0"
PREFERRED_VERSION_xf86-video-tdfx ?= "1.4.0"
-PREFERRED_VERSION_xf86-video-tga ?= "1.1.0"
+PREFERRED_VERSION_xf86-video-tga ?= "1.2.0"
PREFERRED_VERSION_xf86-video-trident ?= "1.3.0"
PREFERRED_VERSION_xf86-video-tseng ?= "1.2.0"
PREFERRED_VERSION_xf86-video-v4l ?= "0.2.0"
-PREFERRED_VERSION_xf86-video-vermilion ?= "1.0.0"
-PREFERRED_VERSION_xf86-video-vesa ?= "1.3.0"
-PREFERRED_VERSION_xf86-video-vga ?= "4.1.0"
-PREFERRED_VERSION_xf86-video-via ?= "0.2.2"
-PREFERRED_VERSION_xf86-video-vmware ?= "10.16.1"
+PREFERRED_VERSION_xf86-video-vermilion ?= "1.0.1"
+PREFERRED_VERSION_xf86-video-vesa ?= "2.0.0"
+PREFERRED_VERSION_xf86-video-vmware ?= "10.16.5"
PREFERRED_VERSION_xf86-video-voodoo ?= "1.2.0"
+PREFERRED_VERSION_xf86-video-wsfb ?= "0.2.1"
+PREFERRED_VERSION_xf86-video-xgi ?= "1.5.0"
PREFERRED_VERSION_xf86-video-xgixp ?= "1.7.99.3"
# font
@@ -226,34 +151,35 @@ PREFERRED_VERSION_font-util ?= "1.0.1"
PREFERRED_VERSION_font-xfree86-type1 ?= "1.0.1"
# lib
-PREFERRED_VERSION_diet-x11 ?= "1.1.3"
+PREFERRED_VERSION_diet-x11 ?= "1.1.5"
+PREFERRED_VERSION_libapplewm ?= "1.0.0"
PREFERRED_VERSION_libdmx ?= "1.0.2"
PREFERRED_VERSION_libfs ?= "1.0.1"
-PREFERRED_VERSION_libfontenc ?= "1.0.4"
PREFERRED_VERSION_libice ?= "1.0.4"
-PREFERRED_VERSION_liblbxutil ?= "1.0.1"
-PREFERRED_VERSION_libsm ?= "1.0.3"
-PREFERRED_VERSION_libx11 ?= "1.1.4"
+PREFERRED_VERSION_libfontenc ?= "1.0.4"
+PREFERRED_VERSION_libsm ?= "1.1.0"
+PREFERRED_VERSION_libwindowswm ?= "1.0.0"
+PREFERRED_VERSION_libx11 ?= "1.1.5"
PREFERRED_VERSION_libx11-native ?= "1.1.1"
-PREFERRED_VERSION_libxau ?= "1.0.3"
+PREFERRED_VERSION_libxau ?= "1.0.4"
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_libxdamage ?= "1.1.1"
PREFERRED_VERSION_libxdmcp-native ?= "1.0.2"
PREFERRED_VERSION_libxdmcp ?= "1.0.2"
PREFERRED_VERSION_libxevie ?= "1.0.2"
PREFERRED_VERSION_libxext ?= "1.0.4"
PREFERRED_VERSION_libxfixes ?= "4.0.3"
-PREFERRED_VERSION_libxfont ?= "1.3.2"
+PREFERRED_VERSION_libxfont ?= "1.3.3"
PREFERRED_VERSION_libxfontcache ?= "1.0.4"
+PREFERRED_VERSION_libxft ?= "2.1.13"
PREFERRED_VERSION_libxi ?= "1.1.3"
PREFERRED_VERSION_libxinerama ?= "1.0.3"
PREFERRED_VERSION_libxkbfile ?= "1.0.5"
-PREFERRED_VERSION_libxkbui ?= "1.0.2"
PREFERRED_VERSION_libxmu ?= "1.0.4"
PREFERRED_VERSION_libxpm ?= "3.5.7"
-PREFERRED_VERSION_libxrandr ?= "1.2.2"
+PREFERRED_VERSION_libxrandr ?= "1.2.3"
PREFERRED_VERSION_libxrender ?= "0.9.4"
PREFERRED_VERSION_libxres ?= "1.0.3"
PREFERRED_VERSION_libxscrnsaver ?= "1.1.3"
@@ -263,24 +189,42 @@ PREFERRED_VERSION_libxv ?= "1.0.4"
PREFERRED_VERSION_libxvmc ?= "1.0.4"
PREFERRED_VERSION_libxxf86dga ?= "1.0.2"
PREFERRED_VERSION_libxxf86misc ?= "1.0.1"
-PREFERRED_VERSION_libxxf86vm ?= "1.0.1"
-PREFERRED_VERSION_pixman ?= "0.10.0"
-PREFERRED_VERSION_xtrans ?= "1.2"
+PREFERRED_VERSION_libxxf86vm ?= "1.0.2"
+PREFERRED_VERSION_xtrans ?= "1.2.1"
+
+# This should be here but is needed until bitbake can do
+# versioned depends
+PREFERRED_VERSION_mesa ?= "7.2"
# proto
+PREFERRED_VERSION_applewmproto ?= "1.0.3"
+PREFERRED_VERSION_bigreqsproto ?= "1.0.2"
PREFERRED_VERSION_compositeproto ?= "0.4"
PREFERRED_VERSION_damageproto ?= "1.1.0"
+PREFERRED_VERSION_dmxproto ?= "2.2.2"
PREFERRED_VERSION_fixesproto ?= "4.0"
+PREFERRED_VERSION_fontcacheproto ?= "0.1.2"
+PREFERRED_VERSION_fontsproto ?= "2.0.2"
PREFERRED_VERSION_glproto ?= "1.4.9"
-PREFERRED_VERSION_inputproto ?= "1.4.3"
+PREFERRED_VERSION_inputproto ?= "1.4.4"
PREFERRED_VERSION_kbproto ?= "1.0.3"
-PREFERRED_VERSION_printproto ?= "1.0.4"
PREFERRED_VERSION_randrproto ?= "1.2.1"
+PREFERRED_VERSION_recordproto ?= "1.13.2"
PREFERRED_VERSION_renderproto ?= "0.9.3"
+PREFERRED_VERSION_resourceproto ?= "1.0.2"
PREFERRED_VERSION_scrnsaverproto ?= "1.1.0"
+PREFERRED_VERSION_trapproto ?= "3.4.3"
+PREFERRED_VERSION_videoproto ?= "2.2.2"
+PREFERRED_VERSION_windowswmproto ?= "1.0.3"
+PREFERRED_VERSION_xmiscproto ?= "1.1.2"
+PREFERRED_VERSION_xextproto ?= "7.0.3"
PREFERRED_VERSION_xf86dgaproto ?= "2.0.3"
-PREFERRED_VERSION_xproto-native ?= "7.0.12"
-PREFERRED_VERSION_xproto ?= "7.0.12"
+PREFERRED_VERSION_xf86driproto ?= "2.0.4"
+PREFERRED_VERSION_xf86miscproto ?= "0.9.2"
+PREFERRED_VERSION_xf86vidmodeproto ?= "2.2.2"
+PREFERRED_VERSION_xinemaroproto ?= "1.1.2"
+PREFERRED_VERSION_xproto-native ?= "7.0.13"
+PREFERRED_VERSION_xproto ?= "7.0.13"
# util
PREFERRED_VERSION_gccmakedep ?= "1.0.2"
@@ -292,7 +236,7 @@ PREFERRED_VERSION_xorg-cf-files ?= "1.0.2"
# xserver
PREFERRED_VERSION_xserver-kdrive ?= "1.4"
-PREFERRED_VERSION_xserver-xorg ?= "1.4"
+PREFERRED_VERSION_xserver-xorg ?= "1.5.1"
# Unreleased packages
SRCREV_pn-libxcalibrate ?= "7b8e29186097170e930de634a4a68072558aa056"
diff --git a/conf/distro/include/sane-srcrevs.inc b/conf/distro/include/sane-srcrevs.inc
index aa0f82322d..a5537876c3 100644
--- a/conf/distro/include/sane-srcrevs.inc
+++ b/conf/distro/include/sane-srcrevs.inc
@@ -46,16 +46,16 @@ SRCREV_pn-elf2flt ?= "1786"
SRCREV_pn-epiphany ?= "7837"
SRCREV_pn-fbgrab-viewer-native ?= "1943"
SRCREV_pn-flashrom ?= "3682"
-SRCREV_pn-frameworkd ?= "a816e0412c687bf8e59e3505cce877f02e51f84d"
+SRCREV_pn-frameworkd ?= "b4fc84fef759999e9e0cb73902e4b42fbbc8351d"
SRCREV_pn-frameworkd-devel ?= "e8ad25f2e36e31e0a8afe08fbe11e54b9305aa8f"
SRCREV_pn-fso-gpsd ?= "8f82d35ae83fdc00f2c4786257e98551b9dea995"
SRCREV_pn-fso-sounds ?= "b24d3c2e66fee10a5e288101cd1b6f5bbd3da7e2"
SRCREV_pn-fstests ?= "204"
SRCREV_pn-gconf-dbus ?= "641"
-SRCREV_pn-gnuradio ?= "9721"
+SRCREV_pn-gnuradio ?= "9809"
SRCREV_pn-gpe-contacts ?= "9312"
SRCREV_pn-gpe-sketchbook ?= "9547"
-SRCREV_pn-gsm0710muxd ?= "3ff86b129640b647ccba3d86eb243d864671b039"
+SRCREV_pn-gsm0710muxd ?= "79e10fe8ad0828e5be9a5c087ac9ee04956674c1"
SRCREV_pn-gsmd2 ?= "963f34df8fa3ff4b301079dcf86e9acea6b6fe0f"
SRCREV_pn-gtkhtml2 ?= "1158"
SRCREV_pn-gypsy ?= "134"
@@ -86,7 +86,7 @@ SRCREV_pn-lightmediascanner ?= "68"
SRCREV_pn-linux-bfin ?= "3758"
SRCREV_pn-linux-hackndev-2.6 ?= "1308"
SRCREV_pn-linux-ixp4xx ?= "1066"
-SRCREV_pn-linux-openmoko ?= "f5b973489beb1a1239dfad53e3ad6e36ff7ee958"
+SRCREV_pn-linux-openmoko ?= "9706327002caebe6633c93e605882ea37172ec57"
SRCREV_pn-linux-openmoko-devel ?= "04f54c7001fb609e11ff4b2b4575c04188dbefef"
SRCREV_pn-llvm-gcc4 ?= "374"
SRCREV_pn-llvm-gcc4-cross ?= "374"
@@ -98,8 +98,8 @@ SRCREV_pn-matchbox-keyboard ?= "1910"
SRCREV_pn-matchbox-keyboard-inputmethod ?= "1910"
SRCREV_pn-matchbox-panel-2 ?= "1626"
SRCREV_pn-matchbox-stroke ?= "1820"
-SRCREV_pn-mickeydbus ?= "a63379b41241e6529e027e7ae812628a8f1f9f0b"
-SRCREV_pn-mickeyterm ?= "19de58bbe1c80a547be35f86d315ac78a75cea2a"
+SRCREV_pn-mickeydbus ?= "e2698d54e2bec9a61ac858f9773d9ca1b78cc9a5"
+SRCREV_pn-mickeyterm ?= "e2698d54e2bec9a61ac858f9773d9ca1b78cc9a5"
SRCREV_pn-moko-gtk-engine ?= "3612"
SRCREV_pn-mpd-alsa ?= "6952"
SRCREV_pn-mplayer ?= "27659"
@@ -110,7 +110,7 @@ SRCREV_pn-neod ?= "4617"
SRCREV_pn-netsurf ?= "3859"
SRCREV_pn-networkmanager ?= "3202"
SRCREV_pn-networkmanager-applet ?= "200"
-SRCREV_pn-numptyphysics = "45"
+SRCREV_pn-numptyphysics = "109"
SRCREV_pn-om-locations ?= "28d56a504a41261c363c085a38f81721cdd6683e"
SRCREV_pn-om-settings ?= "65"
SRCREV_pn-oh-puzzles ?= "22"
@@ -119,7 +119,7 @@ SRCREV_pn-osb-jscore ?= "117"
SRCREV_pn-osb-nrcit ?= "125"
SRCREV_pn-osb-nrcore ?= "126"
SRCREV_pn-openmoko-agpsui ?= "7"
-SRCREV_pn-openmoko-alsa-scenarios ?= "4406"
+SRCREV_pn-openmoko-alsa-scenarios ?= "4732"
SRCREV_pn-openmoko-appearance ?= "3262"
SRCREV_pn-openmoko-appmanager2 ?= "4530"
SRCREV_pn-openmoko-browser2 ?= "4172"
@@ -150,7 +150,7 @@ SRCREV_pn-openmoko-sample2 ?= "3537"
SRCREV_pn-openmoko-set-root-password ?= "4590"
SRCREV_pn-openmoko-sound-theme-standard2 ?= "4271"
SRCREV_pn-openmoko-tasks2 ?= "399"
-SRCREV_pn-openmoko-terminal2 ?= "4726"
+SRCREV_pn-openmoko-terminal2 ?= "4782"
SRCREV_pn-openmoko-theme-standard2 ?= "4338"
SRCREV_pn-openmoko-theme-standard2-qvga ?= "3425"
SRCREV_pn-openmoko-today2 ?= "4168"
@@ -159,9 +159,9 @@ SRCREV_pn-openmoko-toolchain-scripts ?= "4430"
SRCREV_pn-openmoko-worldclock2 ?= "3365"
SRCREV_pn-openocd ?= "517"
SRCREV_pn-openocd-native ?= "517"
-SRCREV_pn-opkg ?= "4640"
-SRCREV_pn-opkg-native ?= "4640"
-SRCREV_pn-opkg-sdk ?= "4640"
+SRCREV_pn-opkg ?= "4755"
+SRCREV_pn-opkg-native ?= "4755"
+SRCREV_pn-opkg-sdk ?= "4755"
SRCREV_pn-opkg-utils ?= "4534"
SRCREV_pn-opkg-utils-native ?= "4534"
SRCREV_pn-oprofileui ?= "173"
@@ -184,6 +184,7 @@ QEMUSRCREV = "4242"
SRCREV_pn-qemu-native ?= "${QEMUSRCREV}"
SRCREV_pn-qemu-sdk ?= "${QEMUSRCREV}"
SRCREV_pn-qemu ?= "${QEMUSRCREV}"
+SRCREV_pn-qi ?= "ed52486b43dca91891305b9e832c8366a2742798"
SRCREV_pn-remoko = "115"
SRCREV_pn-remoko-server = "115"
SRCREV_pn-s3c24xx-gpio ?= "4130"
@@ -194,10 +195,10 @@ SRCREV_pn-sphyrna-python ?= "45"
SRCREV_pn-starling ?= "9574"
SRCREV_pn-tichy ?= "168"
SRCREV_pn-tmut ?= "60"
-SRCREV_pn-u-boot-openmoko ?= "414367bf5b65942947dd5d569c27d2a8e8e5e562"
-SRCREV_pn-u-boot-openmoko-devel ?= "ba029a1426bfca169572bf80d50a8b190a6b0e19"
+SRCREV_pn-u-boot-openmoko ?= "2b78a9413619902aa4ff55a986b12ece3021fbe3"
SRCREV_pn-usbpath ?= "3172"
SRCREV_pn-usbpath-native ?= "3172"
+SRCREV_pn-vala-terminal ?= "502d62d7eb100f86380b0e78474cc360ad7944b5"
SRCREV_pn-webkit-gtk ?= "36540"
SRCREV_pn-webkit-qt ?= "28656"
SRCREV_pn-webkit-qtopia ?= "28656"
@@ -205,15 +206,17 @@ SRCREV_pn-wesnoth ?= "22021"
SRCREV_pn-wlan-ng-modules ?= "1859"
SRCREV_pn-wlan-ng-utils ?= "1859"
SRCREV_pn-xoo ?= "1971"
-SRCREV_pn-xserver-kdrive-glamo ?= "4067470ea4d569bae7b4161ca998645a0c9b96e7"
-SRCREV_pn-zhone ?= "28e01227063ab76b9144e7a443319add6b195864"
+SRCREV_pn-xserver-kdrive-glamo ?= "7fa46527131177dfba7e711d1530205a9efc5e79"
+SRCREV_pn-zhone ?= "929c78f2e83faef526064231c17958eaef72eba3"
# Enlightenment Foundation Libraries
# Caution: This is not alphabetically, but (roughly) dependency-sorted.
# Please leave it like that.
-EFL_SRCREV ?= "36540"
+EFL_SRCREV ?= "37324"
SRCREV_pn-edb-native ?= "${EFL_SRCREV}"
SRCREV_pn-edb ?= "${EFL_SRCREV}"
+SRCREV_pn-eina-native ?= "${EFL_SRCREV}"
+SRCREV_pn-eina ?= "${EFL_SRCREV}"
SRCREV_pn-eet-native ?= "${EFL_SRCREV}"
SRCREV_pn-eet ?= "${EFL_SRCREV}"
SRCREV_pn-evas-native ?= "${EFL_SRCREV}"
diff --git a/conf/distro/include/slugos.inc b/conf/distro/include/slugos.inc
index 0e58afd243..fdbeb2d04c 100644
--- a/conf/distro/include/slugos.inc
+++ b/conf/distro/include/slugos.inc
@@ -158,6 +158,9 @@ PREFERRED_VERSION_pango ?= 1.20.5
PREFERRED_VERSION_glib-2.0 ?= 2.16.1
PREFERRED_VERSION_cairo ?= 1.4.8
+# Stay with older hal because of udev dependency
+PREFERRED_VERSION_hal ?= 0.5.9
+
# Stick with an older gettext and e2fsprogs stuff
# and gnutls... (our autotools is too old at the moment)
PREFERRED_VERSION_gnutls ?= "1.6.3"
diff --git a/conf/distro/openmoko.conf b/conf/distro/openmoko.conf
index d36a6188df..a4a006f92c 100644
--- a/conf/distro/openmoko.conf
+++ b/conf/distro/openmoko.conf
@@ -60,6 +60,7 @@ PREFERRED_PROVIDER_gtk+ = "gtk+-fastscaling"
PREFERRED_VERSION_gtk+-fastscaling = "2.10.14"
# for jalimo
+PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native"
PREFERRED_PROVIDER_classpath = "classpath"
PREFERRED_PROVIDER_virtual/java-initial = "cacao-initial"
PREFERRED_PROVIDER_swt3.4-gtk = "swt3.4-gtk"
diff --git a/conf/distro/unslung.conf b/conf/distro/unslung.conf
index b59057b6ff..5cb162524f 100644
--- a/conf/distro/unslung.conf
+++ b/conf/distro/unslung.conf
@@ -45,6 +45,7 @@ PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}libc-initial:glibc-initial"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}libc-for-gcc:glibc"
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}binutils:binutils-cross"
PREFERRED_PROVIDERS += " virtual/libc:glibc"
diff --git a/conf/enterprise.conf b/conf/enterprise.conf
new file mode 100644
index 0000000000..5f89cb1c5e
--- /dev/null
+++ b/conf/enterprise.conf
@@ -0,0 +1,2 @@
+# For the enterprise edition we want to avoid certain packages by default.
+BBMASK = "${@base_conditional('ENTERPRISE_DISTRO', '1', '(gst-plugins-ugly|mp3blaster|mpg123|mpg321|smpeg|liba52|lame|libmad|mpeg2dec|xmms-mad|madplay|libsidplay|sidplayer|python-mad|opie-mediaplayer1-libmadplugin)', '', d)}"
diff --git a/conf/machine/beagleboard.conf b/conf/machine/beagleboard.conf
index 548cf764d1..a5f39cd8b3 100644
--- a/conf/machine/beagleboard.conf
+++ b/conf/machine/beagleboard.conf
@@ -7,7 +7,7 @@ PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
XSERVER = "xserver-xorg \
xf86-input-evdev \
xf86-input-mouse \
- xf86-video-fbdev \
+ xf86-video-omapfb \
xf86-input-keyboard"
# Only has DVI connector for external screen
diff --git a/conf/machine/epia.conf b/conf/machine/epia.conf
index 97d43d7a6d..a6522e9351 100644
--- a/conf/machine/epia.conf
+++ b/conf/machine/epia.conf
@@ -1,7 +1,6 @@
require conf/machine/x86.conf
TARGET_ARCH = "i586"
-PACKAGE_EXTRA_ARCHS = "i386 i486"
PREFERRED_PROVIDER_virtual/kernel = "linux-epia"
OLDEST_KERNEL = "2.6.5"
diff --git a/conf/machine/include/palm.inc b/conf/machine/include/palm.inc
index 22c6ad4233..5394855523 100644
--- a/conf/machine/include/palm.inc
+++ b/conf/machine/include/palm.inc
@@ -3,7 +3,6 @@
#
TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "arm armv4t armv5te"
SERIAL_CONSOLE = "115200 ttyS0"
diff --git a/conf/machine/ixp4xxbe.conf b/conf/machine/ixp4xxbe.conf
index 756024a3a7..575886fba6 100644
--- a/conf/machine/ixp4xxbe.conf
+++ b/conf/machine/ixp4xxbe.conf
@@ -4,7 +4,7 @@
TARGET_ARCH = "armeb"
-PACKAGE_EXTRA_ARCHS = "armv4b armv4tb armv5eb armv5teb"
+PACKAGE_EXTRA_ARCHS = "armv5eb"
require conf/machine/include/ixp4xx.inc
diff --git a/conf/machine/ixp4xxle.conf b/conf/machine/ixp4xxle.conf
index 622db3ec27..d823c08a67 100644
--- a/conf/machine/ixp4xxle.conf
+++ b/conf/machine/ixp4xxle.conf
@@ -4,7 +4,7 @@
TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te"
+PACKAGE_EXTRA_ARCHS = "armv5e"
require conf/machine/include/ixp4xx.inc
diff --git a/conf/machine/m8050.conf b/conf/machine/m8050.conf
new file mode 100644
index 0000000000..00272094ae
--- /dev/null
+++ b/conf/machine/m8050.conf
@@ -0,0 +1,28 @@
+#-----------------------------------------------------------------------------
+#@TYPE: Machine
+#@NAME: AML M8050
+#@DESCRIPTION: Machine configuration for the American Microsystems Ltd M8050 Industrial PDA
+#-----------------------------------------------------------------------------
+
+TARGET_ARCH = "arm"
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux"
+
+MACHINE_FEATURES = "kernel26 apm alsa bluetooth usbgadget usbhost wifi"
+MACHINE_DISPLAY_WIDTH_PIXELS = "240"
+MACHINE_DISPLAY_HEIGHT_PIXELS = "320"
+MACHINE_DISPLAY_ORIENTATION = "270"
+
+XSERVER = "xserver-kdrive-fbdev"
+
+# package machine specific modules
+MACHINE_EXTRA_RRECOMMENDS = "\
+ kernel-module-libertas-sdio \
+"
+
+SERIAL_CONSOLE = "115200 ttySAC1"
+
+IMAGE_FSTYPES ?= "tar.gz"
+
+# tune for S3C24x0
+include conf/machine/include/tune-arm920t.inc
diff --git a/conf/machine/mx31ads.conf b/conf/machine/mx31ads.conf
index 6a5c09796b..de429c3cce 100644
--- a/conf/machine/mx31ads.conf
+++ b/conf/machine/mx31ads.conf
@@ -7,7 +7,6 @@ TARGET_ARCH = "arm"
MACHINE_FEATURES = "kernel26 apm alsa ext2 pcmcia usbhost usbgadget"
GUI_MACHINE_CLASS = "smallscreen"
-PACKAGE_EXTRA_ARCHS = "arm armv4t armv5te armv6"
PREFERRED_PROVIDER_virtual/kernel = "${MACHINE}-kernel"
diff --git a/contrib/angstrom/build-feeds.sh b/contrib/angstrom/build-feeds.sh
index 428ddd2146..653d0b941f 100755
--- a/contrib/angstrom/build-feeds.sh
+++ b/contrib/angstrom/build-feeds.sh
@@ -57,8 +57,9 @@ do_build
# * armv7a: beagleboard
# * ppc405: dht-walnut
# * ppc603e: efika
+# * i586: qemux86
-for machine in simpad om-gta01 c7x0 nokia800 beagleboard dht-walnut efika
+for machine in simpad om-gta01 c7x0 nokia800 beagleboard dht-walnut efika qemux86
do
BUILD_MACHINE=$machine
BUILD_CLEAN="qmake-native qmake2-native qt-x11-free python gnome-icon-theme"
@@ -79,8 +80,8 @@ do
checkers \
cherokee \
claws-mail \
- ctorrent \
- distcc \
+ cvs \
+ distcc \
dsniff \
duke3d \
e-wm \
@@ -124,7 +125,8 @@ do
gpe-mini-browser2 \
gpe-scap \
gpe-sketchbook \
- gperf \
+ git \
+ gperf \
gphoto2 \
gpsdrive \
gqview \
@@ -150,7 +152,8 @@ do
lighttpd \
links-x11 \
m4 \
- mahjongg \
+ madplay \
+ mahjongg \
make \
maki \
mc \
@@ -160,7 +163,8 @@ do
mono \
mousepad \
mpfr \
- mplayer \
+ mpg123 \
+ mplayer \
mtd-utils \
mutt \
mythtv \
@@ -169,7 +173,8 @@ do
nmap \
nmm \
notecase \
- openmoko-browser2 \
+ numptyphysics \
+ openmoko-browser2 \
openredalert \
openvpn \
opie-notes \
@@ -197,6 +202,7 @@ do
rdesktop \
resistorui \
roadmap-gtk2 \
+ rtorrent \
ruby \
samba \
screen \
@@ -208,7 +214,8 @@ do
sliderulez \
sokoban \
strace \
- sugar \
+ subversion \
+ sugar \
sylpheed \
task-gpe-pim \
task-openmoko-feed \
@@ -238,7 +245,8 @@ do
xf86-input-evdev \
xf86-input-keyboard \
xf86-input-mouse \
- xf86-video-ati \
+ xf86-input-tslib \
+ xf86-video-ati \
xf86-video-fbdev \
xf86-video-vesa \
xfce-mcs-manager
@@ -276,7 +284,7 @@ done
# machine packages (machine specific (sub)packages)
-for machine in beagleboard omap3evm neuros-osd2 efika dht-walnut omap5912osk ixp4xxle ixp4xxbe c7x0 poodle tosa akita spitz collie simpad om-gta01 om-gta02 a780 at91sam9263ek qemuarm h2200 h3900 h4000 hx4700 nokia800
+for machine in beagleboard omap3evm neuros-osd2 efika dht-walnut omap5912osk ixp4xxle ixp4xxbe c7x0 poodle tosa akita spitz collie simpad om-gta01 om-gta02 a780 at91sam9263ek qemuarm h2200 h3900 h4000 hx4700 nokia800 qemux86
do
BUILD_MACHINE=$machine
BUILD_CLEAN=""
@@ -284,7 +292,9 @@ do
task-opie task-opie-all \
task-openmoko-base task-openmoko-debug task-openmoko-examples task-openmoko-linux task-openmoko-native-sdk task-openmoko-net task-openmoko-phone task-openmoko-pim task-openmoko-ui \
angstrom-x11-base-depends angstrom-gpe-task-settings \
+ xserver-xorg-conf \
"
+
do_build
done
diff --git a/contrib/angstrom/build-release.sh b/contrib/angstrom/build-release.sh
index bb903b236a..402f20dd8e 100755
--- a/contrib/angstrom/build-release.sh
+++ b/contrib/angstrom/build-release.sh
@@ -3,36 +3,33 @@
DO_UCLIBC=1
do_build() {
- echo "MACHINE = \"$BUILD_MACHINE\"" > conf/auto.conf
-
if [ $DO_UCLIBC = 1 ]
then
BUILD_MODE="uclibc"
- echo 'ANGSTROM_MODE = "uclibc"' >> conf/auto.conf
+ echo 'ANGSTROM_MODE = "uclibc"' > conf/auto.conf
if [ "$BUILD_CLEAN" != "" ]
then
- bitbake -c clean $BUILD_CLEAN
+ MACHINE=$BUILD_MACHINE bitbake -c clean $BUILD_CLEAN
fi
for target in $BUILD_TARGETS
do
- bitbake $target && do_report_success
+ MACHINE=$BUILD_MACHINE bitbake $target && do_report_success
done
fi
BUILD_MODE="glibc"
- echo "MACHINE = \"$BUILD_MACHINE\"" > conf/auto.conf
- echo 'ANGSTROM_MODE = "glibc"' >> conf/auto.conf
+ echo 'ANGSTROM_MODE = "glibc"' > conf/auto.conf
if [ "$BUILD_CLEAN" != "" ]
then
- bitbake -c clean $BUILD_CLEAN
+ MACHINE=$BUILD_MACHINE bitbake -c clean $BUILD_CLEAN
fi
for target in $BUILD_TARGETS
do
- bitbake $target && do_report_success
+ MACHINE=$BUILD_MACHINE bitbake $target && do_report_success
done
}
@@ -52,10 +49,10 @@ do_report_success() {
# No graphics
-for machine in ep93xx gumstix-connex gumstix-verdex efika dht-walnut omap5912osk
+for machine in gumstix-connex gumstix-verdex efika dht-walnut omap5912osk
do
BUILD_MACHINE=$machine
- BUILD_CLEAN="libtool-cross base-files"
+ BUILD_CLEAN="base-files"
BUILD_TARGETS="base-image console-image"
do_build
done
@@ -78,7 +75,7 @@ do
done
# graphics, flash storage
-for machine in om-gta01 a780 at91sam9263ek qemuarm h2200 h3900 h4000 h5000 poodle tosa hx4700 c7x0 spitz akita collie simpad
+for machine in beagleboard omap3evm om-gta01 om-gta02 a780 at91sam9263ek qemuarm qemux86 h2200 h3900 h4000 h5000 poodle tosa hx4700 c7x0 spitz akita collie simpad
do
BUILD_CLEAN="base-files"
BUILD_MACHINE=$machine
@@ -87,7 +84,7 @@ do
done
# graphics, disk storage
-for machine in spitz
+for machine in spitz beagleboard omap3evm
do
BUILD_CLEAN="base-files"
BUILD_MACHINE=$machine
@@ -96,18 +93,17 @@ do
done
#phones
-for machine in om-gta01 a780
+for machine in om-gta01 om-gta02 a780
do
BUILD_MACHINE=$machine
- BUILD_TARGETS="minimal-openmoko-image openmoko-image"
+ BUILD_TARGETS="minimal-openmoko-image openmoko-image fso-console-image fso-illume-image fso-image-light fso-image-nox fso-image"
do_build
done
-# populate feeds
-#for machine in ep93xx a780 efika collie ixp4xxbe
-#do
-# BUILD_MACHINE=$machine
-# BUILD_TARGETS="meta-angstrom-2007"
-# do_build
-#done
-
+# omap3 boards
+for machine in beagleboard omap3evm
+do
+ BUILD_MACHINE=$machine
+ BUILD_TARGETS="beagleboard-demo-image"
+ do_build
+done
diff --git a/contrib/angstrom/source-mirror.txt b/contrib/angstrom/source-mirror.txt
index 524134779e..2c450ff134 100644
--- a/contrib/angstrom/source-mirror.txt
+++ b/contrib/angstrom/source-mirror.txt
@@ -1,6 +1,6 @@
#To populate the source mirror the autobuilder uses the following command:
-rsync ~/OE/downloads/ angstrom@linuxtogo.org:~/website/unstable/sources/ -av \
+rsync ~/OE/downloads/ angstrom@linuxtogo.org:~/website/unstable/sources/ -aPvz \
--exclude "*.md5" \
--exclude "svn" \
--exclude "hg" \
@@ -11,6 +11,5 @@ rsync ~/OE/downloads/ angstrom@linuxtogo.org:~/website/unstable/sources/ -av \
--exclude "IPL_ixp400NpeLibrary-2_3_2.zip" \
--exclude "*.lock" \
--exclude "codec_*" \
- --exclude "dsplink*" \
- --progress
+ --exclude "dsplink*"
diff --git a/contrib/feed-browser/includes/functions.inc b/contrib/feed-browser/includes/functions.inc
index d4454ca708..4c7841f797 100644
--- a/contrib/feed-browser/includes/functions.inc
+++ b/contrib/feed-browser/includes/functions.inc
@@ -428,7 +428,7 @@ function check_database()
{
$db_exists = FALSE;
- if(file_exists(DB_FILENAME) AND $db = sqlite_open(DB_FILENAME))
+ if($db = sqlite_open(DB_FILENAME))
{
$db_exists = TRUE;
@@ -461,7 +461,7 @@ function check_database()
f_id int(8),
f_name varchar(32),
f_uri varchar(100),
- f_type varchar(16)
+ f_type varchar(16),
f_comments varchar(500))");
insert_feeds ($db) ;
diff --git a/contrib/python/generate-manifest-2.5.py b/contrib/python/generate-manifest-2.5.py
index f33ba7e23d..8054608ce9 100755
--- a/contrib/python/generate-manifest-2.5.py
+++ b/contrib/python/generate-manifest-2.5.py
@@ -13,7 +13,7 @@ VERSION = "2.5.2"
BASEREV = 0
__author__ = "Michael 'Mickey' Lauer <mlauer@vanille-media.de>"
-__version__ = "20080722"
+__version__ = "20081102"
class MakefileMaker:
@@ -277,8 +277,8 @@ if __name__ == "__main__":
m.addPackage( 0, "python-pprint", "Python Pretty-Print Support", "python-core",
"pprint.*" )
- m.addPackage( 0, "python-profile", "Python Basic Profiling Support", "python-core",
- "profile.* pstats.*" )
+ m.addPackage( 0, "python-profile", "Python Basic Profiling Support", "python-core python-textutils",
+ "profile.* pstats.* cProfile.* lib-dynload/_lsprof.so" )
m.addPackage( 0, "python-re", "Python Regular Expression APIs", "python-core",
"re.* sre.* sre_compile.* sre_constants* sre_parse.*" ) # _sre is builtin
diff --git a/contrib/weekly-changelog-report.py b/contrib/weekly-changelog-report.py
index 101de2919b..22535f32b1 100755
--- a/contrib/weekly-changelog-report.py
+++ b/contrib/weekly-changelog-report.py
@@ -25,4 +25,16 @@ print "OE weekly changelog %s to %s\n" % (start_day.isoformat(), end_day.isoform
os.system("git-shortlog --since=%s --until=%s | grep -v \"Merge branch\" | grep -v \"Merge commit\"" % (start_day.isoformat(), end_day.isoformat()))
+os.system("wget 'http://bugs.openembedded.net/buglist.cgi?bug_file_loc=&bug_file_loc_type=allwordssubstr&bug_id=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&bugidtype=include&chfieldfrom=7d&chfieldto=Now&chfieldvalue=&email1=&email2=&emailassigned_to1=1&emailassigned_to2=1&emailcc2=1&emailqa_contact2=1&emailreporter2=1&emailtype1=substring&emailtype2=substring&field-1-0-0=bug_status&field0-0-0=noop&known_name=1WFixed&long_desc=&long_desc_type=substring&query_format=advanced&remaction=&short_desc=&short_desc_type=allwordssubstr&type-1-0-0=anyexact&type0-0-0=noop&value-1-0-0=RESOLVED%2CVERIFIED%2CCLOSED&value0-0-0=&ctype=csv' -O resolved-bugs.csv >& /dev/null")
+os.system("wget 'http://bugs.openembedded.net/buglist.cgi?bug_file_loc=&bug_file_loc_type=allwordssubstr&bug_id=&bug_status=NEW&bugidtype=include&chfield=%5BBug%20creation%5D&chfieldfrom=7d&chfieldto=Now&chfieldvalue=&email1=&email2=&emailassigned_to1=1&emailassigned_to2=1&emailcc2=1&emailqa_contact2=1&emailreporter2=1&emailtype1=substring&emailtype2=substring&field-1-0-0=bug_status&field0-0-0=noop&long_desc=&long_desc_type=substring&query_format=advanced&remaction=&short_desc=&short_desc_type=allwordssubstr&type-1-0-0=anyexact&type0-0-0=noop&value-1-0-0=NEW&value0-0-0=&ctype=csv' -O new-bugs.csv &> /dev/null")
+
+
+print "Bugs fixed:\n"
+
+os.system("cat resolved-bugs.csv | awk -F, '{print $1 \" \" $7 \"\t \" $8}' | sed s:\\\"::g")
+
+print "\nBugs opened:\n"
+
+os.system("cat new-bugs.csv | awk -F, '{print $1 \" \" $7 \"\t \" $8}' | sed s:\\\"::g")
+
diff --git a/packages/angstrom/angstrom-x11-base-depends.bb b/packages/angstrom/angstrom-x11-base-depends.bb
index e542e4232a..cecb821faf 100644
--- a/packages/angstrom/angstrom-x11-base-depends.bb
+++ b/packages/angstrom/angstrom-x11-base-depends.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Task packages for the Angstrom distribution"
-PR = "r38"
+PR = "r39"
inherit task
diff --git a/packages/avahi/avahi_0.6.23.bb b/packages/avahi/avahi_0.6.23.bb
new file mode 100644
index 0000000000..15f56ffa95
--- /dev/null
+++ b/packages/avahi/avahi_0.6.23.bb
@@ -0,0 +1,5 @@
+require avahi.inc
+
+DEPENDS += "intltool-native"
+
+PACKAGES =+ "libavahi-gobject"
diff --git a/packages/binutils/binutils-2.19/110-arm-eabi-conf.patch b/packages/binutils/binutils-2.19/110-arm-eabi-conf.patch
new file mode 100644
index 0000000000..2623301da0
--- /dev/null
+++ b/packages/binutils/binutils-2.19/110-arm-eabi-conf.patch
@@ -0,0 +1,22 @@
+--- /tmp/configure.ac 2008-06-22 14:14:59.000000000 +0200
++++ binutils-2.18.50.0.7/configure.ac 2008-06-22 14:15:30.000000000 +0200
+@@ -561,7 +561,7 @@
+ noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+ libgloss_dir=arm
+ ;;
+- arm*-*-linux-gnueabi)
++ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
+ noconfigdirs="$noconfigdirs target-qthreads"
+ noconfigdirs="$noconfigdirs target-libobjc"
+ case ${with_newlib} in
+--- /tmp/configure 2008-06-22 14:17:11.000000000 +0200
++++ binutils-2.18.50.0.7/configure 2008-06-22 14:17:56.000000000 +0200
+@@ -2307,7 +2307,7 @@
+ noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+ libgloss_dir=arm
+ ;;
+- arm*-*-linux-gnueabi)
++ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
+ noconfigdirs="$noconfigdirs target-qthreads"
+ noconfigdirs="$noconfigdirs target-libobjc"
+ case ${with_newlib} in
diff --git a/packages/binutils/binutils-2.19/binutils-2.16.1-e300c2c3.patch b/packages/binutils/binutils-2.19/binutils-2.16.1-e300c2c3.patch
new file mode 100644
index 0000000000..c5e4234f22
--- /dev/null
+++ b/packages/binutils/binutils-2.19/binutils-2.16.1-e300c2c3.patch
@@ -0,0 +1,19 @@
+Adds support for Freescale Power architecture e300c2 and e300c3 cores.
+http://www.bitshrine.org/gpp/tc-fsl-x86lnx-e300c3-nptl-4.0.2-2.src.rpm
+
+Leon Woestenberg <leonw@mailcan.com>
+
+diff -uNr binutils-2.16.1.orig/gas/config/tc-ppc.c binutils-2.16.1/gas/config/tc-ppc.c
+--- binutils-2.16.1.orig/gas/config/tc-ppc.c 2005-03-02 13:24:01.000000000 +0000
++++ binutils-2.16.1/gas/config/tc-ppc.c 2006-07-04 11:45:24.000000000 +0100
+@@ -879,6 +879,10 @@
+ else
+ ppc_cpu |= PPC_OPCODE_SPE;
+ }
++ else if (strcmp (arg, "pmr") == 0)
++ {
++ ppc_cpu |= PPC_OPCODE_PMR;
++ }
+ /* -mppc64 and -m620 mean to assemble for the 64-bit PowerPC
+ 620. */
+ else if (strcmp (arg, "ppc64") == 0 || strcmp (arg, "620") == 0)
diff --git a/packages/binutils/binutils-2.19/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch b/packages/binutils/binutils-2.19/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
new file mode 100644
index 0000000000..8df5b1fea0
--- /dev/null
+++ b/packages/binutils/binutils-2.19/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
@@ -0,0 +1,39 @@
+# strip (and objcopy) fail to set the error code if there is no
+# output file name and the rename of the stripped (or copied) file
+# fails, yet the command fails to do anything. This fixes both
+# objcopy and strip.
+#
+# modification by bero: Ported to 2.16.91.0.6
+#
+#Signed-off-by: John Bowler <jbowler@acm.org>
+#Signed-off-by: Bernhard Rosenkraenzer <bero@arklinux.org>
+---
+# binutils/objcopy.c | 8 +++++---
+# 1 file changed, 5 insertions(+), 3 deletions(-)
+#
+Index: src/binutils/objcopy.c
+===================================================================
+--- src.orig/binutils/objcopy.c 2007-08-09 13:26:03.000000000 +0100
++++ src/binutils/objcopy.c 2007-08-09 16:36:12.000000000 +0100
+@@ -2787,8 +2787,9 @@ strip_main (int argc, char *argv[])
+ if (preserve_dates)
+ set_times (tmpname, &statbuf);
+ if (output_file != tmpname)
+- smart_rename (tmpname, output_file ? output_file : argv[i],
+- preserve_dates);
++ if (smart_rename (tmpname, output_file ? output_file : argv[i],
++ preserve_dates))
++ hold_status = 1;
+ status = hold_status;
+ }
+ else
+@@ -3411,7 +3412,8 @@ copy_main (int argc, char *argv[])
+ if (preserve_dates)
+ set_times (tmpname, &statbuf);
+ if (tmpname != output_filename)
+- smart_rename (tmpname, input_filename, preserve_dates);
++ if (smart_rename (tmpname, input_filename, preserve_dates))
++ status = 1;
+ }
+ else
+ unlink_if_ordinary (tmpname);
diff --git a/packages/binutils/binutils-2.19/binutils-uclibc-100-uclibc-conf.patch b/packages/binutils/binutils-2.19/binutils-uclibc-100-uclibc-conf.patch
new file mode 100644
index 0000000000..8de04e0fe0
--- /dev/null
+++ b/packages/binutils/binutils-2.19/binutils-uclibc-100-uclibc-conf.patch
@@ -0,0 +1,34 @@
+--- binutils-2.18.orig/configure
++++ binutils-2.18/configure
+@@ -2206,7 +2206,7 @@
+ am33_2.0-*-linux*)
+ noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ ;;
+- sh-*-linux*)
++ sh*-*-linux*)
+ noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ ;;
+ sh*-*-pe|mips*-*-pe|*arm-wince-pe)
+@@ -2504,7 +2504,7 @@
+ romp-*-*)
+ noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
+ ;;
+- sh-*-* | sh64-*-*)
++ sh*-*-* | sh64-*-*)
+ case "${host}" in
+ i[3456789]86-*-vsta) ;; # don't add gprof back in
+ i[3456789]86-*-go32*) ;; # don't add gprof back in
+--- binutils-2.18.orig/gprof/configure
++++ binutils-2.18/gprof/configure
+@@ -4124,6 +4124,11 @@
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
diff --git a/packages/binutils/binutils-2.19/binutils-uclibc-300-001_ld_makefile_patch.patch b/packages/binutils/binutils-2.19/binutils-uclibc-300-001_ld_makefile_patch.patch
new file mode 100644
index 0000000000..04a7e61e25
--- /dev/null
+++ b/packages/binutils/binutils-2.19/binutils-uclibc-300-001_ld_makefile_patch.patch
@@ -0,0 +1,50 @@
+#!/bin/sh -e
+## 001_ld_makefile_patch.dpatch
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: correct where ld scripts are installed
+## DP: Author: Chris Chimelis <chris@debian.org>
+## DP: Upstream status: N/A
+## DP: Date: ??
+
+if [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+ -patch) patch $patch_opts -p1 < $0;;
+ -unpatch) patch $patch_opts -p1 -R < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+--- binutils-2.16.91.0.1/ld/Makefile.am
++++ binutils-2.16.91.0.1/ld/Makefile.am
+@@ -20,7 +20,7 @@
+ # We put the scripts in the directory $(scriptdir)/ldscripts.
+ # We can't put the scripts in $(datadir) because the SEARCH_DIR
+ # directives need to be different for native and cross linkers.
+-scriptdir = $(tooldir)/lib
++scriptdir = $(libdir)
+
+ EMUL = @EMUL@
+ EMULATION_OFILES = @EMULATION_OFILES@
+--- binutils-2.16.91.0.1/ld/Makefile.in
++++ binutils-2.16.91.0.1/ld/Makefile.in
+@@ -268,7 +268,7 @@
+ # We put the scripts in the directory $(scriptdir)/ldscripts.
+ # We can't put the scripts in $(datadir) because the SEARCH_DIR
+ # directives need to be different for native and cross linkers.
+-scriptdir = $(tooldir)/lib
++scriptdir = $(libdir)
+ BASEDIR = $(srcdir)/..
+ BFDDIR = $(BASEDIR)/bfd
+ INCDIR = $(BASEDIR)/include
diff --git a/packages/binutils/binutils-2.19/binutils-uclibc-300-006_better_file_error.patch b/packages/binutils/binutils-2.19/binutils-uclibc-300-006_better_file_error.patch
new file mode 100644
index 0000000000..f337611edf
--- /dev/null
+++ b/packages/binutils/binutils-2.19/binutils-uclibc-300-006_better_file_error.patch
@@ -0,0 +1,43 @@
+#!/bin/sh -e
+## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Specify which filename is causing an error if the filename is a
+## DP: directory. (#45832)
+
+if [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+ -patch) patch $patch_opts -p1 < $0;;
+ -unpatch) patch $patch_opts -p1 -R < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c
+--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100
++++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100
+@@ -150,6 +150,13 @@
+ {
+ bfd *nbfd;
+ const bfd_target *target_vec;
++ struct stat s;
++
++ if (stat (filename, &s) == 0)
++ if (S_ISDIR(s.st_mode)) {
++ bfd_set_error (bfd_error_file_not_recognized);
++ return NULL;
++ }
+
+ nbfd = _bfd_new_bfd ();
+ if (nbfd == NULL)
diff --git a/packages/binutils/binutils-2.19/binutils-uclibc-300-012_check_ldrunpath_length.patch b/packages/binutils/binutils-2.19/binutils-uclibc-300-012_check_ldrunpath_length.patch
new file mode 100644
index 0000000000..498651a90c
--- /dev/null
+++ b/packages/binutils/binutils-2.19/binutils-uclibc-300-012_check_ldrunpath_length.patch
@@ -0,0 +1,47 @@
+#!/bin/sh -e
+## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
+## DP: cases where -rpath isn't specified. (#151024)
+
+if [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+ -patch) patch $patch_opts -p1 < $0;;
+ -unpatch) patch $patch_opts -p1 -R < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
+--- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
++++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
+@@ -692,6 +692,8 @@
+ && command_line.rpath == NULL)
+ {
+ lib_path = (const char *) getenv ("LD_RUN_PATH");
++ if ((lib_path) && (strlen (lib_path) == 0))
++ lib_path = NULL;
+ if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
+ force))
+ break;
+@@ -871,6 +873,8 @@
+ rpath = command_line.rpath;
+ if (rpath == NULL)
+ rpath = (const char *) getenv ("LD_RUN_PATH");
++ if ((rpath) && (strlen (rpath) == 0))
++ rpath = NULL;
+ if (! (bfd_elf_size_dynamic_sections
+ (output_bfd, command_line.soname, rpath,
+ command_line.filter_shlib,
diff --git a/packages/binutils/binutils-2.19/binutils-uclibc-gas-needs-libm.patch b/packages/binutils/binutils-2.19/binutils-uclibc-gas-needs-libm.patch
new file mode 100644
index 0000000000..db838cf20c
--- /dev/null
+++ b/packages/binutils/binutils-2.19/binutils-uclibc-gas-needs-libm.patch
@@ -0,0 +1,38 @@
+Source: Khem Raj <raj.khem@gmail.com>
+Disposition: submit upstream.
+
+Description:
+
+We do not need to have the libtool patch anymore for binutils after
+libtool has been updated upstream it include support for it. However
+for building gas natively on uclibc systems we have to link it with
+-lm so that it picks up missing symbols.
+
+/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o): In function `floatformat_from_double':
+floatformat.c:(.text+0x1ec): undefined reference to `frexp'
+floatformat.c:(.text+0x2f8): undefined reference to `ldexp'
+/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o): In function `floatformat_to_double':
+floatformat.c:(.text+0x38a): undefined reference to `ldexp'
+floatformat.c:(.text+0x3d2): undefined reference to `ldexp'
+floatformat.c:(.text+0x43e): undefined reference to `ldexp' floatformat.c:(.text+0x4e2): undefined reference to `ldexp'
+collect2: ld returned 1 exit status
+make[4]: *** [as-new] Error 1
+
+Index: binutils-2.17.50/gas/configure.tgt
+===================================================================
+--- binutils-2.17.50.orig/gas/configure.tgt
++++ binutils-2.17.50/gas/configure.tgt
+@@ -408,6 +408,12 @@ case ${generic_target} in
+ *-*-netware) fmt=elf em=netware ;;
+ esac
+
++case ${generic_target} in
++ arm-*-*uclibc*)
++ need_libm=yes
++ ;;
++esac
++
+ case ${cpu_type} in
+ alpha | arm | i386 | ia64 | mips | ns32k | pdp11 | ppc | sparc | z80 | z8k)
+ bfd_gas=yes
+
diff --git a/packages/binutils/binutils-cross-sdk_2.19.bb b/packages/binutils/binutils-cross-sdk_2.19.bb
new file mode 100644
index 0000000000..76dff5449f
--- /dev/null
+++ b/packages/binutils/binutils-cross-sdk_2.19.bb
@@ -0,0 +1,3 @@
+require binutils_${PV}.bb
+require binutils-cross-sdk.inc
+PR = "r0"
diff --git a/packages/binutils/binutils-cross_2.19.bb b/packages/binutils/binutils-cross_2.19.bb
new file mode 100644
index 0000000000..b78a30ac47
--- /dev/null
+++ b/packages/binutils/binutils-cross_2.19.bb
@@ -0,0 +1,4 @@
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+require binutils_${PV}.bb
+require binutils-cross.inc
+
diff --git a/packages/binutils/binutils_2.18.50.0.7.bb b/packages/binutils/binutils_2.18.50.0.7.bb
index d0656f6300..98b389fd53 100644
--- a/packages/binutils/binutils_2.18.50.0.7.bb
+++ b/packages/binutils/binutils_2.18.50.0.7.bb
@@ -1,4 +1,4 @@
-PR = "r4"
+PR = "r5"
require binutils.inc
diff --git a/packages/binutils/binutils_2.19.bb b/packages/binutils/binutils_2.19.bb
new file mode 100644
index 0000000000..bd03b4d39c
--- /dev/null
+++ b/packages/binutils/binutils_2.19.bb
@@ -0,0 +1,18 @@
+PR = "r0"
+
+require binutils.inc
+
+SRC_URI = "\
+ ${GNU_MIRROR}/binutils/binutils-${PV}.tar.bz2 \
+ file://binutils-2.16.91.0.6-objcopy-rename-errorcode.patch;patch=1 \
+ file://binutils-uclibc-100-uclibc-conf.patch;patch=1 \
+ file://110-arm-eabi-conf.patch;patch=1 \
+ file://binutils-uclibc-300-001_ld_makefile_patch.patch;patch=1 \
+ file://binutils-uclibc-300-006_better_file_error.patch;patch=1 \
+ file://binutils-uclibc-300-012_check_ldrunpath_length.patch;patch=1 \
+ file://binutils-uclibc-gas-needs-libm.patch;patch=1 \
+ "
+
+# powerpc patches
+SRC_URI += "file://binutils-2.16.1-e300c2c3.patch;patch=1"
+
diff --git a/packages/bluez/bluez-gnome_0.26.bb b/packages/bluez/bluez-gnome_0.26.bb
index d16c3a5894..0b78a84f5e 100644
--- a/packages/bluez/bluez-gnome_0.26.bb
+++ b/packages/bluez/bluez-gnome_0.26.bb
@@ -4,9 +4,11 @@ LICENSE = "GPL+LGPL"
DEPENDS = "dbus-glib gconf libnotify gtk+"
RRECOMMENDS = "gnome-icon-theme"
+PR = "r1"
+
SRC_URI = "http://bluez.sourceforge.net/download/${P}.tar.gz"
inherit autotools pkgconfig gconf
-FILES_${PN} += "${datadir}/gconf"
+FILES_${PN} += "${datadir}/gconf ${datadir}/icons ${datadir}/mime"
diff --git a/packages/bluez/bluez-utils_3.36.bb b/packages/bluez/bluez-utils_3.36.bb
index cf6d6328ea..403e32b1e2 100644
--- a/packages/bluez/bluez-utils_3.36.bb
+++ b/packages/bluez/bluez-utils_3.36.bb
@@ -2,9 +2,10 @@ require bluez-utils3.inc
PR = "r1"
+# removed hciattach-ti-bts.patch (landed upstream)
SRC_URI = "http://bluez.sourceforge.net/download/bluez-utils-${PV}.tar.gz \
file://hcid.conf \
- "
+ file://sbc-thumb.patch;patch=1"
# see bluez-utils3.inc for the explanation of these option
EXTRA_OECONF = " \
diff --git a/packages/cacao/cacao-native_0.99.3.bb b/packages/cacao/cacao-native_0.99.3.bb
index 0e4d9e5935..878ef4dac2 100644
--- a/packages/cacao/cacao-native_0.99.3.bb
+++ b/packages/cacao/cacao-native_0.99.3.bb
@@ -4,4 +4,10 @@ PR = "r0"
SRC_URI = "http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.bz2"
+do_compile_prepend() {
+
+ install -d ${S}/src/classes/classes/java
+ install -d ${S}/src/classes/classes/gnu/java
+ install -d ${S}/src/classes/classes/sun
+}
diff --git a/packages/cairo/libsvg-cairo/libsvg-cairo-libtool.diff b/packages/cairo/libsvg-cairo/libsvg-cairo-libtool.diff
new file mode 100644
index 0000000000..90448dc887
--- /dev/null
+++ b/packages/cairo/libsvg-cairo/libsvg-cairo-libtool.diff
@@ -0,0 +1,27 @@
+Index: libsvg-cairo/configure.in
+===================================================================
+--- libsvg-cairo.orig/configure.in 2008-11-04 13:38:51.795236755 +0300
++++ libsvg-cairo/configure.in 2008-11-04 13:40:44.503218844 +0300
+@@ -8,18 +8,18 @@ LIBSVG_CAIRO_VERSION=0.1.5-head
+ # libtool shared library version
+
+ # Increment if the interface has additions, changes, removals.
+-LT_CURRENT=1
++LV_CURRENT=1
+
+ # Increment any time the source changes; set to
+ # 0 if you increment CURRENT
+-LT_REVISION=1
++LV_REVISION=1
+
+ # Increment if any interfaces have been added; set to 0
+ # if any interfaces have been removed. removal has
+ # precedence over adding, so set to 0 if both happened.
+-LT_AGE=0
++LV_AGE=0
+
+-VERSION_INFO="$LT_CURRENT:$LT_REVISION:$LT_AGE"
++VERSION_INFO="$LV_CURRENT:$LV_REVISION:$LV_AGE"
+ AC_SUBST(VERSION_INFO)
+
+ dnl ===========================================================================
diff --git a/packages/cairo/libsvg-cairo_20050601.bb b/packages/cairo/libsvg-cairo_20050601.bb
index 55e439a3c5..9cc7c5b46c 100644
--- a/packages/cairo/libsvg-cairo_20050601.bb
+++ b/packages/cairo/libsvg-cairo_20050601.bb
@@ -7,7 +7,8 @@ PRIORITY = "optional"
DEPENDS = "libsvg cairo"
DESCRIPTION = "SVG rendering library"
DEFAULT_PREFERENCE = "1"
-SRC_URI = "cvs://anoncvs:anoncvs@cvs.cairographics.org/cvs/cairo;module=libsvg-cairo;date=${FIXEDSRCDATE}"
+SRC_URI = "cvs://anoncvs:anoncvs@cvs.cairographics.org/cvs/cairo;module=libsvg-cairo;date=${FIXEDSRCDATE} \
+ file://libsvg-cairo-libtool.diff;patch=1"
S = "${WORKDIR}/libsvg-cairo"
inherit autotools pkgconfig
diff --git a/packages/classpath/classpath-initial_0.93.bb b/packages/classpath/classpath-initial_0.93.bb
index 5a471b3808..c36ea3813d 100644
--- a/packages/classpath/classpath-initial_0.93.bb
+++ b/packages/classpath/classpath-initial_0.93.bb
@@ -5,11 +5,14 @@ require classpath-native.inc
DESCRIPTION="Java1.4-compatible GNU Classpath variant that is used as bootclasspath for jikes-native."
-PR = "r4"
+PR = "r6"
DEPENDS = "zip-native fastjar-native jikes-native gettext-native"
-SRC_URI += "file://autotools.patch;patch=1"
+SRC_URI += "\
+ file://autotools.patch;patch=1 \
+ file://miscompilation-0.93.patch;patch=1 \
+ "
EXTRA_OECONF = "\
--with-jikes=jikes \
diff --git a/packages/classpath/files/miscompilation-0.93.patch b/packages/classpath/files/miscompilation-0.93.patch
new file mode 100644
index 0000000000..99db6f3003
--- /dev/null
+++ b/packages/classpath/files/miscompilation-0.93.patch
@@ -0,0 +1,13 @@
+Index: classpath-0.93/native/jni/java-io/java_io_VMFile.c
+===================================================================
+--- classpath-0.93.orig/native/jni/java-io/java_io_VMFile.c 2006-09-23 07:17:45.000000000 +0200
++++ classpath-0.93/native/jni/java-io/java_io_VMFile.c 2008-11-14 13:41:27.000000000 +0100
+@@ -239,7 +239,7 @@
+ {
+ #ifndef WITHOUT_FILESYSTEM
+ const char *filename;
+- int result;
++ volatile int result;
+
+ /* Don't use the JCL convert function because it throws an exception
+ on failure */
diff --git a/packages/clucene/clucene-core_0.9.21.bb b/packages/clucene/clucene-core_0.9.21b.bb
index 0416f9110e..d533f2b235 100644
--- a/packages/clucene/clucene-core_0.9.21.bb
+++ b/packages/clucene/clucene-core_0.9.21b.bb
@@ -1,7 +1,8 @@
-DESCRIPTION = "CLucene is a C++ port of Lucene: the high-performance, full-featured text search engine written in Java."
+DESCRIPTION = "CLucene is a C++ port of Lucene: the high-performance, \
+full-featured text search engine written in Java."
+HOMEPAGE = "http://clucene.sf.net"
SECTION = "libs"
LICENSE = "LGPL"
-
DEPENDS = "libtool"
SRC_URI = "${SOURCEFORGE_MIRROR}/clucene/clucene-core-${PV}.tar.bz2"
diff --git a/packages/debianutils/debianutils_2.30.bb b/packages/debianutils/debianutils_2.30.bb
new file mode 100644
index 0000000000..30beb5d4ed
--- /dev/null
+++ b/packages/debianutils/debianutils_2.30.bb
@@ -0,0 +1,5 @@
+# Copyright (C) 2007, Stelios Koroneos - Digital OPSiS, All Rights Reserved
+# Released under the MIT license (see packages/COPYING)
+
+require debianutils.inc
+PR="r0"
diff --git a/packages/dropbear/dropbear.inc b/packages/dropbear/dropbear.inc
index 168cedbf8a..364799f12e 100644
--- a/packages/dropbear/dropbear.inc
+++ b/packages/dropbear/dropbear.inc
@@ -51,7 +51,7 @@ do_install() {
for i in ${SBINCOMMANDS}
do
- ln -s ./dropbearmulti ${D}${sbindir}/$i
+ ln -sf ./dropbearmulti ${D}${sbindir}/$i
done
cat ${WORKDIR}/init | sed -e 's,/etc,${sysconfdir},g' \
-e 's,/usr/sbin,${sbindir},g' \
@@ -59,8 +59,9 @@ do_install() {
-e 's,/usr/bin,${bindir},g' \
-e 's,/usr,${prefix},g' > ${D}${sysconfdir}/init.d/dropbear
chmod 755 ${D}${sysconfdir}/init.d/dropbear
- test -e ${WORKDIR}/default && \
- install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/dropbear
+ if test -e ${WORKDIR}/default ; then
+ install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/dropbear
+ fi
}
pkg_postinst () {
diff --git a/packages/dsplink/cmemk.inc b/packages/dsplink/cmemk.inc
new file mode 100644
index 0000000000..1b7ea3ae0f
--- /dev/null
+++ b/packages/dsplink/cmemk.inc
@@ -0,0 +1,55 @@
+DESCRIPTION = "Codec Engine for TI ARM/DSP processors - cmemk module"
+
+DEPENDS = "virtual/kernel perl-native"
+RDEPENDS = "update-modules"
+
+inherit module
+
+require ti-paths.inc
+
+export DSPLINK="${S}/cetools/packages/dsplink"
+
+PARALLEL_MAKE = ""
+
+
+do_compile_append() {
+ echo "MVTOOL_PREFIX=${TARGET_PREFIX}" > ${S}/Rules.make
+ echo "UCTOOL_PREFIX=${TARGET_PREFIX}" >> ${S}/Rules.make
+ echo "LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}" >> ${S}/Rules.make
+
+ # Build the cmem kernel module
+ # We unset CFLAGS because kernel modules need different ones, this is basically a verbatim copy of kernel.bbclass and module-base.bbclass
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem
+
+ oe_runmake clean
+ oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
+ KERNEL_SRC=${STAGING_KERNEL_DIR} \
+ KERNEL_VERSION=${KERNEL_VERSION} \
+ CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
+ AR="${KERNEL_AR}"
+}
+
+
+do_install() {
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
+ cp ${S}/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
+}
+
+INHIBIT_PACKAGE_STRIP = "1"
+
+FILES_ti-cmemk-module = "${sysconfdir} /lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/cmemk.ko"
+
+pkg_postinst_ti-cmemk-module () {
+ if [ -n "$D" ]; then
+ exit 1
+ fi
+ depmod -a
+ update-modules || true
+}
+
+pkg_postrm_ti-cmemk-module () {
+ update-modules || true
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/packages/dsplink/codec-engine_2.21.bb b/packages/dsplink/codec-engine_2.21.bb
index 4cb227ed23..7c81704604 100644
--- a/packages/dsplink/codec-engine_2.21.bb
+++ b/packages/dsplink/codec-engine_2.21.bb
@@ -1,3 +1,7 @@
+require dsplink.inc
+require lpm.inc
+require cmemk.inc
+
DESCRIPTION = "Codec Engine for TI ARM/DSP processors"
DEPENDS = "virtual/kernel perl-native"
@@ -6,18 +10,18 @@ RDEPENDS = "update-modules"
inherit module
# tconf from xdctools dislikes '.' in pwd :/
-PR = "r1"
+PR = "r2"
PV = "221"
# Get CE tarball from TI website, place in sources and calculate
# md5sum
# Look for tarball at https://www-a.ti.com/downloads/sds_support/targetcontent/CE/index.html
-SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_21_00_06.tar.gz \
+SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_21.tar.gz \
file://Makefile.dsplink \
- "
+"
-S = "${WORKDIR}/codec_engine_2_21_00_06"
+S = "${WORKDIR}/codec_engine_2_21"
require ti-paths.inc
@@ -25,92 +29,8 @@ export DSPLINK="${S}/cetools/packages/dsplink"
PARALLEL_MAKE = ""
-do_configure () {
- # Run perl script to create appropriate makefiles (v1.60 and up)
- perl ${S}/cetools/packages/dsplink/config/bin/dsplinkcfg.pl --platform=${DSPLINKPLATFORM} --nodsp=1 --dspcfg_0=${DSPCFG} --dspos_0=DSPBIOS5XX --gppos=${GPPOS} --comps=ponslrm
-}
-
-do_compile() {
- unset DISPLAY
- sed -i -e s:armv7a:armv7-a:g make/Linux/omap3530_2.6.mk || true
-
- # export various settings to override the defaults in the makefiles
- export DSP_BASE_CGTOOLS=${TITOOLSDIR}/${TICGTOOLSDIR}
- export DSP_BASE_BIOS=${TITOOLSDIR}/${TIBIOSDIR}
- export DSP_BASE_RTDX=${TITOOLSDIR}/${TIBIOSDIR}/packages/ti/rtdx
- export GPPTOOL_DIR=${CROSS_DIR}
- export LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}
- export LINK_INSTALL_DIR=${DSPLINK}
- export VARIANT=${DSPLINKSOC}
- export PLATFORM=${DSPLINKPLATFORM}
- export BASE_TOOLCHAIN=${CROSS_DIR}
- export BASE_CGTOOLS=${BASE_TOOLCHAIN}/bin
- # 'OSINC_PLATFORM' is used in both the dsp and gpp sides...
- export OSINC_PLATFORM1=${CROSS_DIR}/lib/gcc/${TARGET_SYS}/$(${TARGET_PREFIX}gcc -dumpversion)/include
- export OSINC_TARGET=${BASE_TOOLCHAIN}/target/usr/include
-
- # 'ARCHIVER' is being used in the dsp side of the build as well as gpp
- export ARCHIVER_AR=${TARGET_PREFIX}ar
- export BASE_SABIOS=${DSP_BASE_BIOS}
-
- make -e -f ${WORKDIR}/Makefile.dsplink
-
- echo "MVTOOL_PREFIX=${TARGET_PREFIX}" > ${S}/Rules.make
- echo "UCTOOL_PREFIX=${TARGET_PREFIX}" >> ${S}/Rules.make
- echo "LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}" >> ${S}/Rules.make
-
- # Build the cmem kernel module
- # We unset CFLAGS because kernel modules need different ones, this is basically a verbatim copy of kernel.bbclass and module-base.bbclass
- unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
- cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem
-
- oe_runmake clean
- # We probably don't need to build all 3, but atm it doesn't hurt us
- oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
- KERNEL_SRC=${STAGING_KERNEL_DIR} \
- KERNEL_VERSION=${KERNEL_VERSION} \
- CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
- AR="${KERNEL_AR}" \
- release
- oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
- KERNEL_SRC=${STAGING_KERNEL_DIR} \
- KERNEL_VERSION=${KERNEL_VERSION} \
- CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
- AR="${KERNEL_AR}" \
- debug
- oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
- KERNEL_SRC=${STAGING_KERNEL_DIR} \
- KERNEL_VERSION=${KERNEL_VERSION} \
- CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
- AR="${KERNEL_AR}"
-
- # Build the DSP power manager kernel module
- cd ${S}/cetools/packages/ti/bios/power
-
- # Unpack all kernel sources for the DSP power manager module
- for dsp in $(ls | grep bld | awk -F, '{print $2}' | awk -F_ '{print $1}') ; do
- if ! [ -e $dsp ] ; then tar xf ti_bios_power,${dsp}_bld.tar ; fi
- done
-
- cd ${DSPPOWERSOC}/lpm
-
- export KERNEL_DIR=${STAGING_KERNEL_DIR}
- export TOOL_PREFIX=${TARGET_PREFIX}
-
- # Different SoCs use different toolchains by default, we just want them to use the OE one, so replace the entries because they can't be overloaded within the environment
- sed -i -e s:/db/toolsrc/library/tools/vendors/mvl/arm/omap3/OMAP35x_SDK_0.9.7/src/linux/kernel_org/2.6_kernel:${STAGING_KERNEL_DIR}:g \
- -e s:/db/toolsrc/library/tools/vendors/cs/arm/arm-2007q3/bin/arm-none-linux-gnueabi-:${TARGET_PREFIX}:g \
- -e s:/db/atree/library/trees/power/power-d02x/imports:${STAGING_DIR}/${MULTIMACH_TARGET_SYS}:g \
- -e s:/db/toolsrc/library/tools/vendors/mvl/arm/dm6446/REL_LSP_02_00_00_010/montavista/pro/devkit/lsp/ti-davinci/linux-2.6.18_pro500:${STAGING_KERNEL_DIR}:g \
- -e s:/db/toolsrc/library/tools/vendors/mvl/arm/mvl5.0/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-:${TARGET_PREFIX}:g \
- Makefile
-
- oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
- KERNEL_SRC=${STAGING_KERNEL_DIR} \
- KERNEL_VERSION=${KERNEL_VERSION} \
- CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
- AR="${KERNEL_AR}"
-
+# the include files on top define do_compile for the submodules
+do_compile_append() {
cd ${S}/examples
# export some more variable to point to external TI tools
# information is duplicated between the js and make based tools
diff --git a/packages/dsplink/dsplink.inc b/packages/dsplink/dsplink.inc
index 9955d4d038..30d1ca3165 100644
--- a/packages/dsplink/dsplink.inc
+++ b/packages/dsplink/dsplink.inc
@@ -23,6 +23,7 @@ PARALLEL_MAKE = ""
do_compile () {
unset DISPLAY
sed -i -e s:armv7a:armv7-a:g make/Linux/omap3530_2.6.mk || true
+ sed -i -e s:armv7a:armv7-a:g cetools/packages/dsplink/make/Linux/omap3530_2.6.mk || true
# export various settings to override the defaults in the makefiles
export DSP_BASE_CGTOOLS=${TITOOLSDIR}/${TICGTOOLSDIR}
diff --git a/packages/dsplink/files/cmemk-fix-class-device-api.diff b/packages/dsplink/files/cmemk-fix-class-device-api.diff
new file mode 100644
index 0000000000..c42e6ae927
--- /dev/null
+++ b/packages/dsplink/files/cmemk-fix-class-device-api.diff
@@ -0,0 +1,89 @@
+--- codec_engine_2_21_00_06/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c 2008-09-26 02:26:04.000000000 +0200
++++ codec_engine_2_21_00_06/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c 2008-10-30 11:57:54.000000000 +0100
+@@ -42,11 +26,20 @@
+ * USE_CLASS_SIMPLE - #define if Linux version contains class_simple,
+ * otherwise class is used (Linux supports one or the other, not both)
+ */
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
+
+-#warning LINUX_VERSION_CODE >= 2.6.18
++#warning LINUX_VERSION_CODE >= 2.6.26
++
++#define USE_CACHE_VOID_ARG
++#undef USE_CLASS_DEVICE
++#undef USE_CLASS_SIMPLE
++
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18)
++
++#warning 2.6.26 > LINUX_VERSION_CODE >= 2.6.18
+
+ #define USE_CACHE_VOID_ARG
++#define USE_CLASS_DEVICE
+ #undef USE_CLASS_SIMPLE
+
+ #else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18) */
+@@ -54,6 +47,7 @@
+ #warning LINUX_VERSION_CODE < 2.6.18
+
+ #define USE_CLASS_SIMPLE
++#undef USE_CLASS_DEVICE
+ #undef USE_CACHE_VOID_ARG
+
+ #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18) */
+@@ -1697,12 +1691,12 @@
+ #ifdef USE_CLASS_SIMPLE
+ class_simple_device_add(cmem_class, MKDEV(cmem_major, 0), NULL, "cmem");
+ #else
+-/*
+- Use the following for newer GIT releases ( > 2.6.25?)
+- device_create(cmem_class, NULL, MKDEV(cmem_major, 0), "cmem");
+-*/
++#ifdef USE_CLASS_DEVICE
+ class_device_create(cmem_class, NULL, MKDEV(cmem_major, 0), NULL, "cmem");
+-#endif
++#else
++ device_create(cmem_class, NULL, MKDEV(cmem_major, 0), "cmem");
++#endif // USE_CLASS_DEVICE
++#endif // USE_CLASS_SIMPLE
+ #endif // USE_UDEV
+
+ pstart[0] = phys_start;
+@@ -1862,13 +1856,13 @@
+ class_simple_device_remove(MKDEV(cmem_major, 0));
+ class_simple_destroy(cmem_class);
+ #else
+-/*
+- Use the following for newer GIT releases ( > 2.6.25?)
+- device_destroy(cmem_class, MKDEV(cmem_major, 0));
+-*/
++#ifdef USE_CLASS_DEVICE
+ class_device_destroy(cmem_class, MKDEV(cmem_major, 0));
++#else
++ device_destroy(cmem_class, MKDEV(cmem_major, 0));
++#endif // USE_CLASS_DEVICE
+ class_destroy(cmem_class);
+-#endif
++#endif // USE_CLASS_SIMPLE
+
+ #endif // USE_UDEV
+
+@@ -1938,13 +1932,13 @@
+ class_simple_device_remove(MKDEV(cmem_major, 0));
+ class_simple_destroy(cmem_class);
+ #else
+-/*
+- Use the following for newer GIT releases ( > 2.6.25?)
+- device_destroy(cmem_class, MKDEV(cmem_major, 0));
+-*/
++#ifdef USE_CLASS_DEVICE
+ class_device_destroy(cmem_class, MKDEV(cmem_major, 0));
++#else
++ device_destroy(cmem_class, MKDEV(cmem_major, 0));
++#endif // USE_CLASS_DEVICE
+ class_destroy(cmem_class);
+-#endif
++#endif // USE_CLASS_SIMPLE
+
+ #endif // USE_UDEV
+
diff --git a/packages/dsplink/lpm.inc b/packages/dsplink/lpm.inc
new file mode 100644
index 0000000000..7938268c52
--- /dev/null
+++ b/packages/dsplink/lpm.inc
@@ -0,0 +1,54 @@
+DESCRIPTION = "Codec Engine for TI ARM/DSP processors - power module"
+
+DEPENDS = "virtual/kernel perl-native dsplink"
+RDEPENDS = "update-modules"
+
+require ti-paths.inc
+
+PARALLEL_MAKE = ""
+
+do_compile_append() {
+ echo "MVTOOL_PREFIX=${TARGET_PREFIX}" > ${S}/Rules.make
+ echo "UCTOOL_PREFIX=${TARGET_PREFIX}" >> ${S}/Rules.make
+ echo "LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}" >> ${S}/Rules.make
+ export DSPLINK=${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/dsplink
+
+ # Build the DSP power manager kernel module
+ cd ${S}/cetools/packages/ti/bios/power/modules/${DSPPOWERSOC}/lpm
+
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ rm -f *o
+ make KERNEL_PATH=${STAGING_KERNEL_DIR} \
+ KERNEL_SRC=${STAGING_KERNEL_DIR} \
+ KERNEL_DIR=${STAGING_KERNEL_DIR} \
+ KERNEL_VERSION=${KERNEL_VERSION} \
+ TOOL_PREFIX=${TARGET_PREFIX} \
+ DSPLINK_REPO=${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ \
+ CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
+ AR="${KERNEL_AR}"
+}
+
+
+do_install() {
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
+ cp ${S}/cetools/packages/ti/bios/power/${DSPPOWERSOC}/lpm/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp || true
+}
+
+INHIBIT_PACKAGE_STRIP = "1"
+
+FILES_ti-lpm-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/*lpm*ko"
+
+pkg_postinst_ti-lpm-module () {
+ if [ -n "$D" ]; then
+ exit 1
+ fi
+ depmod -a
+ update-modules || true
+}
+
+pkg_postrm_ti-lpm-module () {
+ update-modules || true
+}
+
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/packages/dsplink/ti-cmemk-module_2.21.bb b/packages/dsplink/ti-cmemk-module_2.21.bb
index 82e5fb61e4..d15accb3ae 100644
--- a/packages/dsplink/ti-cmemk-module_2.21.bb
+++ b/packages/dsplink/ti-cmemk-module_2.21.bb
@@ -1,83 +1,21 @@
-DESCRIPTION = "Codec Engine for TI ARM/DSP processors - cmemk module"
-
-DEPENDS = "virtual/kernel perl-native"
-RDEPENDS = "update-modules"
-
-inherit module
-
# tconf from xdctools dislikes '.' in pwd :/
-PR = "r1"
+PR = "r2"
PV = "221"
# Get CE tarball from TI website, place in sources and calculate
# md5sum
# Look for tarball at https://www-a.ti.com/downloads/sds_support/targetcontent/CE/index.html
-SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_21_00_06.tar.gz \
- file://Makefile.dsplink \
- "
-
-S = "${WORKDIR}/codec_engine_2_21_00_06"
-
-require ti-paths.inc
-
-export DSPLINK="${S}/cetools/packages/dsplink"
+inherit module
-PARALLEL_MAKE = ""
+SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_21.tar.gz \
+ file://Makefile.dsplink \
+"
+S = "${WORKDIR}/codec_engine_2_21"
do_compile() {
- echo "MVTOOL_PREFIX=${TARGET_PREFIX}" > ${S}/Rules.make
- echo "UCTOOL_PREFIX=${TARGET_PREFIX}" >> ${S}/Rules.make
- echo "LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}" >> ${S}/Rules.make
-
- # Build the cmem kernel module
- # We unset CFLAGS because kernel modules need different ones, this is basically a verbatim copy of kernel.bbclass and module-base.bbclass
- unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
- cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem
-
- oe_runmake clean
- # We probably don't need to build all 3, but atm it doesn't hurt us
- oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
- KERNEL_SRC=${STAGING_KERNEL_DIR} \
- KERNEL_VERSION=${KERNEL_VERSION} \
- CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
- AR="${KERNEL_AR}" \
- release
- oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
- KERNEL_SRC=${STAGING_KERNEL_DIR} \
- KERNEL_VERSION=${KERNEL_VERSION} \
- CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
- AR="${KERNEL_AR}" \
- debug
- oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
- KERNEL_SRC=${STAGING_KERNEL_DIR} \
- KERNEL_VERSION=${KERNEL_VERSION} \
- CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
- AR="${KERNEL_AR}"
-
-}
-
-
-do_install() {
- install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
- cp ${S}/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
-}
-
-INHIBIT_PACKAGE_STRIP = "1"
-
-FILES_ti-cmemk-module = "${sysconfdir} /lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/cmemk.ko"
-
-pkg_postinst_ti-cmemk-module () {
- if [ -n "$D" ]; then
- exit 1
- fi
- depmod -a
- update-modules || true
-}
-
-pkg_postrm_ti-cmemk-module () {
- update-modules || true
+ :
}
-PACKAGE_ARCH = "${MACHINE_ARCH}"
+require cmemk.inc
diff --git a/packages/dsplink/ti-lpm-module_2.21.bb b/packages/dsplink/ti-lpm-module_2.21.bb
index cbbc5c8ce5..6a6945f710 100644
--- a/packages/dsplink/ti-lpm-module_2.21.bb
+++ b/packages/dsplink/ti-lpm-module_2.21.bb
@@ -1,82 +1,20 @@
-DESCRIPTION = "Codec Engine for TI ARM/DSP processors - power module"
-
-DEPENDS = "virtual/kernel perl-native dsplink"
-RDEPENDS = "update-modules"
-
-inherit module
-
# tconf from xdctools dislikes '.' in pwd :/
-PR = "r1"
+PR = "r2"
PV = "221"
# Get CE tarball from TI website, place in sources and calculate
# md5sum
# Look for tarball at https://www-a.ti.com/downloads/sds_support/targetcontent/CE/index.html
-SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_21_00_06.tar.gz \
+SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_21.tar.gz \
file://Makefile.dsplink \
"
+inherit module
-S = "${WORKDIR}/codec_engine_2_21_00_06"
-
-require ti-paths.inc
-
-PARALLEL_MAKE = ""
+S = "${WORKDIR}/codec_engine_2_21"
do_compile() {
- echo "MVTOOL_PREFIX=${TARGET_PREFIX}" > ${S}/Rules.make
- echo "UCTOOL_PREFIX=${TARGET_PREFIX}" >> ${S}/Rules.make
- echo "LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}" >> ${S}/Rules.make
-
- # Build the DSP power manager kernel module
- cd ${S}/cetools/packages/ti/bios/power
-
- # Unpack all kernel sources for the DSP power manager module
- for dsp in $(ls | grep bld | awk -F, '{print $2}' | awk -F_ '{print $1}') ; do
- if ! [ -e $dsp ] ; then tar xf ti_bios_power,${dsp}_bld.tar ; fi
- done
-
- cd ${DSPPOWERSOC}/lpm
-
- export KERNEL_DIR=${STAGING_KERNEL_DIR}
- export TOOL_PREFIX=${TARGET_PREFIX}
-
- # Different SoCs use different toolchains by default, we just want them to use the OE one, so replace the entries because they can't be overloaded within the environment
- sed -i -e s:/db/toolsrc/library/tools/vendors/mvl/arm/omap3/OMAP35x_SDK_0.9.7/src/linux/kernel_org/2.6_kernel:${STAGING_KERNEL_DIR}:g \
- -e s:/db/toolsrc/library/tools/vendors/cs/arm/arm-2007q3/bin/arm-none-linux-gnueabi-:${TARGET_PREFIX}:g \
- -e s:/db/atree/library/trees/power/power-d02x/imports:${STAGING_DIR}/${MULTIMACH_TARGET_SYS}:g \
- -e s:/db/toolsrc/library/tools/vendors/mvl/arm/dm6446/REL_LSP_02_00_00_010/montavista/pro/devkit/lsp/ti-davinci/linux-2.6.18_pro500:${STAGING_KERNEL_DIR}:g \
- -e s:/db/toolsrc/library/tools/vendors/mvl/arm/mvl5.0/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-:${TARGET_PREFIX}:g \
- Makefile
-
- oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
- KERNEL_SRC=${STAGING_KERNEL_DIR} \
- KERNEL_VERSION=${KERNEL_VERSION} \
- CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
- AR="${KERNEL_AR}"
-}
-
-
-do_install() {
- install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
- cp ${S}/cetools/packages/ti/bios/power/${DSPPOWERSOC}/lpm/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp || true
+ :
}
-INHIBIT_PACKAGE_STRIP = "1"
-
-FILES_ti-lpm-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/*lpm*ko"
-
-pkg_postinst_ti-lpm-module () {
- if [ -n "$D" ]; then
- exit 1
- fi
- depmod -a
- update-modules || true
-}
-
-pkg_postrm_ti-lpm-module () {
- update-modules || true
-}
-
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
+require lpm.inc
diff --git a/packages/dsplink/ti-paths.inc b/packages/dsplink/ti-paths.inc
index ba84155195..7640d6b4fe 100644
--- a/packages/dsplink/ti-paths.inc
+++ b/packages/dsplink/ti-paths.inc
@@ -1,14 +1,20 @@
+# To build the DSP applications you need to have DSP/BIOS, xdctools and codegen installed. Get these from:
+# https://www-a.ti.com/downloads/sds_support/targetcontent/bios/bios_5_33/sabios-j05/bios_setuplinux_5_33_02.bin
+# https://www-a.ti.com/downloads/sds_support/targetcontent/rtsc/xdctools_3_10_03/exports/xdctools_setuplinux_3_10_03.bin
+# <url for codegen>
+
# Path to the dir where the TI tools are unpacked
TITOOLSDIR ?= "/OE/TI"
# Path under TITOOLSDIR where dspbios is unpacked
-TIBIOSDIR ?= "bios_5_32_04"
-TIXDCTOOLSDIR ?= "${TITOOLSDIR}/xdctools_3_10_02"
+TIBIOSDIR ?= "bios_5_33_02"
+TIXDCTOOLSDIR ?= "${TITOOLSDIR}/xdctools_3_10_03"
# Path under TITOOLSDIR where the dsp toolchain is unpacked
-TICGTOOLSDIR ?= "cg6x_6_0_19"
+TICGTOOLSDIR ?= "cg6x_6_0_16"
DSPLINKPLATFORM ?= "DAVINCI"
DSPLINKPLATFORM_omap5912osk = "OMAP"
DSPLINKPLATFORM_beagleboard = "OMAP3530"
+DSPLINKPLATFORM_omap3evm = "OMAP3530"
DSPLINKPLATFORM_davinci-sffsdr = "DAVINCI"
DSPLINKPLATFORM_davinci-dvevm = "DAVINCI"
@@ -16,12 +22,15 @@ DSPLINKDSP ?= "C64XX"
DSPLINKSOC ?= "DM6446"
DSPLINKSOC_beagleboard = "3530"
+DSPLINKSOC_omap3evm = "3530"
DSPCFG ?= "DM6446GEMSHMEM"
DSPCFG_beagleboard ?= "OMAP3530SHMEM"
+DSPCFG_omap3evm ?= "OMAP3530SHMEM"
GPPOS ?= "MVL5G"
GPPOS_beagleboard = "OMAPLSP"
+GPPOS_omap3evm = "OMAPLSP"
export DSPLINKPLATFORM
export DSPLINKDSP
@@ -31,4 +40,5 @@ export GPPOS
DSPPOWERSOC ?= "dm6446"
DSPPOWERSOC_beagleboard = "omap3530"
+DSPPOWERSOC_omap3evm = "omap3530"
diff --git a/packages/e17/e-wm/enlightenment_start.oe b/packages/e17/e-wm/enlightenment_start.oe
index 7d472fa76f..e5a65025cb 100644
--- a/packages/e17/e-wm/enlightenment_start.oe
+++ b/packages/e17/e-wm/enlightenment_start.oe
@@ -5,4 +5,5 @@ if [ -r /etc/enlightenment/default_profile ]; then
. /etc/enlightenment/default_profile
fi
+renice -10 -p $$
exec enlightenment_start $E_PROFILE
diff --git a/packages/e17/e-wm/gsm-segfault-fix.patch b/packages/e17/e-wm/gsm-segfault-fix.patch
new file mode 100644
index 0000000000..0bed84a26e
--- /dev/null
+++ b/packages/e17/e-wm/gsm-segfault-fix.patch
@@ -0,0 +1,28 @@
+Index: e/src/modules/illume/e_mod_gad_gsm.c
+===================================================================
+--- e/src/modules/illume/e_mod_gad_gsm.c (revision 37617)
++++ e/src/modules/illume/e_mod_gad_gsm.c (revision 37618)
+@@ -353,7 +353,7 @@
+ {
+ /* We care only about the provider name right now. All the other status
+ * informations get ingnored for the gadget for now */
+- const char *provider, *name, *reg_stat;
++ const char *provider = 0 , *name = 0, *reg_stat = 0;
+ DBusMessageIter iter, a_iter, s_iter, v_iter;
+
+ if (!dbus_message_has_signature(msg, "a{sv}")) return NULL;
+@@ -380,10 +380,13 @@
+ dbus_message_iter_next(&a_iter);
+ }
+
++ if (!reg_stat) return NULL;
+ if (strcmp(reg_stat, "unregistered") == 0) provider = "No Service";
+ else if (strcmp(reg_stat, "busy") == 0) provider = "Searching...";
+ else if (strcmp(reg_stat, "denied") == 0) provider = "SOS only";
+-
++
++ if (!provider) return NULL;
++
+ return strdup(provider);
+ }
+
diff --git a/packages/e17/e-wm_svn.bb b/packages/e17/e-wm_svn.bb
index acbee85a70..3dee2ffd79 100644
--- a/packages/e17/e-wm_svn.bb
+++ b/packages/e17/e-wm_svn.bb
@@ -2,16 +2,57 @@ DESCRIPTION = "The Enlightenment Window Manager Version 17"
DEPENDS = "eet evas ecore edje efreet edbus"
LICENSE = "MIT BSD"
PV = "0.16.999.043+svnr${SRCREV}"
-PR = "r15"
+PR = "r17"
inherit e update-alternatives
-RDEPENDS += "shared-mime-info mime-support"
+RDEPENDS += "shared-mime-info mime-support edje-utils glibc-utils"
+
+PACKAGES =+ "\
+ ${PN}-config-default \
+ ${PN}-config-illume \
+ ${PN}-config-minimalist \
+ ${PN}-config-netbook \
+ ${PN}-config-scaleable \
+ ${PN}-config-standard \
+ ${PN}-theme-default \
+ ${PN}-theme-illume \
+ ${PN}-background-dark-gradient \
+ ${PN}-background-light-gradient \
+ ${PN}-images \
+ ${PN}-icons \
+ ${PN}-other \
+ ${PN}-input-methods \
+"
+
+RRECOMMENDS_${PN} = "\
+ ${PN}-config-default \
+ ${PN}-images \
+ ${PN}-icons \
+ ${PN}-other \
+ ${PN}-input-methods \
+"
+
+PACKAGE_ARCH_${PN}-config-default = "all"
+PACKAGE_ARCH_${PN}-config-illume = "all"
+PACKAGE_ARCH_${PN}-config-minimalist = "all"
+PACKAGE_ARCH_${PN}-config-netbook = "all"
+PACKAGE_ARCH_${PN}-config-scaleable = "all"
+PACKAGE_ARCH_${PN}-config-standard = "all"
+PACKAGE_ARCH_${PN}-theme-default = "all"
+PACKAGE_ARCH_${PN}-theme-illume = "all"
+PACKAGE_ARCH_${PN}-background-dark-gradient = "all"
+PACKAGE_ARCH_${PN}-background-light-gradient = "all"
+PACKAGE_ARCH_${PN}-images = "all"
+PACKAGE_ARCH_${PN}-icons = "all"
+PACKAGE_ARCH_${PN}-other = "all"
+PACKAGE_ARCH_${PN}-input-methods = "all"
SRC_URI = "\
svn://svn.enlightenment.org/svn/e/trunk;module=e;proto=http \
file://enlightenment_start.oe \
file://applications.menu \
+ file://gsm-segfault-fix.patch;patch=1;maxrev=37617 \
"
S = "${WORKDIR}/e"
@@ -37,30 +78,53 @@ do_stage() {
do_install_append() {
# customising - should rather make this simple upstream
- rm -rf ${D}${datadir}/enlightenment/data/backgrounds/*
- rm -rf ${D}${datadir}/enlightenment/data/fonts/*
- rm -rf ${D}${datadir}/enlightenment/data/other/*
install -m 755 ${WORKDIR}/enlightenment_start.oe ${D}/${bindir}
install -d ${D}/${sysconfdir}/xdg/menus
install -m 644 ${WORKDIR}/applications.menu ${D}/${sysconfdir}/xdg/menus/
+ for I in `find ${D}/${libdir}/enlightenment -name "*.a" -print`; do rm -f $I; done
+ for I in `find ${D}/${libdir}/enlightenment -name "*.la" -print`; do rm -f $I; done
}
FILES_${PN} = "\
${bindir}/* \
${libdir}/enlightenment/modules/*/*.* \
${libdir}/enlightenment/modules/*/*/* \
- ${libdir}/enlightenment/preload/*.so \
- ${datadir} \
+ ${datadir}/locale \
+ ${datadir}/enlightenment/data/icons \
+ ${datadir}/enlightenment/data/input_methods \
+ ${datadir}/enlightenment/data/config/profile.cfg \
${sysconfdir} \
"
+FILES_${PN}-config-default = "${datadir}/enlightenment/data/config/default"
+FILES_${PN}-config-illume = "${datadir}/enlightenment/data/config/illume"
+FILES_${PN}-config-minimalist = "${datadir}/enlightenment/data/config/minimalist"
+FILES_${PN}-config-netbook = "${datadir}/enlightenment/data/config/netbook"
+FILES_${PN}-config-scaleable = "${datadir}/enlightenment/data/config/scaleable"
+FILES_${PN}-config-standard = "${datadir}/enlightenment/data/config/standard"
+FILES_${PN}-theme-default = "${datadir}/enlightenment/data/themes/default.edj"
+FILES_${PN}-theme-illume = "${datadir}/enlightenment/data/themes/illume.edj"
+FILES_${PN}-theme-default = "${datadir}/enlightenment/data/themes/default.edj"
+FILES_${PN}-background-dark-gradient = "${datadir}/enlightenment/data/backgrounds/Dark_Gradient.edj"
+FILES_${PN}-background-light-gradient = "${datadir}/enlightenment/data/backgrounds/Light_Gradient.edj"
+FILES_${PN}-images = "${datadir}/enlightenment/data/images"
+FILES_${PN}-icons = "${datadir}/enlightenment/data/icons"
+FILES_${PN}-other = "${datadir}/enlightenment/data/other"
+FILES_${PN}-input-methods = "${datadir}/enlightenment/data/input_methods"
+
+RRECOMMENDS_${PN}-config-default = "${PN}-theme-default"
+RRECOMMENDS_${PN}-config-illume = "${PN}-theme-illume"
+RRECOMMENDS_${PN}-config-minimalist = "${PN}-background-light-gradient \
+${PN}-theme-default"
+RRECOMMENDS_${PN}-config-netbook = "${PN}-background-dark-gradient \
+${PN}-theme-default"
+RRECOMMENDS_${PN}-config-scaleable = "${PN}-theme-default"
+RRECOMMENDS_${PN}-config-standard = "${PN}-theme-default"
+
FILES_${PN}-dbg += "\
${libdir}/enlightenment/modules/*/*/.debug/ \
${libdir}/enlightenment/preload/.debug/ \
"
-
-FILES_${PN}-dev += "\
- ${libdir}/enlightenment/preload/*.?a \
-"
+FILES_${PN}-dev += "${libdir}/enlightenment/preload/*.?a"
CONFFILES_${PN} = "/etc/xdg/menus/applications.menu"
diff --git a/packages/e17/exquisite/exquisite-init b/packages/e17/exquisite/exquisite-init
new file mode 100644
index 0000000000..1750184842
--- /dev/null
+++ b/packages/e17/exquisite/exquisite-init
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+for x in $(cat /proc/cmdline); do
+ case $x in
+ splash=false)
+ echo "Splash Disabled"
+ exit 0;
+ ;;
+ esac
+done
+
+. /etc/init.d/functions
+
+### Default config here - gets overriden later
+THEME="-t default"
+FPS="-fps 30"
+### Override config - if there is a config file - load it.
+if test -f /etc/exquisite/config; then
+ . /etc/exquisite/config
+fi
+
+args=''
+case `machine_id` in
+ "hp_ipaq_h3100"|"hp_ipaq_h3800")
+ args='-rot 90' ;;
+ "hp_ipaq_3600"|"hp_ipaq_3700"|"hp_ipaq_h3900"|"htc_universal"|*collie|*poodle|*akita|*spitz|*borzoi)
+ args='-rot 270' ;;
+esac
+args=$args" $FPS $THEME"
+
+export EXDIR=/mnt/.exquisite
+export EXQUISITE_IPC=$EXDIR/exquisite
+mount tmpfs -t tmpfs $EXDIR -o,size=40k
+exquisite -fb -fs $args &
+
+exquisite-write -wait 40
+exquisite-write "PULSATE"
+
+# kill off exquisite in 300 seconds if its not gone yet
+(sleep 300; exquisite-write "QUIT")&
diff --git a/packages/e17/exquisite_svn.bb b/packages/e17/exquisite_svn.bb
index 4777226df5..e303600d58 100644
--- a/packages/e17/exquisite_svn.bb
+++ b/packages/e17/exquisite_svn.bb
@@ -2,8 +2,32 @@ DESCRIPTION = "A psplash replacement for display"
LICENSE = "MIT BSD"
DEPENDS = "eet evas ecore embryo edje"
PV = "0.0.1+svnr${SRCREV}"
-PR = "r1"
+PR = "r3"
+RDEPENDS = "initscripts"
+RRECOMMENDS_${PN} = "exquisite-themes"
+
+SRCNAME = "exquisite"
inherit e
EXTRA_OECONF = "--with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc"
+
+SRC_URI += "file://exquisite-init"
+
+inherit update-rc.d
+
+do_install_prepend() {
+ install -d ${D}/mnt/.exquisite/
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/exquisite-init ${D}${sysconfdir}/init.d/exquisite
+}
+
+
+do_install_append() {
+ rm -rf ${D}${datadir}/exquisite/data/fonts/*
+}
+
+INITSCRIPT_NAME = "exquisite"
+INITSCRIPT_PARAMS = "start 01 S . stop 20 0 1 6 ."
+
+FILES_${PN} += "/mnt/.exquisite/"
diff --git a/packages/e17/illume-theme-illume_svn.bb b/packages/e17/illume-theme-illume_svn.bb
deleted file mode 100644
index eb313e074c..0000000000
--- a/packages/e17/illume-theme-illume_svn.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "Illume theme for Illume E module"
-HOMEPAGE = "http://www.enlightenment.org/"
-LICENSE = "MIT/BSD"
-DEPENDS = "edje-native eet-native"
-PV = "0.0+${PR}-svnr${SRCREV}"
-PR = "r1"
-
-SRC_URI = "svn://svn.enlightenment.org/svn/e/trunk;module=THEMES/b_and_w;proto=http"
-S = "${WORKDIR}/THEMES/b_and_w"
-
-do_compile() {
- edje_cc illume.edc
- edje_cc illume_init.edc
-}
-
-do_install() {
- install -d ${D}${sysconfdir}/enlightenment
- install -d ${D}${datadir}/enlightenment/data/themes/
- install -d ${D}${datadir}/enlightenment/data/init/
-
- # FIXME: hack. should modify profile.cfg and nto use enlightenment_start.oe
- echo 'E_PROFILE="-profile illume"' > ${D}${sysconfdir}/enlightenment/default_profile
-
- install -m 0644 ${S}/illume.edj ${D}${datadir}/enlightenment/data/themes/
- install -m 0644 ${S}/illume_init.edj ${D}${datadir}/enlightenment/data/init/
-}
-
-RPROVIDES_${PN} = "illume-theme"
-CONFFILES_${PN} = "${sysconfdir}/enlightenment/default_profile"
-FILES_${PN} = "${sysconfdir}/enlightenment ${datadir}/enlightenment"
-
-PACKAGE_ARCH_${PN} = "all"
-
diff --git a/packages/e17/illume/gsm-segfault.patch b/packages/e17/illume/gsm-segfault.patch
new file mode 100644
index 0000000000..f9fc2645b6
--- /dev/null
+++ b/packages/e17/illume/gsm-segfault.patch
@@ -0,0 +1,27 @@
+Index: illume/src/e_mod_gad_gsm.c
+===================================================================
+--- illume.orig/src/e_mod_gad_gsm.c 2008-11-10 16:15:08.000000000 +0000
++++ illume/src/e_mod_gad_gsm.c 2008-11-10 16:16:23.000000000 +0000
+@@ -357,7 +357,7 @@
+ {
+ /* We care only about the provider name right now. All the other status
+ * informations get ingnored for the gadget for now */
+- const char *provider, *name, *reg_stat;
++ const char *provider = 0 , *name = 0, *reg_stat = 0;
+ DBusMessageIter iter, a_iter, s_iter, v_iter;
+
+ if (!dbus_message_has_signature(msg, "a{sv}")) return NULL;
+@@ -384,10 +384,13 @@
+ dbus_message_iter_next(&a_iter);
+ }
+
++ if (!reg_stat) return NULL;
+ if (strcmp(reg_stat, "unregistered") == 0) provider = "No Service";
+ else if (strcmp(reg_stat, "busy") == 0) provider = "Searching...";
+ else if (strcmp(reg_stat, "denied") == 0) provider = "SOS only";
+
++ if (!provider) return NULL;
++
+ return strdup(provider);
+ }
+
diff --git a/packages/e17/illume_svn.bb b/packages/e17/illume_svn.bb
deleted file mode 100644
index 2c1521c813..0000000000
--- a/packages/e17/illume_svn.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-DESCRIPTION = "Illume - A mobile UI module for the Enlightenment Window Manager"
-HOMEPAGE = "http://illume.projects.openmoko.org"
-AUTHOR = "Carsten 'Rasterman' Haitzler"
-LICENSE = "MIT/BSD"
-DEPENDS = "e-wm eet evas ecore edje embryo efreet edbus edje-native embryo-native eet-native"
-PV = "0.0+svnr${SRCREV}"
-PR = "r13"
-
-SRC_URI = "svn://svn.enlightenment.org/svn/e/trunk;module=illume;proto=http"
-S = "${WORKDIR}/${PN}"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "\
- --x-includes=${STAGING_INCDIR}/X11 \
- --x-libraries=${STAGING_LIBDIR} \
- --enable-simple-x11 \
- --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \
- --with-eet-eet=${STAGING_BINDIR_NATIVE}/eet \
-"
-
-RRECOMMENDS_${PN} = "\
- ${PN}-config-illume \
- ${PN}-theme \
- ${PN}-dicts-english-us \
- ${PN}-keyboards-default \
- ${PN}-keyboards-numbers \
- ${PN}-keyboards-terminal \
-"
-
-PACKAGES =+ "\
- ${PN}-config-illume \
- ${PN}-config-asu \
- ${PN}-dicts-english-us \
- ${PN}-keyboards-default \
- ${PN}-keyboards-numbers \
- ${PN}-keyboards-terminal \
-"
-PACKAGE_ARCH_${PN}-config-illume = "all"
-PACKAGE_ARCH_${PN}-config-asu = "all"
-PACKAGE_ARCH_${PN}-dicts-english-us = "all"
-PACKAGE_ARCH_${PN}-keyboards-default = "all"
-PACKAGE_ARCH_${PN}-keyboards-numbers = "all"
-PACKAGE_ARCH_${PN}-keyboards-terminal = "all"
-
-FILES_${PN}-config-illume = "${datadir}/enlightenment/data/config/illume/*"
-FILES_${PN}-config-asu = "${datadir}/enlightenment/data/config/asu/*"
-FILES_${PN}-dicts-english-us = "${libdir}/enlightenment/modules/illume/dicts/English_*.dic"
-FILES_${PN}-keyboards-default = "${libdir}/enlightenment/modules/illume/keyboards/Default.kbd"
-FILES_${PN}-keyboards-numbers = "${libdir}/enlightenment/modules/illume/keyboards/Numbers.kbd"
-FILES_${PN}-keyboards-terminal = "${libdir}/enlightenment/modules/illume/keyboards/Terminal.kbd"
-
-FILES_${PN} = "\
- ${libdir}/enlightenment/modules/*/*.edj \
- ${libdir}/enlightenment/modules/*/*.desktop \
- ${libdir}/enlightenment/modules/*/*/* \
-"
-FILES_${PN}-dbg += "${libdir}/enlightenment/modules/*/*/.debug/"
diff --git a/packages/efl1/ecore_svn.bb b/packages/efl1/ecore_svn.bb
index 3bc51849d2..e518be539d 100644
--- a/packages/efl1/ecore_svn.bb
+++ b/packages/efl1/ecore_svn.bb
@@ -1,5 +1,5 @@
require ecore.inc
-PR = "r5"
+PR = "r6"
EXTRA_OECONF = "\
--x-includes=${STAGING_INCDIR}/X11 \
@@ -15,8 +15,7 @@ EXTRA_OECONF = "\
--disable-ecore-sdl \
--enable-ecore-fb \
--enable-ecore-evas \
- --enable-ecore-evas-x11-16 \
- --enable-ecore-evas-16-x11 \
+ --enable-ecore-evas-software-16-x11 \
--disable-ecore-evas-x11-gl \
--enable-ecore-evas-xrender \
--disable-ecore-evas-dfb \
diff --git a/packages/efl1/edje_svn.bb b/packages/efl1/edje_svn.bb
index 17c8f91024..5e767ac580 100644
--- a/packages/efl1/edje_svn.bb
+++ b/packages/efl1/edje_svn.bb
@@ -2,12 +2,13 @@ DESCRIPTION = "Edje is the Enlightenment graphical design & layout library"
DEPENDS = "eet evas ecore embryo edje-native"
LICENSE = "MIT BSD"
PV = "0.5.0.043+svnr${SRCREV}"
-PR = "r5"
+PR = "r6"
inherit efl
-# gain some extra performance at the expense of RAM
-EXTRA_OECONF = "--enable-edje-program-cache"
+# gain some extra performance at the expense of RAM - generally i'd say bad
+# and a possible source of bugs
+#EXTRA_OECONF = "--enable-edje-program-cache"
PACKAGES =+ "${PN}-utils"
RDEPENDS_${PN}-utils = "cpp cpp-symlinks embryo-tests"
diff --git a/packages/efl1/eet-native_svn.bb b/packages/efl1/eet-native_svn.bb
index 0b0b5a4862..454bc53a7b 100644
--- a/packages/efl1/eet-native_svn.bb
+++ b/packages/efl1/eet-native_svn.bb
@@ -1,6 +1,6 @@
require eet_svn.bb
inherit native
-DEPENDS = "zlib-native jpeg-native"
+DEPENDS = "zlib-native jpeg-native eina-native"
# we no longer inherit pkgconfig, so we need to state this explicitly
# (see explanation in efl.bbclass and autotools.bbclass)
DEPENDS += "pkgconfig-native"
diff --git a/packages/efl1/eet_svn.bb b/packages/efl1/eet_svn.bb
index e801a543e7..6f7a615fad 100644
--- a/packages/efl1/eet_svn.bb
+++ b/packages/efl1/eet_svn.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "EET is the Enlightenment data storage library"
-DEPENDS = "zlib jpeg openssl"
+DEPENDS = "zlib jpeg openssl eina"
LICENSE = "MIT BSD"
PV = "1.0.1+svnr${SRCREV}"
PR = "r3"
diff --git a/packages/efl1/eina-native_svn.bb b/packages/efl1/eina-native_svn.bb
new file mode 100644
index 0000000000..8cc34bb178
--- /dev/null
+++ b/packages/efl1/eina-native_svn.bb
@@ -0,0 +1,6 @@
+require eina_svn.bb
+inherit native
+DEPENDS = ""
+# we no longer inherit pkgconfig, so we need to state this explicitly
+# (see explanation in efl.bbclass and autotools.bbclass)
+DEPENDS += "pkgconfig-native"
diff --git a/packages/efl1/eina_svn.bb b/packages/efl1/eina_svn.bb
new file mode 100644
index 0000000000..f38c4c5b36
--- /dev/null
+++ b/packages/efl1/eina_svn.bb
@@ -0,0 +1,8 @@
+DESCRIPTION = "Eina is the Enlightenment data library"
+LICENSE = "LGPL"
+PV = "0.0.1+svnr${SRCREV}"
+PR = "r0"
+
+inherit efl
+
+FILES_${PN} += "${libdir}/eina"
diff --git a/packages/evince/evince_2.24.1.bb b/packages/evince/evince_2.24.1.bb
new file mode 100644
index 0000000000..9dc61c35f7
--- /dev/null
+++ b/packages/evince/evince_2.24.1.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Evince is a document viewer for document formats like pdf, ps, djvu."
+LICENSE = "GPL"
+SECTION = "x11/office"
+DEPENDS = "gnome-icon-theme tiff libxt espgs gnome-doc-utils poppler libxml2 gtk+ gnome-vfs gconf libglade gnome-keyring "
+RDEPENDS = "espgs gnome-icon-theme"
+RRECOMMENDS = "gnome-vfs-plugin-file"
+PR = "r1"
+
+inherit gnome pkgconfig gtk-icon-cache
+
+SRC_URI += " file://no-help-dir.patch;patch=1"
+
+EXTRA_OECONF = " --without-libgnome \
+ --disable-thumbnailer \
+ --disable-scrollkeeper \
+ --enable-djvu \
+ "
+FILES_${PN}-dbg = "${libdir}/evince/backends/.debug"
diff --git a/packages/ffmpeg/ffmpeg.inc b/packages/ffmpeg/ffmpeg.inc
index 44e00e6764..f26c71e80f 100644
--- a/packages/ffmpeg/ffmpeg.inc
+++ b/packages/ffmpeg/ffmpeg.inc
@@ -5,7 +5,7 @@ SECTION = "libs"
PRIORITY = "optional"
LICENSE = "LGPL"
-DEPENDS = "zlib libogg libvorbis faac faad2 liba52 lame"
+DEPENDS = "zlib libogg libvorbis faac faad2 ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'lame liba52', d)}"
RSUGGESTS = "mplayer"
inherit autotools pkgconfig
diff --git a/packages/ffmpeg/ffmpeg_0.4.9-pre1.bb b/packages/ffmpeg/ffmpeg_0.4.9-pre1.bb
index 3e05040854..6e347b16f1 100644
--- a/packages/ffmpeg/ffmpeg_0.4.9-pre1.bb
+++ b/packages/ffmpeg/ffmpeg_0.4.9-pre1.bb
@@ -1,6 +1,6 @@
require ffmpeg.inc
-PR = "r8"
+PR = "r9"
SRC_URI = "${SOURCEFORGE_MIRROR}/ffmpeg/ffmpeg-${PV}.tar.gz \
file://configure.patch;patch=0 \
diff --git a/packages/ffmpeg/ffmpeg_git.bb b/packages/ffmpeg/ffmpeg_git.bb
index aa955b1648..3f8785b6d7 100644
--- a/packages/ffmpeg/ffmpeg_git.bb
+++ b/packages/ffmpeg/ffmpeg_git.bb
@@ -4,7 +4,7 @@ DEPENDS += "schroedinger libgsm"
PE = "1"
PV = "0.4.9+${PR}+gitr${SRCREV}"
-PR = "r34"
+PR = "r35"
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_armv5te = "1"
diff --git a/packages/ffmpeg/ffmpeg_svn.bb b/packages/ffmpeg/ffmpeg_svn.bb
index 2433565bbe..09f1003a1d 100644
--- a/packages/ffmpeg/ffmpeg_svn.bb
+++ b/packages/ffmpeg/ffmpeg_svn.bb
@@ -6,7 +6,7 @@ SRCREV ?= "12186"
PE = "1"
PV = "0.4.9+svnr${SRCREV}"
-PR = "r0"
+PR = "r1"
DEFAULT_PREFERENCE = "-1"
diff --git a/packages/findutils/findutils-4.2.29/mkinstalldirs.patch b/packages/findutils/findutils-4.2.29/mkinstalldirs.patch
new file mode 100644
index 0000000000..e82380b1b2
--- /dev/null
+++ b/packages/findutils/findutils-4.2.29/mkinstalldirs.patch
@@ -0,0 +1,14 @@
+Index: findutils-4.2.29/po/Makefile.in.in
+===================================================================
+--- findutils-4.2.29.orig/po/Makefile.in.in 2008-11-01 22:45:48.466060774 +0100
++++ findutils-4.2.29/po/Makefile.in.in 2008-11-01 22:46:18.000751035 +0100
+@@ -29,8 +29,7 @@
+
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+-MKINSTALLDIRS = @MKINSTALLDIRS@
+-mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+
+ GMSGFMT = @GMSGFMT@
+ MSGFMT = @MSGFMT@
diff --git a/packages/findutils/findutils-native_4.4.bb b/packages/findutils/findutils-native_4.4.bb
new file mode 100644
index 0000000000..1a7b1fe4a8
--- /dev/null
+++ b/packages/findutils/findutils-native_4.4.bb
@@ -0,0 +1,9 @@
+require findutils.inc
+
+inherit native
+
+DEFAULT_PREFERENCE = "-1"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/findutils-${PV}"
+
+S = "${WORKDIR}/findutils-${PV}"
diff --git a/packages/findutils/findutils.inc b/packages/findutils/findutils.inc
index e054dd0cc7..7feef27025 100644
--- a/packages/findutils/findutils.inc
+++ b/packages/findutils/findutils.inc
@@ -11,4 +11,4 @@ inherit autotools gettext
# standard functionality. regex.c actually breaks compilation
# because it uses __mempcpy, there are other things (TBD:
# see diffutils.mk in buildroot)
-EXTRA_OECONF_linux-uclibc = "--without-included-regex"
+EXTRA_OECONF_linux-uclibc += "--without-included-regex"
diff --git a/packages/findutils/findutils_4.2.29.bb b/packages/findutils/findutils_4.2.29.bb
index fcb074c185..6de63af151 100644
--- a/packages/findutils/findutils_4.2.29.bb
+++ b/packages/findutils/findutils_4.2.29.bb
@@ -1,11 +1,8 @@
require findutils.inc
-EXTRA_OECONF += " ac_cv_path_SORT=/usr/bin/sort "
+SRC_URI += "file://mkinstalldirs.patch;patch=1"
-do_install_append () {
- mv ${D}${bindir}/find ${D}${bindir}/find.${PN}
- mv ${D}${bindir}/xargs ${D}${bindir}/xargs.${PN}
-}
+EXTRA_OECONF += " ac_cv_path_SORT=/usr/bin/sort "
pkg_postinst_${PN} () {
for i in find xargs; do update-alternatives --install ${bindir}/$i $i $i.${PN} 100; done
diff --git a/packages/findutils/findutils_4.4.bb b/packages/findutils/findutils_4.4.bb
new file mode 100644
index 0000000000..844f206460
--- /dev/null
+++ b/packages/findutils/findutils_4.4.bb
@@ -0,0 +1,13 @@
+require findutils.inc
+
+DEFAULT_PREFERENCE = "-1"
+
+EXTRA_OECONF += " ac_cv_path_SORT=/usr/bin/sort "
+
+pkg_postinst_${PN} () {
+ for i in find xargs; do update-alternatives --install ${bindir}/$i $i $i.${PN} 100; done
+}
+
+pkg_prerm_${PN} () {
+ for i in find xargs; do update-alternatives --remove $i $i.${PN}; done
+}
diff --git a/packages/freesmartphone/frameworkd-devel_git.bb b/packages/freesmartphone/frameworkd-devel_git.bb
index c46c44ad17..9438b6d768 100644
--- a/packages/freesmartphone/frameworkd-devel_git.bb
+++ b/packages/freesmartphone/frameworkd-devel_git.bb
@@ -1,5 +1,10 @@
require frameworkd_git.bb
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/frameworkd', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
-SRC_URI = "${FREESMARTPHONE_GIT}/framework.git;protocol=git;branch=master \
- file://frameworkd \
- file://frameworkd.conf"
+PR="r1"
+
+SRC_URI = "\
+ ${FREESMARTPHONE_GIT}/framework.git;protocol=git;branch=master \
+ file://frameworkd \
+ file://frameworkd.conf \
+"
diff --git a/packages/freesmartphone/frameworkd_git.bb b/packages/freesmartphone/frameworkd_git.bb
index 521fe5d8ed..3467c79a66 100644
--- a/packages/freesmartphone/frameworkd_git.bb
+++ b/packages/freesmartphone/frameworkd_git.bb
@@ -4,7 +4,7 @@ AUTHOR = "Michael 'Mickey' Lauer <mlauer@vanille-media.de> et. al."
SECTION = "console/network"
DEPENDS = "python-cython-native python-pyrex-native"
LICENSE = "GPL"
-PV = "0.8.4.2+gitr${SRCREV}"
+PV = "0.8.4.3+gitr${SRCREV}"
PR = "r0"
inherit distutils update-rc.d
diff --git a/packages/freesmartphone/zhone_git.bb b/packages/freesmartphone/zhone_git.bb
index 3fd0c7a4a5..18b46e2a3a 100644
--- a/packages/freesmartphone/zhone_git.bb
+++ b/packages/freesmartphone/zhone_git.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "A phone UI based on the freesmartphone.org framework"
LICENSE = "GPL"
SECTION = "x11"
DEPENDS = "edje-native python-pyrex-native python-cython-native"
-PV = "0.0.1+gitr${SRCREV}"
+PV = "0.0.2+gitr${SRCREV}"
PR = "r10"
SRC_URI = "${FREESMARTPHONE_GIT}/zhone.git;protocol=git;branch=master \
diff --git a/packages/gcc/gcc-3.4.4.inc b/packages/gcc/gcc-3.4.4.inc
index 34204f10fa..0b5b714e09 100644
--- a/packages/gcc/gcc-3.4.4.inc
+++ b/packages/gcc/gcc-3.4.4.inc
@@ -22,5 +22,6 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://gcc34-configure.in.patch;patch=1 \
file://gcc34-thumb-support.patch;patch=1 \
file://gcc-cross-fixincl.patch;patch=1 \
+ file://gcc-posix.patch;patch=1 \
"
SRC_URI_append_fail-fast = " file://zecke-no-host-includes.patch;patch=1 "
diff --git a/packages/gcc/gcc-3.4.4/gcc-posix.patch b/packages/gcc/gcc-3.4.4/gcc-posix.patch
new file mode 100644
index 0000000000..99f813e866
--- /dev/null
+++ b/packages/gcc/gcc-3.4.4/gcc-posix.patch
@@ -0,0 +1,11 @@
+--- gcc-3.4.6/gcc/collect2.c 2008-10-04 18:17:17.796750393 +0400
++++ gcc-3.4.6/gcc/collect2.new 2008-10-04 18:24:10.120748711 +0400
+@@ -1534,7 +1534,7 @@ collect_execute (const char *prog, char
+ if (redir)
+ {
+ /* Open response file. */
+- redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT);
++ redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, S_IWUSR);
+
+ /* Duplicate the stdout and stderr file handles
+ so they can be restored later. */
diff --git a/packages/gcc/gcc-3.4.6.inc b/packages/gcc/gcc-3.4.6.inc
index 1afd7a22cb..b1f686b365 100644
--- a/packages/gcc/gcc-3.4.6.inc
+++ b/packages/gcc/gcc-3.4.6.inc
@@ -16,6 +16,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://always-fixincperm.patch;patch=1 \
file://GCOV_PREFIX_STRIP-cross-profile_3.4.patch;patch=1 \
file://zecke-xgcc-cpp.patch;patch=1 \
+ file://gcc-posix.patch;patch=1 \
file://gcc4-mtune-compat.patch;patch=1"
SRC_URI += "file://gcc34-configure.in.patch;patch=1"
diff --git a/packages/gcc/gcc-3.4.6/gcc-posix.patch b/packages/gcc/gcc-3.4.6/gcc-posix.patch
new file mode 100644
index 0000000000..99f813e866
--- /dev/null
+++ b/packages/gcc/gcc-3.4.6/gcc-posix.patch
@@ -0,0 +1,11 @@
+--- gcc-3.4.6/gcc/collect2.c 2008-10-04 18:17:17.796750393 +0400
++++ gcc-3.4.6/gcc/collect2.new 2008-10-04 18:24:10.120748711 +0400
+@@ -1534,7 +1534,7 @@ collect_execute (const char *prog, char
+ if (redir)
+ {
+ /* Open response file. */
+- redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT);
++ redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, S_IWUSR);
+
+ /* Duplicate the stdout and stderr file handles
+ so they can be restored later. */
diff --git a/packages/gcc/gcc-cross-sdk_3.4.4.bb b/packages/gcc/gcc-cross-sdk_3.4.4.bb
index b00c86617d..7d78ef44d5 100644
--- a/packages/gcc/gcc-cross-sdk_3.4.4.bb
+++ b/packages/gcc/gcc-cross-sdk_3.4.4.bb
@@ -1,4 +1,4 @@
-PR = "r5"
+PR = "r6"
require gcc-${PV}.inc
require gcc-cross-sdk.inc
diff --git a/packages/gcc/gcc-cross_3.4.4.bb b/packages/gcc/gcc-cross_3.4.4.bb
index 515b41628c..e2b20df484 100644
--- a/packages/gcc/gcc-cross_3.4.4.bb
+++ b/packages/gcc/gcc-cross_3.4.4.bb
@@ -1,4 +1,4 @@
-PR = "r11"
+PR = "r12"
require gcc-${PV}.inc
require gcc-cross.inc
diff --git a/packages/gcc/gcc-native_3.4.4.bb b/packages/gcc/gcc-native_3.4.4.bb
index 5f39f1bbb3..c3f8106d3a 100644
--- a/packages/gcc/gcc-native_3.4.4.bb
+++ b/packages/gcc/gcc-native_3.4.4.bb
@@ -1,4 +1,4 @@
-PR = "r8"
+PR = "r9"
require gcc-${PV}.inc
require gcc-configure-target.inc
diff --git a/packages/gcc/gcc-native_3.4.6.bb b/packages/gcc/gcc-native_3.4.6.bb
index c3f8106d3a..be84e4a0d0 100644
--- a/packages/gcc/gcc-native_3.4.6.bb
+++ b/packages/gcc/gcc-native_3.4.6.bb
@@ -1,4 +1,4 @@
-PR = "r9"
+PR = "r10"
require gcc-${PV}.inc
require gcc-configure-target.inc
diff --git a/packages/gcc/gcc_3.4.4.bb b/packages/gcc/gcc_3.4.4.bb
index 5bc3761068..43d55fa601 100644
--- a/packages/gcc/gcc_3.4.4.bb
+++ b/packages/gcc/gcc_3.4.4.bb
@@ -1,4 +1,4 @@
-PR = "r10"
+PR = "r11"
require gcc-${PV}.inc
require gcc-configure-target.inc
diff --git a/packages/gdal/files/gdal_config.patch b/packages/gdal/files/gdal_config.patch
new file mode 100644
index 0000000000..b09cc43faf
--- /dev/null
+++ b/packages/gdal/files/gdal_config.patch
@@ -0,0 +1,61 @@
+Index: gdal-1.5.2/apps/GNUmakefile
+===================================================================
+--- gdal-1.5.2.orig/apps/GNUmakefile 2007-12-21 04:20:10.000000000 +0100
++++ gdal-1.5.2/apps/GNUmakefile 2008-11-09 20:58:31.506906134 +0100
+@@ -21,7 +21,7 @@
+ ogrtindex$(EXE)
+ endif
+
+-default: gdal-config-inst gdal-config $(BIN_LIST)
++default: gdal-config $(BIN_LIST)
+
+ lib-depend:
+ (cd ../gcore ; $(MAKE) )
+@@ -108,41 +108,26 @@
+ -o test_ogrsf$(EXE)
+
+ clean:
+- $(RM) *.o $(BIN_LIST) core gdal-config gdal-config-inst
++ $(RM) *.o $(BIN_LIST) core gdal-config
+
+ $(DEP_LIBS):
+
+-
+ gdal-config: gdal-config.in ../GDALmake.opt ./GNUmakefile ../VERSION
+ rm -f gdal-config
+ echo '#!/bin/sh' > gdal-config
+- echo 'CONFIG_LIBS="$(CONFIG_LIBS)"' >> gdal-config
++ echo 'CONFIG_LIBS="$(CONFIG_LIBS_INS)"' >> gdal-config
+ echo 'CONFIG_DEP_LIBS="$(LIBS)"' >> gdal-config
+- echo 'CONFIG_PREFIX="$(GDAL_ROOT)"' >> gdal-config
+- echo 'CONFIG_CFLAGS="-I$(GDAL_ROOT)/port -I$(GDAL_ROOT)/gcore -I$(GDAL_ROOT)/alg -I$(GDAL_ROOT)/ogr -I$(GDAL_ROOT)/ogr/ogrsf_frmts"' >> gdal-config
+- echo 'CONFIG_DATA="$(GDAL_ROOT)/data"' >> gdal-config
++ echo 'CONFIG_PREFIX="$(INST_PREFIX)"' >> gdal-config
++ echo 'CONFIG_CFLAGS="-I$(INST_INCLUDE)"' >> gdal-config
++ echo 'CONFIG_DATA="$(INST_DATA)"' >> gdal-config
+ echo 'CONFIG_VERSION="'`cat ../VERSION`'"' >> gdal-config
+ echo 'CONFIG_OGR_ENABLED=$(OGR_ENABLED)' >> gdal-config
+ echo 'CONFIG_FORMATS="$(GDAL_FORMATS)"' >> gdal-config
+ cat gdal-config.in >> gdal-config
+ chmod a+x gdal-config
+
+-gdal-config-inst: gdal-config.in ../GDALmake.opt ./GNUmakefile ../VERSION
+- rm -f gdal-config-inst
+- echo '#!/bin/sh' > gdal-config-inst
+- echo 'CONFIG_LIBS="$(CONFIG_LIBS_INS)"' >> gdal-config-inst
+- echo 'CONFIG_DEP_LIBS="$(LIBS)"' >> gdal-config-inst
+- echo 'CONFIG_PREFIX="$(INST_PREFIX)"' >> gdal-config-inst
+- echo 'CONFIG_CFLAGS="-I$(INST_INCLUDE)"' >> gdal-config-inst
+- echo 'CONFIG_DATA="$(INST_DATA)"' >> gdal-config-inst
+- echo 'CONFIG_VERSION="'`cat ../VERSION`'"' >> gdal-config-inst
+- echo 'CONFIG_OGR_ENABLED=$(OGR_ENABLED)' >> gdal-config-inst
+- echo 'CONFIG_FORMATS="$(GDAL_FORMATS)"' >> gdal-config-inst
+- cat gdal-config.in >> gdal-config-inst
+- chmod a+x gdal-config-inst
+-
+
+ install: default
+ for f in $(BIN_LIST) ; do $(INSTALL) $$f $(DESTDIR)$(INST_BIN) ; done
+- $(INSTALL) gdal-config-inst $(DESTDIR)$(INST_BIN)/gdal-config
++ $(INSTALL) gdal-config $(DESTDIR)$(INST_BIN)/
+
diff --git a/packages/gdal/gdal_1.5.2.bb b/packages/gdal/gdal_1.5.2.bb
index 60162e15f5..6874ddf35a 100644
--- a/packages/gdal/gdal_1.5.2.bb
+++ b/packages/gdal/gdal_1.5.2.bb
@@ -1,11 +1,14 @@
DESCRIPTION = "GDAL is a translator library for raster geospatial data formats"
HOMEPAGE = "http://www.gdal.org/"
LICENSE = "MIT"
-DEPENDS = "proj-4 sqlite3 zlib jpeg libpng jasper expat"
+DEPENDS = "proj-4 sqlite3 zlib jpeg libpng tiff giflib curl jasper expat"
+PR = "r1"
-SRC_URI = "http://www.gdal.org/dl/${P}.tar.gz"
+SRC_URI = "http://www.gdal.org/dl/${P}.tar.gz \
+ file://gdal_config.patch;patch=1 \
+ "
-inherit autotools pkgconfig binconfig
+inherit autotools binconfig
EXTRA_OECONF = "--without-perl \
--without-python \
@@ -14,15 +17,20 @@ EXTRA_OECONF = "--without-perl \
--with-libz=${STAGING_DIR_TARGET} \
--with-png=${STAGING_DIR_TARGET} \
--with-jpeg=${STAGING_DIR_TARGET} \
- --with-jasper=${STAGING_DIR_TARGET} \
--with-libtiff=${STAGING_DIR_TARGET} \
+ --with-gif=${STAGING_DIR_TARGET} \
+ --with-jasper=${STAGING_DIR_TARGET} \
--with-expat=${STAGING_DIR_TARGET} \
--with-expat-inc=${STAGING_INCDIR} \
--with-expat-lib=${STAGING_LIBDIR} \
"
# GDAL clutter /usr/share with files instead of using a subdir :(
-FILES_${PN} += "${datadir}"
+FILES_${PN}-dev += "${datadir}"
+
+do_compile() {
+ oe_runmake default
+}
do_stage() {
autotools_stage_all
diff --git a/packages/glib-2.0/files/atomic-thumb.patch b/packages/glib-2.0/files/atomic-thumb.patch
index d1e3d49a6b..ced49f4acd 100644
--- a/packages/glib-2.0/files/atomic-thumb.patch
+++ b/packages/glib-2.0/files/atomic-thumb.patch
@@ -1,8 +1,10 @@
# gatomic.c uses SWP, which doesn't work in Thumb mode.
# Put that source file into a separate convenience library which is always built as ARM.
---- glib/glib/Makefile.am~ 2008-07-01 23:30:12.000000000 +0100
-+++ glib/glib/Makefile.am 2008-10-27 10:03:42.000000000 +0000
+Index: glib-2.16.4/glib/Makefile.am
+===================================================================
+--- glib-2.16.4.orig/glib/Makefile.am 2008-11-06 00:53:11.253367291 +0100
++++ glib-2.16.4/glib/Makefile.am 2008-11-06 00:54:13.453356583 +0100
@@ -80,6 +80,7 @@
galiasdef.c
@@ -27,12 +29,14 @@
gbacktrace.c \
gbase64.c \
gbookmarkfile.c \
-@@ -285,7 +290,7 @@
+@@ -285,8 +290,8 @@
pcre_inc =
endif
-libglib_2_0_la_LIBADD = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ @ICONV_LIBS@ @G_LIBS_EXTRA@ $(pcre_lib)
+-libglib_2_0_la_DEPENDENCIES = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ $(glib_win32_res) @GLIB_DEF@
+libglib_2_0_la_LIBADD = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ @ICONV_LIBS@ @G_LIBS_EXTRA@ $(pcre_lib) libgatomic.la
- libglib_2_0_la_DEPENDENCIES = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ $(glib_win32_res) @GLIB_DEF@
++libglib_2_0_la_DEPENDENCIES = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ $(glib_win32_res) @GLIB_DEF@ libgatomic.la
libglib_2_0_la_LDFLAGS = \
+ $(glib_win32_res_ldflag) \
diff --git a/packages/glib-2.0/glib-2.0-2.18.1/atomic-thumb.patch b/packages/glib-2.0/glib-2.0-2.18.1/atomic-thumb.patch
new file mode 100644
index 0000000000..d7aa08821f
--- /dev/null
+++ b/packages/glib-2.0/glib-2.0-2.18.1/atomic-thumb.patch
@@ -0,0 +1,42 @@
+# gatomic.c uses SWP, which doesn't work in Thumb mode.
+# Put that source file into a separate convenience library which is always built as ARM.
+
+Index: glib-2.18.1/glib/Makefile.am
+===================================================================
+--- glib-2.18.1/glib/Makefile.am 2008-09-18 00:33:57.000000000 +0200
++++ glib-2.18.1/glib/Makefile.am 2008-11-08 10:13:27.000000000 +0100
+@@ -80,6 +80,7 @@
+ galiasdef.c
+
+ lib_LTLIBRARIES = libglib-2.0.la
++noinst_LTLIBRARIES = libgatomic.la
+
+ if OS_WIN32_AND_DLL_COMPILATION
+ if MS_LIB_AVAILABLE
+@@ -96,10 +97,14 @@
+ uninstall-ms-lib:
+ $(uninstall_ms_lib_cmd)
+
++libgatomic_la_CFLAGS = $(CFLAGS) -mno-thumb
++
++libgatomic_la_SOURCES = \
++ gatomic.c
++
+ libglib_2_0_la_SOURCES = \
+ garray.c \
+ gasyncqueue.c \
+- gatomic.c \
+ gbacktrace.c \
+ gbase64.c \
+ gbookmarkfile.c \
+@@ -286,8 +291,8 @@
+ pcre_inc =
+ endif
+
+-libglib_2_0_la_LIBADD = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ @ICONV_LIBS@ @G_LIBS_EXTRA@ $(pcre_lib)
+-libglib_2_0_la_DEPENDENCIES = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ $(glib_win32_res) $(glib_def)
++libglib_2_0_la_LIBADD = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ @ICONV_LIBS@ @G_LIBS_EXTRA@ $(pcre_lib) libgatomic.la
++libglib_2_0_la_DEPENDENCIES = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ $(glib_win32_res) $(glib_def) libgatomic.la
+
+ libglib_2_0_la_LDFLAGS = \
+ $(glib_win32_res_ldflag) \
diff --git a/packages/glib-2.0/glib-2.0-native_2.16.1.bb b/packages/glib-2.0/glib-2.0-native_2.16.1.bb
index 4a610c4a74..c847bcc246 100644
--- a/packages/glib-2.0/glib-2.0-native_2.16.1.bb
+++ b/packages/glib-2.0/glib-2.0-native_2.16.1.bb
@@ -2,7 +2,7 @@ require glib-2.0_${PV}.bb
FILESPATH = "${FILE_DIRNAME}/glib-2.0-${PV}:${FILE_DIRNAME}/files"
DEPENDS = "gtk-doc-native"
-PR = "r1"
+PR = "r2"
inherit native
@@ -23,6 +23,7 @@ do_stage () {
oe_libinstall -so -C gmodule libgmodule-2.0 ${STAGING_LIBDIR}
oe_libinstall -so -C gthread libgthread-2.0 ${STAGING_LIBDIR}
oe_libinstall -so -C gobject libgobject-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gio libgio-2.0 ${STAGING_LIBDIR}
autotools_stage_includes
install -d ${STAGING_INCDIR}/glib-2.0/glib
install -m 0755 ${S}/glibconfig.h ${STAGING_INCDIR}/glib-2.0/glibconfig.h
diff --git a/packages/glib-2.0/glib-2.0-native_2.18.0.bb b/packages/glib-2.0/glib-2.0-native_2.18.0.bb
index 5684c5df49..0fec1533a6 100644
--- a/packages/glib-2.0/glib-2.0-native_2.18.0.bb
+++ b/packages/glib-2.0/glib-2.0-native_2.18.0.bb
@@ -1,7 +1,7 @@
require glib-2.0_${PV}.bb
FILESPATH = "${FILE_DIRNAME}/glib-2.0-${PV}:${FILE_DIRNAME}/files"
-PR = "r2"
+PR = "r3"
inherit native
@@ -25,6 +25,7 @@ do_stage () {
oe_libinstall -so -C gmodule libgmodule-2.0 ${STAGING_LIBDIR}
oe_libinstall -so -C gthread libgthread-2.0 ${STAGING_LIBDIR}
oe_libinstall -so -C gobject libgobject-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gio libgio-2.0 ${STAGING_LIBDIR}
autotools_stage_includes
install -d ${STAGING_INCDIR}/glib-2.0/glib
install -m 0755 ${S}/glibconfig.h ${STAGING_INCDIR}/glib-2.0/glibconfig.h
diff --git a/packages/glib-2.0/glib-2.0_2.16.4.bb b/packages/glib-2.0/glib-2.0_2.16.4.bb
index 1b817a9ee5..a1ce510c51 100644
--- a/packages/glib-2.0/glib-2.0_2.16.4.bb
+++ b/packages/glib-2.0/glib-2.0_2.16.4.bb
@@ -3,7 +3,7 @@ require glib.inc
# This version requires a newer libtool that isn't default yet
DEFAULT_PREFERENCE = "-1"
-PR = "r0"
+PR = "r1"
SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glib/2.16/glib-${PV}.tar.bz2 \
file://glibconfig-sysdefs.h \
diff --git a/packages/glib-2.0/glib-2.0_2.18.1.bb b/packages/glib-2.0/glib-2.0_2.18.1.bb
index 3ac0487018..1083ef4ba0 100644
--- a/packages/glib-2.0/glib-2.0_2.18.1.bb
+++ b/packages/glib-2.0/glib-2.0_2.18.1.bb
@@ -9,3 +9,4 @@ SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glib/2.18/glib-${PV}.tar.bz2 \
file://glibconfig-sysdefs.h \
file://configure-libtool.patch;patch=1 \
"
+SRC_URI_append_arm = "file://atomic-thumb.patch;patch=1"
diff --git a/packages/glibc/files/march-i686.patch b/packages/glibc/files/march-i686.patch
new file mode 100644
index 0000000000..04616032ad
--- /dev/null
+++ b/packages/glibc/files/march-i686.patch
@@ -0,0 +1,38 @@
+2007-02-15 Khem Raj <kraj@xxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/i386/sysdep.h: Re-define __i686.
+ * nptl/sysdeps/pthread/pt-initfini.c: Ditto.
+
+
+
+Index: sysdeps/unix/sysv/linux/i386/sysdep.h
+===================================================================
+--- sysdeps/unix/sysv/linux/i386/sysdep.h (revision 1469)
++++ sysdeps/unix/sysv/linux/i386/sysdep.h (working copy)
+@@ -29,6 +29,10 @@
+ #include <dl-sysdep.h>
+ #include <tls.h>
+
++#if defined __i686 && defined __ASSEMBLER__
++#undef __i686
++#define __i686 __i686
++#endif
+
+ /* For Linux we can use the system call table in the header file
+ /usr/include/asm/unistd.h
+Index: nptl/sysdeps/pthread/pt-initfini.c
+===================================================================
+--- nptl/sysdeps/pthread/pt-initfini.c (revision 1469)
++++ nptl/sysdeps/pthread/pt-initfini.c (working copy)
+@@ -45,6 +45,11 @@
+ /* Embed an #include to pull in the alignment and .end directives. */
+ asm ("\n#include \"defs.h\"");
+
++asm ("\n#if defined __i686 && defined __ASSEMBLER__");
++asm ("\n#undef __i686");
++asm ("\n#define __i686 __i686");
++asm ("\n#endif");
++
+ /* The initial common code ends here. */
+ asm ("\n/*@HEADER_ENDS*/");
+
diff --git a/packages/glibc/glibc-initial_2.2.5.bb b/packages/glibc/glibc-initial_2.2.5.bb
index 84412bd596..a2e656035e 100644
--- a/packages/glibc/glibc-initial_2.2.5.bb
+++ b/packages/glibc/glibc-initial_2.2.5.bb
@@ -3,3 +3,5 @@ require glibc-initial.inc
DEFAULT_PREFERENCE_sh3 = "-99"
FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/glibc-${PV}', '${FILE_DIRNAME}/glibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+
+PROVIDES_unslung = "virtual/${TARGET_PREFIX}libc-initial"
diff --git a/packages/glibc/glibc_2.2.5.bb b/packages/glibc/glibc_2.2.5.bb
index c7d308b6a2..7cb6681a31 100644
--- a/packages/glibc/glibc_2.2.5.bb
+++ b/packages/glibc/glibc_2.2.5.bb
@@ -1,7 +1,7 @@
require glibc.inc
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs"
-PR = "r19"
+PR = "r20"
DEFAULT_PREFERENCE_sh3 = "-99"
@@ -199,7 +199,7 @@ require glibc-package.bbclass
# Unslung distribution specific packages follow ...
-PACKAGES_unslung = "libc6-unslung"
+PACKAGES_unslung = "libc6-unslung libsegfault"
PACKAGE_ARCH_unslung = "nslu2"
PACKAGE_NO_GCONV_unslung = "1"
RDEPENDS_libc6-unslung = "nslu2-linksys-libs"
diff --git a/packages/glibc/glibc_2.6.1.bb b/packages/glibc/glibc_2.6.1.bb
index 1f72ff02e0..ab343ea0a6 100644
--- a/packages/glibc/glibc_2.6.1.bb
+++ b/packages/glibc/glibc_2.6.1.bb
@@ -1,5 +1,5 @@
require glibc.inc
-PR = "r14"
+PR = "r15"
PACKAGES_DYNAMIC = "libc6*"
RPROVIDES_${PN}-dev = "libc6-dev virtual-libc-dev"
@@ -58,6 +58,7 @@ SRC_URI = "\
file://glibc-use-isystem-include-fixed.patch;patch=1 \
file://glibc-arm-no-asm-page.patch;patch=1 \
file://armv4t-interworking.patch;patch=1 \
+ file://march-i686.patch;patch=1;pnum=0 \
"
# Build fails on sh3 and sh4 without additional patches
diff --git a/packages/gloox/gloox/gloox-fix-pc.diff b/packages/gloox/gloox/gloox-fix-pc.diff
new file mode 100644
index 0000000000..70cb84eb09
--- /dev/null
+++ b/packages/gloox/gloox/gloox-fix-pc.diff
@@ -0,0 +1,10 @@
+Index: gloox-0.8.9/gloox.pc.in
+===================================================================
+--- gloox-0.8.9.orig/gloox.pc.in 2008-11-04 04:20:26.896779618 +0300
++++ gloox-0.8.9/gloox.pc.in 2008-11-04 04:20:32.665427239 +0300
+@@ -7,4 +7,4 @@ Name: gloox
+ Description: A high-level XMPP/Jabber library for C++
+ Version: @VERSION@
+ Libs: -L${libdir} -lgloox @LIBS@
+-Cflags: -I${includedir} @CFLAGS@
++Cflags: -I${includedir}
diff --git a/packages/gloox/gloox_0.8.9.bb b/packages/gloox/gloox_0.8.9.bb
index 09004a8182..562fb90eb3 100644
--- a/packages/gloox/gloox_0.8.9.bb
+++ b/packages/gloox/gloox_0.8.9.bb
@@ -8,7 +8,8 @@ DEPENDS = "iksemel libidn gnutls"
inherit autotools pkgconfig
-SRC_URI = "http://camaya.net/download/${P}.tar.bz2"
+SRC_URI = "http://camaya.net/download/${P}.tar.bz2 \
+ file://gloox-fix-pc.diff;patch=1"
do_stage () {
autotools_stage_all
diff --git a/packages/gnash/gnash-minimal.inc b/packages/gnash/gnash-minimal.inc
index 1f3c486e53..4f52322467 100644
--- a/packages/gnash/gnash-minimal.inc
+++ b/packages/gnash/gnash-minimal.inc
@@ -2,7 +2,8 @@ DESCRIPTION = "Gnash is a GNU Flash movie player that supports many SWF v7 featu
HOMEPAGE = "http://www.gnu.org/software/gnash"
LICENSE = "GPL-2"
-DEPENDS = "virtual/libiconv virtual/libintl ffmpeg libtool agg libxml2 libmad zlib boost jpeg pango curl freetype"
+DEPENDS = "virtual/libiconv virtual/libintl ffmpeg libtool agg libxml2 zlib boost jpeg pango curl freetype \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad', d)}"
RRECOMMENDS_${PN} = "libltdl"
SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gnash/${PV}/gnash-${PV}.tar.bz2"
diff --git a/packages/gnash/gnash-minimal_0.8.2.bb b/packages/gnash/gnash-minimal_0.8.2.bb
index 1c6065e74e..ea99de1e39 100644
--- a/packages/gnash/gnash-minimal_0.8.2.bb
+++ b/packages/gnash/gnash-minimal_0.8.2.bb
@@ -1,3 +1,3 @@
require gnash-minimal.inc
-PR = "r2"
+PR = "r3"
diff --git a/packages/gnash/gnash-minimal_cvs.bb b/packages/gnash/gnash-minimal_cvs.bb
index 80564ebe7e..7c36dbafff 100644
--- a/packages/gnash/gnash-minimal_cvs.bb
+++ b/packages/gnash/gnash-minimal_cvs.bb
@@ -1,7 +1,7 @@
require gnash-minimal.inc
-PR = "r2"
+PR = "r3"
PV = "0.8.3+cvs${SRCDATE}"
diff --git a/packages/gnash/gnash.inc b/packages/gnash/gnash.inc
index 60162ed1bd..59261e3121 100644
--- a/packages/gnash/gnash.inc
+++ b/packages/gnash/gnash.inc
@@ -1,8 +1,10 @@
DESCRIPTION = "Gnash is a GNU Flash movie player that supports many SWF v7 features"
HOMEPAGE = "http://www.gnu.org/software/gnash"
LICENSE = "GPL-2"
-DEPENDS = "libtool ffmpeg gtk+ cairo libxml2 libmad libsdl-mixer zlib boost jpeg pango curl freetype"
-PR = "r2"
+DEPENDS = "libtool ffmpeg gtk+ cairo libxml2 libsdl-mixer zlib boost jpeg pango curl freetype \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad', d)}"
+
+PR = "r3"
SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gnash/${PV}/gnash-${PV}.tar.bz2 \
"
diff --git a/packages/gnash/gnash_0.8.0.bb b/packages/gnash/gnash_0.8.0.bb
index da4b281e94..d9dc87a417 100644
--- a/packages/gnash/gnash_0.8.0.bb
+++ b/packages/gnash/gnash_0.8.0.bb
@@ -1 +1,3 @@
require gnash.inc
+
+PR = "r1"
diff --git a/packages/gnash/gnash_0.8.1.bb b/packages/gnash/gnash_0.8.1.bb
index da4b281e94..d9dc87a417 100644
--- a/packages/gnash/gnash_0.8.1.bb
+++ b/packages/gnash/gnash_0.8.1.bb
@@ -1 +1,3 @@
require gnash.inc
+
+PR = "r1"
diff --git a/packages/gnash/gnash_0.8.2.bb b/packages/gnash/gnash_0.8.2.bb
index da4b281e94..d9dc87a417 100644
--- a/packages/gnash/gnash_0.8.2.bb
+++ b/packages/gnash/gnash_0.8.2.bb
@@ -1 +1,3 @@
require gnash.inc
+
+PR = "r1"
diff --git a/packages/gnash/gnash_0.8.3.bb b/packages/gnash/gnash_0.8.3.bb
index 87ea15878f..9afde70d98 100644
--- a/packages/gnash/gnash_0.8.3.bb
+++ b/packages/gnash/gnash_0.8.3.bb
@@ -1,6 +1,6 @@
require gnash.inc
-PR = "r3"
+PR = "r4"
EXTRA_OECONF += " --without-included-ltdl \
--with-ltdl-include=${STAGING_INCDIR} \
diff --git a/packages/gnome/gnome-desktop_2.24.0.bb b/packages/gnome/gnome-desktop_2.24.0.bb
index 4460c5ad92..36553637bf 100644
--- a/packages/gnome/gnome-desktop_2.24.0.bb
+++ b/packages/gnome/gnome-desktop_2.24.0.bb
@@ -2,7 +2,7 @@ require gnome-desktop.inc
inherit gnome pkgconfig
-DEPENDS += "gnome-doc-utils gnome-vfs"
+DEPENDS += "gnome-doc-utils gnome-vfs libxrandr"
SRC_URI += "file://scrollkeeper.patch;patch=1 \
file://no-desktop-docs.patch;patch=1;pnum=0"
diff --git a/packages/gnome/gnome-games_2.24.0.bb b/packages/gnome/gnome-games_2.24.0.bb
index d4e58da4e7..a16e88b6e0 100644
--- a/packages/gnome/gnome-games_2.24.0.bb
+++ b/packages/gnome/gnome-games_2.24.0.bb
@@ -1,9 +1,9 @@
LICENSE = "GPL"
-DEPENDS = " guile libggz ggz-client-libs python-pygtk gtk+ libgnome libgnomeui librsvg gnome-vfs gconf libglade gnome-common gnome-python-desktop"
+DEPENDS = " guile libggz ggz-client-libs python-pygtk gtk+ libgnome libgnomeui librsvg gnome-vfs gconf libglade gnome-common gnome-python-desktop gnome-python gstreamer"
inherit gnome distutils-base gconf
-PR = "r1"
+PR = "r3"
SRC_URI += "file://ggz-unbreak-m4.patch;patch=1 \
"
@@ -13,6 +13,7 @@ EXTRA_OECONF = "--with-libggz-includes=${STAGING_INCDIR} \
--with-ggzmod-includes=${STAGING_INCDIR} \
--with-ggzmod-libraries=${STAGING_LIBDIR} \
--enable-scalable \
+ INTLTOOL_PERL=${STAGING_BINDIR_NATIVE}/perl \
"
do_configure_prepend() {
@@ -27,22 +28,201 @@ do_configure_append() {
done
}
+# copy matchbox icons
+do_install_append() {
+ install -m 0644 ${D}/${datadir}/icons/hicolor/48x48/apps/* ${D}/${datadir}/pixmaps
+}
+
CFLAGS_append = " -lguile -lgmp -lcrypt -lm -lltdl"
FILES_${PN}-doc += " ${datadir}/gnome/help"
FILES_${PN}-dbg += " ${bindir}/.debug ${libdir}/gnome-games/.debug"
-FILES_${PN} += "/var/games \
- ${datadir}/applications \
- ${datadir}/g* \
- ${datadir}/ggz \
- ${datadir}/icons \
- ${datadir}/pixmaps \
- ${sysconfdir}"
+ALLOW_EMPTY_${PN} = "1"
+RDEPENDS_${PN} += "gnome-games-aisleriot gnome-games-blackjack gnome-games-cards gnome-games-glchess gnome-games-glines gnome-games-gnect gnome-games-gnibbles gnome-games-gnobots2 gnome-games-gnometris gnome-games-gnomine gnome-games-gnotravex gnome-games-gnotski gnome-games-gtali gnome-games-iagno gnome-games-mahjongg gnome-games-same-gnome gnome-games-sudoku "
+
+PACKAGES =+ "gnome-games-common"
+DESCRIPTION_gnome-games-common = "GNOME games common resources"
+FILES_gnome-games-common = "${datadir}/ggz \
+ ${libdir}/ggz \
+ ${sysconfdir} \
+ ${datadir}/gnome-games/icons \
+ ${datadir}/icons \
+ ${datadir}/gnome-games/sounds"
+# svg is needed for --enable-scalable by nearly all, so put into -common
+RDEPENDS_gnome-games-common = "librsvg librsvg-gtk"
-PACKAGES =+ "gnome-games-gnometris "
-FILES_gnome-games-gnometris = "${bindir}/gnometris ${datadir}/pixmaps/gnometris ${datadir}/pixmaps/gnome-gtetris.png ${datadir}/applications/gnometris.desktop ${sysconfdir}/gconf/schemas/gnometris.schemas"
+PACKAGES =+ "gnome-games-cards"
+DESCRIPTION_gnome-games-cards = "GNOME games playing card resources"
+FILES_gnome-games-cards = "${datadir}/gnome-games/pixmaps \
+ ${libdir}/gnome-games/gnome-games-render-cards \
+ ${datadir}/gnome-games-common/cards"
+
+PACKAGES =+ "gnome-games-gnometris"
+DESCRIPTION_gnome-games-gnometris = "GNOME tetris game"
+RDEPENDS_gnome-games-gnometris = "gnome-games-common"
+FILES_gnome-games-gnometris = "${bindir}/gnometris \
+ ${datadir}/pixmaps/gnometris \
+ ${datadir}/pixmaps/gnome-gnometris.png \
+ ${datadir}/applications/gnometris.desktop \
+ ${sysconfdir}/gconf/schemas/gnometris.schemas \
+ /var/games/gnometris.scores"
PACKAGES =+ "gnome-games-gnomine"
-FILES_gnome-games-gnomine = "${bindir}/gnomine ${datadir}/pixmaps/gnomine ${datadir}/pixmaps/gnome-gnomine.png ${datadir}/applications/gnomine.desktop ${sysconfdir}/gconf/schemas/gnomine.schemas"
+DESCRIPTION_gnome-games-gnomine = "GNOME minesweeper game"
+RDEPENDS_gnome-games-gnomine = "gnome-games-common"
+FILES_gnome-games-gnomine = "${bindir}/gnomine \
+ ${datadir}/pixmaps/gnomine \
+ ${datadir}/pixmaps/gnome-mines.png \
+ ${datadir}/applications/gnomine.desktop \
+ ${sysconfdir}/gconf/schemas/gnomine.schemas \
+ /var/games/gnomine.*.scores"
+
+PACKAGES =+ "gnome-games-aisleriot"
+DESCRIPTION_gnome-games-aisleriot = "GNOME solitaire games"
+RDEPENDS_gnome-games-aisleriot = "gnome-games-common gnome-games-cards"
+FILES_gnome-games-aisleriot = "${bindir}/sol \
+ ${datadir}/gnome-games/aisleriot \
+ ${datadir}/pixmaps/gnome-aisleriot.png \
+ ${datadir}/pixmaps/gnome-freecell.png \
+ ${datadir}/applications/sol.desktop \
+ ${datadir}/applications/freecell.desktop \
+ ${sysconfdir}/gconf/schemas/aisleriot.schemas"
+
+PACKAGES =+ "gnome-games-blackjack"
+DESCRIPTION_gnome-games-blackjack = "GNOME blackjack game"
+RDEPENDS_gnome-games-blackjack = "gnome-games-common gnome-games-cards"
+FILES_gnome-games-blackjack = "${bindir}/blackjack \
+ ${datadir}/gnome-games/blackjack \
+ ${datadir}/pixmaps/gnome-blackjack.png \
+ ${datadir}/applications/blackjack.desktop \
+ ${sysconfdir}/gconf/schemas/blackjack.schemas"
+
+PACKAGES =+ "gnome-games-gnect"
+DESCRIPTION_gnome-games-gnect = "GNOME four-in-a-row game"
+RDEPENDS_gnome-games-gnect = "gnome-games-common"
+FILES_gnome-games-gnect = "${bindir}/gnect \
+ ${datadir}/gnect \
+ ${datadir}/pixmaps/gnect \
+ ${datadir}/pixmaps/gnome-gnect.png \
+ ${datadir}/applications/gnect.desktop \
+ ${sysconfdir}/gconf/schemas/gnect.schemas"
+
+PACKAGES =+ "gnome-games-same-gnome"
+DESCRIPTION_gnome-games-same-gnome = "GNOME block removal game"
+RDEPENDS_gnome-games-same-gnome = "gnome-games-common"
+FILES_gnome-games-same-gnome = "${bindir}/same-gnome \
+ ${datadir}/gnome-games/same-gnome/themes/2.10 \
+ ${datadir}/pixmaps/gnome-samegnome.png \
+ ${datadir}/applications/same-gnome.desktop \
+ ${sysconfdir}/gconf/schemas/same-gnome.schemas \
+ /var/games/same-gnome.*.scores"
+
+PACKAGES =+ "gnome-games-mahjongg"
+DESCRIPTION_gnome-games-mahjongg = "GNOME mahjongg game"
+RDEPENDS_gnome-games-mahjongg = "gnome-games-common"
+FILES_gnome-games-mahjongg = "${bindir}/mahjongg \
+ ${datadir}/gnome-games/mahjongg \
+ ${datadir}/pixmaps/mahjongg \
+ ${datadir}/pixmaps/gnome-mahjongg.png \
+ ${datadir}/applications/mahjongg.desktop \
+ ${sysconfdir}/gconf/schemas/mahjongg.schemas \
+ /var/games/mahjongg.*.scores"
+
+PACKAGES =+ "gnome-games-gtali"
+DESCRIPTION_gnome-games-gtali = "GNOME yahtzee game"
+RDEPENDS_gnome-games-gtali = "gnome-games-common"
+FILES_gnome-games-gtali = "${bindir}/gtali \
+ ${datadir}/pixmaps/gtali \
+ ${datadir}/pixmaps/gnome-tali.png \
+ ${datadir}/applications/gtali.desktop \
+ ${sysconfdir}/gconf/schemas/gtali.schemas \
+ /var/games/gtali.*.scores"
+
+PACKAGES =+ "gnome-games-gnotravex"
+DESCRIPTION_gnome-games-gnotravex = "GNOME tile matching game"
+RDEPENDS_gnome-games-gnotravex = "gnome-games-common"
+FILES_gnome-games-gnotravex = "${bindir}/gnotravex \
+ ${datadir}/pixmaps/gnotravex \
+ ${datadir}/pixmaps/gnome-tetravex.png \
+ ${datadir}/applications/gnotravex.desktop \
+ ${sysconfdir}/gconf/schemas/gnotravex.schemas \
+ /var/games/gnotravex.*.scores"
+
+PACKAGES =+ "gnome-games-gnotski"
+DESCRIPTION_gnome-games-gnotski = "GNOME blocks puzzle game"
+RDEPENDS_gnome-games-gnotski = "gnome-games-common"
+FILES_gnome-games-gnotski = "${bindir}/gnotski \
+ ${datadir}/gnome-games/gnotski \
+ ${datadir}/pixmaps/gnome-klotski.png \
+ ${datadir}/applications/gnotski.desktop \
+ ${sysconfdir}/gconf/schemas/gnotski.schemas \
+ /var/games/gnotski.*.scores"
+
+PACKAGES =+ "gnome-games-glines"
+DESCRIPTION_gnome-games-glines = "GNOME five-or-more game"
+RDEPENDS_gnome-games-glines = "gnome-games-common"
+FILES_gnome-games-glines = "${bindir}/glines \
+ ${datadir}/pixmaps/glines \
+ ${datadir}/pixmaps/gnome-glines.png \
+ ${datadir}/applications/glines.desktop \
+ ${sysconfdir}/gconf/schemas/glines.schemas \
+ /var/games/glines.*.scores"
+
+PACKAGES =+ "gnome-games-iagno"
+DESCRIPTION_gnome-games-iagno = "GNOME reversi game"
+RDEPENDS_gnome-games-iagno = "gnome-games-common"
+FILES_gnome-games-iagno = "${bindir}/iagno \
+ ${datadir}/pixmaps/iagno \
+ ${datadir}/pixmaps/gnome-iagno.png \
+ ${datadir}/applications/iagno.desktop \
+ ${sysconfdir}/gconf/schemas/iagno.schemas"
+
+PACKAGES =+ "gnome-games-gnobots2"
+DESCRIPTION_gnome-games-gnobots2 = "GNOME robots game"
+RDEPENDS_gnome-games-gnobots2 = "gnome-games-common"
+FILES_gnome-games-gnobots2 = "${bindir}/gnobots2 \
+ ${datadir}/pixmaps/gnobots2 \
+ ${datadir}/gnobots2 \
+ ${datadir}/pixmaps/gnome-robots.png \
+ ${datadir}/applications/gnobots2.desktop \
+ ${sysconfdir}/gconf/schemas/gnobots2.schemas \
+ /var/games/gnobots2.*.scores"
+
+PACKAGES =+ "gnome-games-gnibbles"
+DESCRIPTION_gnome-games-gnibbles = "GNOME worm game"
+RDEPENDS_gnome-games-gnibbles = "gnome-games-common"
+FILES_gnome-games-gnibbles = "${bindir}/gnibbles \
+ ${datadir}/pixmaps/gnibbles \
+ ${datadir}/gnibbles \
+ ${datadir}/pixmaps/gnome-gnibbles.png \
+ ${datadir}/applications/gnibbles.desktop \
+ ${sysconfdir}/gconf/schemas/gnibbles.schemas \
+ /var/games/gnibbles.*.scores"
+
+PACKAGES =+ "gnome-games-glchess"
+DESCRIPTION_gnome-games-glchess = "GNOME chess"
+RDEPENDS_gnome-games-glchess = "python-pygtk python-codecs \
+ python-netclient python-xml \
+ gnome-python"
+FILES_gnome-games-glchess = "${bindir}/glchess \
+ ${bindir}/gnome-gnuchess \
+ ${datadir}/pixmaps/glchess \
+ ${datadir}/glchess \
+ ${datadir}/pixmaps/gnome-glchess.png \
+ ${datadir}/applications/glchess.desktop \
+ ${sysconfdir}/gconf/schemas/glchess.schemas \
+ ${libdir}/python2.5/site-packages/glchess"
+PACKAGES =+ "gnome-games-sudoku"
+DESCRIPTION_gnome-games-sudoku = "GNOME sudoku"
+RDEPENDS_gnome-games-sudoku = "python-pygtk python-codecs python-difflib \
+ python-xml python-netclient \
+ python-textutils python-threading \
+ gnome-python gnome-python-desktop"
+FILES_gnome-games-sudoku = "${bindir}/gnome-sudoku \
+ ${datadir}/pixmaps/gnome-sudoku \
+ ${datadir}/gnome-sudoku \
+ ${datadir}/pixmaps/gnome-sudoku.png \
+ ${datadir}/applications/gnome-sudoku.desktop \
+ ${libdir}/python2.5/site-packages/gnome_sudoku"
diff --git a/packages/gnome/gnome-python-desktop_2.23.0.bb b/packages/gnome/gnome-python-desktop_2.23.0.bb
index 45209b2923..140c0a8dbf 100644
--- a/packages/gnome/gnome-python-desktop_2.23.0.bb
+++ b/packages/gnome/gnome-python-desktop_2.23.0.bb
@@ -1,7 +1,7 @@
LICENSE = "GPL/LGPL"
-DEPENDS = "librsvg libwnck totem-pl-parser libgtop gnome-panel gnome-desktop eds-dbus python-pygtk"
+DEPENDS = "librsvg libwnck totem-pl-parser libgtop gnome-panel gnome-desktop eds-dbus python-pygtk gnome-python libgnomeprint libgnomeprintui"
-PR = "r1"
+PR = "r3"
inherit gnome distutils-base
@@ -14,7 +14,10 @@ do_configure_prepend() {
}
do_configure_prepend() {
- sed -i -e s:'`$PKG_CONFIG --variable=defsdir pygtk-2.0`':\"${STAGING_DATADIR}/pygtk/2.0/defs\":g ${S}/configure.ac
+ sed -i -e s:'`$PKG_CONFIG --variable=defsdir pygtk-2.0`':\"${STAGING_DATADIR}/pygtk/2.0/defs\":g \
+ -e s:'`$PKG_CONFIG --variable=defsdir gnome-python-2.0`':\"${STAGING_DATADIR}/pygtk/2.0/defs\":g \
+ -e s:'`$PKG_CONFIG --variable=argtypesdir gnome-python-2.0`':\"${STAGING_DATADIR}/pygtk/2.0/argtypes\":g \
+ ${S}/configure.ac
}
AUTOTOOLS_STAGE_PKGCONFIG = "1"
diff --git a/packages/gnome/gnome-python_2.22.1.bb b/packages/gnome/gnome-python_2.22.1.bb
new file mode 100644
index 0000000000..0507cba010
--- /dev/null
+++ b/packages/gnome/gnome-python_2.22.1.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "GNOME Python miscellaneous bindings"
+LICENSE = "LGPL"
+DEPENDS = "libgnomeui pyorbit python-pygtk"
+RDEPENDS = "pyorbit"
+
+PR = "r1"
+
+inherit gnome distutils-base pkgconfig
+
+FILES_${PN}-dbg += "${libdir}/gnome-vfs-2.0/modules/.debug"
+
+do_configure() {
+ sed -i -e s:'`$PKG_CONFIG --variable=defsdir pygtk-2.0`':\"${STAGING_DATADIR}/pygtk/2.0/defs\":g ${S}/configure.ac
+ export HOST_SYS=${HOST_SYS}
+ export BUILD_SYS=${BUILD_SYS}
+ autotools_do_configure
+}
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/packages/gnome/pyorbit_2.14.3.bb b/packages/gnome/pyorbit_2.14.3.bb
new file mode 100644
index 0000000000..8b9c1aa76f
--- /dev/null
+++ b/packages/gnome/pyorbit_2.14.3.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Python Orbit bindings"
+LICENSE = "LGPL"
+
+PR = "r0"
+
+inherit gnome distutils-base pkgconfig
+
+do_configure() {
+ export HOST_SYS=${HOST_SYS}
+ export BUILD_SYS=${BUILD_SYS}
+ autotools_do_configure
+}
+
+do_stage() {
+ install -d ${STAGING_INCDIR}/pyorbit-2
+ install -m 0644 src/pyorbit.h ${STAGING_INCDIR}/pyorbit-2
+}
diff --git a/packages/gnome/pyorbit_2.24.0.bb b/packages/gnome/pyorbit_2.24.0.bb
new file mode 100644
index 0000000000..fe6e2d1b0b
--- /dev/null
+++ b/packages/gnome/pyorbit_2.24.0.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Python Orbit bindings"
+LICENSE = "LGPL"
+
+PR = "r0"
+
+inherit gnome distutils-base pkgconfig
+
+SRC_URI += "file://acinclude.m4"
+
+EXTRA_OECONF += "--with-python-includes=${STAGING_INCDIR}/../"
+EXTRA_OEMAKE = "-e"
+
+do_configure() {
+ install -m 0644 ${WORKDIR}/acinclude.m4 ${S}/
+ export HOST_SYS=${HOST_SYS}
+ export BUILD_SYS=${BUILD_SYS}
+ export CC=${TARGET_PREFIX}gcc
+ autotools_do_configure
+}
+
+do_stage() {
+ install -d ${STAGING_INCDIR}/pyorbit-2
+ install -m 0644 src/pyorbit.h ${STAGING_INCDIR}/pyorbit-2
+ autotools_stage_all
+}
diff --git a/packages/gnumeric/gnumeric_1.8.3.bb b/packages/gnumeric/gnumeric_1.8.3.bb
index 0f70e37d5c..92cdc4c6c9 100644
--- a/packages/gnumeric/gnumeric_1.8.3.bb
+++ b/packages/gnumeric/gnumeric_1.8.3.bb
@@ -14,7 +14,7 @@ SRC_URI += "file://remove-docs.patch;patch=1"
EXTRA_OECONF=" --without-perl "
-PACKAGES_DYNAMIC = "gnumeric-plugin-*"
+PACKAGES_DYNAMIC += "gnumeric-plugin-*"
FILES_${PN}-dbg += "${libdir}/gnumeric/${PV}/plugins/*/.debug"
FILES_gnumeric_append = " /usr/lib/libspreadsheet-${PV}.so "
diff --git a/packages/gnuradio/gnuradio.inc b/packages/gnuradio/gnuradio.inc
index a084b1cae0..26005e653b 100644
--- a/packages/gnuradio/gnuradio.inc
+++ b/packages/gnuradio/gnuradio.inc
@@ -2,9 +2,13 @@ DESCRIPTION = "GNU Radio"
SECTION = "apps"
PRIORITY = "optional"
LICENSE = "GPL"
-DEPENDS = " guile-native fftwf python libusb virtual/libsdl alsa-lib jack boost cppunit sdcc-native swig-native"
+DEPENDS = " guile-native fftwf python virtual/libsdl alsa-lib jack boost cppunit sdcc-native swig-native python-numpy"
+
+RDEPENDS_${PN} = "python-core python-audio python-threading python-codecs python-lang python-textutils \
+ python-shell python-pickle python-compiler python-pkgutil python-pydoc python-mmap \
+ python-netclient python-unittest python-difflib python-pprint python-numpy \
+ "
-RDEPENDS_${PN} = "python-core python-audio python-threading python-codecs python-lang python-textutils"
RDEPENDS_gnuradio-usrp = "python-core"
inherit autotools pkgconfig
@@ -58,6 +62,3 @@ FILES_${PN}-dbg += "${libdir}/python*/site-packages/gnuradio/.debug \
FILES_gnuradio-usrp = "${libdir}/python*/site-packages/usrpm/* \
${datadir}/usrp/*/*"
FILES_gnuradio-usrp-dbg = "${libdir}/python*/site-packages/usrpm/.debug"
-
-
-
diff --git a/packages/gnuradio/gnuradio/gnuradio-neon.patch b/packages/gnuradio/gnuradio/gnuradio-neon.patch
new file mode 100644
index 0000000000..3affda547f
--- /dev/null
+++ b/packages/gnuradio/gnuradio/gnuradio-neon.patch
@@ -0,0 +1,943 @@
+Index: gnuradio-core/src/lib/runtime/gr_dispatcher.cc
+===================================================================
+--- gnuradio-core/src/lib/runtime/gr_dispatcher.cc (revision 9831)
++++ gnuradio-core/src/lib/runtime/gr_dispatcher.cc (working copy)
+@@ -28,6 +28,7 @@
+ #include <math.h>
+ #include <errno.h>
+ #include <stdio.h>
++#include <string.h>
+
+ #ifdef HAVE_SELECT
+ # ifdef HAVE_SYS_SELECT_H
+Index: gnuradio-core/src/lib/filter/dotprod_fff_cortex_a8.c
+===================================================================
+--- gnuradio-core/src/lib/filter/dotprod_fff_cortex_a8.c (revision 0)
++++ gnuradio-core/src/lib/filter/dotprod_fff_cortex_a8.c (revision 0)
+@@ -0,0 +1,85 @@
++/* -*- c++ -*- */
++/*
++ * Copyright 2008 Free Software Foundation, Inc.
++ *
++ * This file is part of GNU Radio
++ *
++ * GNU Radio 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 3, or (at your option)
++ * any later version.
++ *
++ * GNU Radio 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.
++ *
++ * You should have received a copy of the GNU General Public License along
++ * with this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++ */
++
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++#include <dotprod_fff_cortex_a8.h>
++
++/*!
++ * \param x any value
++ * \param pow2 must be a power of 2
++ * \returns \p x rounded down to a multiple of \p pow2.
++ */
++static inline size_t
++gr_p2_round_down(size_t x, size_t pow2)
++{
++ return x & -pow2;
++}
++
++
++#if 0
++
++float
++dotprod_fff_cortex_a8(const float *a, const float *b, size_t n)
++{
++ float sum = 0;
++ size_t i;
++ for (i = 0; i < n; i++){
++ sum += a[i] * b[i];
++ }
++ return sum;
++}
++
++#else
++
++/*
++ * preconditions:
++ *
++ * n > 0 and a multiple of 4
++ * a 4-byte aligned
++ * b 16-byte aligned
++ */
++float
++dotprod_fff_cortex_a8(const float *a, const float *b, size_t n)
++{
++ float s = 0;
++
++ asm ("vmov.f32 q8, #0.0 \n\t"
++ "vmov.f32 q9, #0.0 \n\t"
++ "1: \n\t"
++ "subs %3, %3, #8 \n\t"
++ "vld1.32 {d0,d1,d2,d3}, [%1]! \n\t"
++ "vld1.32 {d4,d5,d6,d7}, [%2]! \n\t"
++ "vmla.f32 q8, q0, q2 \n\t"
++ "vmla.f32 q9, q1, q3 \n\t"
++ "bgt 1b \n\t"
++ "vadd.f32 q8, q8, q9 \n\t"
++ "vpadd.f32 d0, d16, d17 \n\t"
++ "vadd.f32 %0, s0, s1 \n\t"
++ : "=w"(s), "+r"(a), "+r"(b), "+r"(n)
++ :: "q0", "q1", "q2", "q3", "q8", "q9");
++
++ return s;
++
++}
++
++#endif
+Index: gnuradio-core/src/lib/filter/dotprod_fff_cortex_a8.h
+===================================================================
+--- gnuradio-core/src/lib/filter/dotprod_fff_cortex_a8.h (revision 0)
++++ gnuradio-core/src/lib/filter/dotprod_fff_cortex_a8.h (revision 0)
+@@ -0,0 +1,49 @@
++/* -*- c++ -*- */
++/*
++ * Copyright 2008 Free Software Foundation, Inc.
++ *
++ * This file is part of GNU Radio
++ *
++ * GNU Radio 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 3, or (at your option)
++ * any later version.
++ *
++ * GNU Radio 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.
++ *
++ * You should have received a copy of the GNU General Public License along
++ * with this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++ */
++#ifndef INCLUDED_DOTPROD_FFF_CORTEX_A8_H
++#define INCLUDED_DOTPROD_FFF_CORTEX_A8_H
++
++#include <stddef.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/*!
++ * <pre>
++ *
++ * preconditions:
++ *
++ * n > 0 and a multiple of 4
++ * a 4-byte aligned
++ * b 16-byte aligned
++ *
++ * </pre>
++ */
++float
++dotprod_fff_cortex_a8(const float *a, const float *b, size_t n);
++
++#ifdef __cplusplus
++}
++#endif
++
++
++#endif /* INCLUDED_DOTPROD_FFF_CORTEX_A8_H */
+Index: gnuradio-core/src/lib/filter/Makefile.am
+===================================================================
+--- gnuradio-core/src/lib/filter/Makefile.am (revision 9831)
++++ gnuradio-core/src/lib/filter/Makefile.am (working copy)
+@@ -177,7 +177,16 @@
+ powerpc_qa_CODE = \
+ qa_dotprod_powerpc.cc
+
++cortex_a8_CODE = \
++ sysconfig_cortex_a8.cc \
++ gr_fir_sysconfig_cortex_a8.cc \
++ gr_cpu_cortex_a8.cc \
++ gr_fir_fff_cortex_a8.cc \
++ dotprod_fff_cortex_a8.c
+
++cortex_a8_qa_CODE = \
++ qa_dotprod_cortex_a8.cc
++
+ #
+ # include each <foo>_CODE entry here...
+ #
+@@ -189,7 +198,9 @@
+ $(x86_64_SUBCODE) \
+ $(x86_qa_CODE) \
+ $(powerpc_CODE) \
+- $(powerpc_qa_CODE)
++ $(powerpc_qa_CODE) \
++ $(cortex_a8_CODE) \
++ $(cortex_a8_qa_CODE)
+
+
+ EXTRA_DIST = \
+@@ -254,7 +265,12 @@
+ libfilter_qa_la_SOURCES = $(libfilter_qa_la_common_SOURCES) $(powerpc_qa_CODE)
+ endif
+
++if MD_CPU_cortex_a8
++libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(cortex_a8_CODE)
++libfilter_qa_la_SOURCES = $(libfilter_qa_la_common_SOURCES) $(cortex_a8_qa_CODE)
++endif
+
++
+ grinclude_HEADERS = \
+ $(GENERATED_H) \
+ complex_dotprod_generic.h \
+@@ -296,6 +312,7 @@
+ noinst_HEADERS = \
+ assembly.h \
+ dotprod_fff_altivec.h \
++ dotprod_fff_cortex_a8.h \
+ gr_fir_scc_simd.h \
+ gr_fir_scc_x86.h \
+ gr_fir_fcc_simd.h \
+@@ -305,6 +322,7 @@
+ gr_fir_ccc_simd.h \
+ gr_fir_ccc_x86.h \
+ gr_fir_fff_altivec.h \
++ gr_fir_fff_cortex_a8.h \
+ gr_fir_fff_simd.h \
+ gr_fir_fff_x86.h \
+ gr_fir_fsf_simd.h \
+Index: gnuradio-core/src/lib/filter/gr_fir_sysconfig_cortex_a8.cc
+===================================================================
+--- gnuradio-core/src/lib/filter/gr_fir_sysconfig_cortex_a8.cc (revision 0)
++++ gnuradio-core/src/lib/filter/gr_fir_sysconfig_cortex_a8.cc (revision 0)
+@@ -0,0 +1,340 @@
++/* -*- c++ -*- */
++/*
++ * Copyright 2002,2008 Free Software Foundation, Inc.
++ *
++ * This file is part of GNU Radio
++ *
++ * GNU Radio 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 3, or (at your option)
++ * any later version.
++ *
++ * GNU Radio 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.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with GNU Radio; see the file COPYING. If not, write to
++ * the Free Software Foundation, Inc., 51 Franklin Street,
++ * Boston, MA 02110-1301, USA.
++ */
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++#include <gr_fir_sysconfig_cortex_a8.h>
++#include <gr_cpu.h>
++
++#include <gr_fir_ccf.h>
++#include <gr_fir_ccf_generic.h>
++//#include <gr_fir_ccf_altivec.h>
++#include <gr_fir_fcc.h>
++#include <gr_fir_fcc_generic.h>
++//#include <gr_fir_fcc_altivec.h>
++#include <gr_fir_fff.h>
++#include <gr_fir_fff_generic.h>
++#include <gr_fir_fff_cortex_a8.h>
++#include <gr_fir_fsf.h>
++#include <gr_fir_fsf_generic.h>
++//#include <gr_fir_fsf_powerpc.h>
++#include <gr_fir_ccc.h>
++#include <gr_fir_ccc_generic.h>
++//#include <gr_fir_ccc_altivec.h>
++#include <gr_fir_scc.h>
++#include <gr_fir_scc_generic.h>
++//#include <gr_fir_scc_altivec.h>
++
++#include <iostream>
++using std::cerr;
++
++/*
++ * ----------------------------------------------------------------
++ * static functions that serve as constructors...
++ * ----------------------------------------------------------------
++ */
++
++#if 0
++static gr_fir_ccf *
++make_gr_fir_ccf_altivec(const std::vector<float> &taps)
++{
++ return new gr_fir_ccf_altivec(taps);
++}
++
++static gr_fir_fcc *
++make_gr_fir_fcc_altivec(const std::vector<gr_complex> &taps)
++{
++ return new gr_fir_fcc_altivec(taps);
++}
++
++static gr_fir_ccc *
++make_gr_fir_ccc_altivec (const std::vector<gr_complex> &taps)
++{
++ return new gr_fir_ccc_altivec (taps);
++}
++#endif
++
++static gr_fir_fff *
++make_gr_fir_fff_cortex_a8 (const std::vector<float> &taps)
++{
++ return new gr_fir_fff_cortex_a8 (taps);
++}
++
++#if 0
++static gr_fir_fsf *
++make_gr_fir_fsf_altivec (const std::vector<float> &taps)
++{
++ return new gr_fir_fsf_altivec (taps);
++}
++
++static gr_fir_scc *
++make_gr_fir_scc_altivec(const std::vector<gr_complex> &taps)
++{
++ return new gr_fir_scc_altivec(taps);
++}
++#endif
++
++/*
++ * ----------------------------------------------------------------
++ * Return instances of the fastest powerpc versions of these classes.
++ *
++ * check CPUID, if has altivec, return altivec version,
++ * else return generic version.
++ * ----------------------------------------------------------------
++ */
++
++gr_fir_ccf *
++gr_fir_sysconfig_cortex_a8::create_gr_fir_ccf (const std::vector<float> &taps)
++{
++ static bool first = true;
++
++#if 0
++ if (gr_cpu::has_altivec ()){
++ if (first){
++ cerr << ">>> gr_fir_ccf: using altivec\n";
++ first = false;
++ }
++ return make_gr_fir_ccf_altivec (taps);
++ }
++#endif
++
++ if (0 && first){
++ cerr << ">>> gr_fir_ccf: handing off to parent class\n";
++ first = false;
++ }
++ return gr_fir_sysconfig_generic::create_gr_fir_ccf (taps);
++}
++
++gr_fir_fcc *
++gr_fir_sysconfig_cortex_a8::create_gr_fir_fcc (const std::vector<gr_complex> &taps)
++{
++ static bool first = true;
++
++#if 0
++ if (gr_cpu::has_altivec ()){
++ if (first){
++ cerr << ">>> gr_fir_fcc: using altivec\n";
++ first = false;
++ }
++ return make_gr_fir_fcc_altivec (taps);
++ }
++#endif
++
++ if (0 && first){
++ cerr << ">>> gr_fir_fcc: handing off to parent class\n";
++ first = false;
++ }
++ return gr_fir_sysconfig_generic::create_gr_fir_fcc (taps);
++}
++
++gr_fir_ccc *
++gr_fir_sysconfig_cortex_a8::create_gr_fir_ccc (const std::vector<gr_complex> &taps)
++{
++ static bool first = true;
++
++#if 0
++ if (gr_cpu::has_altivec ()){
++ if (first){
++ cerr << ">>> gr_fir_ccc: using altivec\n";
++ first = false;
++ }
++ return make_gr_fir_ccc_altivec (taps);
++ }
++#endif
++
++ if (0 && first){
++ cerr << ">>> gr_fir_ccc: handing off to parent class\n";
++ first = false;
++ }
++ return gr_fir_sysconfig_generic::create_gr_fir_ccc (taps);
++}
++
++gr_fir_fff *
++gr_fir_sysconfig_cortex_a8::create_gr_fir_fff (const std::vector<float> &taps)
++{
++ static bool first = true;
++
++ if (gr_cpu::has_cortex_a8 ()){
++ if (first){
++ cerr << ">>> gr_fir_fff: using cortex_a8\n";
++ first = false;
++ }
++ return make_gr_fir_fff_cortex_a8 (taps);
++ }
++
++ if (0 && first){
++ cerr << ">>> gr_fir_fff: handing off to parent class\n";
++ first = false;
++ }
++ return gr_fir_sysconfig_generic::create_gr_fir_fff (taps);
++}
++
++gr_fir_fsf *
++gr_fir_sysconfig_cortex_a8::create_gr_fir_fsf (const std::vector<float> &taps)
++{
++ static bool first = true;
++
++#if 0
++ if (gr_cpu::has_altivec ()){
++ if (first){
++ cerr << ">>> gr_fir_fsf: using altivec\n";
++ first = false;
++ }
++ return make_gr_fir_fsf_altivec (taps);
++ }
++#endif
++
++ if (0 && first){
++ cerr << ">>> gr_fir_fsf: handing off to parent class\n";
++ first = false;
++ }
++ return gr_fir_sysconfig_generic::create_gr_fir_fsf (taps);
++}
++
++
++gr_fir_scc *
++gr_fir_sysconfig_cortex_a8::create_gr_fir_scc (const std::vector<gr_complex> &taps)
++{
++ static bool first = true;
++
++#if 0
++ if (gr_cpu::has_altivec ()){
++ if (first){
++ cerr << ">>> gr_fir_scc: using altivec\n";
++ first = false;
++ }
++ return make_gr_fir_scc_altivec (taps);
++ }
++#endif
++
++ if (0 && first){
++ cerr << ">>> gr_fir_scc: handing off to parent class\n";
++ first = false;
++ }
++ return gr_fir_sysconfig_generic::create_gr_fir_scc (taps);
++}
++
++/*
++ * ----------------------------------------------------------------
++ * Return info about available implementations
++ * ----------------------------------------------------------------
++ */
++
++void
++gr_fir_sysconfig_cortex_a8::get_gr_fir_ccf_info (std::vector<gr_fir_ccf_info> *info)
++{
++ // invoke parent..
++ gr_fir_sysconfig_generic::get_gr_fir_ccf_info (info);
++
++#if 0
++ // add our stuff...
++ gr_fir_ccf_info t;
++ if (gr_cpu::has_altivec ()){
++ t.name = "altivec";
++ t.create = make_gr_fir_ccf_altivec;
++ (*info).push_back (t);
++ }
++#endif
++}
++
++void
++gr_fir_sysconfig_cortex_a8::get_gr_fir_fcc_info (std::vector<gr_fir_fcc_info> *info)
++{
++ // invoke parent..
++ gr_fir_sysconfig_generic::get_gr_fir_fcc_info (info);
++
++#if 0
++ // add our stuff...
++ gr_fir_fcc_info t;
++ if (gr_cpu::has_altivec ()){
++ t.name = "altivec";
++ t.create = make_gr_fir_fcc_altivec;
++ (*info).push_back (t);
++ }
++#endif
++}
++
++void
++gr_fir_sysconfig_cortex_a8::get_gr_fir_ccc_info (std::vector<gr_fir_ccc_info> *info)
++{
++ // invoke parent..
++ gr_fir_sysconfig_generic::get_gr_fir_ccc_info (info);
++
++#if 0
++ // add our stuff...
++ gr_fir_ccc_info t;
++ if (gr_cpu::has_altivec ()){
++ t.name = "altivec";
++ t.create = make_gr_fir_ccc_altivec;
++ (*info).push_back (t);
++ }
++#endif
++}
++
++void
++gr_fir_sysconfig_cortex_a8::get_gr_fir_fff_info (std::vector<gr_fir_fff_info> *info)
++{
++ // invoke parent..
++ gr_fir_sysconfig_generic::get_gr_fir_fff_info (info);
++
++ // add our stuff...
++ gr_fir_fff_info t;
++ if (gr_cpu::has_cortex_a8 ()){
++ t.name = "cortex_a8";
++ t.create = make_gr_fir_fff_cortex_a8;
++ (*info).push_back (t);
++ }
++}
++
++void
++gr_fir_sysconfig_cortex_a8::get_gr_fir_fsf_info (std::vector<gr_fir_fsf_info> *info)
++{
++ // invoke parent..
++ gr_fir_sysconfig_generic::get_gr_fir_fsf_info (info);
++
++#if 0
++ // add our stuff...
++ gr_fir_fsf_info t;
++ if (gr_cpu::has_altivec ()){
++ t.name = "altivec";
++ t.create = make_gr_fir_fsf_altivec;
++ (*info).push_back (t);
++ }
++#endif
++}
++
++void
++gr_fir_sysconfig_cortex_a8::get_gr_fir_scc_info (std::vector<gr_fir_scc_info> *info)
++{
++ // invoke parent..
++ gr_fir_sysconfig_generic::get_gr_fir_scc_info (info);
++
++#if 0
++ // add our stuff...
++ gr_fir_scc_info t;
++ if (gr_cpu::has_altivec ()){
++ t.name = "altivec";
++ t.create = make_gr_fir_scc_altivec;
++ (*info).push_back (t);
++ }
++#endif
++}
+Index: gnuradio-core/src/lib/filter/gr_cpu.h
+===================================================================
+--- gnuradio-core/src/lib/filter/gr_cpu.h (revision 9831)
++++ gnuradio-core/src/lib/filter/gr_cpu.h (working copy)
+@@ -34,6 +34,7 @@
+ static bool has_3dnow ();
+ static bool has_3dnowext ();
+ static bool has_altivec ();
++ static bool has_cortex_a8 ();
+ };
+
+ #endif /* _GR_CPU_H_ */
+Index: gnuradio-core/src/lib/filter/gr_fir_fff_cortex_a8.h
+===================================================================
+--- gnuradio-core/src/lib/filter/gr_fir_fff_cortex_a8.h (revision 0)
++++ gnuradio-core/src/lib/filter/gr_fir_fff_cortex_a8.h (revision 0)
+@@ -0,0 +1,45 @@
++/* -*- c++ -*- */
++/*
++ * Copyright 2008 Free Software Foundation, Inc.
++ *
++ * This file is part of GNU Radio
++ *
++ * GNU Radio 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 3, or (at your option)
++ * any later version.
++ *
++ * GNU Radio 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.
++ *
++ * You should have received a copy of the GNU General Public License along
++ * with this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++ */
++#ifndef INCLUDED_GR_FIR_FFF_CORTEX_A8_H
++#define INCLUDED_GR_FIR_FFF_CORTEX_A8_H
++
++#include <gr_fir_fff_generic.h>
++
++/*!
++ * \brief altivec version of gr_fir_fff
++ */
++class gr_fir_fff_cortex_a8 : public gr_fir_fff_generic
++{
++protected:
++
++ size_t d_naligned_taps; // number of taps (multiple of 4)
++ float *d_aligned_taps; // 16-byte aligned, and zero padded to multiple of 4
++
++public:
++ gr_fir_fff_cortex_a8();
++ gr_fir_fff_cortex_a8(const std::vector<float> &taps);
++ ~gr_fir_fff_cortex_a8();
++
++ virtual void set_taps (const std::vector<float> &taps);
++ virtual float filter (const float input[]);
++};
++
++#endif /* INCLUDED_GR_FIR_FFF_CORTEX_A*_H */
+Index: gnuradio-core/src/lib/filter/gr_cpu_x86.cc
+===================================================================
+--- gnuradio-core/src/lib/filter/gr_cpu_x86.cc (revision 9831)
++++ gnuradio-core/src/lib/filter/gr_cpu_x86.cc (working copy)
+@@ -111,3 +111,10 @@
+ {
+ return false;
+ }
++
++bool
++gr_cpu::has_cortex_a8 ()
++{
++ return false;
++}
++
+Index: gnuradio-core/src/lib/filter/gr_cpu_cortex_a8.cc
+===================================================================
+--- gnuradio-core/src/lib/filter/gr_cpu_cortex_a8.cc (revision 0)
++++ gnuradio-core/src/lib/filter/gr_cpu_cortex_a8.cc (revision 0)
+@@ -0,0 +1,59 @@
++/* -*- c++ -*- */
++/*
++ * Copyright 2002, 2008 Free Software Foundation, Inc.
++ *
++ * This file is part of GNU Radio
++ *
++ * GNU Radio 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 3, or (at your option)
++ * any later version.
++ *
++ * GNU Radio 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.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with GNU Radio; see the file COPYING. If not, write to
++ * the Free Software Foundation, Inc., 51 Franklin Street,
++ * Boston, MA 02110-1301, USA.
++ */
++
++#include <gr_cpu.h>
++
++bool
++gr_cpu::has_mmx ()
++{
++ return false;
++}
++
++bool
++gr_cpu::has_sse ()
++{
++ return false;
++}
++
++bool
++gr_cpu::has_sse2 ()
++{
++ return false;
++}
++
++bool
++gr_cpu::has_3dnow ()
++{
++ return false;
++}
++
++bool
++gr_cpu::has_3dnowext ()
++{
++ return false;
++}
++
++bool
++gr_cpu::has_cortex_a8 ()
++{
++ return true;
++}
+Index: gnuradio-core/src/lib/filter/gr_fir_fff_cortex_a8.cc
+===================================================================
+--- gnuradio-core/src/lib/filter/gr_fir_fff_cortex_a8.cc (revision 0)
++++ gnuradio-core/src/lib/filter/gr_fir_fff_cortex_a8.cc (revision 0)
+@@ -0,0 +1,85 @@
++/* -*- c++ -*- */
++/*
++ * Copyright 2008 Free Software Foundation, Inc.
++ *
++ * This file is part of GNU Radio
++ *
++ * GNU Radio 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 3, or (at your option)
++ * any later version.
++ *
++ * GNU Radio 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.
++ *
++ * You should have received a copy of the GNU General Public License along
++ * with this program; if not, write to the Free Software Foundation, Inc.,
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++ */
++
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++#include <gr_fir_fff_cortex_a8.h>
++#include <stdlib.h>
++#include <string.h>
++#include <stdexcept>
++#include <assert.h>
++#include <gr_math.h>
++#include <dotprod_fff_cortex_a8.h>
++
++#define FLOATS_PER_VEC 8
++
++gr_fir_fff_cortex_a8::gr_fir_fff_cortex_a8()
++ : gr_fir_fff_generic(),
++ d_naligned_taps(0), d_aligned_taps(0)
++{
++}
++
++gr_fir_fff_cortex_a8::gr_fir_fff_cortex_a8 (const std::vector<float> &new_taps)
++ : gr_fir_fff_generic(new_taps),
++ d_naligned_taps(0), d_aligned_taps(0)
++{
++ set_taps(new_taps);
++}
++
++gr_fir_fff_cortex_a8::~gr_fir_fff_cortex_a8()
++{
++ if (d_aligned_taps){
++ free(d_aligned_taps);
++ d_aligned_taps = 0;
++ }
++}
++
++void
++gr_fir_fff_cortex_a8::set_taps(const std::vector<float> &inew_taps)
++{
++ gr_fir_fff_generic::set_taps(inew_taps); // call superclass
++ d_naligned_taps = gr_p2_round_up(ntaps(), FLOATS_PER_VEC);
++
++ if (d_aligned_taps){
++ free(d_aligned_taps);
++ d_aligned_taps = 0;
++ }
++ void *p;
++ int r = posix_memalign(&p, sizeof(float), d_naligned_taps * sizeof(d_aligned_taps[0]));
++ if (r != 0){
++ throw std::bad_alloc();
++ }
++ d_aligned_taps = (float *) p;
++ memcpy(d_aligned_taps, &d_taps[0], ntaps() * sizeof(d_aligned_taps[0]));
++ for (size_t i = ntaps(); i < d_naligned_taps; i++)
++ d_aligned_taps[i] = 0.0;
++}
++
++
++float
++gr_fir_fff_cortex_a8::filter (const float input[])
++{
++ if (d_naligned_taps == 0)
++ return 0.0;
++
++ return dotprod_fff_cortex_a8(input, d_aligned_taps, d_naligned_taps);
++}
+Index: gnuradio-core/src/lib/filter/qa_dotprod_cortex_a8.cc
+===================================================================
+--- gnuradio-core/src/lib/filter/qa_dotprod_cortex_a8.cc (revision 0)
++++ gnuradio-core/src/lib/filter/qa_dotprod_cortex_a8.cc (revision 0)
+@@ -0,0 +1,32 @@
++/* -*- c++ -*- */
++/*
++ * Copyright 2003 Free Software Foundation, Inc.
++ *
++ * This file is part of GNU Radio
++ *
++ * GNU Radio 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 3, or (at your option)
++ * any later version.
++ *
++ * GNU Radio 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.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with GNU Radio; see the file COPYING. If not, write to
++ * the Free Software Foundation, Inc., 51 Franklin Street,
++ * Boston, MA 02110-1301, USA.
++ */
++#include "qa_dotprod.h"
++
++CppUnit::TestSuite *
++qa_dotprod_suite ()
++{
++ CppUnit::TestSuite *s = new CppUnit::TestSuite ("dotprod");
++
++ // empty test suite
++
++ return s;
++}
+Index: gnuradio-core/src/lib/filter/gr_fir_sysconfig_cortex_a8.h
+===================================================================
+--- gnuradio-core/src/lib/filter/gr_fir_sysconfig_cortex_a8.h (revision 0)
++++ gnuradio-core/src/lib/filter/gr_fir_sysconfig_cortex_a8.h (revision 0)
+@@ -0,0 +1,46 @@
++/* -*- c++ -*- */
++/*
++ * Copyright 2002,2008 Free Software Foundation, Inc.
++ *
++ * This file is part of GNU Radio
++ *
++ * GNU Radio 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 3, or (at your option)
++ * any later version.
++ *
++ * GNU Radio 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.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with GNU Radio; see the file COPYING. If not, write to
++ * the Free Software Foundation, Inc., 51 Franklin Street,
++ * Boston, MA 02110-1301, USA.
++ */
++#ifndef INCLUDED_GR_FIR_SYSCONFIG_CORTEX_A8_H
++#define INCLUDED_GR_FIR_SYSCONFIG_CORTEX_A8_H
++
++#include <gr_fir_sysconfig_generic.h>
++
++class gr_fir_sysconfig_cortex_a8 : public gr_fir_sysconfig_generic {
++public:
++ virtual gr_fir_ccf *create_gr_fir_ccf (const std::vector<float> &taps);
++ virtual gr_fir_fcc *create_gr_fir_fcc (const std::vector<gr_complex> &taps);
++ virtual gr_fir_fff *create_gr_fir_fff (const std::vector<float> &taps);
++ virtual gr_fir_fsf *create_gr_fir_fsf (const std::vector<float> &taps);
++ virtual gr_fir_scc *create_gr_fir_scc (const std::vector<gr_complex> &taps);
++ virtual gr_fir_ccc *create_gr_fir_ccc (const std::vector<gr_complex> &taps);
++//virtual gr_fir_sss *create_gr_fir_sss (const std::vector<short> &taps);
++
++ virtual void get_gr_fir_ccf_info (std::vector<gr_fir_ccf_info> *info);
++ virtual void get_gr_fir_fcc_info (std::vector<gr_fir_fcc_info> *info);
++ virtual void get_gr_fir_fff_info (std::vector<gr_fir_fff_info> *info);
++ virtual void get_gr_fir_fsf_info (std::vector<gr_fir_fsf_info> *info);
++ virtual void get_gr_fir_scc_info (std::vector<gr_fir_scc_info> *info);
++ virtual void get_gr_fir_ccc_info (std::vector<gr_fir_ccc_info> *info);
++//virtual void get_gr_fir_sss_info (std::vector<gr_fir_sss_info> *info);
++};
++
++#endif
+Index: gnuradio-core/src/lib/filter/sysconfig_cortex_a8.cc
+===================================================================
+--- gnuradio-core/src/lib/filter/sysconfig_cortex_a8.cc (revision 0)
++++ gnuradio-core/src/lib/filter/sysconfig_cortex_a8.cc (revision 0)
+@@ -0,0 +1,38 @@
++/* -*- c++ -*- */
++/*
++ * Copyright 2002,2008 Free Software Foundation, Inc.
++ *
++ * This file is part of GNU Radio
++ *
++ * GNU Radio 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 3, or (at your option)
++ * any later version.
++ *
++ * GNU Radio 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.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with GNU Radio; see the file COPYING. If not, write to
++ * the Free Software Foundation, Inc., 51 Franklin Street,
++ * Boston, MA 02110-1301, USA.
++ */
++
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++#include <gr_fir_sysconfig_cortex_a8.h>
++
++gr_fir_sysconfig *
++gr_fir_sysconfig_singleton ()
++{
++ static gr_fir_sysconfig *singleton = 0;
++
++ if (singleton)
++ return singleton;
++
++ singleton = new gr_fir_sysconfig_cortex_a8 ();
++ return singleton;
++}
+Index: config/gr_set_md_cpu.m4
+===================================================================
+--- config/gr_set_md_cpu.m4 (revision 9831)
++++ config/gr_set_md_cpu.m4 (working copy)
+@@ -35,6 +35,7 @@
+ case "$cf_with_md_cpu" in
+ x86 | i[[3-7]]86) MD_CPU=x86 MD_SUBCPU=x86 ;;
+ x86_64) MD_CPU=x86 MD_SUBCPU=x86_64 ;;
++ arm) MD_CPU=cortex_a8 ;;
+ powerpc*) MD_CPU=powerpc ;;
+ *) MD_CPU=generic ;;
+ esac
+@@ -59,5 +60,6 @@
+ AM_CONDITIONAL(MD_CPU_x86, test "$MD_CPU" = "x86")
+ AM_CONDITIONAL(MD_SUBCPU_x86_64, test "$MD_SUBCPU" = "x86_64")
+ AM_CONDITIONAL(MD_CPU_powerpc, test "$MD_CPU" = "powerpc")
++ AM_CONDITIONAL(MD_CPU_cortex_a8, test "$MD_CPU" = "cortex_a8")
+ AM_CONDITIONAL(MD_CPU_generic, test "$MD_CPU" = "generic")
+ ])
diff --git a/packages/gnuradio/gnuradio_svn.bb b/packages/gnuradio/gnuradio_svn.bb
index 3d4f12aa7d..7af4230bc1 100644
--- a/packages/gnuradio/gnuradio_svn.bb
+++ b/packages/gnuradio/gnuradio_svn.bb
@@ -3,14 +3,13 @@ require gnuradio.inc
DEFAULT_PREFERENCE = "-1"
PV = "3.1.3+svnr${SRCREV}"
-PR = "r4"
+PR = "r5"
EXTRA_OECONF += "--with-boost=${STAGING_DIR_TARGET}/usr CXXFLAGS=-DBOOST_SP_USE_PTHREADS --disable-usrp1 --disable--usrp2"
SRC_URI = "svn://gnuradio.org/svn/gnuradio/;module=trunk;proto=http \
file://no-usrp2.patch;patch=1 \
-# file://no-trellis-doc.patch;patch=1 \
-# file://gnuradio-neon.patch;patch=1;pnum=0 \
+ file://gnuradio-neon.patch;patch=1;pnum=0 \
"
S="${WORKDIR}/trunk"
diff --git a/packages/gpe-soundbite/gpe-soundbite_1.0.6.bb b/packages/gpe-soundbite/gpe-soundbite_1.0.6.bb
index a38a721aa7..5297d3250d 100644
--- a/packages/gpe-soundbite/gpe-soundbite_1.0.6.bb
+++ b/packages/gpe-soundbite/gpe-soundbite_1.0.6.bb
@@ -7,4 +7,4 @@ DESCRIPTION = "GPE audio Recorder"
DEPENDS = "gtk+ libgpewidget libglade libgsm gpe-soundserver"
SECTION = "gpe/multimedia"
PRIORITY = "optional"
-LDFLAGS_append = "-Wl,--export-dynamic"
+LDFLAGS_append = " -Wl,--export-dynamic"
diff --git a/packages/gpephone/libchenabler_0.1.bb b/packages/gpephone/libchenabler_0.1.bb
index 4c06e2fbd3..cbd28da249 100644
--- a/packages/gpephone/libchenabler_0.1.bb
+++ b/packages/gpephone/libchenabler_0.1.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "LiPS voice call library."
SECTION = "gpe/libs"
PRIORITY = "optional"
DEPENDS = "glib-2.0 sqlite3 librecord"
-PR = "r1"
+PR = "r2"
GPE_TARBALL_SUFFIX = "gz"
diff --git a/packages/gpephone/libgemwidget/libgemwidget-fixup.diff b/packages/gpephone/libgemwidget/libgemwidget-fixup.diff
new file mode 100644
index 0000000000..9a219f1eb8
--- /dev/null
+++ b/packages/gpephone/libgemwidget/libgemwidget-fixup.diff
@@ -0,0 +1,43 @@
+Index: libgemwidget-1.0/src/gemfilechooser.c
+===================================================================
+--- libgemwidget-1.0.orig/src/gemfilechooser.c 2008-11-04 14:04:26.428221184 +0300
++++ libgemwidget-1.0/src/gemfilechooser.c 2008-11-04 14:41:58.755239494 +0300
+@@ -46,6 +46,7 @@
+ #include <gtk/gtk.h>
+ #include <gdk/gdkkeysyms.h>
+ #include <libgnomevfs/gnome-vfs.h>
++#include <libgnomevfs/gnome-vfs-mime-handlers.h>
+ #include "gemfilechooser.h"
+ #include "gemresource.h"
+ #include "gemenv.h"
+@@ -304,7 +305,7 @@ gem_file_chooser_finalize (GObject *obje
+ }
+
+ static void
+-gem_file_chooser_file_info_print (GtkFileInfo *info)
++gem_file_chooser_file_info_print (GFileInfo *info)
+ {
+ struct tm loacl_time;
+ time_t time;
+@@ -331,10 +332,10 @@ gem_file_chooser_file_info_print (GtkFil
+ (gtk_file_info_get_is_folder(info) ? "TRUE" : "FALSE"));
+ g_print("%s():|- Hidden : %s\n",
+ __FUNCTION__,
+- (gtk_file_info_get_is_hidden(info) ? "TRUE" : "FALSE"));
++ (g_file_info_get_is_hidden(info) ? "TRUE" : "FALSE"));
+ g_print("%s():|- MIME Type : %s\n",
+ __FUNCTION__,
+- gtk_file_info_get_mime_type(info));
++ g_file_info_get_mime_type(info));
+ g_print("%s():|- Modified Time : %04d/%02d/%02d %02d:%02d:%02d\n",
+ __FUNCTION__,
+ loacl_time.tm_year + 1900,
+@@ -345,7 +346,7 @@ gem_file_chooser_file_info_print (GtkFil
+ loacl_time.tm_sec);
+ g_print("%s():`- Size : %lld\n",
+ __FUNCTION__,
+- gtk_file_info_get_size(info));
++ g_file_info_get_size(info));
+
+ g_print("\n");
+ return;
diff --git a/packages/gpephone/libgemwidget_1.0.bb b/packages/gpephone/libgemwidget_1.0.bb
index 80e4e4fecb..a9f02cd245 100644
--- a/packages/gpephone/libgemwidget_1.0.bb
+++ b/packages/gpephone/libgemwidget_1.0.bb
@@ -8,7 +8,7 @@ PR = "r0"
GPE_TARBALL_SUFFIX = "bz2"
inherit gpephone pkgconfig autotools
-SRC_URI += " file://disable-tests.patch;patch=1"
+SRC_URI += " file://disable-tests.patch;patch=1 file://libgemwidget-fixup.diff;patch=1"
FILES_${PN} += "${datadir}/gem"
diff --git a/packages/gpephone/libim_0.2.bb b/packages/gpephone/libim_0.2.bb
index a802aface5..7a42d49284 100644
--- a/packages/gpephone/libim_0.2.bb
+++ b/packages/gpephone/libim_0.2.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "LiPS instant messenger library."
SECTION = "gpe/libs"
PRIORITY = "optional"
DEPENDS = "glib-2.0 libgpg-error libgcrypt gnutls libidn iksemel gloox dbus-glib liblipsevent"
-PR = "r0"
+PR = "r1"
inherit gpephone pkgconfig autotools
diff --git a/packages/gpephone/liblipsevent_0.1.bb b/packages/gpephone/liblipsevent_0.1.bb
index 2618bf61c4..fb13704ebf 100644
--- a/packages/gpephone/liblipsevent_0.1.bb
+++ b/packages/gpephone/liblipsevent_0.1.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "LiPS event model library."
SECTION = "gpe/libs"
PRIORITY = "optional"
DEPENDS = "glib-2.0"
-PR = "r0"
+PR = "r1"
inherit gpephone pkgconfig autotools
diff --git a/packages/gpephone/libmsgenabler_1.0.bb b/packages/gpephone/libmsgenabler_1.0.bb
index b8d202a5dd..bde6a2fd6b 100644
--- a/packages/gpephone/libmsgenabler_1.0.bb
+++ b/packages/gpephone/libmsgenabler_1.0.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "LiPS message backend library."
SECTION = "gpe/libs"
PRIORITY = "optional"
DEPENDS = "glib-2.0 dbus-glib librecord sqlite3"
-PR = "r1"
+PR = "r2"
GPE_TARBALL_SUFFIX = "bz2"
diff --git a/packages/gstreamer/gst-meta-base_0.10.bb b/packages/gstreamer/gst-meta-base_0.10.bb
index 06a4fba4cd..c54429aca8 100644
--- a/packages/gstreamer/gst-meta-base_0.10.bb
+++ b/packages/gstreamer/gst-meta-base_0.10.bb
@@ -1,8 +1,10 @@
# Based on its sibling on Poky which is copyright (C) 2006,2007 OpenedHand LTD
DESCRIPTION = "Gstreamer package groups"
-DEPENDS = "gstreamer gst-plugins-base gst-plugins-bad gst-plugins-good gst-plugins-ugly"
-PR = "r11"
+DEPENDS = "gstreamer gst-plugins-base gst-plugins-bad gst-plugins-good \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'gst-plugins-ugly', d)}"
+
+PR = "r12"
PACKAGES = "${PN}-dbg \
gst-meta-base \
@@ -34,14 +36,7 @@ RDEPENDS_gst-meta-audio = "\
gst-meta-base \
gst-plugin-ivorbis \
gst-plugin-ogg \
- gst-plugin-mad \
- gst-plugin-id3demux \
- gst-plugin-wavparse"
-
-RDEPENDS_gst-meta-audio_openmoko = "\
- gst-meta-base \
- gst-plugin-ivorbis \
- gst-plugin-ogg \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'gst-plugin-mad', d)} \
gst-plugin-id3demux \
gst-plugin-wavparse"
@@ -55,10 +50,7 @@ RDEPENDS_gst-meta-video = "\
gst-meta-base \
gst-plugin-avi \
gst-plugin-matroska \
- gst-plugin-mpegstream \
- gst-plugin-mpegaudioparse \
- gst-plugin-mpegvideoparse \
- gst-plugin-mpeg2dec"
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'gst-plugin-mpegstream gst-plugin-mpegaudioparse gst-plugin-mpegvideoparse gst-plugin-mpeg2dec', d)}"
RRECOMMENDS_gst-meta-video = "\
gst-meta-audio"
diff --git a/packages/gstreamer/gst-plugins-ugly_0.10.7.bb b/packages/gstreamer/gst-plugins-ugly_0.10.7.bb
index d7ff21d4e9..fd008b065a 100644
--- a/packages/gstreamer/gst-plugins-ugly_0.10.7.bb
+++ b/packages/gstreamer/gst-plugins-ugly_0.10.7.bb
@@ -1,8 +1,6 @@
require gst-plugins.inc
PR = "r0"
-EXTRA_OECONF_append_openmoko = "--disable-mad"
-
DEPENDS += "gst-plugins-base mpeg2dec libsidplay"
SRC_URI += "\
diff --git a/packages/gstreamer/gst-plugins.inc b/packages/gstreamer/gst-plugins.inc
index f8447ee25d..68a0502182 100644
--- a/packages/gstreamer/gst-plugins.inc
+++ b/packages/gstreamer/gst-plugins.inc
@@ -1,7 +1,7 @@
require gst-common.inc
DESCRIPTION = "Plugins for GStreamer"
-DEPENDS = "gstreamer libmikmod liboil libogg tremor libvorbis libid3tag"
-DEPENDS += "${@base_conditional('DISTRO', 'openmoko', '', 'libmad', d)}"
+DEPENDS = "gstreamer libmikmod liboil libogg tremor libvorbis"
+DEPENDS += "${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad libid3tag', d)}"
PACKAGES_DYNAMIC = "gst-plugin-*"
diff --git a/packages/gstreamer/gstreamer/registry-do-not-look-into-debug-dirs.patch b/packages/gstreamer/gstreamer/registry-do-not-look-into-debug-dirs.patch
new file mode 100644
index 0000000000..6733e6be06
--- /dev/null
+++ b/packages/gstreamer/gstreamer/registry-do-not-look-into-debug-dirs.patch
@@ -0,0 +1,39 @@
+Work around a glibc 2.6.1 bug with dlopen. We try to dlopen a .so file that
+only contains debug symbols (e.g. no architecture is set in the elf header)
+
+
+#0 0x4000a88c in _dl_relocate_object () from /lib/ld-linux.so.3
+(gdb) bt
+#0 0x4000a88c in _dl_relocate_object () from /lib/ld-linux.so.3
+#1 0x40011f68 in dl_open_worker () from /lib/ld-linux.so.3
+#2 0x4000d7e4 in _dl_catch_error () from /lib/ld-linux.so.3
+#3 0x400117d8 in _dl_open () from /lib/ld-linux.so.3
+#4 0x402fba84 in dlopen_doit () from /lib/libdl.so.2
+#5 0x4000d7e4 in _dl_catch_error () from /lib/ld-linux.so.3
+#6 0x402fbf50 in _dlerror_run () from /lib/libdl.so.2
+#7 0x402fb9bc in dlopen@@GLIBC_2.4 () from /lib/libdl.so.2
+#8 0x402f2790 in g_module_open () from /usr/lib/libgmodule-2.0.so.0
+#9 0x40078784 in gst_plugin_load_file (
+ filename=0x10a6c8 "/usr/lib/gstreamer-0.10/.debug/libgstcoreindexers.so",
+ error=0x0) at gstplugin.c:481
+#10 0x4007e3c4 in gst_registry_scan_path_level (registry=0x27828,
+ path=0x10a6a0 "/usr/lib/gstreamer-0.10/.debug", level=1) at gstregistry.c:891
+#11 0x4007df04 in gst_registry_scan_path_level (registry=0x27828,
+
+
+Index: gstreamer-0.10.17/gst/gstregistry.c
+===================================================================
+--- gstreamer-0.10.17.orig/gst/gstregistry.c 2008-11-14 23:30:48.000000000 +0100
++++ gstreamer-0.10.17/gst/gstregistry.c 2008-11-14 23:32:39.000000000 +0100
+@@ -813,7 +813,10 @@
+ GST_LOG_OBJECT (registry, "examining file: %s", filename);
+
+ if (g_file_test (filename, G_FILE_TEST_IS_DIR)) {
+- if (level > 0) {
++ if (g_str_has_suffix (filename, ".debug")) {
++ GST_LOG_OBJECT (registry,
++ "found directory, not descending into .debug directory");
++ } else if (level > 0) {
+ GST_LOG_OBJECT (registry, "found directory, recursing");
+ changed |= gst_registry_scan_path_level (registry, filename, level - 1);
+ } else {
diff --git a/packages/gstreamer/gstreamer_0.10.17.bb b/packages/gstreamer/gstreamer_0.10.17.bb
index 51a1426564..4087e8e1d0 100644
--- a/packages/gstreamer/gstreamer_0.10.17.bb
+++ b/packages/gstreamer/gstreamer_0.10.17.bb
@@ -1,6 +1,7 @@
require gstreamer.inc
-PR = "r3"
+PR = "r4"
-SRC_URI += "file://po-makefile-fix.patch;patch=1"
+SRC_URI += "file://po-makefile-fix.patch;patch=1 \
+ file://registry-do-not-look-into-debug-dirs.patch;patch=1 "
diff --git a/packages/guile/guile_1.8.5.bb b/packages/guile/guile_1.8.5.bb
index 62fdedd44a..fe5ebbc154 100644
--- a/packages/guile/guile_1.8.5.bb
+++ b/packages/guile/guile_1.8.5.bb
@@ -2,10 +2,10 @@ DESCRIPTION = "Guile is an interpreter for the Scheme programming language, \
packaged as a library which can be incorporated into your programs."
HOMEPAGE = "http://www.gnu.org/software/guile/guile.html"
SECTION = "devel/scheme"
-DEPENDS = "guile-native gmp"
+DEPENDS = "guile-native gmp libtool"
LICENSE = "GPL"
-PR = "r2"
+PR = "r3"
SRC_URI = "http://ftp.gnu.org/pub/gnu/guile/guile-${PV}.tar.gz \
file://configure-fix.patch;patch=1 "
diff --git a/packages/hal/hal-0.5.11/fix-configure.diff b/packages/hal/hal-0.5.11/fix-configure.diff
new file mode 100644
index 0000000000..7d9d42d69f
--- /dev/null
+++ b/packages/hal/hal-0.5.11/fix-configure.diff
@@ -0,0 +1,22 @@
+From: Rémi Cardona <remi@gentoo.org>
+Date: Sat, 9 Aug 2008 15:04:07 +0000 (+0200)
+Subject: add libtool-2.2 support
+X-Git-Url: http://gitweb.freedesktop.org/?p=hal.git;a=commitdiff;h=c8a1aedf87bbb200fc5daa0ec8559a2d84fbb61d
+
+add libtool-2.2 support
+
+Fix for aclocal to work properly with libtool 2.2 which no longer
+checks for C++ automatically (this patch is of course backwards
+compatible with libtool 1.5.x)
+---
+
+--- a/configure.in
++++ b/configure.in
+@@ -29,6 +29,7 @@ AC_SUBST(LT_AGE)
+
+ AC_ISC_POSIX
+ AC_PROG_CC
++AC_PROG_CXX
+ AM_PROG_CC_C_O
+ AC_HEADER_STDC
+ AC_PROG_LIBTOOL
diff --git a/packages/hal/hal_0.5.11.bb b/packages/hal/hal_0.5.11.bb
index 5408756510..2b56fdfca5 100644
--- a/packages/hal/hal_0.5.11.bb
+++ b/packages/hal/hal_0.5.11.bb
@@ -1,4 +1,14 @@
require hal.inc
-SRC_URI += " file://hal-right-input-h.patch;patch=1"
-EXTRA_OECONF += "--with-linux-input-header=${STAGING_INCDIR}/linux/input.h"
+PR = "r2"
+
+SRC_URI += " file://hal-right-input-h.patch;patch=1 \
+ file://fix-configure.diff;patch=1"
+
+# The following code finds the right linux/input.h,
+# which also works with external-toolchain/SDK
+do_configure() {
+ linux_input_h=`echo "#include <linux/input.h>" | ${CPP} - | \
+ grep "linux\/input.h" | head -n 1 | awk -F '"' '{print $2}'`
+ autotools_do_configure --with-linux-input-header=${linux_input_h}
+}
diff --git a/packages/ica/ica-bin_10.6.bb b/packages/ica/ica-bin_10.6.bb
new file mode 100644
index 0000000000..7bfebe3d31
--- /dev/null
+++ b/packages/ica/ica-bin_10.6.bb
@@ -0,0 +1,29 @@
+# ica-bin OE build file
+# Copyright (C) 2004-2006, Advanced Micro Devices, Inc. All Rights Reserved
+# Released under the MIT license (see packages/COPYING)
+
+DEPENDS = "virtual/libx11 libxaw rpm2cpio-native fakeroot-native"
+
+HOMEPAGE="www.citrix.com/download/"
+
+SRC_URI="ftp://download2.citrix.com/FILES/en/products/Linux10/ICAClient-10.6-1.i386.rpm"
+
+S="${WORKDIR}"
+FILES_${PN} += "/"
+FILES_${PN}-dbg += "/usr/lib/ICAClient/.debug"
+
+do_configure() {
+ rpm2cpio ${DL_DIR}/ICAClient-${PV}-1.i386.rpm | fakeroot cpio -i --make-directories
+}
+
+DDIR="${D}/usr/lib/ICAClient"
+
+do_install () {
+ for file in `find usr/lib/ICAClient/ -type d`; do
+ install -d ${D}/$file
+ done
+
+ for file in `find usr/lib/ICAClient/ -type f`; do
+ install $file ${D}/$file
+ done
+}
diff --git a/packages/icu/icu_3.6.bb b/packages/icu/icu_3.6.bb
index 91b25adbe9..1dbdf94b3a 100644
--- a/packages/icu/icu_3.6.bb
+++ b/packages/icu/icu_3.6.bb
@@ -1,7 +1,7 @@
require icu-3.6.inc
DEPENDS += "icu-native"
-PR = "r3"
+PR = "r4"
SRC_URI += "file://use-g++-for-linking.patch;patch=1"
@@ -34,6 +34,11 @@ FILES_libicuio = "${libdir}/libicuio.so.*"
do_stage() {
autotools_stage_all
+}
+
+# We need to append this so it runs *after* binconfig.do_stage
+do_stage_append() {
+ sed -i -e s:^prefix=:prefix=\"${STAGING_DIR_TARGET}/usr\": ${STAGING_BINDIR_CROSS}/icu-config
}
diff --git a/packages/images/beagleboard-demo-image.bb b/packages/images/beagleboard-demo-image.bb
index d746f0d9d0..4a4b33f4d0 100644
--- a/packages/images/beagleboard-demo-image.bb
+++ b/packages/images/beagleboard-demo-image.bb
@@ -39,6 +39,8 @@ IMAGE_INSTALL = "\
gnome-games \
rt73-firmware zd1211-firmware \
stalonetray \
+ synergy \
+ x11vnc \
"
IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
diff --git a/packages/images/fso-console-image.bb b/packages/images/fso-console-image.bb
index 2c168b7e19..04d9d23afc 100644
--- a/packages/images/fso-console-image.bb
+++ b/packages/images/fso-console-image.bb
@@ -1,13 +1,12 @@
#------------------------------------------------------
-# freesmartphone.org Console Image Recipe
+# FSO compliant Console Image Recipe
#------------------------------------------------------
require fso-image.bb
IMAGE_INSTALL = "\
- ${BASE_INSTALL} \
- ${AUDIO_INSTALL} \
- ${TOOLS_INSTALL} \
- ${PYTHON_INSTALL} \
- frameworkd \
+ task-base \
+ task-fso-compliance \
+ task-cli-tools \
+ task-cli-tools-python \
"
diff --git a/packages/images/fso-illume-image.bb b/packages/images/fso-illume-image.bb
new file mode 100644
index 0000000000..a2bdda5e47
--- /dev/null
+++ b/packages/images/fso-illume-image.bb
@@ -0,0 +1,82 @@
+#------------------------------------------------------
+# FSO compliant Illume Image Recipe
+#------------------------------------------------------
+
+require fso-image.bb
+
+PV = "1.0"
+PR = "r1"
+
+# no languages for now
+IMAGE_LINGUAS = ""
+
+BASE_INSTALL = "\
+ task-base \
+"
+
+ILLUME_THEME = "illume-theme-fso"
+
+X_INSTALL = "\
+ task-x11-illume \
+ task-fonts-truetype-core \
+"
+
+X_INSTALL_append_om-gta02 = "\
+ task-fonts-truetype-chinese \
+ task-fonts-truetype-japanese \
+"
+
+# tools
+TOOLS_INSTALL = "\
+ task-cli-tools \
+ task-cli-tools-python \
+"
+
+# audio
+AUDIO_INSTALL = "\
+ alsa-oss \
+ alsa-state \
+ alsa-utils-aplay \
+ alsa-utils-amixer \
+ gst-meta-audio \
+ gst-plugin-modplug \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'gst-plugin-sid', d)} \
+ fso-sounds \
+"
+
+GTK_INSTALL = "\
+ xterm \
+ gpe-scap \
+"
+
+# FIXME these should rather be part of alsa-state,
+# once Om stabilizes them...
+AUDIO_INSTALL_append_om-gta01 = "\
+ openmoko-alsa-scenarios \
+"
+AUDIO_INSTALL_append_om-gta02 = "\
+ openmoko-alsa-scenarios \
+"
+
+# python
+PYTHON_INSTALL = "\
+ task-python-efl \
+ python-codecs \
+ python-gst \
+"
+
+# fso
+FSO_INSTALL = "\
+ task-fso-compliance \
+"
+
+IMAGE_INSTALL = "\
+ ${BASE_INSTALL} \
+ ${X_INSTALL} \
+ ${GTK_INSTALL} \
+ ${GAMES_INSTALL} \
+ ${AUDIO_INSTALL} \
+ ${TOOLS_INSTALL} \
+ ${PYTHON_INSTALL} \
+ ${FSO_INSTALL} \
+"
diff --git a/packages/images/fso-image-nox.bb b/packages/images/fso-image-nox.bb
new file mode 100644
index 0000000000..056982e1b0
--- /dev/null
+++ b/packages/images/fso-image-nox.bb
@@ -0,0 +1,113 @@
+#------------------------------------------------------
+# freesmartphone.org Image Recipe, No-x11 Edition
+#------------------------------------------------------
+
+PR = "r1.0"
+
+require fso-image.bb
+
+export IMAGE_BASENAME = "fso-image-nox"
+
+# The packages below should ideally be a subset of the
+# full fso-image. But unfortunately, the granularity
+# and some of the assumptions of the fso image do not
+# yet permit that. The gating factor is that this
+# particular image needs to include the necessary stuff
+# so that Qt Extended can run, but not so much that
+# it can no longer fit in the small flash available on
+# the GTA01. So, in practice this means that we will
+# need some X libs (for dbus at a minimum), but we need
+# to ensure that we limit that as much as possible.
+#
+# (There is little doubt that as the software stacks
+# mature, the GTA01 will need to become SD-card based.
+# Never-the-less, it is desirable to keep this as small
+# as possible for as long as possible.)
+#
+# Note: if packages are _added_ to this image, it is
+# important to also add the -dev versions of that
+# package to the toolchain, if applicable. In general,
+# _adding_ packages to this file is a bad idea; this
+# image should be a proper subset of the full fso image.
+#
+
+AUDIO_NOX_INSTALL = "\
+ alsa-oss \
+ alsa-state \
+ alsa-utils-aplay \
+ alsa-utils-amixer \
+ openmoko-alsa-scenarios \
+"
+
+# python - just pull in some basics for now. Ideally we would like
+# to be able to run parts of the framework, but that's a future, and
+# would almost certainly require an SD card on the GTA01. So just
+# add the basics so that we at least have a scripting language.
+##
+# (I'm really of two minds on this; removing python is a big
+# win in terms of flash space, and I'm not sure how useful this
+# small set is. Need comments from others. --- MJW)
+
+PYTHON_NOX_INSTALL = "\
+ python-dbus \
+ python-pygobject \
+"
+
+# Tools - carefully picked so that we don't pull in too much.
+# This list should be edited -- in particular, s3c24xx-gpio is large
+# and statically linked. If not needed, we can save some flash on the
+# GTA01 by getting rid of it in the base image. Other candidates
+# might include nano, mickeydbus, powertop, sysstat, and tcpdump.
+
+TOOLS_NOX_INSTALL = "\
+ dosfstools \
+ htop \
+ iptables \
+ lsof \
+ mickeydbus \
+ mtd-utils \
+ nano \
+ powertop \
+ s3c24xx-gpio \
+ sysstat \
+ tcpdump \
+"
+
+# This block is intended to pull in stuff that is normally pulled
+# in as dependencies in the full fso image. At this moment,
+# libpng12 is an exception - it slipped into the toolchain, hence
+# it needs to be here as well. It should be added to the full
+# fso image at some point.
+
+EXTRA_NOX_INSTALL = "\
+ libstdc++ \
+ tslib \
+ pointercal \
+ tzdata \
+ libpng12 \
+"
+
+IMAGE_INSTALL = "\
+ ${BASE_INSTALL} \
+ ${EXTRA_NOX_INSTALL} \
+ ${AUDIO_NOX_INSTALL} \
+ ${PYTHON_NOX_INSTALL} \
+ ${TOOLS_NOX_INSTALL} \
+"
+
+# The post-processing step for this image is where we can do some
+# cleanup to get some space back if necessary, or do other touch-up
+# work specific to this image. It is currently empty, and should
+# continue to be empty -- but it appears here because that's probably
+# unrealistic, so we might as put the placeholder here right now.
+
+fso_nox_rootfs_postprocess() {
+ curdir=$PWD
+ cd ${IMAGE_ROOTFS}
+ # Execute commands to tweak the rootfs here
+
+ # End commands
+ cd ${curdir}
+}
+
+ROOTFS_POSTPROCESS_COMMAND += "fso_nox_rootfs_postprocess"
diff --git a/packages/images/fso-image.bb b/packages/images/fso-image.bb
index d0ae4039d3..b97eb5c89b 100644
--- a/packages/images/fso-image.bb
+++ b/packages/images/fso-image.bb
@@ -2,70 +2,32 @@
# freesmartphone.org Image Recipe
#------------------------------------------------------
+PV = "1.0"
+PR = "r2"
+
+# no languages for now
IMAGE_LINGUAS = ""
-# getting the base system up
BASE_INSTALL = "\
- ${MACHINE_TASK_PROVIDER} \
- netbase \
- sysfsutils \
- module-init-tools-depmod \
- rsync \
- screen \
- fbset \
- fbset-modes \
+ task-base \
"
-# Some machines don't set a *runtime* provider for X, so default to Xfbdev here
-# virtual/xserver won't work, since the kdrive recipes will build multiple xserver packages
-XSERVER ?= "xserver-kdrive-fbdev"
+ILLUME_THEME = "illume-theme-freesmartphone"
-# getting an X window system up
X_INSTALL = "\
- e-wm \
- illume \
- illume-config-illume \
- illume-dicts-english-us \
- illume-keyboards-default \
- illume-keyboards-numbers \
- illume-keyboards-terminal \
- illume-theme-freesmartphone \
- ${XSERVER} \
- xserver-kdrive-common \
- xserver-nodm-init \
- xauth \
- xhost \
- xset \
- xrandr \
- \
- fontconfig-utils \
- \
- ttf-dejavu-common \
- ttf-dejavu-sans \
- ttf-dejavu-serif \
- \
+ task-x11-illume \
+ task-fonts-truetype-core \
"
X_INSTALL_append_om-gta02 = "\
- ttf-arphic-uming \
- \
+ task-fonts-truetype-chinese \
+ task-fonts-truetype-japanese \
"
-# useful command line tools
+# tools
TOOLS_INSTALL = "\
-# bash \
- dosfstools \
- htop \
- iptables \
- lsof \
- mickeydbus \
- mickeyterm \
- mtd-utils \
- nano \
- powertop \
- s3c24xx-gpio \
- sysstat \
- tcpdump \
+ task-cli-tools \
+ task-cli-tools-python \
"
# audio
@@ -75,15 +37,14 @@ AUDIO_INSTALL = "\
alsa-utils-aplay \
alsa-utils-amixer \
gst-meta-audio \
- gst-plugin-mad \
gst-plugin-modplug \
- gst-plugin-sid \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'gst-plugin-mad gst-plugin-sid', d)} \
fso-sounds \
"
GTK_INSTALL = "\
openmoko-calculator2 \
- openmoko-terminal2 \
+ vala-terminal \
gpe-scap \
tangogps \
"
@@ -108,11 +69,9 @@ PYTHON_INSTALL = "\
python-gst \
"
-# zhone
+# fso+zhone
ZHONE_INSTALL = "\
- gsm0710muxd \
- frameworkd \
- fso-gpsd \
+ task-fso-compliance \
zhone \
"
@@ -140,7 +99,7 @@ IMAGE_INSTALL = "\
inherit image
-# perform some convenience tweaks to the rootfs
+# perform some convenience tweaks to the rootfs to improve the out-of-the-box experience :M:
fso_rootfs_postprocess() {
curdir=$PWD
cd ${IMAGE_ROOTFS}
@@ -165,6 +124,10 @@ fso_rootfs_postprocess() {
echo 'gtk-font-name = "Sans 5"' >> ./etc/gtk-2.0/gtkrc
# fix strange iconv/gconf bug
ln -s libc.so.6 ./lib/libc.so
+ # set sensible DNS entries
+ echo "nameserver 208.67.222.222" > ./etc/resolv.conf
+ echo "nameserver 208.67.220.220" >> ./etc/resolv.conf
+ # back on track
cd $curdir
}
diff --git a/packages/images/x11-sato-image.bb b/packages/images/x11-sato-image.bb
index 35163953dc..0a127f85cf 100644
--- a/packages/images/x11-sato-image.bb
+++ b/packages/images/x11-sato-image.bb
@@ -1,6 +1,8 @@
DISTRO_SSH_DAEMON ?= "dropbear"
DISTRO_PACKAGE_MANAGER ?= "opkg-nogpg opkg-collateral"
+XSERVER ?= "xserver-kdrive-fbdev"
+
IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
IMAGE_INSTALL = "\
@@ -13,7 +15,7 @@ IMAGE_INSTALL = "\
matchbox-desktop \
${XSERVER} \
xserver-kdrive-common xserver-nodm-init \
- ttf-liberation \
+ ttf-liberation-sans ttf-liberation-serif ttf-liberation-mono \
xauth xhost xset xrandr \
matchbox-sato \
matchbox-config-gtk \
diff --git a/packages/initscripts/initscripts-1.0/bootmisc.sh b/packages/initscripts/initscripts-1.0/bootmisc.sh
index 2a40e0c410..dde1209be5 100755
--- a/packages/initscripts/initscripts-1.0/bootmisc.sh
+++ b/packages/initscripts/initscripts-1.0/bootmisc.sh
@@ -57,9 +57,11 @@ then
fi
#
-# Update dynamic library cache
+# Update dynamic library cache, but only if ld.so.conf is present
#
-/sbin/ldconfig
+if [ -e /etc/ld.so.conf ] ; then
+ /sbin/ldconfig
+fi
# Set the system clock from hardware clock
# If the timestamp is 1 day or more recent than the current time,
diff --git a/packages/initscripts/initscripts-1.0/checkroot.sh b/packages/initscripts/initscripts-1.0/checkroot.sh
index 5c1e5c6ebb..e5aa9aaf99 100755
--- a/packages/initscripts/initscripts-1.0/checkroot.sh
+++ b/packages/initscripts/initscripts-1.0/checkroot.sh
@@ -208,7 +208,7 @@ then
: > /etc/mtab
fi
mount -f -o remount /
- mount -f /proc
+ mount -f -o remount /proc
test "$devfs" && grep -q '^devfs /dev' /proc/mounts && mount -f "$devfs"
fi
diff --git a/packages/initscripts/initscripts_1.0.bb b/packages/initscripts/initscripts_1.0.bb
index b1c43174e8..8daefc519d 100644
--- a/packages/initscripts/initscripts_1.0.bb
+++ b/packages/initscripts/initscripts_1.0.bb
@@ -4,7 +4,7 @@ PRIORITY = "required"
DEPENDS = "makedevs"
RDEPENDS = "makedevs"
LICENSE = "GPL"
-PR = "r109"
+PR = "r110"
SRC_URI = "file://functions \
file://halt \
diff --git a/packages/ipython/ipython_0.9.1.bb b/packages/ipython/ipython_0.9.1.bb
new file mode 100644
index 0000000000..7ab8d724e3
--- /dev/null
+++ b/packages/ipython/ipython_0.9.1.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "Enhanced Python Shell"
+HOMEPAGE = "http://ipython.scipy.org/moin/"
+SECTION = "devel/python"
+LICENSE = "BSD"
+DEPENDS = "less"
+RDEPENDS = "python-pprint python-io python-shell python-misc python-lang \
+ python-stringold python-codecs python-crypt python-threading \
+ python-pydoc python-debugger python-textutils python-pickle \
+ python-subprocess"
+
+SRC_URI = "http://ipython.scipy.org/dist/ipython-${PV}.tar.gz"
+
+inherit distutils
+
+FILES_${PN} = "/"
diff --git a/packages/libmailwrapper/libmailwrapper_1.2.4.bb b/packages/libmailwrapper/libmailwrapper_1.2.4.bb
new file mode 100644
index 0000000000..c3fcddf49b
--- /dev/null
+++ b/packages/libmailwrapper/libmailwrapper_1.2.4.bb
@@ -0,0 +1,5 @@
+require ${PN}.inc
+
+PR = "r0"
+
+SRC_URI = "${HANDHELDS_CVS};tag=${TAG};module=opie/noncore/net/mail/libmailwrapper"
diff --git a/packages/libserial/libserial_0.5.2.bb b/packages/libserial/libserial_0.5.2.bb
new file mode 100644
index 0000000000..ee7872b300
--- /dev/null
+++ b/packages/libserial/libserial_0.5.2.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "C++ library for serial port support."
+SECTION = "libs"
+LICENSE = "GPL"
+HOMEPAGE = "http://libserial.sourceforge.net/mediawiki/index.php/Main_Page"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/libserial/libserial-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
+
diff --git a/packages/libtorrent/libtorrent_0.12.3.bb b/packages/libtorrent/libtorrent_0.12.3.bb
new file mode 100644
index 0000000000..5d711578ed
--- /dev/null
+++ b/packages/libtorrent/libtorrent_0.12.3.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "library implementing the bittorrent protocol"
+HOMEPAGE = "http://libtorrent.rakshasa.no"
+SECTION = "libs/network"
+LICENSE = "GPL"
+DEPENDS = "libsigc++-2.0 openssl"
+
+SRC_URI = "http://libtorrent.rakshasa.no/downloads/libtorrent-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--enable-aligned"
+
+do_stage() {
+ autotools_stage_all
+}
+
diff --git a/packages/libtorrent/rtorrent_0.8.3.bb b/packages/libtorrent/rtorrent_0.8.3.bb
new file mode 100644
index 0000000000..9ae0eed011
--- /dev/null
+++ b/packages/libtorrent/rtorrent_0.8.3.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Console bittorrent client using libtorrent"
+HOMEPAGE = "http://libtorrent.rakshasa.no"
+SECTION = "libs/network"
+LICENSE = "GPL"
+DEPENDS = "libtorrent curl ncurses gnutls libgpg-error"
+
+SRC_URI = "http://libtorrent.rakshasa.no/downloads/rtorrent-${PV}.tar.gz \
+ file://autoconf-cross-fix.patch;patch=1"
+
+inherit autotools
+
diff --git a/packages/libxine/libxine-fb_1.0.bb b/packages/libxine/libxine-fb_1.0.bb
index a51dc83896..87818d5e8c 100644
--- a/packages/libxine/libxine-fb_1.0.bb
+++ b/packages/libxine/libxine-fb_1.0.bb
@@ -3,9 +3,10 @@ This version is configured for the usage with framebuffer based environments"
SECTION = "libs"
PRIORITY = "optional"
LICENSE = "GPL"
-DEPENDS = "zlib libogg tremor libmad libmodplug libpng"
+DEPENDS = "zlib libogg tremor libmodplug libpng \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad', d)}"
PROVIDES = "virtual/libxine"
-PR = "r1"
+PR = "r2"
inherit autotools pkgconfig gettext
diff --git a/packages/libxine/libxine-x11_1.0.bb b/packages/libxine/libxine-x11_1.0.bb
index 806f8fd4b7..6bc7e6eb15 100644
--- a/packages/libxine/libxine-x11_1.0.bb
+++ b/packages/libxine/libxine-x11_1.0.bb
@@ -3,9 +3,10 @@ This version is configued for the usage with X11"
SECTION = "libs"
PRIORITY = "optional"
LICENSE = "GPL"
-DEPENDS = "zlib libogg libvorbis tremor libmad libmodplug esound virtual/libx11 libxext libpng"
+DEPENDS = "zlib libogg libvorbis tremor libmodplug esound virtual/libx11 libxext libpng \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad', d)}"
PROVIDES = "virtual/libxine"
-PR = "r1"
+PR = "r2"
inherit autotools pkgconfig gettext binconfig
diff --git a/packages/libxine/libxine_1.1.0.bb b/packages/libxine/libxine_1.1.0.bb
index 9219e5fdcd..71e7663101 100644
--- a/packages/libxine/libxine_1.1.0.bb
+++ b/packages/libxine/libxine_1.1.0.bb
@@ -3,9 +3,10 @@ This version is configued for the usage with X11"
SECTION = "libs"
PRIORITY = "optional"
LICENSE = "GPL"
-DEPENDS = "zlib libogg libvorbis tremor libmad libmodplug esound virtual/libx11 libxext libpng"
+DEPENDS = "zlib libogg libvorbis tremor libmodplug esound virtual/libx11 libxext libpng \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad', d)}"
PROVIDES = "virtual/libxine"
-PR = "r1"
+PR = "r2"
inherit autotools pkgconfig gettext binconfig
diff --git a/packages/linphone/linphone-1.6.0/linphone-speex.diff b/packages/linphone/linphone-1.6.0/linphone-speex.diff
new file mode 100644
index 0000000000..930c774a41
--- /dev/null
+++ b/packages/linphone/linphone-1.6.0/linphone-speex.diff
@@ -0,0 +1,13 @@
+Index: linphone-1.6.0/mediastreamer2/configure.ac
+===================================================================
+--- linphone-1.6.0.orig/mediastreamer2/configure.ac 2008-11-04 03:41:04.936798321 +0300
++++ linphone-1.6.0/mediastreamer2/configure.ac 2008-11-04 03:41:09.589036036 +0300
+@@ -253,7 +253,7 @@ dnl check for various codecs libraries
+ dnl *************************************
+
+ dnl check for installed version of speex
+-PKG_CHECK_MODULES(SPEEX, speex >= 1.1.12,
++PKG_CHECK_MODULES(SPEEX, speex >= 1.1.12 speexdsp,
+ [ AC_DEFINE(HAVE_SPEEX_NOISE,1,[tells whether the noise arg of speex_echo_cancel can be used]) ],
+ [try_other_speex=yes]
+ )
diff --git a/packages/linphone/linphone_1.6.0.bb b/packages/linphone/linphone_1.6.0.bb
index fe40b6a270..64b2dafdd2 100644
--- a/packages/linphone/linphone_1.6.0.bb
+++ b/packages/linphone/linphone_1.6.0.bb
@@ -21,7 +21,8 @@ PROVIDES += "linphone linphonec liblinphone"
PR = "r3"
SRC_URI = "http://download.savannah.nongnu.org/releases/linphone/1.6.x/sources/linphone-${PV}.tar.gz \
- http://download.devbase.at/voip/linphone-1.6.0-pl0.patch;patch=1"
+ http://download.devbase.at/voip/linphone-1.6.0-pl0.patch;patch=1 \
+ file://linphone-speex.diff;patch=1"
S = "${WORKDIR}/linphone-${PV}"
diff --git a/packages/linux-libc-headers/linux-libc-headers.inc b/packages/linux-libc-headers/linux-libc-headers.inc
index b49e855ed1..dc0267697f 100644
--- a/packages/linux-libc-headers/linux-libc-headers.inc
+++ b/packages/linux-libc-headers/linux-libc-headers.inc
@@ -3,7 +3,7 @@ SECTION = "devel"
LICENSE = "GPL"
RDEPENDS_${PN}-dev = ""
-RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${DEBPV})"
+RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPV})"
do_install_append() {
rm -rf ${D}${includedir}/scsi
diff --git a/packages/linux/linux-2.6.25/m8050/defconfig b/packages/linux/linux-2.6.25/m8050/defconfig
new file mode 100644
index 0000000000..a5e8d43dd4
--- /dev/null
+++ b/packages/linux/linux-2.6.25/m8050/defconfig
@@ -0,0 +1,1009 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.25
+# Fri Oct 31 08:29:20 2008
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+# CONFIG_GENERIC_TIME is not set
+# CONFIG_GENERIC_CLOCKEVENTS is not set
+CONFIG_MMU=y
+CONFIG_NO_IOPORT=y
+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_ARCH_SUPPORTS_AOUT=y
+CONFIG_ZONE_DMA=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=18
+# CONFIG_CGROUPS is not set
+CONFIG_GROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_USER_SCHED=y
+# CONFIG_CGROUP_SCHED is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES 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=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+# CONFIG_BUG is not set
+CONFIG_ELF_CORE=y
+CONFIG_COMPAT_BRK=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_PROFILING is not set
+# CONFIG_MARKERS is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+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 is not set
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+# CONFIG_BLK_DEV_BSG is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+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"
+CONFIG_CLASSIC_RCU=y
+
+#
+# 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_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_MXC is not set
+# CONFIG_ARCH_ORION 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=y
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_MSM7X00A is not set
+CONFIG_PLAT_S3C24XX=y
+CONFIG_CPU_S3C244X=y
+CONFIG_S3C2410_DMA=y
+CONFIG_S3C2410_DMA_DEBUG=y
+CONFIG_PLAT_S3C=y
+CONFIG_CPU_LLSERIAL_S3C2440_ONLY=y
+CONFIG_CPU_LLSERIAL_S3C2440=y
+
+#
+# Boot options
+#
+# CONFIG_S3C_BOOT_ERROR_RESET is not set
+
+#
+# Power management
+#
+CONFIG_S3C_LOWLEVEL_UART_PORT=1
+
+#
+# S3C2400 Machines
+#
+CONFIG_S3C2410_GPIO=y
+CONFIG_S3C2410_CLOCK=y
+
+#
+# S3C2410 Machines
+#
+# CONFIG_ARCH_SMDK2410 is not set
+# CONFIG_ARCH_H1940 is not set
+# CONFIG_MACH_N30 is not set
+# CONFIG_ARCH_BAST is not set
+# CONFIG_MACH_OTOM is not set
+# CONFIG_MACH_AML_M5900 is not set
+# CONFIG_MACH_VR1000 is not set
+# CONFIG_MACH_QT2410 is not set
+
+#
+# S3C2412 Machines
+#
+# CONFIG_MACH_SMDK2413 is not set
+# CONFIG_MACH_SMDK2412 is not set
+# CONFIG_MACH_VSTMS is not set
+CONFIG_CPU_S3C2440=y
+CONFIG_S3C2440_DMA=y
+
+#
+# S3C2440 Machines
+#
+CONFIG_MACH_AML_M8050=y
+# CONFIG_MACH_ANUBIS is not set
+# CONFIG_MACH_OSIRIS is not set
+# CONFIG_MACH_RX3715 is not set
+# CONFIG_ARCH_S3C2440 is not set
+# CONFIG_MACH_NEXCODER_2440 is not set
+
+#
+# S3C2442 Machines
+#
+
+#
+# S3C2443 Machines
+#
+# CONFIG_MACH_SMDK2443 is not set
+
+#
+# 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 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_OUTER_CACHE is not set
+
+#
+# Bus support
+#
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# 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=200
+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_SPARSEMEM_VMEMMAP_ENABLE is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttySAC0 root=/dev/ram0"
+# 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=y
+# CONFIG_BINFMT_MISC is not set
+
+#
+# Power management options
+#
+# CONFIG_PM is not set
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+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 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 is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO 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=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 is not set
+# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET6_XFRM_MODE_BEET is not set
+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+# CONFIG_IPV6_SIT is not set
+# 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
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN 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=y
+# CONFIG_MAC80211 is not set
+CONFIG_IEEE80211=y
+# CONFIG_IEEE80211_DEBUG is not set
+# CONFIG_IEEE80211_CRYPT_WEP is not set
+# CONFIG_IEEE80211_CRYPT_CCMP is not set
+# CONFIG_IEEE80211_CRYPT_TKIP is not set
+# CONFIG_IEEE80211_SOFTMAC is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR 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=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
+# CONFIG_MTD_OOPS 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
+
+#
+# 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 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
+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_IDS=y
+CONFIG_MTD_NAND_S3C2410=y
+# 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
+# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# 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_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=4
+CONFIG_BLK_DEV_RAM_SIZE=4096
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_MISC_DEVICES is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+# CONFIG_SCSI_DMA is not set
+# CONFIG_SCSI_NETLINK is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+CONFIG_NETDEVICES=y
+# CONFIG_NETDEVICES_MULTIQUEUE is not set
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_NET_ETHERNET 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=y
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_SDIO=m
+# CONFIG_LIBERTAS_DEBUG is not set
+# CONFIG_HOSTAP is not set
+# CONFIG_WAN is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV 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_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+# CONFIG_INPUT_GENERICLEDS 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_TABLET is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# CONFIG_TOUCHSCREEN_FUJITSU is not set
+CONFIG_TOUCHSCREEN_S3C2410=y
+# CONFIG_TOUCHSCREEN_S3C2410_DEBUG 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_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_LIBPS2 is not set
+# CONFIG_SERIO_RAW 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=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_INTELLIHEAD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_S3C2410=y
+CONFIG_SERIAL_S3C2410_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=32
+# CONFIG_IPMI_HANDLER 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
+# CONFIG_TCG_TPM is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+# CONFIG_I2C_CHARDEV is not set
+
+#
+# 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_GPIO is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+CONFIG_I2C_S3C2410=y
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_STUB is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_DS1682 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_PCF8575 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_SENSORS_TSL2550 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=y
+CONFIG_SPI_S3C24XX=y
+CONFIG_SPI_S3C24XX_GPIO=y
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_AT25 is not set
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_TLE62X0 is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_ASIC3 is not set
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL 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_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_SYS_FOPS is not set
+CONFIG_FB_DEFERRED_IO=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_S3C2410=y
+# CONFIG_FB_S3C2410_DEBUG is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_LOGO_LINUX_CLUT224 is not set
+CONFIG_LOGO_M8050_CLUT224=y
+
+#
+# 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_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+# CONFIG_SND_SEQUENCER_OSS is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+# CONFIG_SND_SUPPORT_OLD_API is not set
+# CONFIG_SND_VERBOSE_PROCFS is not set
+# 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
+#
+
+#
+# SPI devices
+#
+
+#
+# System on Chip audio support
+#
+CONFIG_SND_SOC=y
+CONFIG_SND_S3C24XX_SOC=y
+CONFIG_SND_S3C24XX_SOC_I2S=y
+CONFIG_SND_S3C24XX_SOC_M8050_WM8750=y
+# CONFIG_SND_S3C24XX_SOC_LN2440SBC_ALC650 is not set
+
+#
+# SoC Audio support for SuperH
+#
+
+#
+# ALSA SoC audio for Freescale SOCs
+#
+CONFIG_SND_SOC_WM8750=y
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+# CONFIG_HID_SUPPORT is not set
+# CONFIG_USB_SUPPORT is not set
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_SDIO_UART is not set
+
+#
+# MMC/SD Host Controller Drivers
+#
+CONFIG_MMC_SPI=y
+# CONFIG_MMC_S3C is not set
+# CONFIG_NEW_LEDS is not set
+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_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+# 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_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# 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_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_FS_WBUF_VERIFY=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_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+# CONFIG_NETWORK_FILESYSTEMS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+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 is not set
+# 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
+# CONFIG_DLM is not set
+
+#
+# Kernel hacking
+#
+CONFIG_PRINTK_TIME=y
+# CONFIG_ENABLE_WARN_DEPRECATED 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_FRAME_POINTER=y
+# CONFIG_SAMPLES is not set
+# CONFIG_DEBUG_USER is not set
+CONFIG_DEBUG_S3C_UART=1
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+# 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=y
+CONFIG_CRC32=y
+CONFIG_CRC7=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_DMA=y
diff --git a/packages/linux/linux-2.6.25/m8050/m8050.diff b/packages/linux/linux-2.6.25/m8050/m8050.diff
new file mode 100644
index 0000000000..65ca656f6a
--- /dev/null
+++ b/packages/linux/linux-2.6.25/m8050/m8050.diff
@@ -0,0 +1,479085 @@
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/arch/arm/configs/m8050_defconfig linux-2.6.25-m8050/arch/arm/configs/m8050_defconfig
+--- linux-git/arch/arm/configs/m8050_defconfig 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/arch/arm/configs/m8050_defconfig 2008-05-07 13:50:18.000000000 +0200
+@@ -0,0 +1,752 @@
++#
++# Automatically generated make config: don't edit
++# Linux kernel version: 2.6.25
++# Wed May 7 16:39:08 2008
++#
++CONFIG_ARM=y
++CONFIG_SYS_SUPPORTS_APM_EMULATION=y
++CONFIG_GENERIC_GPIO=y
++# CONFIG_GENERIC_TIME is not set
++# CONFIG_GENERIC_CLOCKEVENTS is not set
++CONFIG_MMU=y
++CONFIG_NO_IOPORT=y
++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_ARCH_SUPPORTS_AOUT=y
++CONFIG_ZONE_DMA=y
++CONFIG_VECTORS_BASE=0xffff0000
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
++
++#
++# General setup
++#
++CONFIG_EXPERIMENTAL=y
++CONFIG_BROKEN_ON_SMP=y
++CONFIG_INIT_ENV_ARG_LIMIT=32
++CONFIG_LOCALVERSION=""
++CONFIG_LOCALVERSION_AUTO=y
++CONFIG_SWAP=y
++CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
++# CONFIG_BSD_PROCESS_ACCT is not set
++# CONFIG_IKCONFIG is not set
++CONFIG_LOG_BUF_SHIFT=16
++# CONFIG_CGROUPS is not set
++CONFIG_GROUP_SCHED=y
++CONFIG_FAIR_GROUP_SCHED=y
++# CONFIG_RT_GROUP_SCHED is not set
++CONFIG_USER_SCHED=y
++# CONFIG_CGROUP_SCHED is not set
++CONFIG_SYSFS_DEPRECATED=y
++CONFIG_SYSFS_DEPRECATED_V2=y
++# CONFIG_RELAY is not set
++CONFIG_NAMESPACES=y
++# CONFIG_UTS_NS is not set
++# CONFIG_IPC_NS is not set
++# CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
++CONFIG_BLK_DEV_INITRD=y
++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_COMPAT_BRK=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_PROFILING is not set
++# CONFIG_MARKERS is not set
++CONFIG_HAVE_OPROFILE=y
++# CONFIG_KPROBES is not set
++CONFIG_HAVE_KPROBES=y
++CONFIG_HAVE_KRETPROBES=y
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
++# CONFIG_TINY_SHMEM is not set
++CONFIG_BASE_SMALL=0
++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 is not set
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_LSF is not set
++# CONFIG_BLK_DEV_BSG is not set
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++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"
++CONFIG_CLASSIC_RCU=y
++
++#
++# 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_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_MXC is not set
++# CONFIG_ARCH_ORION 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=y
++# CONFIG_ARCH_SHARK is not set
++# CONFIG_ARCH_LH7A40X is not set
++# CONFIG_ARCH_DAVINCI is not set
++# CONFIG_ARCH_OMAP is not set
++# CONFIG_ARCH_MSM7X00A is not set
++CONFIG_PLAT_S3C24XX=y
++CONFIG_CPU_S3C244X=y
++CONFIG_S3C2410_DMA=y
++# CONFIG_S3C2410_DMA_DEBUG is not set
++CONFIG_PLAT_S3C=y
++CONFIG_CPU_LLSERIAL_S3C2440_ONLY=y
++CONFIG_CPU_LLSERIAL_S3C2440=y
++
++#
++# Boot options
++#
++# CONFIG_S3C_BOOT_ERROR_RESET is not set
++
++#
++# Power management
++#
++# CONFIG_S3C2410_PM_DEBUG is not set
++# CONFIG_S3C2410_PM_CHECK is not set
++CONFIG_S3C_LOWLEVEL_UART_PORT=0
++
++#
++# S3C2400 Machines
++#
++CONFIG_S3C2410_PM=y
++CONFIG_S3C2410_GPIO=y
++CONFIG_S3C2410_CLOCK=y
++
++#
++# S3C2410 Machines
++#
++# CONFIG_ARCH_SMDK2410 is not set
++# CONFIG_ARCH_H1940 is not set
++# CONFIG_MACH_N30 is not set
++# CONFIG_ARCH_BAST is not set
++# CONFIG_MACH_OTOM is not set
++# CONFIG_MACH_AML_M5900 is not set
++# CONFIG_MACH_VR1000 is not set
++# CONFIG_MACH_QT2410 is not set
++
++#
++# S3C2412 Machines
++#
++# CONFIG_MACH_SMDK2413 is not set
++# CONFIG_MACH_SMDK2412 is not set
++# CONFIG_MACH_VSTMS is not set
++CONFIG_CPU_S3C2440=y
++CONFIG_S3C2440_DMA=y
++
++#
++# S3C2440 Machines
++#
++CONFIG_MACH_AML_M8050=y
++# CONFIG_MACH_ANUBIS is not set
++# CONFIG_MACH_OSIRIS is not set
++# CONFIG_MACH_RX3715 is not set
++# CONFIG_ARCH_S3C2440 is not set
++# CONFIG_MACH_NEXCODER_2440 is not set
++
++#
++# S3C2442 Machines
++#
++
++#
++# S3C2443 Machines
++#
++# CONFIG_MACH_SMDK2443 is not set
++
++#
++# 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 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_OUTER_CACHE is not set
++
++#
++# Bus support
++#
++# CONFIG_PCI_SYSCALL is not set
++# CONFIG_ARCH_SUPPORTS_MSI is not set
++# 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=200
++# 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_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_SPLIT_PTLOCK_CPUS=4096
++# CONFIG_RESOURCES_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=1
++CONFIG_BOUNCE=y
++CONFIG_VIRT_TO_BUS=y
++CONFIG_ALIGNMENT_TRAP=y
++
++#
++# Boot options
++#
++CONFIG_ZBOOT_ROM_TEXT=0x0
++CONFIG_ZBOOT_ROM_BSS=0x0
++CONFIG_CMDLINE="console=ttySAC0 root=/dev/ram0"
++# 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 is not set
++# CONFIG_FPE_FASTFPE is not set
++
++#
++# Userspace binary formats
++#
++CONFIG_BINFMT_ELF=y
++CONFIG_BINFMT_AOUT=y
++# CONFIG_BINFMT_MISC is not set
++# CONFIG_ARTHUR is not set
++
++#
++# Power management options
++#
++CONFIG_PM=y
++# CONFIG_PM_LEGACY is not set
++# CONFIG_PM_DEBUG is not set
++CONFIG_PM_SLEEP=y
++CONFIG_SUSPEND=y
++CONFIG_SUSPEND_FREEZER=y
++# CONFIG_APM_EMULATION is not set
++CONFIG_ARCH_SUSPEND_POSSIBLE=y
++
++#
++# Networking
++#
++# CONFIG_NET is not set
++
++#
++# Device Drivers
++#
++
++#
++# Generic Driver Options
++#
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++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
++# CONFIG_MTD is not set
++# CONFIG_PARPORT is not set
++CONFIG_BLK_DEV=y
++# CONFIG_BLK_DEV_COW_COMMON is not set
++CONFIG_BLK_DEV_LOOP=y
++# CONFIG_BLK_DEV_CRYPTOLOOP is not set
++CONFIG_BLK_DEV_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=16
++CONFIG_BLK_DEV_RAM_SIZE=4096
++# CONFIG_BLK_DEV_XIP is not set
++# CONFIG_CDROM_PKTCDVD is not set
++# CONFIG_MISC_DEVICES is not set
++CONFIG_HAVE_IDE=y
++# CONFIG_IDE is not set
++
++#
++# SCSI device support
++#
++# CONFIG_RAID_ATTRS is not set
++# CONFIG_SCSI is not set
++# CONFIG_SCSI_DMA is not set
++# CONFIG_SCSI_NETLINK is not set
++# CONFIG_ATA is not set
++# CONFIG_MD is not set
++
++#
++# Input device support
++#
++CONFIG_INPUT=y
++# CONFIG_INPUT_FF_MEMLESS is not set
++# CONFIG_INPUT_POLLDEV is not set
++
++#
++# Userland interfaces
++#
++CONFIG_INPUT_MOUSEDEV=y
++# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
++CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
++CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
++# CONFIG_INPUT_JOYDEV is not set
++# CONFIG_INPUT_EVDEV is not set
++# 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_TABLET 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=y
++# CONFIG_N_HDLC is not set
++# CONFIG_RISCOM8 is not set
++# CONFIG_SPECIALIX is not set
++# CONFIG_RIO is not set
++# CONFIG_STALDRV is not set
++
++#
++# Serial drivers
++#
++CONFIG_SERIAL_8250=y
++CONFIG_SERIAL_8250_CONSOLE=y
++CONFIG_SERIAL_8250_NR_UARTS=8
++CONFIG_SERIAL_8250_RUNTIME_UARTS=4
++CONFIG_SERIAL_8250_EXTENDED=y
++CONFIG_SERIAL_8250_MANY_PORTS=y
++CONFIG_SERIAL_8250_SHARE_IRQ=y
++# CONFIG_SERIAL_8250_DETECT_IRQ is not set
++# CONFIG_SERIAL_8250_RSA is not set
++
++#
++# Non-8250 serial port support
++#
++CONFIG_SERIAL_S3C2410=y
++CONFIG_SERIAL_S3C2410_CONSOLE=y
++CONFIG_SERIAL_CORE=y
++CONFIG_SERIAL_CORE_CONSOLE=y
++CONFIG_UNIX98_PTYS=y
++CONFIG_LEGACY_PTYS=y
++CONFIG_LEGACY_PTY_COUNT=256
++# CONFIG_IPMI_HANDLER is not set
++CONFIG_HW_RANDOM=y
++# CONFIG_NVRAM is not set
++# CONFIG_R3964 is not set
++# CONFIG_RAW_DRIVER is not set
++# CONFIG_TCG_TPM is not set
++# CONFIG_I2C is not set
++
++#
++# SPI support
++#
++# CONFIG_SPI is not set
++# CONFIG_SPI_MASTER is not set
++# CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++# CONFIG_HWMON is not set
++# CONFIG_WATCHDOG is not set
++
++#
++# Sonics Silicon Backplane
++#
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
++
++#
++# Multifunction device drivers
++#
++# CONFIG_MFD_SM501 is not set
++# CONFIG_MFD_ASIC3 is not set
++
++#
++# Multimedia devices
++#
++# CONFIG_VIDEO_DEV is not set
++# CONFIG_DAB is not set
++
++#
++# Graphics support
++#
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL 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_CFB_REV_PIXELS_IN_BYTE is not set
++# CONFIG_FB_SYS_FILLRECT is not set
++# CONFIG_FB_SYS_COPYAREA is not set
++# CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_SYS_FOPS is not set
++CONFIG_FB_DEFERRED_IO=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_S3C2410=y
++CONFIG_FB_S3C2410_DEBUG=y
++# CONFIG_FB_VIRTUAL is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++
++#
++# Display device support
++#
++CONFIG_DISPLAY_SUPPORT=y
++
++#
++# Display hardware drivers
++#
++
++#
++# Console display driver support
++#
++# CONFIG_VGA_CONSOLE is not set
++CONFIG_DUMMY_CONSOLE=y
++CONFIG_FRAMEBUFFER_CONSOLE=y
++CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
++CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
++CONFIG_FONTS=y
++CONFIG_FONT_8x8=y
++# 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 is not set
++# CONFIG_FONT_SUN8x16 is not set
++# CONFIG_FONT_SUN12x22 is not set
++# CONFIG_FONT_10x18 is not set
++# CONFIG_LOGO is not set
++
++#
++# Sound
++#
++# CONFIG_SOUND is not set
++# CONFIG_HID_SUPPORT is not set
++# CONFIG_USB_SUPPORT is not set
++# CONFIG_MMC is not set
++# CONFIG_NEW_LEDS is not set
++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
++
++#
++# SPI RTC drivers
++#
++
++#
++# Platform RTC drivers
++#
++# CONFIG_RTC_DRV_CMOS is not set
++# CONFIG_RTC_DRV_DS1511 is not set
++# CONFIG_RTC_DRV_DS1553 is not set
++# CONFIG_RTC_DRV_DS1742 is not set
++# CONFIG_RTC_DRV_STK17TA8 is not set
++# CONFIG_RTC_DRV_M48T86 is not set
++# CONFIG_RTC_DRV_M48T59 is not set
++# CONFIG_RTC_DRV_V3020 is not set
++
++#
++# on-CPU RTC drivers
++#
++CONFIG_RTC_DRV_S3C=y
++
++#
++# 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_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
++# CONFIG_QUOTA is not set
++# 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_MSDOS_FS is not set
++# CONFIG_VFAT_FS is not set
++# 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_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 is not set
++# CONFIG_VXFS_FS is not set
++# CONFIG_MINIX_FS is not set
++# CONFIG_HPFS_FS is not set
++# CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
++# CONFIG_SYSV_FS is not set
++# CONFIG_UFS_FS is not set
++
++#
++# Partition Types
++#
++# CONFIG_PARTITION_ADVANCED is not set
++CONFIG_MSDOS_PARTITION=y
++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 is not set
++# 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
++
++#
++# Kernel hacking
++#
++# CONFIG_PRINTK_TIME is not set
++CONFIG_ENABLE_WARN_DEPRECATED=y
++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_SCHED_DEBUG=y
++# CONFIG_SCHEDSTATS is not set
++# CONFIG_TIMER_STATS 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=y
++# CONFIG_DEBUG_LOCK_ALLOC is not set
++# CONFIG_PROVE_LOCKING is not set
++# CONFIG_LOCK_STAT 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_DEBUG_SG is not set
++CONFIG_FRAME_POINTER=y
++# CONFIG_BOOT_PRINTK_DELAY is not set
++# CONFIG_RCU_TORTURE_TEST is not set
++# CONFIG_BACKTRACE_SELF_TEST is not set
++# CONFIG_FAULT_INJECTION is not set
++# CONFIG_SAMPLES is not set
++CONFIG_DEBUG_USER=y
++# CONFIG_DEBUG_ERRORS is not set
++# CONFIG_DEBUG_STACK_USAGE is not set
++CONFIG_DEBUG_LL=y
++# CONFIG_DEBUG_ICEDCC is not set
++CONFIG_DEBUG_S3C_PORT=y
++CONFIG_DEBUG_S3C_UART=0
++
++#
++# Security options
++#
++# CONFIG_KEYS is not set
++# CONFIG_SECURITY is not set
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++# 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_CRC7 is not set
++# CONFIG_LIBCRC32C is not set
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_DMA=y
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/arch/arm/mach-s3c2440/dma.c linux-2.6.25-m8050/arch/arm/mach-s3c2440/dma.c
+--- linux-git/arch/arm/mach-s3c2440/dma.c 2008-11-10 12:20:12.000000000 +0100
++++ linux-2.6.25-m8050/arch/arm/mach-s3c2440/dma.c 2008-10-22 13:04:42.000000000 +0200
+@@ -47,8 +47,8 @@
+ .channels[1] = S3C2440_DCON_CH1_SDI | DMA_CH_VALID,
+ .channels[2] = S3C2410_DCON_CH2_SDI | DMA_CH_VALID,
+ .channels[3] = S3C2410_DCON_CH3_SDI | DMA_CH_VALID,
+- .hw_addr.to = S3C2410_PA_IIS + S3C2410_IISFIFO,
+- .hw_addr.from = S3C2410_PA_IIS + S3C2410_IISFIFO,
++ .hw_addr.to = S3C2410_PA_SDI + S3C2410_SDIDATA,
++ .hw_addr.from = S3C2410_PA_SDI + S3C2410_SDIDATA,
+ },
+ [DMACH_SPI0] = {
+ .name = "spi0",
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/arch/arm/mach-s3c2440/Kconfig linux-2.6.25-m8050/arch/arm/mach-s3c2440/Kconfig
+--- linux-git/arch/arm/mach-s3c2440/Kconfig 2008-11-10 12:20:12.000000000 +0100
++++ linux-2.6.25-m8050/arch/arm/mach-s3c2440/Kconfig 2008-05-07 13:50:18.000000000 +0200
+@@ -25,6 +25,12 @@
+
+ menu "S3C2440 Machines"
+
++config MACH_AML_M8050
++ bool "American Microsystems M8050"
++ select CPU_S3C2440
++ help
++ Say Y here if you are using the American Microsystems M8050
++
+ config MACH_ANUBIS
+ bool "Simtec Electronics ANUBIS"
+ select CPU_S3C2440
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/arch/arm/mach-s3c2440/mach-aml_m8050.c linux-2.6.25-m8050/arch/arm/mach-s3c2440/mach-aml_m8050.c
+--- linux-git/arch/arm/mach-s3c2440/mach-aml_m8050.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/arch/arm/mach-s3c2440/mach-aml_m8050.c 2008-10-22 13:05:02.000000000 +0200
+@@ -0,0 +1,541 @@
++/* linux/arch/arm/mach-s3c2440/mach-smdk2440.c
++ *
++ * Copyright (c) 2004,2005 Simtec Electronics
++ * Ben Dooks <ben@simtec.co.uk>
++ *
++ * http://www.fluff.org/ben/smdk2440/
++ *
++ * Thanks to Dimity Andric and TomTom for the loan of an SMDK2440.
++ *
++ * 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/types.h>
++#include <linux/interrupt.h>
++#include <linux/list.h>
++#include <linux/timer.h>
++#include <linux/init.h>
++#include <linux/serial_core.h>
++#include <linux/platform_device.h>
++#include <linux/input.h>
++#include <linux/gpio_mouse.h>
++#include <linux/gpio_keys.h>
++
++#include <asm/mach/arch.h>
++#include <asm/mach/map.h>
++#include <asm/mach/irq.h>
++
++#include <asm/hardware.h>
++#include <asm/io.h>
++#include <asm/irq.h>
++#include <asm/mach-types.h>
++
++#include <asm/plat-s3c/regs-serial.h>
++#include <asm/plat-s3c/regs-timer.h>
++#include <asm/arch/regs-gpio.h>
++#include <asm/arch/regs-gpioj.h>
++#include <asm/arch/regs-lcd.h>
++#include <asm/plat-s3c/nand.h>
++#include <asm/arch/spi.h>
++
++#include <linux/spi/spi.h>
++#include <linux/mtd/mtd.h>
++#include <linux/mtd/nand.h>
++#include <linux/mtd/nand_ecc.h>
++#include <linux/mtd/partitions.h>
++
++#include <asm/arch/idle.h>
++#include <asm/arch/fb.h>
++#include <asm/arch/ts.h>
++#include <asm/arch/keypad.h>
++#include <asm/arch/leds-gpio.h>
++
++#include <asm/plat-s3c24xx/s3c2410.h>
++#include <asm/plat-s3c24xx/s3c2440.h>
++#include <asm/plat-s3c24xx/clock.h>
++#include <asm/plat-s3c24xx/devs.h>
++#include <asm/plat-s3c24xx/cpu.h>
++#include <asm/plat-s3c24xx/mci.h>
++#include <asm/plat-s3c24xx/pm.h>
++
++static struct map_desc aml_m8050_iodesc[] __initdata = {
++ {
++ .virtual = (u32)S3C24XX_VA_ISA_WORD,
++ .pfn = __phys_to_pfn(S3C2410_CS3),
++ .length = SZ_1M,
++ .type = MT_DEVICE,
++ }, {
++ .virtual = (u32)S3C24XX_VA_ISA_BYTE,
++ .pfn = __phys_to_pfn(S3C2410_CS3),
++ .length = SZ_1M,
++ .type = MT_DEVICE,
++ },
++ {
++ .virtual = (u32)S3C24XX_VA_SPI,
++ .pfn = __phys_to_pfn(S3C2410_PA_SPI),
++ .length = SZ_1M,
++ .type = MT_DEVICE
++ },
++};
++
++
++#define UCON S3C2410_UCON_DEFAULT
++#define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB
++#define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE
++
++static struct s3c2410_uartcfg aml_m8050_uartcfgs[] __initdata = {
++ [0] = {
++ .hwport = 0,
++ .flags = 0,
++ .ucon = 0x3c5,
++ .ulcon = 0x03,
++ .ufcon = 0x51,
++ .ri_pin = S3C2410_GPF6,
++ },
++ [1] = {
++ .hwport = 1,
++ .flags = 0,
++ .ucon = 0x3c5,
++ .ulcon = 0x03,
++ .ufcon = 0x51,
++ },
++ /* IR port */
++ [2] = {
++ .hwport = 2,
++ .flags = 0,
++ .ucon = 0x3c5,
++ .ulcon = 0x43,
++ .ufcon = 0x51,
++ }
++};
++
++static struct s3c24xx_led_platdata m8050_pdata_green_led = {
++ .gpio = S3C2410_GPG4,
++ .flags = 0,
++ .name = "green-led",
++ .def_trigger = "ev-led",
++};
++
++static struct platform_device m8050_green_led = {
++ .name = "s3c24xx_led",
++ .id = 0,
++ .dev = {
++ .platform_data = &m8050_pdata_green_led,
++ },
++};
++
++static struct gpio_mouse_platform_data gpio_mouse0_data = {
++ .polarity = GPIO_MOUSE_POLARITY_ACT_HIGH,
++ {
++ {
++ .up = S3C2410_GPG8,
++ .down = S3C2410_GPG9,
++ .left = S3C2410_GPG12,
++ .right = S3C2410_GPG11,
++ .bleft = S3C2410_GPG10,
++
++ },
++ },
++ .scan_ms = 5,
++};
++
++static struct platform_device gpio_mouse0_device = {
++ .name = "gpio_mouse",
++ .id = 0,
++ .dev = {
++ .platform_data = &gpio_mouse0_data,
++ },
++};
++
++
++static const int m8050_keymap[] = {
++ /* KEY(col, row, code) */
++ KEY(0, 0, KEY_5),
++ KEY(0, 1, KEY_0),
++ KEY(1, 0, KEY_4),
++ KEY(1, 1, KEY_9),
++ KEY(1, 2, KEY_BACKSPACE),
++ KEY(1, 3, KEY_LEFTALT),
++ KEY(2, 0, KEY_3),
++ KEY(2, 1, KEY_8),
++ KEY(2, 2, KEY_KPMINUS),
++ KEY(2, 3, KEY_ENTER),
++ KEY(3, 0, KEY_2),
++ KEY(3, 1, KEY_7),
++ KEY(3, 2, KEY_KPPLUS),
++ KEY(3, 3, KEY_ESC),
++ KEY(4, 0, KEY_1),
++ KEY(4, 1, KEY_6),
++ KEY(4, 2, KEY_SUSPEND),
++ KEY(4, 3, KEY_DOT),
++ 0
++};
++
++static const int m8050_keymap_a[] = {
++ /* KEY(col, row, code) */
++ KEY(0, 0, KEY_J),
++ KEY(0, 1, KEY_SPACE),
++ KEY(1, 0, KEY_G),
++ KEY(1, 1, KEY_W),
++ KEY(1, 2, KEY_UNKNOWN),
++ KEY(1, 3, KEY_UNKNOWN),
++ KEY(2, 0, KEY_D),
++ KEY(2, 1, KEY_T),
++ KEY(2, 2, KEY_UNKNOWN),
++ KEY(2, 3, KEY_UNKNOWN),
++ KEY(3, 0, KEY_A),
++ KEY(3, 1, KEY_P),
++ KEY(3, 2, KEY_UNKNOWN),
++ KEY(3, 3, KEY_UNKNOWN),
++ KEY(4, 0, KEY_RO),
++ KEY(4, 1, KEY_M),
++ KEY(4, 2, KEY_UNKNOWN),
++ KEY(4, 3, KEY_UNKNOWN),
++ 0
++};
++
++static const int m8050_keymap_b[] = {
++ /* KEY(col, row, code) */
++ KEY(0, 0, KEY_K),
++ KEY(0, 1, KEY_HIRAGANA),
++ KEY(1, 0, KEY_H),
++ KEY(1, 1, KEY_X),
++ KEY(1, 2, KEY_UNKNOWN),
++ KEY(1, 3, KEY_UNKNOWN),
++ KEY(2, 0, KEY_E),
++ KEY(2, 1, KEY_U),
++ KEY(2, 2, KEY_UNKNOWN),
++ KEY(2, 3, KEY_UNKNOWN),
++ KEY(3, 0, KEY_B),
++ KEY(3, 1, KEY_Q),
++ KEY(3, 2, KEY_UNKNOWN),
++ KEY(3, 3, KEY_UNKNOWN),
++ KEY(4, 0, KEY_KATAKANA),
++ KEY(4, 1, KEY_N),
++ KEY(4, 2, KEY_UNKNOWN),
++ KEY(4, 3, KEY_UNKNOWN),
++ 0
++};
++
++static const int m8050_keymap_c[] = {
++ /* KEY(col, row, code) */
++ KEY(0, 0, KEY_L),
++ KEY(0, 1, KEY_KATAKANAHIRAGANA),
++ KEY(1, 0, KEY_I),
++ KEY(1, 1, KEY_Y),
++ KEY(1, 2, KEY_UNKNOWN),
++ KEY(1, 3, KEY_UNKNOWN),
++ KEY(2, 0, KEY_F),
++ KEY(2, 1, KEY_V),
++ KEY(2, 2, KEY_UNKNOWN),
++ KEY(2, 3, KEY_UNKNOWN),
++ KEY(3, 0, KEY_C),
++ KEY(3, 1, KEY_R),
++ KEY(3, 2, KEY_UNKNOWN),
++ KEY(3, 3, KEY_UNKNOWN),
++ KEY(4, 0, KEY_EQUAL),
++ KEY(4, 1, KEY_O),
++ KEY(4, 2, KEY_UNKNOWN),
++ KEY(4, 3, KEY_UNKNOWN),
++ 0
++};
++
++static const int m8050_keymap_d[] = {
++ /* KEY(col, row, code) */
++ KEY(0, 0, KEY_UNKNOWN),
++ KEY(0, 1, KEY_HENKAN),
++ KEY(1, 0, KEY_UNKNOWN),
++ KEY(1, 1, KEY_Z),
++ KEY(1, 2, KEY_UNKNOWN),
++ KEY(1, 3, KEY_UNKNOWN),
++ KEY(2, 0, KEY_UNKNOWN),
++ KEY(2, 1, KEY_UNKNOWN),
++ KEY(2, 2, KEY_UNKNOWN),
++ KEY(2, 3, KEY_UNKNOWN),
++ KEY(3, 0, KEY_UNKNOWN),
++ KEY(3, 1, KEY_S),
++ KEY(3, 2, KEY_UNKNOWN),
++ KEY(3, 3, KEY_UNKNOWN),
++ KEY(4, 0, KEY_UNKNOWN),
++ KEY(4, 1, KEY_UNKNOWN),
++ KEY(4, 2, KEY_UNKNOWN),
++ KEY(4, 3, KEY_UNKNOWN),
++ 0
++};
++
++
++static struct m8050_kp_platform_data m8050_kp_data = {
++ .rows = 4,
++ .cols = 5,
++ .keymap = (int *) m8050_keymap,
++ .keymap_a = (int *) m8050_keymap_a,
++ .keymap_b = (int *) m8050_keymap_b,
++ .keymap_c = (int *) m8050_keymap_c,
++ .keymap_d = (int *) m8050_keymap_d,
++ .keymapsize = ARRAY_SIZE(m8050_keymap),
++ .delay = 20,
++};
++
++static struct platform_device m8050_kp_device = {
++ .name = "m8050-keypad",
++ .id = -1,
++ .dev = {
++ .platform_data = &m8050_kp_data,
++ },
++};
++
++static struct s3c2410_ts_mach_info aml_m8050_ts_cfg __initdata = {
++ .delay = 10000,
++ .presc = 49,
++ .oversampling_shift = 2,
++};
++
++static struct mtd_partition aml_m8050_nand_part[] = {
++ [0] = {
++ .name = "system",
++ .size = SZ_4M,
++ .offset = 0,
++ },
++ [1] = {
++ .name = "jffs2",
++ .offset = SZ_4M,
++ .size = MTDPART_SIZ_FULL,
++ }
++};
++
++static struct s3c2410_nand_set aml_m8050_nand_sets[] = {
++ [0] = {
++ .name = "Internal",
++ .nr_chips = 1,
++ .nr_partitions = ARRAY_SIZE(aml_m8050_nand_part),
++ .partitions = aml_m8050_nand_part,
++ },
++};
++
++static struct s3c2410_platform_nand aml_m8050_nand_info = {
++ .tacls = 25,
++ .twrph0 = 50,
++ .twrph1 = 15,
++ .nr_sets = ARRAY_SIZE(aml_m8050_nand_sets),
++ .sets = aml_m8050_nand_sets,
++};
++
++void spi1_cs(struct s3c2410_spi_info *spi, int cs, int pol)
++{
++
++ s3c2410_gpio_setpin(S3C2440_GPJ6, pol);
++
++}
++
++static struct s3c2410_spi_info spi1_info __initdata = {
++ .pin_cs = S3C2440_GPJ6,
++ .num_cs = 1,
++ .set_cs = &spi1_cs,
++};
++
++static struct spi_board_info hammer_spi_board_info[] __initdata = {
++ {
++ .modalias = "mmc_spi",
++ .bus_num = 1,
++ .chip_select = 0, // beware, bogus value. only keeps driver register happy.
++ .mode = SPI_MODE_0,
++ .max_speed_hz = 12000000,
++ }
++};
++static struct s3c24xx_mci_pdata aml_m8050_sdi_pdata = {
++ .detect_invert = 0,
++ .gpio_detect = S3C2410_GPG15,
++};
++
++static struct gpio_keys_button gpio_keys_buttons[] = {
++ [0] = {
++ .code = LED_MISC,
++ .gpio = S3C2410_GPF4,
++ .active_low = 1,
++ .desc = "Trigger",
++ .type = EV_LED,
++ },
++};
++
++static struct gpio_keys_platform_data gpio_keys_data = {
++ .buttons = gpio_keys_buttons,
++ .nbuttons = ARRAY_SIZE(gpio_keys_buttons),
++};
++
++static struct platform_device m8050_buttons = {
++ .name = "gpio-keys",
++ .id = 0,
++ .dev = {
++ .platform_data = &gpio_keys_data,
++ },
++};
++
++
++static struct platform_device *aml_m8050_devices[] __initdata = {
++ &s3c_device_usb,
++ &s3c_device_lcd,
++// &s3c_device_sdi,
++ &s3c_device_rtc,
++ &m8050_kp_device,
++ &m8050_buttons,
++ &gpio_mouse0_device,
++ &s3c_device_ts,
++ &s3c_device_nand,
++ &s3c_device_spi1,
++ &m8050_green_led,
++// &s3c_device_wdt,
++ &s3c_device_i2c,
++// &s3c_device_iis,
++};
++static struct s3c2410fb_display aml_m8050_lcdcfg = {
++
++ .lcdcon5 = S3C2410_LCDCON5_INVVCLK |
++ S3C2410_LCDCON5_INVVLINE |
++ S3C2410_LCDCON5_INVVDEN |
++ S3C2410_LCDCON5_INVVD |
++ S3C2410_LCDCON5_FRM565 |
++ S3C2410_LCDCON5_INVVFRAME,
++
++ .type = S3C2410_LCDCON1_TFT,
++ .width = 320,
++ .height = 240,
++
++ .pixclock = 260000,
++ .xres = 320,
++ .yres = 240,
++ .bpp = 16,
++ .left_margin = 38,
++ .right_margin = 50,
++ .hsync_len = 1,
++ .upper_margin = 15,
++ .lower_margin = 4,
++ .vsync_len = 1,
++};
++
++static struct s3c2410fb_mach_info aml_m8050_fb_info = {
++
++ .displays = &aml_m8050_lcdcfg,
++ .num_displays = 1,
++ .default_display = 0,
++
++ .lpcsel = 0x0,
++
++ .gpccon = 0xaaaa56a9,
++ .gpccon_mask = 0xffc003cc,
++ .gpcup = 0x0000ffff,
++ .gpcup_mask = 0xffffffff,
++
++ .gpdcon = 0xaa95aaa1,
++ .gpdcon_mask = 0xffc0fff0,
++ .gpdup = 0x0000faff,
++ .gpdup_mask = 0xffffffff,
++};
++
++
++static void __init aml_m8050_map_io(void)
++{
++ s3c_device_nand.dev.platform_data = &aml_m8050_nand_info;
++ s3c24xx_init_io(aml_m8050_iodesc, ARRAY_SIZE(aml_m8050_iodesc));
++ s3c24xx_init_clocks(0);
++ s3c24xx_init_uarts(aml_m8050_uartcfgs, ARRAY_SIZE(aml_m8050_uartcfgs));
++}
++
++static void __init aml_m8050_init_irq(void)
++{
++ s3c24xx_init_irq();
++ /* configure wakeup source */
++ s3c2410_gpio_cfgpin(S3C2410_GPG2, S3C2410_GPG2_EINT10);
++ enable_irq_wake(IRQ_EINT10);
++
++// s3c2410_gpio_cfgpin(S3C2410_GPF4, S3C2410_GPF4_EINT4);
++// enable_irq_wake(IRQ_EINT4);
++}
++
++static void __init aml_m8050_machine_init(void)
++{
++
++ int ret = 0;
++
++ s3c2410_pm_init();
++
++ s3c24xx_fb_set_platdata(&aml_m8050_fb_info);
++
++ set_s3c2410ts_info(&aml_m8050_ts_cfg);
++
++ platform_add_devices(aml_m8050_devices, ARRAY_SIZE(aml_m8050_devices));
++
++ s3c2410_gpio_cfgpin(S3C2410_GPB10, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2410_GPB10, 0);
++
++ s3c2410_gpio_cfgpin(S3C2410_GPB9, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2410_GPB9, 0);
++
++
++ /*backlight*/
++ s3c2410_gpio_cfgpin(S3C2410_GPC0, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2410_GPC0, 1);
++ s3c2410_gpio_setpin(S3C2410_GPB3, 0);
++ s3c2410_gpio_cfgpin(S3C2410_GPB3, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2410_GPB3, 0);
++ s3c2410_gpio_cfgpin(S3C2410_GPB0, S3C2410_GPB0_TOUT0);
++
++ __raw_writel(0x00000002,S3C2410_TCMPB(0));
++ __raw_writel(0x000002ff,S3C2410_TCFG0);
++ __raw_writel(0x00000000,S3C2410_TCFG1);
++ __raw_writel(0x00000003,S3C2410_TCNTB(0));
++ __raw_writel(0x00080001,S3C2410_TCMPB(0));
++ __raw_writel(0x0050000a,S3C2410_TCON);
++ __raw_writel(0x00500009,S3C2410_TCON);
++
++
++// s3c2410_gpio_setpin(S3C2410_GPB3, 1);
++
++ /* chipselect for sd/mmc */
++ s3c2410_gpio_cfgpin(S3C2440_GPJ6, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ6, 1);
++ /* set special function to enable SPI operation on SPI1 */
++ s3c2410_gpio_cfgpin(S3C2410_GPG5, S3C2410_GPG5_SPIMISO1);
++ s3c2410_gpio_cfgpin(S3C2410_GPG6, S3C2410_GPG6_SPIMOSI1);
++ s3c2410_gpio_cfgpin(S3C2410_GPG7, S3C2410_GPG7_SPICLK1);
++
++
++ s3c2410_gpio_cfgpin(S3C2440_GPJ3, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ3, 0);
++ s3c2410_gpio_cfgpin(S3C2440_GPJ2, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ2, 1);
++ s3c2410_gpio_cfgpin(S3C2440_GPJ1, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ1, 1);
++ s3c2410_gpio_cfgpin(S3C2440_GPJ0, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ0, 0);
++
++ /*go ahead and turn off the NAND write protect*/
++ s3c2410_gpio_setpin(S3C2410_GPH8, 1);
++
++ s3c_device_spi1.dev.platform_data = &spi1_info;
++ s3c_device_sdi.dev.platform_data = &aml_m8050_sdi_pdata;
++ spi_register_board_info(hammer_spi_board_info, ARRAY_SIZE(hammer_spi_board_info));
++
++ /* make sure the green tackball led is on */
++ s3c2410_gpio_setpin(S3C2410_GPG4, 1);
++
++ s3c2410_gpio_cfgpin(S3C2410_GPB4, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2410_GPB4, 1);
++
++ s3c2410_gpio_cfgpin(S3C2410_GPF3, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2410_GPF3, 1);
++
++}
++
++MACHINE_START(AML_M8050, "AML M8050")
++ .phys_io = S3C2410_PA_UART,
++ .io_pg_offst = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc,
++ .boot_params = S3C2410_SDRAM_PA + 0x100,
++ .init_irq = aml_m8050_init_irq,
++ .map_io = aml_m8050_map_io,
++ .init_machine = aml_m8050_machine_init,
++ .timer = &s3c24xx_timer,
++MACHINE_END
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/arch/arm/mach-s3c2440/Makefile linux-2.6.25-m8050/arch/arm/mach-s3c2440/Makefile
+--- linux-git/arch/arm/mach-s3c2440/Makefile 2008-11-10 12:20:12.000000000 +0100
++++ linux-2.6.25-m8050/arch/arm/mach-s3c2440/Makefile 2008-05-07 13:50:18.000000000 +0200
+@@ -16,6 +16,7 @@
+
+ # Machine support
+
++obj-$(CONFIG_MACH_AML_M8050) += mach-aml_m8050.o
+ obj-$(CONFIG_MACH_ANUBIS) += mach-anubis.o
+ obj-$(CONFIG_MACH_OSIRIS) += mach-osiris.o
+ obj-$(CONFIG_MACH_RX3715) += mach-rx3715.o
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/arch/arm/plat-s3c24xx/devs.c linux-2.6.25-m8050/arch/arm/plat-s3c24xx/devs.c
+--- linux-git/arch/arm/plat-s3c24xx/devs.c 2008-11-10 12:20:12.000000000 +0100
++++ linux-2.6.25-m8050/arch/arm/plat-s3c24xx/devs.c 2008-05-29 12:12:00.000000000 +0200
+@@ -24,6 +24,7 @@
+ #include <asm/mach/map.h>
+ #include <asm/mach/irq.h>
+ #include <asm/arch/fb.h>
++#include <asm/arch/ts.h>
+ #include <asm/hardware.h>
+ #include <asm/io.h>
+ #include <asm/irq.h>
+@@ -207,6 +208,22 @@
+
+ EXPORT_SYMBOL(s3c_device_nand);
+
++/* Touchscreen */
++struct platform_device s3c_device_ts = {
++ .name = "s3c2410-ts",
++ .id = -1,
++};
++
++EXPORT_SYMBOL(s3c_device_ts);
++
++static struct s3c2410_ts_mach_info s3c2410ts_info;
++
++void __init set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info)
++{
++ memcpy(&s3c2410ts_info,hard_s3c2410ts_info,sizeof(struct s3c2410_ts_mach_info));
++ s3c_device_ts.dev.platform_data = &s3c2410ts_info;
++}
++
+ /* USB Device (Gadget)*/
+
+ static struct resource s3c_usbgadget_resource[] = {
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/arch/arm/plat-s3c24xx/dma.c linux-2.6.25-m8050/arch/arm/plat-s3c24xx/dma.c
+--- linux-git/arch/arm/plat-s3c24xx/dma.c 2008-11-10 12:20:12.000000000 +0100
++++ linux-2.6.25-m8050/arch/arm/plat-s3c24xx/dma.c 2008-10-28 16:52:32.000000000 +0100
+@@ -101,7 +101,7 @@
+ dmadbg_dumpregs(const char *fname, int line, struct s3c2410_dma_chan *chan,
+ struct s3c2410_dma_regstate *regs)
+ {
+- printk(KERN_DEBUG "dma%d: %s:%d: DCSRC=%08lx, DISRC=%08lx, DSTAT=%08lx DMT=%02lx, DCON=%08lx\n",
++ printk("dma%d: %s:%d: DCSRC=%08lx, DISRC=%08lx, DSTAT=%08lx DMT=%02lx, DCON=%08lx\n",
+ chan->number, fname, line,
+ regs->dcsrc, regs->disrc, regs->dstat, regs->dmsktrig,
+ regs->dcon);
+@@ -114,7 +114,7 @@
+
+ dmadbg_capture(chan, &state);
+
+- printk(KERN_DEBUG "dma%d: %s:%d: ls=%d, cur=%p, %p %p\n",
++ printk("dma%d: %s:%d: ls=%d, cur=%p, %p %p\n",
+ chan->number, fname, line, chan->load_state,
+ chan->curr, chan->next, chan->end);
+
+@@ -227,7 +227,7 @@
+ s3c2410_dma_loadbuffer(struct s3c2410_dma_chan *chan,
+ struct s3c2410_dma_buf *buf)
+ {
+- unsigned long reload;
++ unsigned long reload,tmp;
+
+ pr_debug("s3c2410_chan_loadbuffer: loading buff %p (0x%08lx,0x%06x)\n",
+ buf, (unsigned long)buf->data, buf->size);
+@@ -258,6 +258,7 @@
+ } else {
+ //pr_debug("load_state is %d => autoreload\n", chan->load_state);
+ reload = S3C2410_DCON_AUTORELOAD;
++// reload = S3C2410_DCON_NORELOAD;
+ }
+
+ if ((buf->data & 0xf0000000) != 0x30000000) {
+@@ -266,9 +267,12 @@
+
+ writel(buf->data, chan->addr_reg);
+
++
++
+ dma_wrreg(chan, S3C2410_DMA_DCON,
+ chan->dcon | reload | (buf->size/chan->xfer_unit));
+
++
+ chan->next = buf->next;
+
+ /* update the state of the channel */
+@@ -389,6 +393,14 @@
+ dma_wrreg(chan, S3C2410_DMA_DCON, tmp);
+ #endif
+
++#if 1
++ /* the dma buffer loads should take care of clearing the AUTO
++ * reloading feature */
++ tmp = dma_rdreg(chan, S3C2410_DMA_DCON);
++ tmp |= S3C2410_DCON_NORELOAD;
++ dma_wrreg(chan, S3C2410_DMA_DCON, tmp);
++#endif
++
+ s3c2410_dma_call_op(chan, S3C2410_DMAOP_START);
+
+ dbg_showchan(chan);
+@@ -400,16 +412,20 @@
+
+ if (chan->next != NULL) {
+ if (chan->load_state == S3C2410_DMALOAD_1LOADED) {
+-
++// printk("dma start S3C2410_DMALOAD_1LOADED\n");
+ if (s3c2410_dma_waitforload(chan, __LINE__) == 0) {
++// printk("dma start buff not loaded yet\n");
+ pr_debug("%s: buff not yet loaded, no more todo\n",
+ __func__);
++
+ } else {
++// printk("dma start setting S3C2410_DMALOAD_1RUNNING\n");
+ chan->load_state = S3C2410_DMALOAD_1RUNNING;
+ s3c2410_dma_loadbuffer(chan, chan->next);
+ }
+
+ } else if (chan->load_state == S3C2410_DMALOAD_1RUNNING) {
++// printk("dma start S3C2410_DMALOAD_1RUNNING\n");
+ s3c2410_dma_loadbuffer(chan, chan->next);
+ }
+ }
+@@ -559,7 +575,7 @@
+ static inline void
+ s3c2410_dma_lastxfer(struct s3c2410_dma_chan *chan)
+ {
+-#if 0
++#if 1
+ pr_debug("dma%d: s3c2410_dma_lastxfer: load_state %d\n",
+ chan->number, chan->load_state);
+ #endif
+@@ -581,8 +597,11 @@
+ /* I belive in this case we do not have anything to do
+ * until the next buffer comes along, and we turn off the
+ * reload */
++ /* with autoreload running we will always have one more loaded
++ * than should be */
++// chan->load_state=S3C2410_DMALOAD_1LOADED;
+ return;
+-
++
+ default:
+ pr_debug("dma%d: lastxfer: unhandled load_state %d with no next\n",
+ chan->number, chan->load_state);
+@@ -602,15 +621,18 @@
+ {
+ struct s3c2410_dma_chan *chan = (struct s3c2410_dma_chan *)devpw;
+ struct s3c2410_dma_buf *buf;
+-
++ unsigned long tmp;
++
+ buf = chan->curr;
+-
++ printk("dma irq called!!\n");
+ dbg_showchan(chan);
+
++
+ /* modify the channel state */
+
+ switch (chan->load_state) {
+ case S3C2410_DMALOAD_1RUNNING:
++// printk("S3C2410_DMALOAD_1RUNNING\n");
+ /* TODO - if we are running only one buffer, we probably
+ * want to reload here, and then worry about the buffer
+ * callback */
+@@ -619,15 +641,18 @@
+ break;
+
+ case S3C2410_DMALOAD_1LOADED:
++// printk("S3C2410_DMALOAD_1LOADED\n");
+ /* iirc, we should go back to NONE loaded here, we
+ * had a buffer, and it was never verified as being
+ * loaded.
+ */
+-
++// printk("load_state-x: 0x%x\n",chan->load_state);
+ chan->load_state = S3C2410_DMALOAD_NONE;
++// printk("load_state-y: 0x%x\n",chan->load_state);
+ break;
+
+ case S3C2410_DMALOAD_1LOADED_1RUNNING:
++// printk("S3C2410_DMALOAD_1LOADED_1RUNNING\n");
+ /* we'll worry about checking to see if another buffer is
+ * ready after we've called back the owner. This should
+ * ensure we do not wait around too long for the DMA
+@@ -652,12 +677,18 @@
+ /* update the chain to make sure that if we load any more
+ * buffers when we call the callback function, things should
+ * work properly */
++ printk("buf is not null\n");
++ if ( buf->next == NULL )
++ printk("buf->next is NULL\n");
++ else
++ printk("buf->next is not NULL\n");
++// printk("load_state-a: 0x%x\n",chan->load_state);
+
+ chan->curr = buf->next;
+ buf->next = NULL;
+
+ if (buf->magic != BUF_MAGIC) {
+- printk(KERN_ERR "dma%d: %s: buf %p incorrect magic\n",
++ printk("dma%d: %s: buf %p incorrect magic\n",
+ chan->number, __func__, buf);
+ return IRQ_HANDLED;
+ }
+@@ -666,7 +697,9 @@
+
+ /* free resouces */
+ s3c2410_dma_freebuf(buf);
++// printk("load_state-b: 0x%x\n",chan->load_state);
+ } else {
++ printk("buf is null\n");
+ }
+
+ /* only reload if the channel is still running... our buffer done
+@@ -678,17 +711,21 @@
+
+ if (chan->next != NULL && chan->state != S3C2410_DMA_IDLE) {
+ unsigned long flags;
++// printk("load_state-c: 0x%x\n",chan->load_state);
+
+ switch (chan->load_state) {
+ case S3C2410_DMALOAD_1RUNNING:
++// printk("Reload S3C2410_DMALOAD_1RUNNING\n");
+ /* don't need to do anything for this state */
+ break;
+
+ case S3C2410_DMALOAD_NONE:
++// printk("Reload S3C2410_DMALOAD_NONE\n");
+ /* can load buffer immediately */
+ break;
+
+ case S3C2410_DMALOAD_1LOADED:
++// printk("Reload S3C2410_DMALOAD_1LOADED\n");
+ if (s3c2410_dma_waitforload(chan, __LINE__) == 0) {
+ /* flag error? */
+ printk(KERN_ERR "dma%d: timeout waiting for load (%s)\n",
+@@ -699,6 +736,7 @@
+ break;
+
+ case S3C2410_DMALOAD_1LOADED_1RUNNING:
++// printk("Reload S3C2410_DMALOAD_1LOADED_1RUNNING\n");
+ goto no_load;
+
+ default:
+@@ -711,10 +749,27 @@
+ s3c2410_dma_loadbuffer(chan, chan->next);
+ local_irq_restore(flags);
+ } else {
++ if ( chan->next == NULL )
++ printk("reload chan->next is null\n");
++ else
++ printk("reload chan->next is not null\n");
++
++ if ( buf->next == NULL )
++ printk("reload buf->next is null\n");
++ else
++ printk("reload buf->next is not null\n");
++
++ if ( chan->state == S3C2410_DMA_IDLE )
++ printk("reload chan->state is idle\n");
++ else
++ printk("reload chan->state is not idle\n");
++
++ printk("Reload lastxfer\n");
+ s3c2410_dma_lastxfer(chan);
+
+ /* see if we can stop this channel.. */
+ if (chan->load_state == S3C2410_DMALOAD_NONE) {
++
+ pr_debug("dma%d: end of transfer, stopping channel (%ld)\n",
+ chan->number, jiffies);
+ s3c2410_dma_ctrl(chan->number | DMACH_LOW_LEVEL,
+@@ -723,6 +778,7 @@
+ }
+
+ no_load:
++ printk("leaving dma_irq!\n");
+ return IRQ_HANDLED;
+ }
+
+@@ -852,6 +908,7 @@
+ unsigned long flags;
+ unsigned long tmp;
+
++// printk("do stop called!!\n");
+ pr_debug("%s:\n", __func__);
+
+ dbg_showchan(chan);
+@@ -865,10 +922,12 @@
+ //tmp &= ~S3C2410_DMASKTRIG_ON;
+ dma_wrreg(chan, S3C2410_DMA_DMASKTRIG, tmp);
+
+-#if 0
++#if 1
+ /* should also clear interrupts, according to WinCE BSP */
+ tmp = dma_rdreg(chan, S3C2410_DMA_DCON);
+ tmp |= S3C2410_DCON_NORELOAD;
++ tmp &= ~S3C2410_DCON_INTREQ;
++ tmp &= ~S3C2410_DCON_HWTRIG;
+ dma_wrreg(chan, S3C2410_DMA_DCON, tmp);
+ #endif
+
+@@ -876,6 +935,8 @@
+ chan->state = S3C2410_DMA_IDLE;
+ chan->load_state = S3C2410_DMALOAD_NONE;
+
++ dbg_showchan(chan);
++
+ local_irq_restore(flags);
+
+ return 0;
+@@ -907,6 +968,7 @@
+ struct s3c2410_dma_buf *buf, *next;
+ unsigned long flags;
+
++ printk("dma flush called!\n");
+ pr_debug("%s: chan %p (%d)\n", __func__, chan, chan->number);
+
+ dbg_showchan(chan);
+@@ -940,7 +1002,7 @@
+
+ s3c2410_dma_waitforstop(chan);
+
+-#if 0
++#if 1
+ /* should also clear interrupts, according to WinCE BSP */
+ {
+ unsigned long tmp;
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/arch/arm/plat-s3c24xx/s3c244x.c linux-2.6.25-m8050/arch/arm/plat-s3c24xx/s3c244x.c
+--- linux-git/arch/arm/plat-s3c24xx/s3c244x.c 2008-11-10 12:20:12.000000000 +0100
++++ linux-2.6.25-m8050/arch/arm/plat-s3c24xx/s3c244x.c 2008-07-10 18:39:47.000000000 +0200
+@@ -65,8 +65,10 @@
+
+ /* rename any peripherals used differing from the s3c2410 */
+
++ s3c_device_sdi.name = "s3c2440-sdi";
+ s3c_device_i2c.name = "s3c2440-i2c";
+ s3c_device_nand.name = "s3c2440-nand";
++ s3c_device_ts.name = "s3c2440-ts";
+ s3c_device_usbgadget.name = "s3c2440-usbgadget";
+ }
+
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/arch/arm/plat-s3c24xx/s3c244x.h linux-2.6.25-m8050/arch/arm/plat-s3c24xx/s3c244x.h
+--- linux-git/arch/arm/plat-s3c24xx/s3c244x.h 2008-11-10 12:19:09.000000000 +0100
++++ linux-2.6.25-m8050/arch/arm/plat-s3c24xx/s3c244x.h 2008-05-07 13:50:18.000000000 +0200
+@@ -18,6 +18,8 @@
+
+ extern void s3c244x_init_clocks(int xtal);
+
++extern int s3c2410_baseclk_add(void);
++
+ #else
+ #define s3c244x_init_clocks NULL
+ #define s3c244x_init_uarts NULL
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/char/defkeymap.map linux-2.6.25-m8050/drivers/char/defkeymap.map
+--- linux-git/drivers/char/defkeymap.map 2008-11-10 12:19:16.000000000 +0100
++++ linux-2.6.25-m8050/drivers/char/defkeymap.map 2008-10-02 14:06:23.000000000 +0200
+@@ -212,11 +212,11 @@
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+-keycode 89 =
+-keycode 90 =
+-keycode 91 =
+-keycode 92 =
+-keycode 93 =
++keycode 89 = dollar
++keycode 90 = at
++keycode 91 = parenleft
++keycode 92 = parenright
++keycode 93 = bar
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/char/intellihead.c linux-2.6.25-m8050/drivers/char/intellihead.c
+--- linux-git/drivers/char/intellihead.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/drivers/char/intellihead.c 2008-10-03 16:08:21.000000000 +0200
+@@ -0,0 +1,300 @@
++/*
++ * Intellihead Card Reader Driver-
++ * Copyright (C) David Anders 2008.
++ *
++ */
++
++#include <linux/module.h>
++#include <linux/kernel.h>
++#include <linux/sched.h>
++#include <linux/interrupt.h>
++#include <linux/fs.h>
++#include <linux/miscdevice.h>
++#include <linux/string.h>
++#include <linux/errno.h>
++#include <linux/init.h>
++#include <linux/delay.h>
++#include <linux/poll.h>
++
++#include <asm/uaccess.h>
++#include <asm/irq.h>
++#include <asm/mach-types.h>
++
++#include <asm/arch/gpio.h>
++#include <asm/arch/regs-gpio.h>
++
++#define __INTELLIHEAD_C /* Tell the header file who we are */
++#include "intellihead.h"
++
++static DECLARE_WAIT_QUEUE_HEAD(intellihead_wait_queue); /* Used for blocking read */
++static char intellihead_output_buffer[380]; /* Stores data to write out of device */
++static char intellihead_tmp_buffer[380]; /* Stores data to write out of device */
++static int bcount; /* The number of bytes in the buffer */
++static int irq_count;
++static void intellihead_callback_main(struct work_struct *ignored);
++static int data_offset;
++static int dataready;
++
++static DECLARE_WORK(intellihead_work, intellihead_callback_main);
++
++static void intellihead_reset(void){
++
++ s3c2410_gpio_cfgpin(S3C2410_GPB7,S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2410_GPB7, 1);
++ udelay(2);
++ s3c2410_gpio_cfgpin(S3C2410_GPF2,S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2410_GPF2, 0);
++ udelay(2);
++ s3c2410_gpio_setpin(S3C2410_GPB7, 1);
++ udelay(2);
++ s3c2410_gpio_setpin(S3C2410_GPB7, 0);
++ udelay(2);
++ s3c2410_gpio_cfgpin(S3C2410_GPF2,S3C2410_GPIO_INPUT);
++ udelay(2);
++ s3c2410_gpio_setpin(S3C2410_GPB7, 1);
++ udelay(2);
++ s3c2410_gpio_setpin(S3C2410_GPB7, 0);
++ udelay(2);
++ s3c2410_gpio_setpin(S3C2410_GPB7, 1);
++ udelay(2);
++ s3c2410_gpio_setpin(S3C2410_GPB7, 0);
++ udelay(2);
++ s3c2410_gpio_cfgpin(S3C2410_GPF2,S3C2410_GPIO_IRQ);
++
++}
++
++static void intellihead_callback_main(struct work_struct *ignored)
++{
++ int x=0,y=0;
++ char final_char;
++// printk("intellihead: main callback started!!\n");
++// disable_irq(IRQ_EINT2);
++ s3c2410_gpio_cfgpin(S3C2410_GPF2, S3C2410_GPIO_INPUT);
++
++ for(y=15; y >= 0 ; y--){
++ udelay(2);
++ s3c2410_gpio_setpin(S3C2410_GPB7, 1);
++ udelay(2);
++ s3c2410_gpio_setpin(S3C2410_GPB7, 0);
++ udelay(2);
++ }
++
++ for(x=0;x< 100; x++) {
++ final_char=0;
++ for(y=0; y < 6 ; y++){
++ udelay(2);
++ s3c2410_gpio_setpin(S3C2410_GPB7, 1);
++ udelay(2);
++ s3c2410_gpio_setpin(S3C2410_GPB7, 0);
++ udelay(2);
++ if ( s3c2410_gpio_getpin(S3C2410_GPF2) == 0 ){
++ final_char |= (1<<y);
++ }
++ }
++ /*discard the parity bit*/
++ udelay(2);
++ s3c2410_gpio_setpin(S3C2410_GPB7, 1);
++ udelay(2);
++ s3c2410_gpio_setpin(S3C2410_GPB7, 0);
++ udelay(2);
++ final_char += 0x20;
++ intellihead_tmp_buffer[x] = final_char;
++// printk("%c",intellihead_tmp_buffer[x]);
++ }
++ for(x=0; x<4 ; x++){
++ /*discard last 4bits for now*/
++ udelay(2);
++ s3c2410_gpio_setpin(S3C2410_GPB7, 1);
++ udelay(2);
++ s3c2410_gpio_setpin(S3C2410_GPB7, 0);
++ udelay(2);
++ }
++ intellihead_tmp_buffer[101]='\0';
++// printk("\n");
++ intellihead_reset();
++ enable_irq(IRQ_EINT2);
++ irq_count=0;
++ bcount = sprintf (intellihead_output_buffer, "%s", intellihead_tmp_buffer);
++ dataready=1;
++ wake_up_interruptible (&intellihead_wait_queue);
++ wake_up(&intellihead_wait_queue);
++// printk("intellihead: main callback finished!!\n");
++}
++
++/*
++ * This handler is called when a card detect or data ready is present
++ */
++
++static irqreturn_t intellihead_handler (int irq, void *dev_id)
++{
++ disable_irq(IRQ_EINT2);
++// printk("intellihead: irq called!!\n");
++ if (irq_count == 0 ) {
++// printk("intellihead: card present irq!\n");
++ s3c2410_gpio_setpin(S3C2410_GPB7, 1);
++ while ( !s3c2410_gpio_getpin(S3C2410_GPB7) ){
++ };
++ s3c2410_gpio_setpin(S3C2410_GPB7, 0);
++ irq_count=1;
++ enable_irq(IRQ_EINT2);
++ }
++ else {
++// printk("intellihead: data present irq!\n");
++ if ( irq_count==1) {
++// interruptible_sleep_on (&intellihead_wait_queue);
++ schedule_work(&intellihead_work);
++ irq_count=2;
++ }
++ }
++
++ return IRQ_HANDLED;
++}
++
++static unsigned int intellihead_poll(struct file *file,
++ struct poll_table_struct *wait)
++{
++// printk("intellihead: poll called!!!\n");
++ poll_wait(file, &intellihead_wait_queue, wait);
++// printk("intellihead: checking for data!!!\n");
++ if (dataready != 0) {
++// printk("intellihead: data ready!!\n");
++ return POLLIN | POLLRDNORM;
++ }
++// printk("intellihead: nothing ready!!\n");
++ return 0;
++}
++
++/*
++ * This function is called when a user space program attempts to read
++ * /dev/intellihead. It puts the device to sleep on the wait queue until
++ * intellihead_main_callback writes some data to the buffer and flushes
++ * the queue, at which point it writes the data out to the device and
++ * returns the number of characters it has written. This function is
++ * reentrant, so that many processes can be attempting to read from the
++ * device at any one time.
++ */
++
++static int intellihead_read (struct file *filp, char __user *buffer,
++ size_t count, loff_t *ppos)
++{
++ int returncount,writecount;
++ static char tempchar[2];
++// printk("intellihead: read called with count %d!!\n",count);
++// printk("intellihead: bcount is %d!!\n",bcount);
++
++// if (bcount==0)
++// return 0;
++// if (count != 4096)
++// return 0;
++// printk("intellihead: read called!!\n");
++ if (dataready == 0)
++ interruptible_sleep_on (&intellihead_wait_queue);
++// printk("intellihead: copy_to_user with bcount of %d\n",bcount);
++// printk("intellihead: requested count size of %d\n",count);
++// printk("%s",intellihead_output_buffer);
++
++ if (bcount > count )
++ writecount=count;
++ else
++ writecount=bcount;
++ tempchar[0]=intellihead_output_buffer[data_offset];
++// returncount=copy_to_user(buffer, &intellihead_output_buffer, writecount);
++ returncount=copy_to_user(buffer, &tempchar, writecount);
++ if ( returncount == 0 ){
++ if (tempchar[0] == 0x3f)
++ bcount=data_offset;
++// printk("intellihead: return count good!!\n");
++ if (data_offset != bcount ) {
++ data_offset += writecount;
++ }
++ else {
++ bcount=0;
++ data_offset=0;
++ dataready=0;
++ }
++ return writecount;
++ }
++ else {
++// printk("intellihead: return bad - %d expected %d!!\n",returncount, bcount);
++ return -EFAULT;
++ }
++// return (copy_to_user (buffer, &intellihead_output_buffer, bcount))
++// ? -EFAULT : bcount;
++}
++
++/*
++ * This structure is the file operations structure, which specifies what
++ * callbacks functions the kernel should call when a user mode process
++ * attempts to perform these operations on the device.
++ */
++
++static const struct file_operations intellihead_fops = {
++ .owner = THIS_MODULE,
++ .read = intellihead_read,
++ .poll = intellihead_poll,
++};
++
++/*
++ * This structure is the misc device structure, which specifies the minor
++ * device number (158 in this case), the name of the device (for /proc/misc),
++ * and the address of the above file operations structure.
++ */
++
++static struct miscdevice intellihead_misc_device = {
++ INTELLIHEAD_MINOR,
++ "intellihead",
++ &intellihead_fops,
++};
++
++/*
++ * This function is called to initialise the driver, either from misc.c at
++ * bootup if the driver is compiled into the kernel, or from init_module
++ * below at module insert time. It attempts to register the device node
++ * and the IRQ and fails with a warning message if either fails, though
++ * neither ever should because the device number and IRQ are unique to
++ * this driver.
++ */
++
++static int __init intellihead_init(void)
++{
++// if (!machine_is_netwinder())
++// return -ENODEV;
++
++ printk (KERN_INFO "Intellihead Card Read Driver Version %s (C) David Anders "
++ "<danders@amltd.com> 2008.\n", VERSION);
++
++ if (misc_register (&intellihead_misc_device)) {
++ printk (KERN_WARNING "intellihead: Couldn't register device 10, "
++ "%d.\n", INTELLIHEAD_MINOR);
++ return -EBUSY;
++ }
++
++ intellihead_reset();
++
++ if (request_irq (IRQ_EINT2, intellihead_handler, IRQF_TRIGGER_FALLING,
++ "intellihead", NULL)) {
++ printk (KERN_WARNING "intellihead: IRQ %d is not free.\n",
++ IRQ_EINT2);
++ misc_deregister (&intellihead_misc_device);
++ return -EIO;
++ }
++
++// init_waitqueue_head(&intellihead_wait_queue);
++ dataready=0;
++ data_offset=0;
++ irq_count=0;
++ return 0;
++}
++
++static void __exit intellihead_exit (void)
++{
++ free_irq (IRQ_EINT2, NULL);
++ misc_deregister (&intellihead_misc_device);
++}
++
++
++MODULE_AUTHOR("David Anders");
++MODULE_LICENSE("GPL");
++
++module_init(intellihead_init);
++module_exit(intellihead_exit);
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/char/intellihead.h linux-2.6.25-m8050/drivers/char/intellihead.h
+--- linux-git/drivers/char/intellihead.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/drivers/char/intellihead.h 2008-07-15 17:57:17.000000000 +0200
+@@ -0,0 +1,21 @@
++#ifndef __INTELLIHEAD_H
++#define __INTELLIHEAD_H
++
++/*
++ * NetWinder Button Driver-
++ * Copyright (C) Alex Holden <alex@linuxhacker.org> 1998, 1999.
++ */
++
++#ifdef __INTELLIHEAD_C /* Actually compiling the driver itself */
++
++/* Various defines: */
++
++#define VERSION "0.1" /* Driver version number */
++#define INTELLIHEAD_MINOR 158 /* Major 10, Minor 158, /dev/nwbutton */
++
++/* Function prototypes: */
++
++static irqreturn_t intellihead_handler (int irq, void *dev_id);
++
++#endif /* __INTELLIHEAD_C */
++#endif /* __INTELLIHEAD_H */
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/char/Kconfig linux-2.6.25-m8050/drivers/char/Kconfig
+--- linux-git/drivers/char/Kconfig 2008-11-10 12:20:16.000000000 +0100
++++ linux-2.6.25-m8050/drivers/char/Kconfig 2008-07-14 13:44:38.000000000 +0200
+@@ -410,6 +410,12 @@
+ If you have an SGI Altix with an attached SABrick
+ say Y or M here, otherwise say N.
+
++config INTELLIHEAD
++ tristate "Intellihead Card Read driver support"
++ help
++ If you have an Intellihead Card Reader attached
++ say Y or M here, otherwise say N.
++
+ source "drivers/serial/Kconfig"
+
+ config UNIX98_PTYS
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/char/Makefile linux-2.6.25-m8050/drivers/char/Makefile
+--- linux-git/drivers/char/Makefile 2008-11-10 12:20:16.000000000 +0100
++++ linux-2.6.25-m8050/drivers/char/Makefile 2008-10-02 14:10:28.000000000 +0200
+@@ -58,6 +58,7 @@
+ obj-$(CONFIG_VIOTAPE) += viotape.o
+ obj-$(CONFIG_HVCS) += hvcs.o
+ obj-$(CONFIG_SGI_MBCS) += mbcs.o
++obj-$(CONFIG_INTELLIHEAD) += intellihead.o
+ obj-$(CONFIG_BRIQ_PANEL) += briq_panel.o
+
+ obj-$(CONFIG_PRINTER) += lp.o
+@@ -126,7 +127,7 @@
+ # Uncomment if you're changing the keymap and have an appropriate
+ # loadkeys version for the map. By default, we'll use the shipped
+ # versions.
+-# GENERATE_KEYMAP := 1
++GENERATE_KEYMAP := 1
+
+ ifdef GENERATE_KEYMAP
+
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/input/generic-leds.c linux-2.6.25-m8050/drivers/input/generic-leds.c
+--- linux-git/drivers/input/generic-leds.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/drivers/input/generic-leds.c 2008-10-01 17:00:42.000000000 +0200
+@@ -0,0 +1,117 @@
++/*
++ * Input Power Event -> APM Bridge
++ *
++ * Copyright (c) 2007 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/module.h>
++#include <linux/input.h>
++#include <linux/slab.h>
++#include <linux/init.h>
++#include <linux/tty.h>
++#include <linux/delay.h>
++#include <linux/pm.h>
++#include <linux/leds.h>
++
++static void generic_leds_event(struct input_handle *handle, unsigned int type,
++ unsigned int code, int value)
++{
++ /* only react on key down events */
++ if (value != 1)
++ return;
++
++ switch (type) {
++ case EV_LED:
++// printk("generic led EV_LED!!\n");
++ ledtrig_ev_led_activity();
++ break;
++
++ default:
++ break;
++ }
++}
++
++static int generic_leds_connect(struct input_handler *handler,
++ struct input_dev *dev,
++ const struct input_device_id *id)
++{
++ struct input_handle *handle;
++ int error;
++
++ handle = kzalloc(sizeof(struct input_handle), GFP_KERNEL);
++ if (!handle)
++ return -ENOMEM;
++
++ handle->dev = dev;
++ handle->handler = handler;
++ handle->name = "generic-leds";
++
++ error = input_register_handle(handle);
++ if (error) {
++ printk(KERN_ERR
++ "generic-leds: Failed to register generic-leds handler, "
++ "error %d\n", error);
++ kfree(handle);
++ return error;
++ }
++
++ error = input_open_device(handle);
++ if (error) {
++ printk(KERN_ERR
++ "generic-leds: Failed to open generic-leds device, "
++ "error %d\n", error);
++ input_unregister_handle(handle);
++ kfree(handle);
++ return error;
++ }
++
++ return 0;
++}
++
++static void generic_leds_disconnect(struct input_handle *handle)
++{
++ input_close_device(handle);
++ input_unregister_handle(handle);
++ kfree(handle);
++}
++
++static const struct input_device_id generic_leds_ids[] = {
++ {
++ .flags = INPUT_DEVICE_ID_MATCH_EVBIT,
++ .evbit = { BIT_MASK(EV_LED) },
++ },
++ { },
++};
++
++MODULE_DEVICE_TABLE(input, generic_leds_ids);
++
++
++static struct input_handler generic_leds_handler = {
++ .event = generic_leds_event,
++ .connect = generic_leds_connect,
++ .disconnect = generic_leds_disconnect,
++ .name = "generic-leds",
++ .id_table = generic_leds_ids,
++};
++
++static int __init generic_leds_init(void)
++{
++ return input_register_handler(&generic_leds_handler);
++}
++
++static void __exit generic_leds_exit(void)
++{
++ input_unregister_handler(&generic_leds_handler);
++}
++
++module_init(generic_leds_init);
++module_exit(generic_leds_exit);
++
++MODULE_AUTHOR("Richard Purdie <rpurdie@rpsys.net>");
++MODULE_DESCRIPTION("Input Power Event -> APM Bridge");
++MODULE_LICENSE("GPL");
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/input/Kconfig linux-2.6.25-m8050/drivers/input/Kconfig
+--- linux-git/drivers/input/Kconfig 2008-11-10 12:20:17.000000000 +0100
++++ linux-2.6.25-m8050/drivers/input/Kconfig 2008-10-01 15:27:27.000000000 +0200
+@@ -149,6 +149,15 @@
+ To compile this driver as a module, choose M here: the
+ module will be called apm-power.
+
++config INPUT_GENERICLEDS
++ tristate "Generic LED Handler"
++ depends on INPUT
++ ---help---
++ Say Y here if you want suspend key events to trigger a user
++ requested suspend through APM. This is useful on embedded
++ systems where such behviour is desired without userspace
++ interaction. If unsure, say N.
++
+ comment "Input Device Drivers"
+
+ source "drivers/input/keyboard/Kconfig"
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/input/keyboard/Kconfig linux-2.6.25-m8050/drivers/input/keyboard/Kconfig
+--- linux-git/drivers/input/keyboard/Kconfig 2008-11-10 12:20:17.000000000 +0100
++++ linux-2.6.25-m8050/drivers/input/keyboard/Kconfig 2008-05-22 08:51:44.000000000 +0200
+@@ -250,6 +250,15 @@
+ To compile this driver as a module, choose M here: the
+ module will be called jornada720_kbd.
+
++config KEYBOARD_M8050
++ tristate "AML M8050 keypad support"
++ depends on MACH_AML_M8050
++ help
++ Say Y here if you want to use the M8050 keypad.
++
++ To compile this driver as a module, choose M here: the
++ module will be called omap-keypad.
++
+ config KEYBOARD_OMAP
+ tristate "TI OMAP keypad support"
+ depends on (ARCH_OMAP1 || ARCH_OMAP2)
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/input/keyboard/m8050-keypad.c linux-2.6.25-m8050/drivers/input/keyboard/m8050-keypad.c
+--- linux-git/drivers/input/keyboard/m8050-keypad.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/drivers/input/keyboard/m8050-keypad.c 2008-10-14 16:05:16.000000000 +0200
+@@ -0,0 +1,709 @@
++/*
++ * linux/drivers/input/keyboard/m8050-keypad.c
++ *
++ * M8050 Keypad Driver
++ *
++ * Copyright (C) 2008 American Microsystems Ltd.
++ * M8050 support by David Anders <danders@amtld.com>
++ *
++ * Based on the OMAP Keypad Driver
++ *
++ * Copyright (C) 2003 Nokia Corporation
++ * Written by Timo Teräs <ext-timo.teras@nokia.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 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.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ *
++ *
++ *
++ *
++ * NOTE: in order to use the power button properly, the following need to be
++ * enabled: CONFIG_APM_EMULATION and CONFIG_INPUT_APMPOWER
++ */
++
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/interrupt.h>
++#include <linux/types.h>
++#include <linux/input.h>
++#include <linux/kernel.h>
++#include <linux/delay.h>
++#include <linux/platform_device.h>
++#include <linux/mutex.h>
++#include <linux/errno.h>
++#include <linux/pm.h>
++#include <linux/suspend.h>
++#include <asm/arch/gpio.h>
++#include <asm/arch/keypad.h>
++#include <asm/arch/regs-gpio.h>
++#include <asm/arch/regs-gpioj.h>
++#include <asm/irq.h>
++#include <asm/hardware.h>
++#include <asm/io.h>
++#include <asm/mach-types.h>
++
++#undef NEW_BOARD_LEARNING_MODE
++
++//#define NEW_BOARD_LEARNING_MODE 1
++
++static void m8050_kp_tasklet(unsigned long);
++static void m8050_kp_timer(unsigned long);
++static inline int m8050_kp_find_key(int col, int row, int matrix);
++
++static unsigned char keypad_state[8];
++static int kp_cur_group = -1;
++static int alphaset = 0;
++static int alphaexception=0;
++static int capslock =0;
++static int lastkey=0;
++static int lastrow=0,lastcol=0;
++
++struct m8050_kp {
++ struct input_dev *input;
++ spinlock_t lock;
++ struct timer_list timer;
++ int irq;
++ unsigned int rows;
++ unsigned int cols;
++ unsigned long delay;
++ unsigned int debounce;
++ unsigned int suspended;
++ unsigned long suspend_jiffies;
++};
++
++DECLARE_TASKLET_DISABLED(kp_tasklet, m8050_kp_tasklet, 0);
++
++static int *keymap;
++static int *keymap_a;
++static int *keymap_b;
++static int *keymap_c;
++static int *keymap_d;
++static unsigned int *row_gpios;
++static unsigned int *col_gpios;
++
++static void alpha_timerfunc(unsigned long);
++static DEFINE_TIMER(alpha_timeout, alpha_timerfunc, 0, 0);
++
++
++static void alpha_timerfunc(unsigned long data)
++{
++
++struct m8050_kp *m8050_kp_data = (struct m8050_kp *) data;
++
++printk("alphatimeout called!!\n");
++
++if (alphaset !=0 ) {
++
++ if (m8050_kp_find_key(lastcol,lastrow,4) == KEY_UNKNOWN ) {
++ printk("reporting key with matrix %d!\n",((alphaset-2)%3)+1);
++ lastkey = m8050_kp_find_key(lastcol, lastrow,((alphaset-2)%3)+1);
++ }
++ else {
++ printk("reporting key with matrix %d!\n",((alphaset-2)%4)+1);
++ lastkey = m8050_kp_find_key(lastcol, lastrow,((alphaset-2)%4)+1);
++ }
++ printk("reporting key=%d\n",lastkey);
++ input_report_key(m8050_kp_data->input, lastkey & ~GROUP_MASK,1);
++ input_report_key(m8050_kp_data->input, lastkey & ~GROUP_MASK,0);
++ lastkey=0;
++ lastrow=0;
++ lastcol=0;
++ printk("reseting alphaset to 1!\n");
++ alphaset=1;
++}
++
++}
++
++static void set_col_gpio_val(struct m8050_kp *m8050_kp, u8 value)
++{
++
++ if (value & (1 << 0))
++ s3c2410_gpio_setpin(S3C2440_GPJ8, 1);
++ else
++ s3c2410_gpio_setpin(S3C2440_GPJ8, 0);
++
++ if (value & (1 << 1))
++ s3c2410_gpio_setpin(S3C2440_GPJ9, 1);
++ else
++ s3c2410_gpio_setpin(S3C2440_GPJ9, 0);
++
++ if (value & (1 << 2))
++ s3c2410_gpio_setpin(S3C2440_GPJ10, 1);
++ else
++ s3c2410_gpio_setpin(S3C2440_GPJ10, 0);
++
++ if (value & (1 << 3))
++ s3c2410_gpio_setpin(S3C2440_GPJ11, 1);
++ else
++ s3c2410_gpio_setpin(S3C2440_GPJ11, 0);
++
++ if (value & (1 << 4))
++ s3c2410_gpio_setpin(S3C2440_GPJ12, 1);
++ else
++ s3c2410_gpio_setpin(S3C2440_GPJ12, 0);
++
++}
++
++static u8 get_row_gpio_val(struct m8050_kp *m8050_kp)
++{
++ u8 value = 0;
++
++ if (s3c2410_gpio_getpin(S3C2410_GPG0))
++ value |= (1 << 0);
++
++ if (s3c2410_gpio_getpin(S3C2410_GPG1))
++ value |= (1 << 1);
++
++ if (s3c2410_gpio_getpin(S3C2410_GPG2))
++ value |= (1 << 2);
++
++ if (s3c2410_gpio_getpin(S3C2410_GPG3))
++ value |= (1 << 3);
++
++ return value;
++
++}
++
++static irqreturn_t m8050_kp_interrupt(int irq, void *dev_id)
++{
++ struct m8050_kp *m8050_kp = dev_id;
++ int i;
++
++
++ /* disable keyboard interrupt and schedule for handling */
++ for (i = 0; i < m8050_kp->rows; i++)
++ disable_irq(S3C2410_IRQ(36+i));
++
++ tasklet_schedule(&kp_tasklet);
++
++ return IRQ_HANDLED;
++}
++
++static void m8050_kp_timer(unsigned long data)
++{
++ tasklet_schedule(&kp_tasklet);
++}
++
++static void m8050_kp_scan_keypad(struct m8050_kp *m8050_kp, unsigned char *state)
++{
++ int col = 0;
++
++ /* read the keypad status */
++ for (col = 0; col < m8050_kp->cols; col++) {
++ set_col_gpio_val(m8050_kp, ~(1 << col));
++ state[col] = ~(get_row_gpio_val(m8050_kp)) & 0x0f;
++ }
++ set_col_gpio_val(m8050_kp, 0);
++
++
++}
++
++static inline int m8050_kp_find_key(int col, int row, int matrix)
++{
++ int i, key;
++
++ key = KEY(col, row, 0);
++ printk("row=%d col=%d\n key=%d",row,col,key);
++ switch (matrix) {
++ case 0:
++ printk("matrix 0 lookup!\n");
++ for (i = 0; keymap[i] != 0; i++)
++ if ((keymap[i] & 0xff000000) == key)
++ return keymap[i] & 0x00ffffff;
++ return -1;
++ case 1:
++ printk("matrix 1 lookup!\n");
++ for (i = 0; keymap_a[i] != 0; i++)
++ if ((keymap_a[i] & 0xff000000) == key)
++ return keymap_a[i] & 0x00ffffff;
++ return -1;
++ case 2:
++ printk("matrix 2 lookup!\n");
++ for (i = 0; keymap_b[i] != 0; i++)
++ if ((keymap_b[i] & 0xff000000) == key)
++ return keymap_b[i] & 0x00ffffff;
++ return -1;
++ case 3:
++ printk("matrix 3 lookup!\n");
++ for (i = 0; keymap_c[i] != 0; i++)
++ if ((keymap_c[i] & 0xff000000) == key)
++ return keymap_c[i] & 0x00ffffff;
++ return -1;
++ case 4:
++ printk("matrix 4 lookup!\n");
++ for (i = 0; keymap_d[i] != 0; i++)
++ if ((keymap_d[i] & 0xff000000) == key)
++ return keymap_d[i] & 0x00ffffff;
++ return -1;
++ default:
++ return -1;
++ }
++
++}
++
++static void m8050_kp_tasklet(unsigned long data)
++{
++ struct m8050_kp *m8050_kp_data = (struct m8050_kp *) data;
++ unsigned char new_state[8], changed, key_down = 0;
++ int col, row;
++ int spurious = 0;
++ int suspend_requested=0;
++
++ if (m8050_kp_data->suspended) {
++ return;
++ }
++ /* check for any changes */
++ m8050_kp_scan_keypad(m8050_kp_data, new_state);
++
++ /* check for changes and print those */
++ for (col = 0; col < m8050_kp_data->cols; col++) {
++ changed = new_state[col] ^ keypad_state[col];
++ key_down |= new_state[col];
++ if (changed == 0)
++ continue;
++
++ for (row = 0; row < m8050_kp_data->rows; row++) {
++ int key;
++ if (!(changed & (1 << row)))
++ continue;
++#ifdef NEW_BOARD_LEARNING_MODE
++ printk(KERN_INFO "m8050-keypad: key %d-%d %s\n", col,
++ row, (new_state[col] & (1 << row)) ?
++ "pressed" : "released");
++#else
++ key = m8050_kp_find_key(col, row,0);
++ if (key < 0) {
++ printk(KERN_WARNING
++ "m8050-keypad: Spurious key event %d-%d\n",
++ col, row);
++ /* We scan again after a couple of seconds */
++ spurious = 1;
++ continue;
++ }
++
++ if (!(kp_cur_group == (key & GROUP_MASK) ||
++ kp_cur_group == -1))
++ continue;
++
++ kp_cur_group = key & GROUP_MASK;
++ if (key_down && (key == KEY_SUSPEND)
++ && time_after(jiffies, m8050_kp_data->suspend_jiffies + HZ)) {
++
++ suspend_requested=1;
++ m8050_kp_data->suspended=1;
++ }
++ else {
++ if (key != KEY_SUSPEND){
++ if ( key == KEY_LEFTALT ){
++ if ( new_state[col] & (1 << row) ){
++ if (alphaset==0) {
++ printk("alpha set to 1\n");
++ alphaset=1;
++ printk("capslock on\n");
++ input_report_key(m8050_kp_data->input, KEY_CAPSLOCK,1);
++ input_report_key(m8050_kp_data->input, KEY_CAPSLOCK,0);
++ capslock=1;
++ }
++ else if(capslock==1) {
++ if (timer_pending(&alpha_timeout)) {
++ printk("deleting timer!\n");
++ del_timer(&alpha_timeout);
++ if (m8050_kp_find_key(lastcol,lastrow,4) == KEY_UNKNOWN ) {
++ printk("reporting key with matrix %d!\n",((alphaset-2)%3)+1);
++ lastkey = m8050_kp_find_key(lastcol, lastrow,((alphaset-2)%3)+1);
++ }
++ else {
++ printk("reporting key with matrix %d!\n",((alphaset-2)%4)+1);
++ lastkey = m8050_kp_find_key(lastcol, lastrow,((alphaset-2)%4)+1);
++ }
++
++// printk("reporting key with matrix %d!\n",alphaset-1);
++// lastkey = m8050_kp_find_key(lastcol, lastrow,alphaset-1);
++ input_report_key(m8050_kp_data->input, lastkey & ~GROUP_MASK,1);
++ input_report_key(m8050_kp_data->input, lastkey & ~GROUP_MASK,0);
++ lastkey=0;
++ lastrow=0;
++ lastcol=0;
++ printk("reseting alphaset to 1!\n");
++ alphaset=1;
++ }
++ printk("capslock off\n");
++ input_report_key(m8050_kp_data->input, KEY_CAPSLOCK,1);
++ input_report_key(m8050_kp_data->input, KEY_CAPSLOCK,0);
++ capslock=0;
++ }
++ else {
++ if (timer_pending(&alpha_timeout)) {
++ printk("deleting timer!\n");
++ del_timer(&alpha_timeout);
++ if (m8050_kp_find_key(lastcol,lastrow,4) == KEY_UNKNOWN ) {
++ printk("reporting key with matrix %d!\n",((alphaset-2)%3)+1);
++ lastkey = m8050_kp_find_key(lastcol, lastrow,((alphaset-2)%3)+1);
++ }
++ else {
++ printk("reporting key with matrix %d!\n",((alphaset-2)%4)+1);
++ lastkey = m8050_kp_find_key(lastcol, lastrow,((alphaset-2)%4)+1);
++ }
++
++// printk("reporting key with matrix %d!\n",alphaset-1);
++// lastkey = m8050_kp_find_key(lastcol, lastrow,alphaset-1);
++ input_report_key(m8050_kp_data->input, lastkey & ~GROUP_MASK,1);
++ input_report_key(m8050_kp_data->input, lastkey & ~GROUP_MASK,0);
++ lastkey=0;
++ lastrow=0;
++ lastcol=0;
++ printk("reseting alphaset to 1!\n");
++ alphaset=1;
++ }
++ printk("alpha set to 0\n");
++ alphaset=0;
++ }
++ }
++ }
++ else {
++ if ( alphaset != 0 ) {
++ if ( new_state[col] & (1 << row) ){
++ mod_timer(&alpha_timeout, jiffies + (HZ));
++ printk("modifying timer!\n");
++ if ( lastkey == key ){
++ alphaset++;
++ printk("incrementing alphaset to %d\n",alphaset);
++ }
++ else {
++ if (alphaset==1) {
++ if (m8050_kp_find_key(col,row, 1) == KEY_UNKNOWN ){
++ printk("deleting timer!\n");
++ del_timer(&alpha_timeout);
++ printk("alphaexception=%d\n",alphaexception);
++ printk("alpha exception reporting key with matrix 0!\n");
++ input_report_key(m8050_kp_data->input, key & ~GROUP_MASK,
++ new_state[col] & (1 << row));
++ alphaexception=1;
++ }
++ else {
++ alphaset++;
++ printk("incrementing alphaset to %d\n",alphaset);
++ lastkey=key;
++ lastrow=row;
++ lastcol=col;
++ }
++ }
++ else {
++ if (m8050_kp_find_key(col,row, 1) == KEY_UNKNOWN ){
++ printk("deleting timer!\n");
++ del_timer(&alpha_timeout);
++ if (m8050_kp_find_key(lastcol,lastrow,4) == KEY_UNKNOWN ) {
++ printk("reporting key with matrix %d!\n",((alphaset-2)%3)+1);
++ lastkey = m8050_kp_find_key(lastcol, lastrow,((alphaset-2)%3)+1);
++ }
++ else {
++ printk("reporting key with matrix %d!\n",((alphaset-2)%4)+1);
++ lastkey = m8050_kp_find_key(lastcol, lastrow,((alphaset-2)%4)+1);
++ }
++
++// lastkey = m8050_kp_find_key(lastcol, lastrow,alphaset-1);
++ input_report_key(m8050_kp_data->input, lastkey & ~GROUP_MASK,1);
++ input_report_key(m8050_kp_data->input, lastkey & ~GROUP_MASK,0);
++ lastkey=0;
++ lastrow=0;
++ lastcol=0;
++ printk("reseting alphaset to 1!\n");
++ alphaset=1;
++ printk("alphaexception=%d\n",alphaexception);
++ printk("alpha exception reporting key with matrix 0!\n");
++ printk("reporting key=%d\n",key);
++ input_report_key(m8050_kp_data->input, key & ~GROUP_MASK,
++ new_state[col] & (1 << row));
++ alphaexception=1;
++ }
++ else {
++ printk("reporting key!\n");
++ if (m8050_kp_find_key(lastcol,lastrow,4) == KEY_UNKNOWN ) {
++ printk("reporting key with matrix %d!\n",((alphaset-2)%3)+1);
++ lastkey = m8050_kp_find_key(lastcol, lastrow,((alphaset-2)%3)+1);
++ }
++ else {
++ printk("reporting key with matrix %d!\n",((alphaset-2)%4)+1);
++ lastkey = m8050_kp_find_key(lastcol, lastrow,((alphaset-2)%4)+1);
++ }
++// lastkey = m8050_kp_find_key(lastcol, lastrow,alphaset-1);
++ input_report_key(m8050_kp_data->input, lastkey & ~GROUP_MASK,1);
++ input_report_key(m8050_kp_data->input, lastkey & ~GROUP_MASK,0);
++ lastkey=key;
++ lastrow=row;
++ lastcol=col;
++ printk("reseting alphaset to 2!\n");
++ alphaset=2;
++ }
++ }
++ }
++
++ }
++ else {
++// if (alphaexception == 1 ){
++ if (m8050_kp_find_key(col,row, 1) == KEY_UNKNOWN ){
++ printk("alphaexception=%d\n",alphaexception);
++ printk("alpha exception reporting key with matrix 0!\n");
++ printk("reporting key=%d\n",key);
++ input_report_key(m8050_kp_data->input, key & ~GROUP_MASK,
++ new_state[col] & (1 << row));
++ alphaexception=0;
++ }
++ }
++ }
++ else {
++ printk("reporting key with matrix %d!\n",alphaset);
++ printk("reporting key=%d\n",key);
++ input_report_key(m8050_kp_data->input, key & ~GROUP_MASK,
++ new_state[col] & (1 << row));
++ }
++ }
++ }
++ }
++#endif
++ }
++ }
++ memcpy(keypad_state, new_state, sizeof(keypad_state));
++
++ input_sync(m8050_kp_data->input);
++
++ if (key_down && (suspend_requested==0)) {
++ int delay = HZ / 20;
++ /* some key is pressed - keep irq disabled and use timer
++ * to poll the keypad */
++ if (spurious)
++ delay = 2 * HZ;
++ mod_timer(&m8050_kp_data->timer, jiffies + delay);
++ } else {
++ /* enable interrupts */
++ int i;
++ for (i = 0; i < m8050_kp_data->rows; i++)
++ enable_irq(S3C2410_IRQ(36+i));
++ }
++
++ if (suspend_requested){
++
++ input_event(m8050_kp_data->input, EV_PWR, KEY_SUSPEND, 1);
++ m8050_kp_data->suspend_jiffies=jiffies;
++ }
++}
++#ifdef CONFIG_PM
++static int m8050_kp_suspend(struct platform_device *dev, pm_message_t state)
++{
++ struct m8050_kp *m8050_kp_data = platform_get_drvdata(dev);
++
++ del_timer_sync(&m8050_kp_data->timer);
++
++ s3c2410_gpio_setpin(S3C2440_GPJ8, 1);
++ s3c2410_gpio_setpin(S3C2440_GPJ9, 1);
++ s3c2410_gpio_setpin(S3C2440_GPJ10, 1);
++ s3c2410_gpio_setpin(S3C2440_GPJ11, 1);
++ s3c2410_gpio_setpin(S3C2440_GPJ12, 0);
++
++ return 0;
++}
++
++static int m8050_kp_resume(struct platform_device *dev)
++{
++ struct m8050_kp *m8050_kp_data = platform_get_drvdata(dev);
++
++ /* Upon resume, ignore the suspend key for a short while */
++ m8050_kp_data->suspend_jiffies=jiffies;
++ m8050_kp_data->suspended = 0;
++ mod_timer(&m8050_kp_data->timer, jiffies + 50);
++
++ return 0;
++}
++#else
++#define m8050_kp_suspend NULL
++#define m8050_kp_resume NULL
++#endif
++
++static int __init m8050_kp_probe(struct platform_device *pdev)
++{
++ struct m8050_kp *m8050_kp;
++ struct input_dev *input_dev;
++ struct m8050_kp_platform_data *pdata = pdev->dev.platform_data;
++ int i, irq_idx, ret;
++
++ if (!pdata->rows || !pdata->cols || !pdata->keymap) {
++ printk(KERN_ERR "No rows, cols or keymap from pdata\n");
++ return -EINVAL;
++ }
++
++ m8050_kp = kzalloc(sizeof(struct m8050_kp), GFP_KERNEL);
++ input_dev = input_allocate_device();
++ if (!m8050_kp || !input_dev) {
++ kfree(m8050_kp);
++ input_free_device(input_dev);
++ return -ENOMEM;
++ }
++
++ platform_set_drvdata(pdev, m8050_kp);
++
++ m8050_kp->input = input_dev;
++
++ keymap = pdata->keymap;
++ keymap_a = pdata->keymap_a;
++ keymap_b = pdata->keymap_b;
++ keymap_c = pdata->keymap_c;
++ keymap_d = pdata->keymap_d;
++
++ if (pdata->rep)
++ __set_bit(EV_REP, input_dev->evbit);
++
++ if (pdata->delay)
++ m8050_kp->delay = pdata->delay;
++
++ if (pdata->row_gpios && pdata->col_gpios) {
++ row_gpios = pdata->row_gpios;
++ col_gpios = pdata->col_gpios;
++ }
++
++ m8050_kp->rows = pdata->rows;
++ m8050_kp->cols = pdata->cols;
++
++ /* Cols: outputs */
++ s3c2410_gpio_cfgpin(S3C2440_GPJ8, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ8, 1);
++ s3c2410_gpio_cfgpin(S3C2440_GPJ9, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ9, 1);
++ s3c2410_gpio_cfgpin(S3C2440_GPJ10, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ10, 1);
++ s3c2410_gpio_cfgpin(S3C2440_GPJ11, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ11, 1);
++ s3c2410_gpio_cfgpin(S3C2440_GPJ12, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ12, 1);
++
++ /* Rows: inputs */
++ s3c2410_gpio_cfgpin(S3C2410_GPG0, S3C2410_GPIO_IRQ);
++ s3c2410_gpio_cfgpin(S3C2410_GPG1, S3C2410_GPIO_IRQ);
++ s3c2410_gpio_cfgpin(S3C2410_GPG2, S3C2410_GPIO_IRQ);
++ s3c2410_gpio_cfgpin(S3C2410_GPG3, S3C2410_GPIO_IRQ);
++
++
++ setup_timer(&m8050_kp->timer, m8050_kp_timer, (unsigned long)m8050_kp);
++ alpha_timeout.data=(unsigned long)m8050_kp;
++
++ /* get the irq and init timer*/
++ tasklet_enable(&kp_tasklet);
++ kp_tasklet.data = (unsigned long) m8050_kp;
++
++ /* setup input device */
++ __set_bit(EV_KEY, input_dev->evbit);
++ __set_bit(EV_PWR, input_dev->evbit);
++ for (i = 0; keymap[i] != 0; i++)
++ __set_bit(keymap[i] & KEY_MAX, input_dev->keybit);
++
++ for (i = 0; keymap_a[i] != 0; i++)
++ __set_bit(keymap_a[i] & KEY_MAX, input_dev->keybit);
++
++ for (i = 0; keymap_b[i] != 0; i++)
++ __set_bit(keymap_b[i] & KEY_MAX, input_dev->keybit);
++
++ for (i = 0; keymap_c[i] != 0; i++)
++ __set_bit(keymap_c[i] & KEY_MAX, input_dev->keybit);
++
++ for (i = 0; keymap_d[i] != 0; i++)
++ __set_bit(keymap_d[i] & KEY_MAX, input_dev->keybit);
++
++ /* specifically register capslock as it is hardcoded */
++ __set_bit(KEY_CAPSLOCK,input_dev->keybit);
++
++ input_dev->name = "m8050-keypad";
++ input_dev->phys = "m8050-keypad/input0";
++ input_dev->dev.parent = &pdev->dev;
++
++ input_dev->id.bustype = BUS_HOST;
++ input_dev->id.vendor = 0x0001;
++ input_dev->id.product = 0x0001;
++ input_dev->id.version = 0x0100;
++
++ ret = input_register_device(m8050_kp->input);
++ if (ret < 0) {
++ printk(KERN_ERR "Unable to register m8050-keypad input device\n");
++ goto err2;
++ }
++
++ /* scan current status and enable interrupt */
++ m8050_kp_scan_keypad(m8050_kp, keypad_state);
++ for (irq_idx = 0; irq_idx < m8050_kp->rows; irq_idx++) {
++ if (request_irq(S3C2410_IRQ(36+irq_idx),
++ m8050_kp_interrupt,
++ IRQF_TRIGGER_FALLING,
++ "m8050-keypad", m8050_kp) < 0)
++ goto err3;
++ }
++
++ m8050_kp->suspend_jiffies=jiffies;
++
++ return 0;
++err3:
++ for (i = irq_idx - 1; i >=0; i--)
++ free_irq(S3C2410_IRQ(36+irq_idx), 0);
++ input_unregister_device(m8050_kp->input);
++ input_dev = NULL;
++err2:
++ kfree(m8050_kp);
++ input_free_device(input_dev);
++
++ return -EINVAL;
++}
++
++static int m8050_kp_remove(struct platform_device *pdev)
++{
++ struct m8050_kp *m8050_kp = platform_get_drvdata(pdev);
++
++ /* disable keypad interrupt handling */
++ tasklet_disable(&kp_tasklet);
++
++ del_timer_sync(&m8050_kp->timer);
++ tasklet_kill(&kp_tasklet);
++
++ /* unregister everything */
++ input_unregister_device(m8050_kp->input);
++
++ kfree(m8050_kp);
++
++ return 0;
++}
++
++static struct platform_driver m8050_kp_driver = {
++ .probe = m8050_kp_probe,
++ .remove = m8050_kp_remove,
++ .suspend = m8050_kp_suspend,
++ .resume = m8050_kp_resume,
++ .driver = {
++ .name = "m8050-keypad",
++ },
++};
++
++static int __devinit m8050_kp_init(void)
++{
++ printk(KERN_INFO "M8050 Keypad Driver\n");
++ return platform_driver_register(&m8050_kp_driver);
++}
++
++static void __exit m8050_kp_exit(void)
++{
++ platform_driver_unregister(&m8050_kp_driver);
++}
++
++module_init(m8050_kp_init);
++module_exit(m8050_kp_exit);
++
++MODULE_AUTHOR("David Anders");
++MODULE_DESCRIPTION("M8050 Keypad Driver");
++MODULE_LICENSE("GPL");
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/input/keyboard/m8050-keypad.old.c linux-2.6.25-m8050/drivers/input/keyboard/m8050-keypad.old.c
+--- linux-git/drivers/input/keyboard/m8050-keypad.old.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/drivers/input/keyboard/m8050-keypad.old.c 2008-07-28 11:01:22.000000000 +0200
+@@ -0,0 +1,547 @@
++/*
++ * linux/drivers/input/keyboard/m8050-keypad.c
++ *
++ * M8050 Keypad Driver
++ *
++ * Copyright (C) 2008 American Microsystems Ltd.
++ * M8050 support by David Anders <danders@amtld.com>
++ *
++ * Based on the OMAP Keypad Driver
++ *
++ * Copyright (C) 2003 Nokia Corporation
++ * Written by Timo Teräs <ext-timo.teras@nokia.com>
++ *
++ * Added support for H2 & H3 Keypad
++ * Copyright (C) 2004 Texas Instruments
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ */
++
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/interrupt.h>
++#include <linux/types.h>
++#include <linux/input.h>
++#include <linux/kernel.h>
++#include <linux/delay.h>
++#include <linux/platform_device.h>
++#include <linux/mutex.h>
++#include <linux/errno.h>
++#include <linux/pm.h>
++#include <linux/suspend.h>
++#include <asm/arch/gpio.h>
++#include <asm/arch/keypad.h>
++#include <asm/arch/regs-gpio.h>
++#include <asm/arch/regs-gpioj.h>
++#include <asm/irq.h>
++#include <asm/hardware.h>
++#include <asm/io.h>
++#include <asm/mach-types.h>
++#include <linux/delay.h>
++
++//#undef NEW_BOARD_LEARNING_MODE
++
++
++
++#define NEW_BOARD_LEARNING_MODE 1
++
++static void m8050_kp_tasklet(unsigned long);
++static void m8050_kp_timer(unsigned long);
++
++static unsigned char keypad_state[8];
++static DEFINE_MUTEX(kp_enable_mutex);
++static int kp_enable = 1;
++static int kp_cur_group = -1;
++static int return_from_suspend=0;
++
++struct m8050_kp {
++ struct input_dev *input;
++ struct timer_list timer;
++ int irq;
++ unsigned int rows;
++ unsigned int cols;
++ unsigned long delay;
++ unsigned int debounce;
++};
++
++DECLARE_TASKLET_DISABLED(kp_tasklet, m8050_kp_tasklet, 0);
++
++static int *keymap;
++static unsigned int *row_gpios;
++static unsigned int *col_gpios;
++
++static void suspend_task_handler(void *data) {
++ mdelay(50);
++ pm_suspend(PM_SUSPEND_MEM);
++
++ printk("resume complete from keypad!!\n");
++}
++
++static DECLARE_WORK(suspend_task,suspend_task_handler);
++
++static void set_col_gpio_val(struct m8050_kp *m8050_kp, u8 value)
++{
++
++ if (value & (1 << 0))
++ s3c2410_gpio_setpin(S3C2440_GPJ8, 1);
++ else
++ s3c2410_gpio_setpin(S3C2440_GPJ8, 0);
++
++ if (value & (1 << 1))
++ s3c2410_gpio_setpin(S3C2440_GPJ9, 1);
++ else
++ s3c2410_gpio_setpin(S3C2440_GPJ9, 0);
++
++ if (value & (1 << 2))
++ s3c2410_gpio_setpin(S3C2440_GPJ10, 1);
++ else
++ s3c2410_gpio_setpin(S3C2440_GPJ10, 0);
++
++ if (value & (1 << 3))
++ s3c2410_gpio_setpin(S3C2440_GPJ11, 1);
++ else
++ s3c2410_gpio_setpin(S3C2440_GPJ11, 0);
++
++ if (value & (1 << 4))
++ s3c2410_gpio_setpin(S3C2440_GPJ12, 1);
++ else
++ s3c2410_gpio_setpin(S3C2440_GPJ12, 0);
++
++// convert this to a s3c24xx function
++// int col;
++// for (col = 0; col < m8050_kp->cols; col++) {
++// if (value & (1 << col))
++// m8050_set_gpio_dataout(col_gpios[col], 1);
++// else
++// m8050_set_gpio_dataout(col_gpios[col], 0);
++// }
++}
++
++static u8 get_row_gpio_val(struct m8050_kp *m8050_kp)
++{
++ u8 value = 0;
++
++ if (s3c2410_gpio_getpin(S3C2410_GPG0))
++ value |= (1 << 0);
++
++ if (s3c2410_gpio_getpin(S3C2410_GPG1))
++ value |= (1 << 1);
++
++ if (s3c2410_gpio_getpin(S3C2410_GPG2))
++ value |= (1 << 2);
++
++ if (s3c2410_gpio_getpin(S3C2410_GPG3))
++ value |= (1 << 3);
++
++ return value;
++
++// convert this to a s3c24xx function
++// int row;
++// u8 value = 0;
++//
++// for (row = 0; row < m8050_kp->rows; row++) {
++// if (m8050_get_gpio_datain(row_gpios[row]))
++// value |= (1 << row);
++// }
++// return value;
++// return 0;
++}
++
++static irqreturn_t m8050_kp_interrupt(int irq, void *dev_id)
++{
++ struct m8050_kp *m8050_kp = dev_id;
++ int i;
++
++ printk("keyboard interrupt called!!!\n");
++ if ( return_from_suspend ) {
++ printk("return_from_suspend=%d\n",return_from_suspend);
++ return_from_suspend=0;
++ s3c2410_gpio_setpin(S3C2440_GPJ8, 0);
++ s3c2410_gpio_setpin(S3C2440_GPJ9, 0);
++ s3c2410_gpio_setpin(S3C2440_GPJ10, 0);
++ s3c2410_gpio_setpin(S3C2440_GPJ11, 0);
++ s3c2410_gpio_setpin(S3C2440_GPJ12, 0);
++ return IRQ_HANDLED;
++ }
++ /* disable keyboard interrupt and schedule for handling */
++ for (i = 0; i < m8050_kp->rows; i++)
++ disable_irq(S3C2410_IRQ(36+i));
++
++ tasklet_schedule(&kp_tasklet);
++ printk("did not detect return from suspend!!!\n");
++
++ return IRQ_HANDLED;
++}
++
++static void m8050_kp_timer(unsigned long data)
++{
++ int i;
++// printk("timmer fired!!\n");
++ for (i = 0; i < m8050_kp->rows; i++)
++ disable_irq(S3C2410_IRQ(36+i));
++ tasklet_schedule(&kp_tasklet);
++}
++
++static void m8050_kp_scan_keypad(struct m8050_kp *m8050_kp, unsigned char *state)
++{
++ int col = 0;
++
++ int i;
++ for (i = 0; i < m8050_kp->rows; i++)
++ disable_irq(S3C2410_IRQ(36+i));
++
++ /* read the keypad status */
++ for (col = 0; col < m8050_kp->cols; col++) {
++ set_col_gpio_val(m8050_kp, ~(1 << col));
++ state[col] = ~(get_row_gpio_val(m8050_kp)) & 0x3f;
++ }
++ set_col_gpio_val(m8050_kp, 0);
++
++
++}
++
++static inline int m8050_kp_find_key(int col, int row)
++{
++ int i, key;
++
++ key = KEY(col, row, 0);
++ for (i = 0; keymap[i] != 0; i++)
++ if ((keymap[i] & 0xff000000) == key)
++ return keymap[i] & 0x00ffffff;
++ return -1;
++}
++
++static void m8050_kp_tasklet(unsigned long data)
++{
++ struct m8050_kp *m8050_kp_data = (struct m8050_kp *) data;
++ unsigned char new_state[8], changed, key_down = 0;
++ int col, row;
++ int spurious = 0;
++
++ /* check for any changes */
++ m8050_kp_scan_keypad(m8050_kp_data, new_state);
++
++ /* check for changes and print those */
++ for (col = 0; col < m8050_kp_data->cols; col++) {
++ changed = new_state[col] ^ keypad_state[col];
++ key_down |= new_state[col];
++ if (changed == 0)
++ continue;
++
++ for (row = 0; row < m8050_kp_data->rows; row++) {
++ int key;
++ if (!(changed & (1 << row)))
++ continue;
++ if ( (col == 4) & (row == 2)){
++// int i;
++// for (i = 0; i < m8050_kp_data->rows; i++)
++// enable_irq(S3C2410_IRQ(36+i));
++ input_event(m8050_kp_data->input, EV_PWR, KEY_SUSPEND, 1);
++ printk("scheduling suspend!!\n");
++// schedule_work(&suspend_task);
++// return;
++ }
++#ifdef NEW_BOARD_LEARNING_MODE
++ printk(KERN_INFO "m8050-keypad: key %d-%d %s\n", col,
++ row, (new_state[col] & (1 << row)) ?
++ "pressed" : "released");
++
++#else
++ key = m8050_kp_find_key(col, row);
++ if (key < 0) {
++ printk(KERN_WARNING
++ "m8050-keypad: Spurious key event %d-%d\n",
++ col, row);
++ /* We scan again after a couple of seconds */
++ spurious = 1;
++ continue;
++ }
++
++ if (!(kp_cur_group == (key & GROUP_MASK) ||
++ kp_cur_group == -1))
++ continue;
++
++ kp_cur_group = key & GROUP_MASK;
++ input_report_key(m8050_kp_data->input, key & ~GROUP_MASK,
++ new_state[col] & (1 << row));
++#endif
++ }
++ }
++ memcpy(keypad_state, new_state, sizeof(keypad_state));
++
++ if (key_down) {
++ int delay = HZ / 20;
++ /* some key is pressed - keep irq disabled and use timer
++ * to poll the keypad */
++ if (spurious)
++ delay = 2 * HZ;
++ mod_timer(&m8050_kp_data->timer, jiffies + delay);
++ } else {
++ /* enable interrupts */
++ int i;
++ for (i = 0; i < m8050_kp_data->rows; i++)
++ enable_irq(S3C2410_IRQ(36+i));
++ }
++}
++
++static ssize_t m8050_kp_enable_show(struct device *dev,
++ struct device_attribute *attr, char *buf)
++{
++ return sprintf(buf, "%u\n", kp_enable);
++}
++
++static ssize_t m8050_kp_enable_store(struct device *dev, struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ int state;
++
++ if (sscanf(buf, "%u", &state) != 1)
++ return -EINVAL;
++
++ if ((state != 1) && (state != 0))
++ return -EINVAL;
++
++ mutex_lock(&kp_enable_mutex);
++// this needs to be converted into a s3c24xx function
++ if (state != kp_enable) {
++// if (state)
++// enable_irq(INT_KEYBOARD);
++// else
++// disable_irq(INT_KEYBOARD);
++ kp_enable = state;
++ }
++ mutex_unlock(&kp_enable_mutex);
++
++ return strnlen(buf, count);
++}
++
++static DEVICE_ATTR(enable, S_IRUGO | S_IWUSR, m8050_kp_enable_show, m8050_kp_enable_store);
++
++#ifdef CONFIG_PM
++static int m8050_kp_suspend(struct platform_device *dev, pm_message_t state)
++{
++ printk("keyboard suspend called!!\n");
++// disable_irq(S3C2410_IRQ(36));
++// disable_irq(S3C2410_IRQ(37));
++// disable_irq(S3C2410_IRQ(38));
++// disable_irq(S3C2410_IRQ(39));
++ /* Nothing yet */
++ return_from_suspend=1;
++ s3c2410_gpio_cfgpin(S3C2440_GPJ8, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ8, 1);
++ s3c2410_gpio_cfgpin(S3C2440_GPJ9, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ9, 1);
++ s3c2410_gpio_cfgpin(S3C2440_GPJ10, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ10, 1);
++ s3c2410_gpio_cfgpin(S3C2440_GPJ11, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ11, 1);
++ s3c2410_gpio_cfgpin(S3C2440_GPJ12, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ12, 0);
++
++
++ return 0;
++}
++
++static int m8050_kp_resume(struct platform_device *dev)
++{
++ printk("keyboard resume called!!\n");
++ /* Nothing yet */
++// enable_irq(S3C2410_IRQ(36));
++// enable_irq(S3C2410_IRQ(37));
++// enable_irq(S3C2410_IRQ(38));
++// enable_irq(S3C2410_IRQ(39));
++
++// s3c2410_gpio_cfgpin(S3C2440_GPJ8, S3C2410_GPIO_OUTPUT);
++// s3c2410_gpio_setpin(S3C2440_GPJ8, 0);
++// s3c2410_gpio_cfgpin(S3C2440_GPJ9, S3C2410_GPIO_OUTPUT);
++// s3c2410_gpio_setpin(S3C2440_GPJ9, 0);
++// s3c2410_gpio_cfgpin(S3C2440_GPJ10, S3C2410_GPIO_OUTPUT);
++// s3c2410_gpio_setpin(S3C2440_GPJ10, 0);
++// s3c2410_gpio_cfgpin(S3C2440_GPJ11, S3C2410_GPIO_OUTPUT);
++// s3c2410_gpio_setpin(S3C2440_GPJ11, 0);
++// s3c2410_gpio_cfgpin(S3C2440_GPJ12, S3C2410_GPIO_OUTPUT);
++// s3c2410_gpio_setpin(S3C2440_GPJ12, 0);
++
++ return 0;
++}
++#else
++#define m8050_kp_suspend NULL
++#define m8050_kp_resume NULL
++#endif
++
++static int __init m8050_kp_probe(struct platform_device *pdev)
++{
++ struct m8050_kp *m8050_kp;
++ struct input_dev *input_dev;
++ struct m8050_kp_platform_data *pdata = pdev->dev.platform_data;
++ int i, col_idx, row_idx, irq_idx, ret;
++
++ if (!pdata->rows || !pdata->cols || !pdata->keymap) {
++ printk(KERN_ERR "No rows, cols or keymap from pdata\n");
++ return -EINVAL;
++ }
++
++ m8050_kp = kzalloc(sizeof(struct m8050_kp), GFP_KERNEL);
++ input_dev = input_allocate_device();
++ if (!m8050_kp || !input_dev) {
++ kfree(m8050_kp);
++ input_free_device(input_dev);
++ return -ENOMEM;
++ }
++
++ platform_set_drvdata(pdev, m8050_kp);
++
++ m8050_kp->input = input_dev;
++
++ keymap = pdata->keymap;
++
++ if (pdata->rep)
++ __set_bit(EV_REP, input_dev->evbit);
++
++ if (pdata->delay)
++ m8050_kp->delay = pdata->delay;
++
++ if (pdata->row_gpios && pdata->col_gpios) {
++ row_gpios = pdata->row_gpios;
++ col_gpios = pdata->col_gpios;
++ }
++
++ m8050_kp->rows = pdata->rows;
++ m8050_kp->cols = pdata->cols;
++
++ /* Cols: outputs */
++ s3c2410_gpio_cfgpin(S3C2440_GPJ8, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ8, 1);
++ s3c2410_gpio_cfgpin(S3C2440_GPJ9, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ9, 1);
++ s3c2410_gpio_cfgpin(S3C2440_GPJ10, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ10, 1);
++ s3c2410_gpio_cfgpin(S3C2440_GPJ11, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ11, 1);
++ s3c2410_gpio_cfgpin(S3C2440_GPJ12, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ12, 1);
++
++ /* Rows: inputs */
++ s3c2410_gpio_cfgpin(S3C2410_GPG0, S3C2410_GPIO_IRQ);
++ s3c2410_gpio_cfgpin(S3C2410_GPG1, S3C2410_GPIO_IRQ);
++ s3c2410_gpio_cfgpin(S3C2410_GPG2, S3C2410_GPIO_IRQ);
++ s3c2410_gpio_cfgpin(S3C2410_GPG3, S3C2410_GPIO_IRQ);
++
++
++ setup_timer(&m8050_kp->timer, m8050_kp_timer, (unsigned long)m8050_kp);
++
++ /* get the irq and init timer*/
++ tasklet_enable(&kp_tasklet);
++ kp_tasklet.data = (unsigned long) m8050_kp;
++
++ ret = device_create_file(&pdev->dev, &dev_attr_enable);
++ if (ret < 0)
++ goto err1;
++
++ /* setup input device */
++ __set_bit(EV_KEY, input_dev->evbit);
++ for (i = 0; keymap[i] != 0; i++)
++ __set_bit(keymap[i] & KEY_MAX, input_dev->keybit);
++ input_dev->name = "m8050-keypad";
++ input_dev->phys = "m8050-keypad/input0";
++ input_dev->dev.parent = &pdev->dev;
++
++ input_dev->id.bustype = BUS_HOST;
++ input_dev->id.vendor = 0x0001;
++ input_dev->id.product = 0x0001;
++ input_dev->id.version = 0x0100;
++
++ ret = input_register_device(m8050_kp->input);
++ if (ret < 0) {
++ printk(KERN_ERR "Unable to register m8050-keypad input device\n");
++ goto err2;
++ }
++
++ /* scan current status and enable interrupt */
++ m8050_kp_scan_keypad(m8050_kp, keypad_state);
++ for (irq_idx = 0; irq_idx < m8050_kp->rows; irq_idx++) {
++ if (request_irq(S3C2410_IRQ(36+irq_idx),
++ m8050_kp_interrupt,
++ IRQF_TRIGGER_FALLING,
++ "m8050-keypad", m8050_kp) < 0)
++ goto err3;
++ }
++ return 0;
++err3:
++ for (i = irq_idx - 1; i >=0; i--)
++ free_irq(S3C2410_IRQ(36+irq_idx), 0);
++ input_unregister_device(m8050_kp->input);
++ input_dev = NULL;
++err2:
++ device_remove_file(&pdev->dev, &dev_attr_enable);
++err1:
++ kfree(m8050_kp);
++ input_free_device(input_dev);
++
++ return -EINVAL;
++}
++
++static int m8050_kp_remove(struct platform_device *pdev)
++{
++ struct m8050_kp *m8050_kp = platform_get_drvdata(pdev);
++ int i;
++
++ /* disable keypad interrupt handling */
++ tasklet_disable(&kp_tasklet);
++ for (i = 0; i < m8050_kp->cols; i++)
++// m8050_free_gpio(col_gpios[i]);
++ for (i = 0; i < m8050_kp->rows; i++) {
++// m8050_free_gpio(row_gpios[i]);
++// free_irq(m8050_GPIO_IRQ(row_gpios[i]), 0);
++ }
++
++ del_timer_sync(&m8050_kp->timer);
++ tasklet_kill(&kp_tasklet);
++
++ /* unregister everything */
++ input_unregister_device(m8050_kp->input);
++
++ kfree(m8050_kp);
++
++ return 0;
++}
++
++static struct platform_driver m8050_kp_driver = {
++ .probe = m8050_kp_probe,
++ .remove = m8050_kp_remove,
++ .suspend = m8050_kp_suspend,
++ .resume = m8050_kp_resume,
++ .driver = {
++ .name = "m8050-keypad",
++ },
++};
++
++static int __devinit m8050_kp_init(void)
++{
++ printk(KERN_INFO "M8050 Keypad Driver\n");
++ return platform_driver_register(&m8050_kp_driver);
++}
++
++static void __exit m8050_kp_exit(void)
++{
++ platform_driver_unregister(&m8050_kp_driver);
++}
++
++module_init(m8050_kp_init);
++module_exit(m8050_kp_exit);
++
++MODULE_AUTHOR("David Anders");
++MODULE_DESCRIPTION("M8050 Keypad Driver");
++MODULE_LICENSE("GPL");
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/input/keyboard/m8050-keypad.x.c linux-2.6.25-m8050/drivers/input/keyboard/m8050-keypad.x.c
+--- linux-git/drivers/input/keyboard/m8050-keypad.x.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/drivers/input/keyboard/m8050-keypad.x.c 2008-10-02 18:35:31.000000000 +0200
+@@ -0,0 +1,532 @@
++/*
++ * linux/drivers/input/keyboard/m8050-keypad.c
++ *
++ * M8050 Keypad Driver
++ *
++ * Copyright (C) 2008 American Microsystems Ltd.
++ * M8050 support by David Anders <danders@amtld.com>
++ *
++ * Based on the OMAP Keypad Driver
++ *
++ * Copyright (C) 2003 Nokia Corporation
++ * Written by Timo Teräs <ext-timo.teras@nokia.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 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.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ *
++ *
++ *
++ *
++ * NOTE: in order to use the power button properly, the following need to be
++ * enabled: CONFIG_APM_EMULATION and CONFIG_INPUT_APMPOWER
++ */
++
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/interrupt.h>
++#include <linux/types.h>
++#include <linux/input.h>
++#include <linux/kernel.h>
++#include <linux/delay.h>
++#include <linux/platform_device.h>
++#include <linux/mutex.h>
++#include <linux/errno.h>
++#include <linux/pm.h>
++#include <linux/suspend.h>
++#include <asm/arch/gpio.h>
++#include <asm/arch/keypad.h>
++#include <asm/arch/regs-gpio.h>
++#include <asm/arch/regs-gpioj.h>
++#include <asm/irq.h>
++#include <asm/hardware.h>
++#include <asm/io.h>
++#include <asm/mach-types.h>
++
++#undef NEW_BOARD_LEARNING_MODE
++
++//#define NEW_BOARD_LEARNING_MODE 1
++
++static void m8050_kp_tasklet(unsigned long);
++static void m8050_kp_timer(unsigned long);
++
++static unsigned char keypad_state[8];
++static int kp_cur_group = -1;
++static int alphaset=0;
++static int lastalpha=0;
++static int lastcol=-1;
++static int lastrow=-1;
++
++struct m8050_kp {
++ struct input_dev *input;
++ spinlock_t lock;
++ struct timer_list timer;
++ int irq;
++ unsigned int rows;
++ unsigned int cols;
++ unsigned long delay;
++ unsigned int debounce;
++ unsigned int suspended;
++ unsigned long suspend_jiffies;
++};
++
++DECLARE_TASKLET_DISABLED(kp_tasklet, m8050_kp_tasklet, 0);
++
++static int *keymap;
++static int *keymap_a;
++static int *keymap_b;
++static unsigned int *row_gpios;
++static unsigned int *col_gpios;
++
++static void alpha_timerfunc(unsigned long data);
++static DEFINE_TIMER(alpha_timeout, alpha_timerfunc, 0, 0);
++
++static int alphatimeout=0;
++
++static void alpha_timerfunc(unsigned long data)
++{
++printk("alphatimeout called!!\n");
++alphatimeout=1;
++//alphaset=0;
++
++}
++static void set_col_gpio_val(struct m8050_kp *m8050_kp, u8 value)
++{
++
++ if (value & (1 << 0))
++ s3c2410_gpio_setpin(S3C2440_GPJ8, 1);
++ else
++ s3c2410_gpio_setpin(S3C2440_GPJ8, 0);
++
++ if (value & (1 << 1))
++ s3c2410_gpio_setpin(S3C2440_GPJ9, 1);
++ else
++ s3c2410_gpio_setpin(S3C2440_GPJ9, 0);
++
++ if (value & (1 << 2))
++ s3c2410_gpio_setpin(S3C2440_GPJ10, 1);
++ else
++ s3c2410_gpio_setpin(S3C2440_GPJ10, 0);
++
++ if (value & (1 << 3))
++ s3c2410_gpio_setpin(S3C2440_GPJ11, 1);
++ else
++ s3c2410_gpio_setpin(S3C2440_GPJ11, 0);
++
++ if (value & (1 << 4))
++ s3c2410_gpio_setpin(S3C2440_GPJ12, 1);
++ else
++ s3c2410_gpio_setpin(S3C2440_GPJ12, 0);
++
++}
++
++static u8 get_row_gpio_val(struct m8050_kp *m8050_kp)
++{
++ u8 value = 0;
++
++ if (s3c2410_gpio_getpin(S3C2410_GPG0))
++ value |= (1 << 0);
++
++ if (s3c2410_gpio_getpin(S3C2410_GPG1))
++ value |= (1 << 1);
++
++ if (s3c2410_gpio_getpin(S3C2410_GPG2))
++ value |= (1 << 2);
++
++ if (s3c2410_gpio_getpin(S3C2410_GPG3))
++ value |= (1 << 3);
++
++ return value;
++
++}
++
++static irqreturn_t m8050_kp_interrupt(int irq, void *dev_id)
++{
++ struct m8050_kp *m8050_kp = dev_id;
++ int i;
++
++
++ /* disable keyboard interrupt and schedule for handling */
++ for (i = 0; i < m8050_kp->rows; i++)
++ disable_irq(S3C2410_IRQ(36+i));
++
++ tasklet_schedule(&kp_tasklet);
++
++ return IRQ_HANDLED;
++}
++
++static void m8050_kp_timer(unsigned long data)
++{
++ tasklet_schedule(&kp_tasklet);
++}
++
++static void m8050_kp_scan_keypad(struct m8050_kp *m8050_kp, unsigned char *state)
++{
++ int col = 0;
++
++ /* read the keypad status */
++ for (col = 0; col < m8050_kp->cols; col++) {
++ set_col_gpio_val(m8050_kp, ~(1 << col));
++ state[col] = ~(get_row_gpio_val(m8050_kp)) & 0x0f;
++ }
++ set_col_gpio_val(m8050_kp, 0);
++
++
++}
++
++static inline int m8050_kp_find_key(int col, int row)
++{
++ int i, key;
++
++ key = KEY(col, row, 0);
++ if ( alphaset==1 ) {
++ lastrow=row;
++ lastcol=col;
++ for (i = 0; keymap_a[i] != 0; i++)
++ if ((keymap_a[i] & 0xff000000) == key)
++ return keymap_a[i] & 0x00ffffff;
++ }
++ else if ( alphaset==2 ) {
++ if ( (lastrow==row) && (lastcol==col)) {
++ if (alphatimeout==0) {
++ for (i = 0; keymap_b[i] != 0; i++)
++ if ((keymap_b[i] & 0xff000000) == key)
++ return keymap_b[i] & 0x00ffffff;
++ }
++ else {
++ if (timer_pending(&alpha_timeout))
++ del_timer(&alpha_timeout);
++ alphaset=0;
++ for (i = 0; keymap[i] != 0; i++)
++ if ((keymap[i] & 0xff000000) == key)
++ return keymap[i] & 0x00ffffff;
++ }
++ }
++ else {
++ if (timer_pending(&alpha_timeout))
++ del_timer(&alpha_timeout);
++ alphaset=0;
++ for (i = 0; keymap[i] != 0; i++)
++ if ((keymap[i] & 0xff000000) == key)
++ return keymap[i] & 0x00ffffff;
++ }
++ }
++ else {
++ for (i = 0; keymap[i] != 0; i++)
++ if ((keymap[i] & 0xff000000) == key)
++ return keymap[i] & 0x00ffffff;
++ }
++
++ return -1;
++}
++
++static void m8050_kp_tasklet(unsigned long data)
++{
++ struct m8050_kp *m8050_kp_data = (struct m8050_kp *) data;
++ unsigned char new_state[8], changed, key_down = 0;
++ int col, row;
++ int spurious = 0;
++ int suspend_requested=0;
++
++ if (m8050_kp_data->suspended) {
++ return;
++ }
++ /* check for any changes */
++ m8050_kp_scan_keypad(m8050_kp_data, new_state);
++
++ /* check for changes and print those */
++ for (col = 0; col < m8050_kp_data->cols; col++) {
++ changed = new_state[col] ^ keypad_state[col];
++ key_down |= new_state[col];
++ if (changed == 0)
++ continue;
++
++ for (row = 0; row < m8050_kp_data->rows; row++) {
++ int key;
++ if (!(changed & (1 << row)))
++ continue;
++#ifdef NEW_BOARD_LEARNING_MODE
++ printk(KERN_INFO "m8050-keypad: key %d-%d %s\n", col,
++ row, (new_state[col] & (1 << row)) ?
++ "pressed" : "released");
++#else
++ key = m8050_kp_find_key(col, row);
++ if (key < 0) {
++ printk(KERN_WARNING
++ "m8050-keypad: Spurious key event %d-%d\n",
++ col, row);
++ /* We scan again after a couple of seconds */
++ spurious = 1;
++ continue;
++ }
++
++ if (!(kp_cur_group == (key & GROUP_MASK) ||
++ kp_cur_group == -1))
++ continue;
++
++ kp_cur_group = key & GROUP_MASK;
++ if (key_down && (key == KEY_SUSPEND)
++ && time_after(jiffies, m8050_kp_data->suspend_jiffies + HZ)) {
++
++ suspend_requested=1;
++ m8050_kp_data->suspended=1;
++ }
++ else {
++ if (key != KEY_SUSPEND){
++ if ( key == KEY_LEFTALT ) {
++ alphaset=1;
++ }
++ else {
++ if ( (alphaset==2) && (new_state[col] & (1 << row))==0){
++ alphaset=0;
++ if (timer_pending(&alpha_timeout))
++ del_timer(&alpha_timeout);
++ alphatimeout=0;
++ }
++ if ( (alphaset==1) && (new_state[col] & (1 << row))==0){
++ mod_timer(&alpha_timeout, jiffies + (HZ));
++ alphaset=2;
++ }
++ if ( (alphaset > 1) && (new_state[col] & (1 << row))!=0) {
++ input_report_key(m8050_kp_data->input, KEY_BACKSPACE,1);
++ input_report_key(m8050_kp_data->input, KEY_BACKSPACE,0);
++ }
++ input_report_key(m8050_kp_data->input, key & ~GROUP_MASK,
++ new_state[col] & (1 << row));
++ }
++ }
++ }
++#endif
++ }
++ }
++ memcpy(keypad_state, new_state, sizeof(keypad_state));
++
++ input_sync(m8050_kp_data->input);
++
++ if (key_down && (suspend_requested==0)) {
++ int delay = HZ / 20;
++ /* some key is pressed - keep irq disabled and use timer
++ * to poll the keypad */
++ if (spurious)
++ delay = 2 * HZ;
++ mod_timer(&m8050_kp_data->timer, jiffies + delay);
++ } else {
++ /* enable interrupts */
++ int i;
++ for (i = 0; i < m8050_kp_data->rows; i++)
++ enable_irq(S3C2410_IRQ(36+i));
++ }
++
++ if (suspend_requested){
++
++ input_event(m8050_kp_data->input, EV_PWR, KEY_SUSPEND, 1);
++ m8050_kp_data->suspend_jiffies=jiffies;
++ }
++}
++#ifdef CONFIG_PM
++static int m8050_kp_suspend(struct platform_device *dev, pm_message_t state)
++{
++ struct m8050_kp *m8050_kp_data = platform_get_drvdata(dev);
++
++ del_timer_sync(&m8050_kp_data->timer);
++
++ s3c2410_gpio_setpin(S3C2440_GPJ8, 1);
++ s3c2410_gpio_setpin(S3C2440_GPJ9, 1);
++ s3c2410_gpio_setpin(S3C2440_GPJ10, 1);
++ s3c2410_gpio_setpin(S3C2440_GPJ11, 1);
++ s3c2410_gpio_setpin(S3C2440_GPJ12, 0);
++
++ return 0;
++}
++
++static int m8050_kp_resume(struct platform_device *dev)
++{
++ struct m8050_kp *m8050_kp_data = platform_get_drvdata(dev);
++
++ /* Upon resume, ignore the suspend key for a short while */
++ m8050_kp_data->suspend_jiffies=jiffies;
++ m8050_kp_data->suspended = 0;
++ mod_timer(&m8050_kp_data->timer, jiffies + 50);
++
++ return 0;
++}
++#else
++#define m8050_kp_suspend NULL
++#define m8050_kp_resume NULL
++#endif
++
++static int __init m8050_kp_probe(struct platform_device *pdev)
++{
++ struct m8050_kp *m8050_kp;
++ struct input_dev *input_dev;
++ struct m8050_kp_platform_data *pdata = pdev->dev.platform_data;
++ int i, irq_idx, ret;
++
++ if (!pdata->rows || !pdata->cols || !pdata->keymap || !pdata->keymap_a || !pdata->keymap_b) {
++ printk(KERN_ERR "No rows, cols or keymap from pdata\n");
++ return -EINVAL;
++ }
++
++ m8050_kp = kzalloc(sizeof(struct m8050_kp), GFP_KERNEL);
++ input_dev = input_allocate_device();
++ if (!m8050_kp || !input_dev) {
++ kfree(m8050_kp);
++ input_free_device(input_dev);
++ return -ENOMEM;
++ }
++
++ platform_set_drvdata(pdev, m8050_kp);
++
++ m8050_kp->input = input_dev;
++
++ keymap = pdata->keymap;
++ keymap_a = pdata->keymap_a;
++ keymap_b = pdata->keymap_b;
++
++ if (pdata->rep)
++ __set_bit(EV_REP, input_dev->evbit);
++
++ if (pdata->delay)
++ m8050_kp->delay = pdata->delay;
++
++ if (pdata->row_gpios && pdata->col_gpios) {
++ row_gpios = pdata->row_gpios;
++ col_gpios = pdata->col_gpios;
++ }
++
++ m8050_kp->rows = pdata->rows;
++ m8050_kp->cols = pdata->cols;
++
++ /* Cols: outputs */
++ s3c2410_gpio_cfgpin(S3C2440_GPJ8, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ8, 1);
++ s3c2410_gpio_cfgpin(S3C2440_GPJ9, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ9, 1);
++ s3c2410_gpio_cfgpin(S3C2440_GPJ10, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ10, 1);
++ s3c2410_gpio_cfgpin(S3C2440_GPJ11, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ11, 1);
++ s3c2410_gpio_cfgpin(S3C2440_GPJ12, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ12, 1);
++
++ /* Rows: inputs */
++ s3c2410_gpio_cfgpin(S3C2410_GPG0, S3C2410_GPIO_IRQ);
++ s3c2410_gpio_cfgpin(S3C2410_GPG1, S3C2410_GPIO_IRQ);
++ s3c2410_gpio_cfgpin(S3C2410_GPG2, S3C2410_GPIO_IRQ);
++ s3c2410_gpio_cfgpin(S3C2410_GPG3, S3C2410_GPIO_IRQ);
++
++
++ setup_timer(&m8050_kp->timer, m8050_kp_timer, (unsigned long)m8050_kp);
++
++ /* get the irq and init timer*/
++ tasklet_enable(&kp_tasklet);
++ kp_tasklet.data = (unsigned long) m8050_kp;
++
++ /* setup input device */
++ __set_bit(EV_KEY, input_dev->evbit);
++ __set_bit(EV_PWR, input_dev->evbit);
++ for (i = 0; keymap[i] != 0; i++)
++ __set_bit(keymap[i] & KEY_MAX, input_dev->keybit);
++
++ for (i = 0; keymap_a[i] != 0; i++)
++ __set_bit(keymap_a[i] & KEY_MAX, input_dev->keybit);
++
++ for (i = 0; keymap_b[i] != 0; i++)
++ __set_bit(keymap_b[i] & KEY_MAX, input_dev->keybit);
++
++ input_dev->name = "m8050-keypad";
++ input_dev->phys = "m8050-keypad/input0";
++ input_dev->dev.parent = &pdev->dev;
++
++ input_dev->id.bustype = BUS_HOST;
++ input_dev->id.vendor = 0x0001;
++ input_dev->id.product = 0x0001;
++ input_dev->id.version = 0x0100;
++
++ ret = input_register_device(m8050_kp->input);
++ if (ret < 0) {
++ printk(KERN_ERR "Unable to register m8050-keypad input device\n");
++ goto err2;
++ }
++
++ /* scan current status and enable interrupt */
++ m8050_kp_scan_keypad(m8050_kp, keypad_state);
++ for (irq_idx = 0; irq_idx < m8050_kp->rows; irq_idx++) {
++ if (request_irq(S3C2410_IRQ(36+irq_idx),
++ m8050_kp_interrupt,
++ IRQF_TRIGGER_FALLING,
++ "m8050-keypad", m8050_kp) < 0)
++ goto err3;
++ }
++
++ m8050_kp->suspend_jiffies=jiffies;
++
++ return 0;
++err3:
++ for (i = irq_idx - 1; i >=0; i--)
++ free_irq(S3C2410_IRQ(36+irq_idx), 0);
++ input_unregister_device(m8050_kp->input);
++ input_dev = NULL;
++err2:
++ kfree(m8050_kp);
++ input_free_device(input_dev);
++
++ return -EINVAL;
++}
++
++static int m8050_kp_remove(struct platform_device *pdev)
++{
++ struct m8050_kp *m8050_kp = platform_get_drvdata(pdev);
++
++ /* disable keypad interrupt handling */
++ tasklet_disable(&kp_tasklet);
++
++ del_timer_sync(&m8050_kp->timer);
++ tasklet_kill(&kp_tasklet);
++
++ /* unregister everything */
++ input_unregister_device(m8050_kp->input);
++
++ kfree(m8050_kp);
++
++ return 0;
++}
++
++static struct platform_driver m8050_kp_driver = {
++ .probe = m8050_kp_probe,
++ .remove = m8050_kp_remove,
++ .suspend = m8050_kp_suspend,
++ .resume = m8050_kp_resume,
++ .driver = {
++ .name = "m8050-keypad",
++ },
++};
++
++static int __devinit m8050_kp_init(void)
++{
++ printk(KERN_INFO "M8050 Keypad Driver\n");
++ return platform_driver_register(&m8050_kp_driver);
++}
++
++static void __exit m8050_kp_exit(void)
++{
++ platform_driver_unregister(&m8050_kp_driver);
++}
++
++module_init(m8050_kp_init);
++module_exit(m8050_kp_exit);
++
++MODULE_AUTHOR("David Anders");
++MODULE_DESCRIPTION("M8050 Keypad Driver");
++MODULE_LICENSE("GPL");
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/input/keyboard/Makefile linux-2.6.25-m8050/drivers/input/keyboard/Makefile
+--- linux-git/drivers/input/keyboard/Makefile 2008-11-10 12:20:17.000000000 +0100
++++ linux-2.6.25-m8050/drivers/input/keyboard/Makefile 2008-05-22 08:51:44.000000000 +0200
+@@ -11,6 +11,7 @@
+ obj-$(CONFIG_KEYBOARD_AMIGA) += amikbd.o
+ obj-$(CONFIG_KEYBOARD_ATARI) += atakbd.o
+ obj-$(CONFIG_KEYBOARD_LOCOMO) += locomokbd.o
++obj-$(CONFIG_KEYBOARD_M8050) += m8050-keypad.o
+ obj-$(CONFIG_KEYBOARD_NEWTON) += newtonkbd.o
+ obj-$(CONFIG_KEYBOARD_STOWAWAY) += stowaway.o
+ obj-$(CONFIG_KEYBOARD_CORGI) += corgikbd.o
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/input/Makefile linux-2.6.25-m8050/drivers/input/Makefile
+--- linux-git/drivers/input/Makefile 2008-11-10 12:20:17.000000000 +0100
++++ linux-2.6.25-m8050/drivers/input/Makefile 2008-10-01 15:26:09.000000000 +0200
+@@ -23,3 +23,4 @@
+ obj-$(CONFIG_INPUT_MISC) += misc/
+
+ obj-$(CONFIG_INPUT_APMPOWER) += apm-power.o
++obj-$(CONFIG_INPUT_GENERICLEDS) += generic-leds.o
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/input/misc/Kconfig linux-2.6.25-m8050/drivers/input/misc/Kconfig
+--- linux-git/drivers/input/misc/Kconfig 2008-11-10 12:20:17.000000000 +0100
++++ linux-2.6.25-m8050/drivers/input/misc/Kconfig 2008-10-01 11:25:17.000000000 +0200
+@@ -197,4 +197,10 @@
+ Say Y here if you want to support the built-in real time clock
+ of the HP SDC controller.
+
++config INPUT_M8050BC
++ tristate "M8050 Barcode Scanner"
++ depends on MACH_AML_M8050
++ help
++ Say Y here if you want the M8050 Barcode Scanner interface.
++
+ endif
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/input/misc/m8050-barcode.c linux-2.6.25-m8050/drivers/input/misc/m8050-barcode.c
+--- linux-git/drivers/input/misc/m8050-barcode.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/drivers/input/misc/m8050-barcode.c 2008-10-01 14:28:27.000000000 +0200
+@@ -0,0 +1,149 @@
++/*
++ * m68k beeper driver for Linux
++ *
++ * Copyright (c) 2002 Richard Zidlicky
++ * Copyright (c) 2002 Vojtech Pavlik
++ * Copyright (c) 1992 Orest Zborowski
++ *
++ */
++
++/*
++ * 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/module.h>
++#include <linux/init.h>
++#include <linux/input.h>
++#include <linux/platform_device.h>
++#include <linux/leds.h>
++
++MODULE_AUTHOR("Richard Zidlicky <rz@linux-m68k.org>");
++MODULE_DESCRIPTION("m68k beeper driver");
++MODULE_LICENSE("GPL");
++
++static struct platform_device *barcode_platform_device;
++
++static int barcode_event(struct input_dev *dev, unsigned int type, unsigned int code, int value)
++{
++
++ if (type != EV_LED){
++ printk("NOT a EV_LED Event from barcode!\n");
++ return -1;
++
++ }
++
++ printk("EV_LED Event from barcode!\n");
++
++ if (value)
++ ledtrig_ev_led_activity();
++
++// switch (code) {
++// case SND_BELL: if (value) value = 1000;
++// case SND_TONE: break;
++// default: return -1;
++// }
++
++ return 0;
++}
++
++static int __devinit barcode_probe(struct platform_device *dev)
++{
++ struct input_dev *input_dev;
++ int err;
++
++ input_dev = input_allocate_device();
++ if (!input_dev)
++ return -ENOMEM;
++
++ printk("m8050 barcode probe!\n");
++ input_dev->name = "M8050 Barcode";
++ input_dev->phys = "m8050/generic";
++ input_dev->id.bustype = BUS_HOST;
++ input_dev->id.vendor = 0x001f;
++ input_dev->id.product = 0x0001;
++ input_dev->id.version = 0x0100;
++ input_dev->dev.parent = &dev->dev;
++
++// input_dev->evbit[0] = BIT_MASK(EV_LED);
++// input_dev->ledbit[0] = BIT_MASK(LED_MISC);
++
++ set_bit (EV_LED, input_dev->evbit);
++ set_bit (LED_MISC, input_dev->ledbit);
++
++ input_dev->event = barcode_event;
++
++ err = input_register_device(input_dev);
++ if (err) {
++ input_free_device(input_dev);
++ return err;
++ }
++
++ platform_set_drvdata(dev, input_dev);
++
++ return 0;
++}
++
++static int __devexit barcode_remove(struct platform_device *dev)
++{
++ struct input_dev *input_dev = platform_get_drvdata(dev);
++
++ input_unregister_device(input_dev);
++ platform_set_drvdata(dev, NULL);
++
++ return 0;
++}
++
++static void barcode_shutdown(struct platform_device *dev)
++{
++
++}
++
++static struct platform_driver barcode_platform_driver = {
++ .driver = {
++ .name = "m8050bc",
++ .owner = THIS_MODULE,
++ },
++ .probe = barcode_probe,
++ .remove = __devexit_p(barcode_remove),
++ .shutdown = barcode_shutdown,
++};
++
++static int __init barcode_init(void)
++{
++ int err;
++
++ err = platform_driver_register(&barcode_platform_driver);
++ if (err)
++ return err;
++
++ barcode_platform_device = platform_device_alloc("m8050bc", -1);
++ if (!barcode_platform_device) {
++ err = -ENOMEM;
++ goto err_unregister_driver;
++ }
++
++ err = platform_device_add(barcode_platform_device);
++ if (err)
++ goto err_free_device;
++
++ return 0;
++
++ err_free_device:
++ platform_device_put(barcode_platform_device);
++ err_unregister_driver:
++ platform_driver_unregister(&barcode_platform_driver);
++
++ return err;
++}
++
++static void __exit barcode_exit(void)
++{
++ platform_device_unregister(barcode_platform_device);
++ platform_driver_unregister(&barcode_platform_driver);
++}
++
++module_init(barcode_init);
++module_exit(barcode_exit);
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/input/misc/Makefile linux-2.6.25-m8050/drivers/input/misc/Makefile
+--- linux-git/drivers/input/misc/Makefile 2008-11-10 12:20:17.000000000 +0100
++++ linux-2.6.25-m8050/drivers/input/misc/Makefile 2008-10-01 11:25:47.000000000 +0200
+@@ -19,3 +19,4 @@
+ obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o
+ obj-$(CONFIG_INPUT_UINPUT) += uinput.o
+ obj-$(CONFIG_INPUT_APANEL) += apanel.o
++obj-$(CONFIG_INPUT_M8050BC) += m8050-barcode.o
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/input/mouse/gpio_mouse.c linux-2.6.25-m8050/drivers/input/mouse/gpio_mouse.c
+--- linux-git/drivers/input/mouse/gpio_mouse.c 2008-11-10 12:20:17.000000000 +0100
++++ linux-2.6.25-m8050/drivers/input/mouse/gpio_mouse.c 2008-10-03 15:43:59.000000000 +0200
+@@ -8,6 +8,8 @@
+ * published by the Free Software Foundation.
+ */
+
++#include <linux/kernel.h>
++#include <linux/errno.h>
+ #include <linux/init.h>
+ #include <linux/version.h>
+ #include <linux/module.h>
+@@ -17,6 +19,9 @@
+
+ #include <asm/gpio.h>
+
++int last_x=0;
++int last_y=0;
++int last_bleft;
+ /*
+ * Timer function which is run every scan_ms ms when the device is opened.
+ * The dev input varaible is set to the the input_dev pointer.
+@@ -25,11 +30,15 @@
+ {
+ struct gpio_mouse_platform_data *gpio = dev->private;
+ struct input_dev *input = dev->input;
+- int x, y;
+-
+- if (gpio->bleft >= 0)
+- input_report_key(input, BTN_LEFT,
+- gpio_get_value(gpio->bleft) ^ gpio->polarity);
++ int x, y,bleft,do_sync=0;
++ if (gpio->bleft >= 0) {
++ bleft=((gpio_get_value(gpio->bleft) ? 1 : 0) ^ gpio->polarity);
++ if ( bleft != last_bleft ) {
++ input_report_key(input, BTN_LEFT,bleft);
++ do_sync=1;
++ last_bleft=bleft;
++ }
++ }
+ if (gpio->bmiddle >= 0)
+ input_report_key(input, BTN_MIDDLE,
+ gpio_get_value(gpio->bmiddle) ^ gpio->polarity);
+@@ -37,14 +46,25 @@
+ input_report_key(input, BTN_RIGHT,
+ gpio_get_value(gpio->bright) ^ gpio->polarity);
+
+- x = (gpio_get_value(gpio->right) ^ gpio->polarity)
+- - (gpio_get_value(gpio->left) ^ gpio->polarity);
+- y = (gpio_get_value(gpio->down) ^ gpio->polarity)
+- - (gpio_get_value(gpio->up) ^ gpio->polarity);
+-
+- input_report_rel(input, REL_X, x);
+- input_report_rel(input, REL_Y, y);
+- input_sync(input);
++ x = ((gpio_get_value(gpio->right) ? 1 : 0) ^ gpio->polarity)
++ - ((gpio_get_value(gpio->left) ? 1 : 0) ^ gpio->polarity);
++ y = ((gpio_get_value(gpio->down) ? 1 : 0) ^ gpio->polarity)
++ - ((gpio_get_value(gpio->up) ? 1 : 0) ^ gpio->polarity);
++
++ if ( (x!=0) || (y!=0) ) {
++ if( last_x==0 ){
++ input_report_rel(input, REL_X, (x*5));
++ do_sync=1;
++ }
++ if( last_y==0 ) {
++ input_report_rel(input, REL_Y, (y*5));
++ do_sync=1;
++ }
++ }
++ if (do_sync)
++ input_sync(input);
++ last_x=x;
++ last_y=y;
+ }
+
+ static int __init gpio_mouse_probe(struct platform_device *pdev)
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/input/touchscreen/Kconfig linux-2.6.25-m8050/drivers/input/touchscreen/Kconfig
+--- linux-git/drivers/input/touchscreen/Kconfig 2008-11-10 12:20:17.000000000 +0100
++++ linux-2.6.25-m8050/drivers/input/touchscreen/Kconfig 2008-05-29 07:57:07.000000000 +0200
+@@ -67,6 +67,24 @@
+ To compile this driver as a module, choose M here: the
+ module will be called fujitsu-ts.
+
++config TOUCHSCREEN_S3C2410
++ tristate "Samsung S3C2410 touchscreen input driver"
++ depends on ARCH_S3C2410 && INPUT && INPUT_TOUCHSCREEN
++ select SERIO
++ help
++ Say Y here if you have the s3c2410 touchscreen.
++
++ If unsure, say N.
++
++ To compile this driver as a module, choose M here: the
++ module will be called s3c2410_ts.
++
++config TOUCHSCREEN_S3C2410_DEBUG
++ boolean "Samsung S3C2410 touchscreen debug messages"
++ depends on TOUCHSCREEN_S3C2410
++ help
++ Select this if you want debug messages
++
+ config TOUCHSCREEN_GUNZE
+ tristate "Gunze AHL-51S touchscreen"
+ select SERIO
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/input/touchscreen/Makefile linux-2.6.25-m8050/drivers/input/touchscreen/Makefile
+--- linux-git/drivers/input/touchscreen/Makefile 2008-11-10 12:20:17.000000000 +0100
++++ linux-2.6.25-m8050/drivers/input/touchscreen/Makefile 2008-05-29 07:57:07.000000000 +0200
+@@ -7,6 +7,7 @@
+ obj-$(CONFIG_TOUCHSCREEN_ADS7846) += ads7846.o
+ obj-$(CONFIG_TOUCHSCREEN_BITSY) += h3600_ts_input.o
+ obj-$(CONFIG_TOUCHSCREEN_CORGI) += corgi_ts.o
++obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o
+ obj-$(CONFIG_TOUCHSCREEN_GUNZE) += gunze.o
+ obj-$(CONFIG_TOUCHSCREEN_ELO) += elo.o
+ obj-$(CONFIG_TOUCHSCREEN_FUJITSU) += fujitsu_ts.o
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/input/touchscreen/s3c2410_ts.c linux-2.6.25-m8050/drivers/input/touchscreen/s3c2410_ts.c
+--- linux-git/drivers/input/touchscreen/s3c2410_ts.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/drivers/input/touchscreen/s3c2410_ts.c 2008-06-26 12:49:20.000000000 +0200
+@@ -0,0 +1,432 @@
++/*
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ *
++ * Copyright (c) 2004 Arnaud Patard <arnaud.patard@rtp-net.org>
++ * iPAQ H1940 touchscreen support
++ *
++ * ChangeLog
++ *
++ * 2004-09-05: Herbert Pötzl <herbert@13thfloor.at>
++ * - added clock (de-)allocation code
++ *
++ * 2005-03-06: Arnaud Patard <arnaud.patard@rtp-net.org>
++ * - h1940_ -> s3c2410 (this driver is now also used on the n30
++ * machines :P)
++ * - Debug messages are now enabled with the config option
++ * TOUCHSCREEN_S3C2410_DEBUG
++ * - Changed the way the value are read
++ * - Input subsystem should now work
++ * - Use ioremap and readl/writel
++ *
++ * 2005-03-23: Arnaud Patard <arnaud.patard@rtp-net.org>
++ * - Make use of some undocumented features of the touchscreen
++ * controller
++ *
++ * 2007-05-23: Harald Welte <laforge@openmoko.org>
++ * - Add proper support for S32440
++ */
++
++#include <linux/errno.h>
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/slab.h>
++#include <linux/input.h>
++#include <linux/init.h>
++#include <linux/serio.h>
++#include <linux/delay.h>
++#include <linux/platform_device.h>
++#include <linux/clk.h>
++#include <asm/io.h>
++#include <asm/irq.h>
++
++#include <asm/plat-s3c/regs-adc.h>
++#include <asm/arch/regs-gpio.h>
++#include <asm/arch/ts.h>
++
++#define SWAP_AXIS
++
++/* For ts.dev.id.version */
++#define S3C2410TSVERSION 0x0101
++
++#define TSC_SLEEP (S3C2410_ADCTSC_PULL_UP_DISABLE | S3C2410_ADCTSC_XY_PST(0))
++
++#define WAIT4INT(x) (((x)<<8) | \
++ S3C2410_ADCTSC_YM_SEN | S3C2410_ADCTSC_YP_SEN | S3C2410_ADCTSC_XP_SEN | \
++ S3C2410_ADCTSC_XY_PST(3))
++
++#define AUTOPST (S3C2410_ADCTSC_YM_SEN | S3C2410_ADCTSC_YP_SEN | S3C2410_ADCTSC_XP_SEN | \
++ S3C2410_ADCTSC_AUTO_PST | S3C2410_ADCTSC_XY_PST(0))
++
++#define DEBUG_LVL KERN_DEBUG
++
++MODULE_AUTHOR("Arnaud Patard <arnaud.patard@rtp-net.org>");
++MODULE_DESCRIPTION("s3c2410 touchscreen driver");
++MODULE_LICENSE("GPL");
++
++/*
++ * Definitions & global arrays.
++ */
++
++
++static char *s3c2410ts_name = "s3c2410 TouchScreen";
++
++/*
++ * Per-touchscreen data.
++ */
++
++struct s3c2410ts {
++ struct input_dev *dev;
++ long xp;
++ long yp;
++ int count;
++ int shift;
++};
++
++static struct s3c2410ts ts;
++static void __iomem *base_addr;
++
++static inline void s3c2410_ts_connect(void)
++{
++ s3c2410_gpio_cfgpin(S3C2410_GPG12, S3C2410_GPG12_XMON);
++ s3c2410_gpio_cfgpin(S3C2410_GPG13, S3C2410_GPG13_nXPON);
++ s3c2410_gpio_cfgpin(S3C2410_GPG14, S3C2410_GPG14_YMON);
++ s3c2410_gpio_cfgpin(S3C2410_GPG15, S3C2410_GPG15_nYPON);
++}
++
++static void touch_timer_fire(unsigned long data)
++{
++ unsigned long data0;
++ unsigned long data1;
++ int updown;
++
++ data0 = readl(base_addr+S3C2410_ADCDAT0);
++ data1 = readl(base_addr+S3C2410_ADCDAT1);
++
++ updown = (!(data0 & S3C2410_ADCDAT0_UPDOWN)) && (!(data1 & S3C2410_ADCDAT0_UPDOWN));
++
++ if (updown) {
++ if (ts.count != 0) {
++ ts.xp >>= ts.shift;
++ ts.yp >>= ts.shift;
++
++#ifdef CONFIG_TOUCHSCREEN_S3C2410_DEBUG
++ {
++ struct timeval tv;
++ do_gettimeofday(&tv);
++ printk(DEBUG_LVL "T: %06d, X: %03ld, Y: %03ld\n", (int)tv.tv_usec, ts.xp, ts.yp);
++ }
++#endif
++
++#ifdef SWAP_AXIS
++ input_report_abs(ts.dev, ABS_X, ts.yp);
++ input_report_abs(ts.dev, ABS_Y, ts.xp);
++#else
++ input_report_abs(ts.dev, ABS_X, ts.xp);
++ input_report_abs(ts.dev, ABS_Y, ts.yp);
++#endif
++ input_report_key(ts.dev, BTN_TOUCH, 1);
++ input_report_abs(ts.dev, ABS_PRESSURE, 1);
++ input_sync(ts.dev);
++ }
++
++ ts.xp = 0;
++ ts.yp = 0;
++ ts.count = 0;
++
++ writel(S3C2410_ADCTSC_PULL_UP_DISABLE | AUTOPST, base_addr+S3C2410_ADCTSC);
++ writel(readl(base_addr+S3C2410_ADCCON) | S3C2410_ADCCON_ENABLE_START, base_addr+S3C2410_ADCCON);
++ } else {
++ ts.count = 0;
++
++ input_report_key(ts.dev, BTN_TOUCH, 0);
++ input_report_abs(ts.dev, ABS_PRESSURE, 0);
++ input_sync(ts.dev);
++
++ writel(WAIT4INT(0), base_addr+S3C2410_ADCTSC);
++ }
++}
++
++static struct timer_list touch_timer =
++ TIMER_INITIALIZER(touch_timer_fire, 0, 0);
++
++static irqreturn_t stylus_updown(int irq, void *dev_id)
++{
++ unsigned long data0;
++ unsigned long data1;
++ int updown;
++
++ data0 = readl(base_addr+S3C2410_ADCDAT0);
++ data1 = readl(base_addr+S3C2410_ADCDAT1);
++
++ updown = (!(data0 & S3C2410_ADCDAT0_UPDOWN)) && (!(data1 & S3C2410_ADCDAT0_UPDOWN));
++
++ /* TODO we should never get an interrupt with updown set while
++ * the timer is running, but maybe we ought to verify that the
++ * timer isn't running anyways. */
++
++ if (updown)
++ touch_timer_fire(0);
++
++ return IRQ_HANDLED;
++}
++
++
++static irqreturn_t stylus_action(int irq, void *dev_id)
++{
++ unsigned long data0;
++ unsigned long data1;
++
++ data0 = readl(base_addr+S3C2410_ADCDAT0);
++ data1 = readl(base_addr+S3C2410_ADCDAT1);
++
++ ts.xp += data0 & S3C2410_ADCDAT0_XPDATA_MASK;
++ ts.yp += data1 & S3C2410_ADCDAT1_YPDATA_MASK;
++ ts.count++;
++
++ if (ts.count < (1<<ts.shift)) {
++ writel(S3C2410_ADCTSC_PULL_UP_DISABLE | AUTOPST, base_addr+S3C2410_ADCTSC);
++ writel(readl(base_addr+S3C2410_ADCCON) | S3C2410_ADCCON_ENABLE_START, base_addr+S3C2410_ADCCON);
++ } else {
++ mod_timer(&touch_timer, jiffies+1);
++ writel(WAIT4INT(1), base_addr+S3C2410_ADCTSC);
++ }
++
++ return IRQ_HANDLED;
++}
++
++static struct clk *adc_clock;
++
++/*
++ * The functions for inserting/removing us as a module.
++ */
++
++static int __init s3c2410ts_probe(struct platform_device *pdev)
++{
++ struct s3c2410_ts_mach_info *info;
++ struct input_dev *input_dev;
++
++ info = ( struct s3c2410_ts_mach_info *)pdev->dev.platform_data;
++
++ if (!info)
++ {
++ printk(KERN_ERR "Hm... too bad : no platform data for ts\n");
++ return -EINVAL;
++ }
++
++#ifdef CONFIG_TOUCHSCREEN_S3C2410_DEBUG
++ printk(DEBUG_LVL "Entering s3c2410ts_init\n");
++#endif
++
++ adc_clock = clk_get(NULL, "adc");
++ if (!adc_clock) {
++ printk(KERN_ERR "failed to get adc clock source\n");
++ return -ENOENT;
++ }
++ clk_enable(adc_clock);
++
++#ifdef CONFIG_TOUCHSCREEN_S3C2410_DEBUG
++ printk(DEBUG_LVL "got and enabled clock\n");
++#endif
++
++ base_addr=ioremap(S3C2410_PA_ADC,0x20);
++ if (base_addr == NULL) {
++ printk(KERN_ERR "Failed to remap register block\n");
++ return -ENOMEM;
++ }
++
++
++ /* If we acutally are a S3C2410: Configure GPIOs */
++ if (!strcmp(pdev->name, "s3c2410-ts"))
++ s3c2410_ts_connect();
++
++ if ((info->presc&0xff) > 0)
++ writel(S3C2410_ADCCON_PRSCEN | S3C2410_ADCCON_PRSCVL(info->presc&0xFF),\
++ base_addr+S3C2410_ADCCON);
++ else
++ writel(0,base_addr+S3C2410_ADCCON);
++
++
++ /* Initialise registers */
++ if ((info->delay&0xffff) > 0)
++ writel(info->delay & 0xffff, base_addr+S3C2410_ADCDLY);
++
++ writel(WAIT4INT(0), base_addr+S3C2410_ADCTSC);
++
++ /* Initialise input stuff */
++ memset(&ts, 0, sizeof(struct s3c2410ts));
++ input_dev = input_allocate_device();
++
++ if (!input_dev) {
++ printk(KERN_ERR "Unable to allocate the input device !!\n");
++ return -ENOMEM;
++ }
++
++ ts.dev = input_dev;
++ ts.dev->evbit[0] = BIT(EV_SYN) | BIT(EV_KEY) | BIT(EV_ABS);
++ ts.dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
++ input_set_abs_params(ts.dev, ABS_X, 0, 0x3FF, 0, 0);
++ input_set_abs_params(ts.dev, ABS_Y, 0, 0x3FF, 0, 0);
++ input_set_abs_params(ts.dev, ABS_PRESSURE, 0, 1, 0, 0);
++
++ ts.dev->private = &ts;
++ ts.dev->name = s3c2410ts_name;
++ ts.dev->id.bustype = BUS_RS232;
++ ts.dev->id.vendor = 0xDEAD;
++ ts.dev->id.product = 0xBEEF;
++ ts.dev->id.version = S3C2410TSVERSION;
++
++ ts.shift = info->oversampling_shift;
++
++ /* Get irqs */
++ if (request_irq(IRQ_ADC, stylus_action, IRQF_SAMPLE_RANDOM,
++ "s3c2410_action", ts.dev)) {
++ printk(KERN_ERR "s3c2410_ts.c: Could not allocate ts IRQ_ADC !\n");
++ iounmap(base_addr);
++ return -EIO;
++ }
++ if (request_irq(IRQ_TC, stylus_updown, IRQF_SAMPLE_RANDOM,
++ "s3c2410_action", ts.dev)) {
++ printk(KERN_ERR "s3c2410_ts.c: Could not allocate ts IRQ_TC !\n");
++ iounmap(base_addr);
++ return -EIO;
++ }
++
++ printk(KERN_INFO "%s successfully loaded\n", s3c2410ts_name);
++
++ /* All went ok, so register to the input system */
++ input_register_device(ts.dev);
++
++ return 0;
++}
++
++static int s3c2410ts_remove(struct platform_device *pdev)
++{
++ disable_irq(IRQ_ADC);
++ disable_irq(IRQ_TC);
++ free_irq(IRQ_TC,ts.dev);
++ free_irq(IRQ_ADC,ts.dev);
++
++ if (adc_clock) {
++ clk_disable(adc_clock);
++ clk_put(adc_clock);
++ adc_clock = NULL;
++ }
++
++ input_unregister_device(ts.dev);
++ iounmap(base_addr);
++
++ return 0;
++}
++
++#ifdef CONFIG_PM
++static int s3c2410ts_suspend(struct platform_device *pdev, pm_message_t state)
++{
++ writel(TSC_SLEEP, base_addr+S3C2410_ADCTSC);
++ writel(readl(base_addr+S3C2410_ADCCON) | S3C2410_ADCCON_STDBM,
++ base_addr+S3C2410_ADCCON);
++
++ disable_irq(IRQ_ADC);
++ disable_irq(IRQ_TC);
++
++ clk_disable(adc_clock);
++
++ return 0;
++}
++
++static int s3c2410ts_resume(struct platform_device *pdev)
++{
++ struct s3c2410_ts_mach_info *info =
++ ( struct s3c2410_ts_mach_info *)pdev->dev.platform_data;
++
++ clk_enable(adc_clock);
++ msleep(1);
++
++ enable_irq(IRQ_ADC);
++ enable_irq(IRQ_TC);
++
++ if ((info->presc&0xff) > 0)
++ writel(S3C2410_ADCCON_PRSCEN | S3C2410_ADCCON_PRSCVL(info->presc&0xFF),\
++ base_addr+S3C2410_ADCCON);
++ else
++ writel(0,base_addr+S3C2410_ADCCON);
++
++ /* Initialise registers */
++ if ((info->delay&0xffff) > 0)
++ writel(info->delay & 0xffff, base_addr+S3C2410_ADCDLY);
++
++ writel(WAIT4INT(0), base_addr+S3C2410_ADCTSC);
++
++ return 0;
++}
++
++#else
++#define s3c2410ts_suspend NULL
++#define s3c2410ts_resume NULL
++#endif
++
++static struct platform_driver s3c2410ts_driver = {
++ .driver = {
++ .name = "s3c2410-ts",
++ .owner = THIS_MODULE,
++ },
++ .probe = s3c2410ts_probe,
++ .remove = s3c2410ts_remove,
++ .suspend = s3c2410ts_suspend,
++ .resume = s3c2410ts_resume,
++
++};
++
++static struct platform_driver s3c2440ts_driver = {
++ .driver = {
++ .name = "s3c2440-ts",
++ .owner = THIS_MODULE,
++ },
++ .probe = s3c2410ts_probe,
++ .remove = s3c2410ts_remove,
++ .suspend = s3c2410ts_suspend,
++ .resume = s3c2410ts_resume,
++
++};
++
++static int __init s3c2410ts_init(void)
++{
++ int rc;
++
++ rc = platform_driver_register(&s3c2410ts_driver);
++ if (rc < 0)
++ return rc;
++
++ rc = platform_driver_register(&s3c2440ts_driver);
++ if (rc < 0)
++ platform_driver_unregister(&s3c2410ts_driver);
++
++ return rc;
++}
++
++static void __exit s3c2410ts_exit(void)
++{
++ platform_driver_unregister(&s3c2440ts_driver);
++ platform_driver_unregister(&s3c2410ts_driver);
++}
++
++module_init(s3c2410ts_init);
++module_exit(s3c2410ts_exit);
++
++/*
++ Local variables:
++ compile-command: "make ARCH=arm CROSS_COMPILE=/usr/local/arm/3.3.2/bin/arm-linux- -k -C ../../.."
++ c-basic-offset: 8
++ End:
++*/
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/leds/Kconfig linux-2.6.25-m8050/drivers/leds/Kconfig
+--- linux-git/drivers/leds/Kconfig 2008-11-10 12:20:17.000000000 +0100
++++ linux-2.6.25-m8050/drivers/leds/Kconfig 2008-09-30 17:37:49.000000000 +0200
+@@ -181,4 +181,11 @@
+ load average.
+ If unsure, say Y.
+
++config LEDS_TRIGGER_EV_LED
++ tristate "EV_LED Input LED Trigger"
++ depends on LEDS_TRIGGERS
++ help
++ This allows LEDs to be controlled by the us of the EV_LED
++ events from the input system.
++
+ endif # NEW_LEDS
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/leds/ledtrig-ev-led.c linux-2.6.25-m8050/drivers/leds/ledtrig-ev-led.c
+--- linux-git/drivers/leds/ledtrig-ev-led.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/drivers/leds/ledtrig-ev-led.c 2008-10-10 18:47:07.000000000 +0200
+@@ -0,0 +1,140 @@
++/*
++ * EV_LED event LED Trigger
++ *
++ * Copyright 2008 American Microsystems Ltd.
++ *
++ * Author: David Anders <danders@amltd.com
++ *
++ * Based on the LED IDE-Disk Activity Trigger - ledtrig-ide-disk.c
++ *
++ * Copyright 2006 Openedhand Ltd.
++ *
++ * Author: Richard Purdie <rpurdie@openedhand.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/jiffies.h>
++#include <linux/kernel.h>
++#include <linux/init.h>
++#include <linux/timer.h>
++#include <linux/leds.h>
++#include <asm/arch/regs-gpio.h>
++#include <asm/io.h>
++#include <asm/hardware.h>
++#include <asm/plat-s3c24xx/s3c2410.h>
++#include <asm/plat-s3c24xx/s3c2440.h>
++#include <linux/delay.h>
++
++static void ledtrig_ev_led_timerfunc(unsigned long data);
++static void ledtrig_ev_led_timeoutfunc(unsigned long data);
++
++DEFINE_LED_TRIGGER(ledtrig_ev_led);
++static DEFINE_TIMER(ledtrig_ev_led_timer, ledtrig_ev_led_timerfunc, 0, 0);
++static DEFINE_TIMER(ledtrig_ev_led_timeout, ledtrig_ev_led_timeoutfunc, 0, 0);
++static int ev_led_activity;
++static int ev_led_lastactivity;
++static int scan_data=0;
++
++void ledtrig_ev_led_activity(void)
++{
++ if (timer_pending(&ledtrig_ev_led_timeout)){
++ printk("timeout pending!\n");
++ s3c2410_gpio_setpin(S3C2410_GPF3, 1);
++ led_trigger_event(ledtrig_ev_led, LED_OFF);
++ del_timer(&ledtrig_ev_led_timeout);
++ scan_data=0;
++ udelay(250);
++// return;
++ }
++
++ if (timer_pending(&ledtrig_ev_led_timer)) {
++ printk("timer pending!\n");
++ s3c2410_gpio_setpin(S3C2410_GPF3, 1);
++ del_timer(&ledtrig_ev_led_timer);
++ led_trigger_event(ledtrig_ev_led, LED_OFF);
++ scan_data=0;
++// if (!s3c2410_gpio_getpin(S3C2410_GPF6)){
++ udelay(250);
++// }
++ }
++ s3c2410_gpio_setpin(S3C2410_GPF3, 0);
++ mod_timer(&ledtrig_ev_led_timeout, jiffies + (HZ*3));
++
++ ev_led_activity++;
++ if (!timer_pending(&ledtrig_ev_led_timer)){
++ printk("no timer pending starting\n");
++ ledtrig_ev_led_timerfunc(0x00);
++// mod_timer(&ledtrig_ev_led_timer, jiffies + 10);
++ }
++}
++EXPORT_SYMBOL(ledtrig_ev_led_activity);
++
++void scanner_data(void)
++{
++ printk("scan_data=%d\n",scan_data);
++// if(scan_data==0)
++ scan_data++;
++
++}
++EXPORT_SYMBOL(scanner_data);
++
++static void ledtrig_ev_led_timeoutfunc(unsigned long data)
++{
++
++ if (timer_pending(&ledtrig_ev_led_timer))
++ del_timer(&ledtrig_ev_led_timer);
++ s3c2410_gpio_setpin(S3C2410_GPF3, 1);
++ scan_data=0;
++
++
++}
++static void ledtrig_ev_led_timerfunc(unsigned long data)
++{
++unsigned long int urtstat;
++ if (ev_led_lastactivity != ev_led_activity) {
++ printk("last activity doesn't match!\n");
++ if ((!s3c2410_gpio_getpin(S3C2410_GPF6)) && (scan_data)){
++ printk("starting leds!\n");
++ ev_led_lastactivity = ev_led_activity;
++ led_trigger_event(ledtrig_ev_led, LED_FULL);
++ if (timer_pending(&ledtrig_ev_led_timeout))
++ del_timer(&ledtrig_ev_led_timeout);
++ mod_timer(&ledtrig_ev_led_timer, jiffies + msecs_to_jiffies(500));
++ s3c2410_gpio_setpin(S3C2410_GPF3, 1);
++ scan_data=0;
++ }
++ else {
++ mod_timer(&ledtrig_ev_led_timer, jiffies + 10 );
++ }
++ } else {
++ printk("ending leds!\n");
++ led_trigger_event(ledtrig_ev_led, LED_OFF);
++ del_timer(&ledtrig_ev_led_timer);
++ if (timer_pending(&ledtrig_ev_led_timeout))
++ del_timer(&ledtrig_ev_led_timeout);
++ s3c2410_gpio_setpin(S3C2410_GPF3, 1);
++ }
++}
++
++static int __init ledtrig_ev_led_init(void)
++{
++ led_trigger_register_simple("ev-led", &ledtrig_ev_led);
++ return 0;
++}
++
++static void __exit ledtrig_ev_led_exit(void)
++{
++ led_trigger_unregister_simple(ledtrig_ev_led);
++}
++
++module_init(ledtrig_ev_led_init);
++module_exit(ledtrig_ev_led_exit);
++
++MODULE_AUTHOR("David Anders <danders@amltd.com");
++MODULE_DESCRIPTION("EV_LED Input LED Trigger");
++MODULE_LICENSE("GPL");
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/leds/Makefile linux-2.6.25-m8050/drivers/leds/Makefile
+--- linux-git/drivers/leds/Makefile 2008-11-10 12:20:17.000000000 +0100
++++ linux-2.6.25-m8050/drivers/leds/Makefile 2008-09-30 17:36:07.000000000 +0200
+@@ -26,3 +26,4 @@
+ obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
+ obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o
+ obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o
++obj-$(CONFIG_LEDS_TRIGGER_EV_LED) += ledtrig-ev-led.o
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/misc/Kconfig linux-2.6.25-m8050/drivers/misc/Kconfig
+--- linux-git/drivers/misc/Kconfig 2008-11-10 12:20:22.000000000 +0100
++++ linux-2.6.25-m8050/drivers/misc/Kconfig 2008-08-21 11:45:10.000000000 +0200
+@@ -327,4 +327,11 @@
+ driver (SCSI/ATA) which supports enclosures
+ or a SCSI enclosure device (SES) to use these services.
+
++config AML_M8052
++ tristate "M8052 Power and Charging Interface"
++ depends on EXPERIMENTAL && ARCH_S3C2410
++ help
++ This driver is for the AML M8052 Power Control and Charging
++ Control interface board.
++
+ endif # MISC_DEVICES
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/misc/Makefile linux-2.6.25-m8050/drivers/misc/Makefile
+--- linux-git/drivers/misc/Makefile 2008-11-10 12:20:22.000000000 +0100
++++ linux-2.6.25-m8050/drivers/misc/Makefile 2008-08-21 11:44:26.000000000 +0200
+@@ -22,3 +22,4 @@
+ obj-$(CONFIG_EEPROM_93CX6) += eeprom_93cx6.o
+ obj-$(CONFIG_INTEL_MENLOW) += intel_menlow.o
+ obj-$(CONFIG_ENCLOSURE_SERVICES) += enclosure.o
++obj-$(CONFIG_AML_M8052) += pm-m8052.o
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/misc/pm-m8052.c linux-2.6.25-m8050/drivers/misc/pm-m8052.c
+--- linux-git/drivers/misc/pm-m8052.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/drivers/misc/pm-m8052.c 2008-09-26 15:21:42.000000000 +0200
+@@ -0,0 +1,191 @@
++//#include <linux/config.h>
++#include <linux/spinlock.h>
++#include <linux/sched.h>
++#include <linux/tty.h>
++#include <linux/init.h>
++#include <linux/delay.h>
++#include <linux/poll.h>
++#include <linux/slab.h>
++#include <linux/timer.h>
++#include <linux/proc_fs.h>
++#include <linux/kmod.h>
++#include <linux/interrupt.h>
++#include <asm/io.h>
++#include <asm/arch-s3c2410/regs-gpio.h>
++#include <asm/arch-s3c2410/regs-gpioj.h>
++#include <asm/plat-s3c24xx/regs-spi.h>
++//#include <asm/arch-s3c2410/regs-serial.h>
++
++
++
++#define TRUE 1
++#define FALSE 0
++
++static int scaninterval = HZ / 40;
++static struct timer_list scan_timer;
++
++static void aml_scan_io (unsigned long dummy);
++
++
++
++static int local_atoi(const char *name)
++{
++ int val = 0;
++
++ for (;; name++) {
++ switch (*name) {
++ case '0'...'9':
++ val = 10*val+(*name-'0');
++ break;
++ default:
++ return val;
++ }
++ }
++}
++
++
++static int
++amltd_proc_powerbatt_read(char *page, char **start, off_t off,
++ int count, int *eof, void *data)
++{
++
++ writel(0x0000003f, S3C2410_GPCDAT);
++ writel(0x000000bf, S3C2410_GPCDAT);
++ writel(0x0000003f, S3C2410_GPCDAT);
++ writel(0x000000bf, S3C2410_GPCDAT);
++ writel(0x0000003f, S3C2410_GPCDAT);
++
++// s3c2410_gpio_setpin(S3C2410_GPC7, 0);
++// s3c2410_gpio_setpin(S3C2410_GPC7, 1);
++// s3c2410_gpio_setpin(S3C2410_GPC7, 0);
++// s3c2410_gpio_setpin(S3C2410_GPC7, 1);
++// s3c2410_gpio_setpin(S3C2410_GPC7, 0);
++ return sprintf(page, "SENTy\n");
++}
++
++static int
++amltd_proc_powerbatt_write(struct file *file, const char *buffer,
++ unsigned long count, void *data)
++{
++ unsigned char char_value;
++ unsigned long tmpvalue;
++
++ if (count < 1) {
++ return -EINVAL;
++ }
++
++ if (copy_from_user(&char_value, buffer, 1))
++ return -EFAULT;
++
++
++
++ writel(0x0000001c, S3C2410_SPI0CON);
++ writel(0x000000e1, S3C2410_SPI0PRE);
++
++ tmpvalue=readl(S3C2440_GPJDAT);
++ tmpvalue &= ~(1<<7);
++ writel(tmpvalue,S3C2440_GPJDAT);
++ udelay(1000);
++ writeb(char_value,S3C2410_SPI0DTX);
++ udelay(1000);
++ tmpvalue=readl(S3C2440_GPJDAT);
++ tmpvalue |= (1<<7);
++ writel(tmpvalue,S3C2440_GPJDAT);
++ udelay(2000);
++
++ return count;
++}
++
++
++
++//-----------------------------------------------------------------------
++// __u16 scaninput(void)
++//-----------------------------------------------------------------------
++static __u16 scaninput(void)
++{
++ unsigned long tmpvalue;
++
++ tmpvalue=readl(S3C2410_GPFDAT);
++ if ( tmpvalue&(1<<1) )
++ return(0);
++ else
++ return(1);
++
++}
++
++
++
++static void aml_scan_io(unsigned long dummy)
++{
++ unsigned long tmpvalue;
++ unsigned int scancode;
++ __u16 cs;
++
++ writel(0x0000001c, S3C2410_SPI0CON);
++ writel(0x000000e1, S3C2410_SPI0PRE);
++
++ cs = scaninput();
++
++ if ( cs == 1 ) {
++ tmpvalue=readl(S3C2440_GPJDAT);
++ tmpvalue &= ~(1<<7);
++ writel(tmpvalue,S3C2440_GPJDAT);
++ udelay(100);
++ writeb(0x00,S3C2410_SPI0DTX);
++ udelay(500);
++ scancode=readb(S3C2410_SPI0DRX);
++ udelay(100);
++ tmpvalue=readl(S3C2440_GPJDAT);
++ tmpvalue |= (1<<7);
++ writel(tmpvalue,S3C2440_GPJDAT);
++ udelay(100);
++ printk("pm-8052 response: 0x%x\n",scancode);
++
++ }
++
++
++ mod_timer (&scan_timer, jiffies + scaninterval);
++}
++
++
++static int __init powerbatt_init_hw(void)
++{
++ unsigned long tmpvalue;
++ int i;
++ static struct proc_dir_entry *amltd_powerbatt_proc_entry;
++ tmpvalue=readl(S3C2410_GPECON);
++ tmpvalue |= (S3C2410_GPE11_SPIMISO0 | S3C2410_GPE12_SPIMOSI0 | S3C2410_GPE13_SPICLK0);
++ writel(tmpvalue,S3C2410_GPECON);
++
++ writel(0x0000001c, S3C2410_SPI0CON);
++ writel(0x000000e1, S3C2410_SPI0PRE);
++
++
++ s3c2410_gpio_cfgpin(S3C2410_GPF1, S3C2410_GPIO_INPUT);
++
++ s3c2410_gpio_cfgpin(S3C2440_GPJ7, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2440_GPJ7, 1);
++
++
++ amltd_powerbatt_proc_entry = create_proc_entry("powerbatt", 0444,
++ NULL);
++ if (amltd_powerbatt_proc_entry == NULL) {
++ printk("Couldn't create the procfs entry for power and battery.\n");
++ }
++
++ amltd_powerbatt_proc_entry->read_proc =
++ &amltd_proc_powerbatt_read;
++ amltd_powerbatt_proc_entry->write_proc =
++ &amltd_proc_powerbatt_write;
++
++
++ // setup scanning timer
++ init_timer (&scan_timer);
++ scan_timer.function = aml_scan_io;
++ mod_timer (&scan_timer, jiffies + scaninterval);
++
++ return 0;
++}
++
++
++module_init(powerbatt_init_hw);
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/mmc/host/Kconfig linux-2.6.25-m8050/drivers/mmc/host/Kconfig
+--- linux-git/drivers/mmc/host/Kconfig 2008-11-10 12:20:22.000000000 +0100
++++ linux-2.6.25-m8050/drivers/mmc/host/Kconfig 2008-07-01 13:32:15.000000000 +0200
+@@ -130,3 +130,14 @@
+
+ If unsure, or if your system has no SPI master driver, say N.
+
++config MMC_S3C
++ tristate "Samsung S3C SD/MMC Card Interface support"
++ depends on ARCH_S3C2410 && MMC
++ help
++ This selects a driver for the MCI interface found in
++ Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs.
++ If you have a board based on one of those and a MMC/SD
++ slot, say Y or M here.
++
++ If unsure, say N.
++
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/mmc/host/Makefile linux-2.6.25-m8050/drivers/mmc/host/Makefile
+--- linux-git/drivers/mmc/host/Makefile 2008-11-10 12:20:22.000000000 +0100
++++ linux-2.6.25-m8050/drivers/mmc/host/Makefile 2008-07-01 13:32:15.000000000 +0200
+@@ -17,4 +17,4 @@
+ obj-$(CONFIG_MMC_AT91) += at91_mci.o
+ obj-$(CONFIG_MMC_TIFM_SD) += tifm_sd.o
+ obj-$(CONFIG_MMC_SPI) += mmc_spi.o
+-
++obj-$(CONFIG_MMC_S3C) += s3cmci.o
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/mmc/host/s3cmci.c linux-2.6.25-m8050/drivers/mmc/host/s3cmci.c
+--- linux-git/drivers/mmc/host/s3cmci.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/drivers/mmc/host/s3cmci.c 2008-07-11 16:32:43.000000000 +0200
+@@ -0,0 +1,1446 @@
++/*
++ * linux/drivers/mmc/s3cmci.h - Samsung S3C MCI driver
++ *
++ * Copyright (C) 2004-2006 maintech GmbH, Thomas Kleffel <tk@maintech.de>
++ *
++ * 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/dma-mapping.h>
++#include <linux/clk.h>
++#include <linux/mmc/host.h>
++#include <linux/platform_device.h>
++#include <linux/irq.h>
++#include <linux/io.h>
++
++#include <asm/dma.h>
++
++#include <asm/arch/regs-sdi.h>
++#include <asm/arch/regs-gpio.h>
++
++#include <asm/plat-s3c24xx/mci.h>
++
++#include "s3cmci.h"
++
++#define DRIVER_NAME "s3c-mci"
++
++enum dbg_channels {
++ dbg_err = (1 << 0),
++ dbg_debug = (1 << 1),
++ dbg_info = (1 << 2),
++ dbg_irq = (1 << 3),
++ dbg_sg = (1 << 4),
++ dbg_dma = (1 << 5),
++ dbg_pio = (1 << 6),
++ dbg_fail = (1 << 7),
++ dbg_conf = (1 << 8),
++};
++
++static const int dbgmap_err = dbg_err | dbg_fail;
++static const int dbgmap_info = dbg_info | dbg_conf;
++static const int dbgmap_debug = dbg_debug;
++
++#define dbg(host, channels, args...) \
++ do { \
++ if (dbgmap_err & channels) \
++ dev_err(&host->pdev->dev, args); \
++ else if (dbgmap_info & channels) \
++ dev_info(&host->pdev->dev, args); \
++ else if (dbgmap_debug & channels) \
++ dev_dbg(&host->pdev->dev, args); \
++ } while (0)
++
++#define RESSIZE(ressource) (((ressource)->end - (ressource)->start)+1)
++
++static struct s3c2410_dma_client s3cmci_dma_client = {
++ .name = "s3c-mci",
++};
++
++static void finalize_request(struct s3cmci_host *host);
++static void s3cmci_send_request(struct mmc_host *mmc);
++static void s3cmci_reset(struct s3cmci_host *host);
++
++#ifdef CONFIG_MMC_DEBUG
++
++static void dbg_dumpregs(struct s3cmci_host *host, char *prefix)
++{
++ u32 con, pre, cmdarg, cmdcon, cmdsta, r0, r1, r2, r3, timer, bsize;
++ u32 datcon, datcnt, datsta, fsta, imask;
++
++ con = readl(host->base + S3C2410_SDICON);
++ pre = readl(host->base + S3C2410_SDIPRE);
++ cmdarg = readl(host->base + S3C2410_SDICMDARG);
++ cmdcon = readl(host->base + S3C2410_SDICMDCON);
++ cmdsta = readl(host->base + S3C2410_SDICMDSTAT);
++ r0 = readl(host->base + S3C2410_SDIRSP0);
++ r1 = readl(host->base + S3C2410_SDIRSP1);
++ r2 = readl(host->base + S3C2410_SDIRSP2);
++ r3 = readl(host->base + S3C2410_SDIRSP3);
++ timer = readl(host->base + S3C2410_SDITIMER);
++ bsize = readl(host->base + S3C2410_SDIBSIZE);
++ datcon = readl(host->base + S3C2410_SDIDCON);
++ datcnt = readl(host->base + S3C2410_SDIDCNT);
++ datsta = readl(host->base + S3C2410_SDIDSTA);
++ fsta = readl(host->base + S3C2410_SDIFSTA);
++ imask = readl(host->base + host->sdiimsk);
++
++ dbg(host, dbg_debug, "%s CON:[%08x] PRE:[%08x] TMR:[%08x]\n",
++ prefix, con, pre, timer);
++
++ dbg(host, dbg_debug, "%s CCON:[%08x] CARG:[%08x] CSTA:[%08x]\n",
++ prefix, cmdcon, cmdarg, cmdsta);
++
++ dbg(host, dbg_debug, "%s DCON:[%08x] FSTA:[%08x]"
++ " DSTA:[%08x] DCNT:[%08x]\n",
++ prefix, datcon, fsta, datsta, datcnt);
++
++ dbg(host, dbg_debug, "%s R0:[%08x] R1:[%08x]"
++ " R2:[%08x] R3:[%08x]\n",
++ prefix, r0, r1, r2, r3);
++}
++
++static void prepare_dbgmsg(struct s3cmci_host *host, struct mmc_command *cmd,
++ int stop)
++{
++ snprintf(host->dbgmsg_cmd, 300,
++ "#%u%s op:%i arg:0x%08x flags:0x08%x retries:%u",
++ host->ccnt, (stop ? " (STOP)" : ""),
++ cmd->opcode, cmd->arg, cmd->flags, cmd->retries);
++
++ if (cmd->data) {
++ snprintf(host->dbgmsg_dat, 300,
++ "#%u bsize:%u blocks:%u bytes:%u",
++ host->dcnt, cmd->data->blksz,
++ cmd->data->blocks,
++ cmd->data->blocks * cmd->data->blksz);
++ } else {
++ host->dbgmsg_dat[0] = '\0';
++ }
++}
++
++static void dbg_dumpcmd(struct s3cmci_host *host, struct mmc_command *cmd,
++ int fail)
++{
++ unsigned int dbglvl = fail ? dbg_fail : dbg_debug;
++
++ if (!cmd)
++ return;
++
++ if (cmd->error == 0) {
++ dbg(host, dbglvl, "CMD[OK] %s R0:0x%08x\n",
++ host->dbgmsg_cmd, cmd->resp[0]);
++ } else {
++ dbg(host, dbglvl, "CMD[ERR %i] %s Status:%s\n",
++ cmd->error, host->dbgmsg_cmd, host->status);
++ }
++
++ if (!cmd->data)
++ return;
++
++ if (cmd->data->error == 0) {
++ dbg(host, dbglvl, "DAT[OK] %s\n", host->dbgmsg_dat);
++ } else {
++ dbg(host, dbglvl, "DAT[ERR %i] %s DCNT:0x%08x\n",
++ cmd->data->error, host->dbgmsg_dat,
++ readl(host->base + S3C2410_SDIDCNT));
++ }
++}
++#else
++static void dbg_dumpcmd(struct s3cmci_host *host,
++ struct mmc_command *cmd, int fail) { }
++
++static void prepare_dbgmsg(struct s3cmci_host *host, struct mmc_command *cmd,
++ int stop) { }
++
++static void dbg_dumpregs(struct s3cmci_host *host, char *prefix) { }
++
++#endif /* CONFIG_MMC_DEBUG */
++
++static inline u32 enable_imask(struct s3cmci_host *host, u32 imask)
++{
++ u32 newmask;
++
++ newmask = readl(host->base + host->sdiimsk);
++ newmask |= imask;
++
++ writel(newmask, host->base + host->sdiimsk);
++
++ return newmask;
++}
++
++static inline u32 disable_imask(struct s3cmci_host *host, u32 imask)
++{
++ u32 newmask;
++
++ newmask = readl(host->base + host->sdiimsk);
++ newmask &= ~imask;
++
++ writel(newmask, host->base + host->sdiimsk);
++
++ return newmask;
++}
++
++static inline void clear_imask(struct s3cmci_host *host)
++{
++ writel(0, host->base + host->sdiimsk);
++}
++
++static inline int get_data_buffer(struct s3cmci_host *host,
++ u32 *words, u32 **pointer)
++{
++ struct scatterlist *sg;
++
++ if (host->pio_active == XFER_NONE)
++ return -EINVAL;
++
++ if ((!host->mrq) || (!host->mrq->data))
++ return -EINVAL;
++
++ if (host->pio_sgptr >= host->mrq->data->sg_len) {
++ dbg(host, dbg_debug, "no more buffers (%i/%i)\n",
++ host->pio_sgptr, host->mrq->data->sg_len);
++ return -EBUSY;
++ }
++ sg = &host->mrq->data->sg[host->pio_sgptr];
++
++ *words = sg->length >> 2;
++ *pointer = sg_virt(sg);
++
++ host->pio_sgptr++;
++
++ dbg(host, dbg_sg, "new buffer (%i/%i)\n",
++ host->pio_sgptr, host->mrq->data->sg_len);
++
++ return 0;
++}
++
++static inline u32 fifo_count(struct s3cmci_host *host)
++{
++ u32 fifostat = readl(host->base + S3C2410_SDIFSTA);
++
++ fifostat &= S3C2410_SDIFSTA_COUNTMASK;
++ return fifostat >> 2;
++}
++
++static inline u32 fifo_free(struct s3cmci_host *host)
++{
++ u32 fifostat = readl(host->base + S3C2410_SDIFSTA);
++
++ fifostat &= S3C2410_SDIFSTA_COUNTMASK;
++ return (63 - fifostat) >> 2;
++}
++
++static void do_pio_read(struct s3cmci_host *host)
++{
++ int res;
++ u32 fifo;
++ void __iomem *from_ptr;
++
++ /* write real prescaler to host, it might be set slow to fix */
++ writel(host->prescaler, host->base + S3C2410_SDIPRE);
++
++ from_ptr = host->base + host->sdidata;
++
++ while ((fifo = fifo_count(host))) {
++ if (!host->pio_words) {
++ res = get_data_buffer(host, &host->pio_words,
++ &host->pio_ptr);
++ if (res) {
++ host->pio_active = XFER_NONE;
++ host->complete_what = COMPLETION_FINALIZE;
++
++ dbg(host, dbg_pio, "pio_read(): "
++ "complete (no more data).\n");
++ return;
++ }
++
++ dbg(host, dbg_pio,
++ "pio_read(): new target: [%i]@[%p]\n",
++ host->pio_words, host->pio_ptr);
++ }
++
++ dbg(host, dbg_pio,
++ "pio_read(): fifo:[%02i] buffer:[%03i] dcnt:[%08X]\n",
++ fifo, host->pio_words,
++ readl(host->base + S3C2410_SDIDCNT));
++
++ if (fifo > host->pio_words)
++ fifo = host->pio_words;
++
++ host->pio_words -= fifo;
++ host->pio_count += fifo;
++
++ while (fifo--)
++ *(host->pio_ptr++) = readl(from_ptr);
++ }
++
++ if (!host->pio_words) {
++ res = get_data_buffer(host, &host->pio_words, &host->pio_ptr);
++ if (res) {
++ dbg(host, dbg_pio,
++ "pio_read(): complete (no more buffers).\n");
++ host->pio_active = XFER_NONE;
++ host->complete_what = COMPLETION_FINALIZE;
++
++ return;
++ }
++ }
++
++ enable_imask(host,
++ S3C2410_SDIIMSK_RXFIFOHALF | S3C2410_SDIIMSK_RXFIFOLAST);
++}
++
++static void do_pio_write(struct s3cmci_host *host)
++{
++ void __iomem *to_ptr;
++ int res;
++ u32 fifo;
++
++ to_ptr = host->base + host->sdidata;
++
++ while ((fifo = fifo_free(host))) {
++ if (!host->pio_words) {
++ res = get_data_buffer(host, &host->pio_words,
++ &host->pio_ptr);
++ if (res) {
++ dbg(host, dbg_pio,
++ "pio_write(): complete (no more data).\n");
++ host->pio_active = XFER_NONE;
++
++ return;
++ }
++
++ dbg(host, dbg_pio,
++ "pio_write(): new source: [%i]@[%p]\n",
++ host->pio_words, host->pio_ptr);
++
++ }
++
++ if (fifo > host->pio_words)
++ fifo = host->pio_words;
++
++ host->pio_words -= fifo;
++ host->pio_count += fifo;
++
++ while (fifo--)
++ writel(*(host->pio_ptr++), to_ptr);
++ }
++
++ enable_imask(host, S3C2410_SDIIMSK_TXFIFOHALF);
++}
++
++static void pio_tasklet(unsigned long data)
++{
++ struct s3cmci_host *host = (struct s3cmci_host *) data;
++
++
++ disable_irq(host->irq);
++
++ if (host->pio_active == XFER_WRITE)
++ do_pio_write(host);
++
++ if (host->pio_active == XFER_READ)
++ do_pio_read(host);
++
++ if (host->complete_what == COMPLETION_FINALIZE) {
++ clear_imask(host);
++ if (host->pio_active != XFER_NONE) {
++ dbg(host, dbg_err, "unfinished %s "
++ "- pio_count:[%u] pio_words:[%u]\n",
++ (host->pio_active == XFER_READ) ? "read" : "write",
++ host->pio_count, host->pio_words);
++
++ if (host->mrq->data)
++ host->mrq->data->error = -EINVAL;
++ }
++
++ finalize_request(host);
++ } else
++ enable_irq(host->irq);
++}
++
++/*
++ * ISR for SDI Interface IRQ
++ * Communication between driver and ISR works as follows:
++ * host->mrq points to current request
++ * host->complete_what Indicates when the request is considered done
++ * COMPLETION_CMDSENT when the command was sent
++ * COMPLETION_RSPFIN when a response was received
++ * COMPLETION_XFERFINISH when the data transfer is finished
++ * COMPLETION_XFERFINISH_RSPFIN both of the above.
++ * host->complete_request is the completion-object the driver waits for
++ *
++ * 1) Driver sets up host->mrq and host->complete_what
++ * 2) Driver prepares the transfer
++ * 3) Driver enables interrupts
++ * 4) Driver starts transfer
++ * 5) Driver waits for host->complete_rquest
++ * 6) ISR checks for request status (errors and success)
++ * 6) ISR sets host->mrq->cmd->error and host->mrq->data->error
++ * 7) ISR completes host->complete_request
++ * 8) ISR disables interrupts
++ * 9) Driver wakes up and takes care of the request
++ *
++ * Note: "->error"-fields are expected to be set to 0 before the request
++ * was issued by mmc.c - therefore they are only set, when an error
++ * contition comes up
++ */
++
++static irqreturn_t s3cmci_irq(int irq, void *dev_id)
++{
++ struct s3cmci_host *host = dev_id;
++ struct mmc_command *cmd;
++ u32 mci_csta, mci_dsta, mci_fsta, mci_dcnt, mci_imsk;
++ u32 mci_cclear, mci_dclear;
++ unsigned long iflags;
++
++ spin_lock_irqsave(&host->complete_lock, iflags);
++
++ mci_csta = readl(host->base + S3C2410_SDICMDSTAT);
++ mci_dsta = readl(host->base + S3C2410_SDIDSTA);
++ mci_dcnt = readl(host->base + S3C2410_SDIDCNT);
++ mci_fsta = readl(host->base + S3C2410_SDIFSTA);
++ mci_imsk = readl(host->base + host->sdiimsk);
++ mci_cclear = 0;
++ mci_dclear = 0;
++
++ if ((host->complete_what == COMPLETION_NONE) ||
++ (host->complete_what == COMPLETION_FINALIZE)) {
++ host->status = "nothing to complete";
++ clear_imask(host);
++ goto irq_out;
++ }
++
++ if (!host->mrq) {
++ host->status = "no active mrq";
++ clear_imask(host);
++ goto irq_out;
++ }
++
++ cmd = host->cmd_is_stop ? host->mrq->stop : host->mrq->cmd;
++
++ if (!cmd) {
++ host->status = "no active cmd";
++ clear_imask(host);
++ goto irq_out;
++ }
++
++ if (!host->dodma) {
++ if ((host->pio_active == XFER_WRITE) &&
++ (mci_fsta & S3C2410_SDIFSTA_TFDET)) {
++
++ disable_imask(host, S3C2410_SDIIMSK_TXFIFOHALF);
++ tasklet_schedule(&host->pio_tasklet);
++ host->status = "pio tx";
++ }
++
++ if ((host->pio_active == XFER_READ) &&
++ (mci_fsta & S3C2410_SDIFSTA_RFDET)) {
++
++ disable_imask(host,
++ S3C2410_SDIIMSK_RXFIFOHALF |
++ S3C2410_SDIIMSK_RXFIFOLAST);
++
++ tasklet_schedule(&host->pio_tasklet);
++ host->status = "pio rx";
++ }
++ }
++
++ if (mci_csta & S3C2410_SDICMDSTAT_CMDTIMEOUT) {
++ dbg(host, dbg_err, "CMDSTAT: error CMDTIMEOUT\n");
++ cmd->error = -ETIMEDOUT;
++ host->status = "error: command timeout";
++ goto fail_transfer;
++ }
++
++ if (mci_csta & S3C2410_SDICMDSTAT_CMDSENT) {
++ if (host->complete_what == COMPLETION_CMDSENT) {
++ host->status = "ok: command sent";
++ goto close_transfer;
++ }
++
++ mci_cclear |= S3C2410_SDICMDSTAT_CMDSENT;
++ }
++
++ if (mci_csta & S3C2410_SDICMDSTAT_CRCFAIL) {
++ if (cmd->flags & MMC_RSP_CRC) {
++ if (host->mrq->cmd->flags & MMC_RSP_136) {
++ dbg(host, dbg_irq,
++ "fixup: ignore CRC fail with long rsp\n");
++ } else {
++ /* note, we used to fail the transfer
++ * here, but it seems that this is just
++ * the hardware getting it wrong.
++ *
++ * cmd->error = -EILSEQ;
++ * host->status = "error: bad command crc";
++ * goto fail_transfer;
++ */
++ }
++ }
++
++ mci_cclear |= S3C2410_SDICMDSTAT_CRCFAIL;
++ }
++
++ if (mci_csta & S3C2410_SDICMDSTAT_RSPFIN) {
++ if (host->complete_what == COMPLETION_RSPFIN) {
++ host->status = "ok: command response received";
++ goto close_transfer;
++ }
++
++ if (host->complete_what == COMPLETION_XFERFINISH_RSPFIN)
++ host->complete_what = COMPLETION_XFERFINISH;
++
++ mci_cclear |= S3C2410_SDICMDSTAT_RSPFIN;
++ }
++
++ /* errors handled after this point are only relevant
++ when a data transfer is in progress */
++
++ if (!cmd->data)
++ goto clear_status_bits;
++
++ /* Check for FIFO failure */
++ if (host->is2440) {
++ if (mci_fsta & S3C2440_SDIFSTA_FIFOFAIL) {
++ dbg(host, dbg_err, "FIFO failure\n");
++ host->mrq->data->error = -EILSEQ;
++ host->status = "error: 2440 fifo failure";
++ goto fail_transfer;
++ }
++ } else {
++ if (mci_dsta & S3C2410_SDIDSTA_FIFOFAIL) {
++ dbg(host, dbg_err, "FIFO failure\n");
++ cmd->data->error = -EILSEQ;
++ host->status = "error: fifo failure";
++ goto fail_transfer;
++ }
++ }
++
++ if (mci_dsta & S3C2410_SDIDSTA_RXCRCFAIL) {
++ dbg(host, dbg_err, "bad data crc (outgoing)\n");
++ cmd->data->error = -EILSEQ;
++ host->status = "error: bad data crc (outgoing)";
++ goto fail_transfer;
++ }
++
++ if (mci_dsta & S3C2410_SDIDSTA_CRCFAIL) {
++ dbg(host, dbg_err, "bad data crc (incoming)\n");
++ cmd->data->error = -EILSEQ;
++ host->status = "error: bad data crc (incoming)";
++ goto fail_transfer;
++ }
++
++ if (mci_dsta & S3C2410_SDIDSTA_DATATIMEOUT) {
++ dbg(host, dbg_err, "data timeout\n");
++ cmd->data->error = -ETIMEDOUT;
++ host->status = "error: data timeout";
++ goto fail_transfer;
++ }
++
++ if (mci_dsta & S3C2410_SDIDSTA_XFERFINISH) {
++ if (host->complete_what == COMPLETION_XFERFINISH) {
++ host->status = "ok: data transfer completed";
++ goto close_transfer;
++ }
++
++ if (host->complete_what == COMPLETION_XFERFINISH_RSPFIN)
++ host->complete_what = COMPLETION_RSPFIN;
++
++ mci_dclear |= S3C2410_SDIDSTA_XFERFINISH;
++ }
++
++clear_status_bits:
++ writel(mci_cclear, host->base + S3C2410_SDICMDSTAT);
++ writel(mci_dclear, host->base + S3C2410_SDIDSTA);
++
++ goto irq_out;
++
++fail_transfer:
++ host->pio_active = XFER_NONE;
++
++close_transfer:
++ host->complete_what = COMPLETION_FINALIZE;
++
++ clear_imask(host);
++ tasklet_schedule(&host->pio_tasklet);
++
++ goto irq_out;
++
++irq_out:
++ dbg(host, dbg_irq,
++ "csta:0x%08x dsta:0x%08x fsta:0x%08x dcnt:0x%08x status:%s.\n",
++ mci_csta, mci_dsta, mci_fsta, mci_dcnt, host->status);
++
++ spin_unlock_irqrestore(&host->complete_lock, iflags);
++ return IRQ_HANDLED;
++
++}
++
++/*
++ * ISR for the CardDetect Pin
++*/
++
++static irqreturn_t s3cmci_irq_cd(int irq, void *dev_id)
++{
++ struct s3cmci_host *host = (struct s3cmci_host *)dev_id;
++
++ dbg(host, dbg_irq, "card detect\n");
++
++ mmc_detect_change(host->mmc, msecs_to_jiffies(500));
++
++ return IRQ_HANDLED;
++}
++
++void s3cmci_dma_done_callback(struct s3c2410_dma_chan *dma_ch, void *buf_id,
++ int size, enum s3c2410_dma_buffresult result)
++{
++ struct s3cmci_host *host = buf_id;
++ unsigned long iflags;
++ u32 mci_csta, mci_dsta, mci_fsta, mci_dcnt;
++
++ mci_csta = readl(host->base + S3C2410_SDICMDSTAT);
++ mci_dsta = readl(host->base + S3C2410_SDIDSTA);
++ mci_fsta = readl(host->base + S3C2410_SDIFSTA);
++ mci_dcnt = readl(host->base + S3C2410_SDIDCNT);
++
++ BUG_ON(!host->mrq);
++ BUG_ON(!host->mrq->data);
++ BUG_ON(!host->dmatogo);
++
++ spin_lock_irqsave(&host->complete_lock, iflags);
++
++ if (result != S3C2410_RES_OK) {
++ dbg(host, dbg_fail, "DMA FAILED: csta=0x%08x dsta=0x%08x "
++ "fsta=0x%08x dcnt:0x%08x result:0x%08x toGo:%u\n",
++ mci_csta, mci_dsta, mci_fsta,
++ mci_dcnt, result, host->dmatogo);
++
++ goto fail_request;
++ }
++
++ host->dmatogo--;
++ if (host->dmatogo) {
++ dbg(host, dbg_dma, "DMA DONE Size:%i DSTA:[%08x] "
++ "DCNT:[%08x] toGo:%u\n",
++ size, mci_dsta, mci_dcnt, host->dmatogo);
++
++ goto out;
++ }
++
++ dbg(host, dbg_dma, "DMA FINISHED Size:%i DSTA:%08x DCNT:%08x\n",
++ size, mci_dsta, mci_dcnt);
++
++ host->complete_what = COMPLETION_FINALIZE;
++
++out:
++ tasklet_schedule(&host->pio_tasklet);
++ spin_unlock_irqrestore(&host->complete_lock, iflags);
++ return;
++
++fail_request:
++ host->mrq->data->error = -EINVAL;
++ host->complete_what = COMPLETION_FINALIZE;
++ writel(0, host->base + host->sdiimsk);
++ goto out;
++
++}
++
++static void finalize_request(struct s3cmci_host *host)
++{
++ struct mmc_request *mrq = host->mrq;
++ struct mmc_command *cmd = host->cmd_is_stop ? mrq->stop : mrq->cmd;
++ int debug_as_failure = 0;
++
++ if (host->complete_what != COMPLETION_FINALIZE)
++ return;
++
++ if (!mrq)
++ return;
++
++ if (cmd->data && (cmd->error == 0) &&
++ (cmd->data->error == 0)) {
++ if (host->dodma && (!host->dma_complete)) {
++ dbg(host, dbg_dma, "DMA Missing!\n");
++ return;
++ }
++ }
++
++ /* Read response from controller. */
++ cmd->resp[0] = readl(host->base + S3C2410_SDIRSP0);
++ cmd->resp[1] = readl(host->base + S3C2410_SDIRSP1);
++ cmd->resp[2] = readl(host->base + S3C2410_SDIRSP2);
++ cmd->resp[3] = readl(host->base + S3C2410_SDIRSP3);
++
++ writel(host->prescaler, host->base + S3C2410_SDIPRE);
++
++ if (cmd->error)
++ debug_as_failure = 1;
++
++ if (cmd->data && cmd->data->error)
++ debug_as_failure = 1;
++
++ dbg_dumpcmd(host, cmd, debug_as_failure);
++
++ /* Cleanup controller */
++ writel(0, host->base + S3C2410_SDICMDARG);
++ writel(S3C2410_SDIDCON_STOP, host->base + S3C2410_SDIDCON);
++ writel(0, host->base + S3C2410_SDICMDCON);
++ writel(0, host->base + host->sdiimsk);
++
++ if (cmd->data && cmd->error)
++ cmd->data->error = cmd->error;
++
++ if (cmd->data && cmd->data->stop && (!host->cmd_is_stop)) {
++ host->cmd_is_stop = 1;
++ s3cmci_send_request(host->mmc);
++ return;
++ }
++
++ /* If we have no data transfer we are finished here */
++ if (!mrq->data)
++ goto request_done;
++
++ /* Calulate the amout of bytes transfer if there was no error */
++ if (mrq->data->error == 0) {
++ mrq->data->bytes_xfered =
++ (mrq->data->blocks * mrq->data->blksz);
++ } else {
++ mrq->data->bytes_xfered = 0;
++ }
++
++ /* If we had an error while transfering data we flush the
++ * DMA channel and the fifo to clear out any garbage. */
++ if (mrq->data->error != 0) {
++ if (host->dodma)
++ s3c2410_dma_ctrl(host->dma, S3C2410_DMAOP_FLUSH);
++
++ if (host->is2440) {
++ /* Clear failure register and reset fifo. */
++ writel(S3C2440_SDIFSTA_FIFORESET |
++ S3C2440_SDIFSTA_FIFOFAIL,
++ host->base + S3C2410_SDIFSTA);
++ } else {
++ u32 mci_con;
++
++ /* reset fifo */
++ mci_con = readl(host->base + S3C2410_SDICON);
++ mci_con |= S3C2410_SDICON_FIFORESET;
++
++ writel(mci_con, host->base + S3C2410_SDICON);
++ }
++ }
++
++request_done:
++ host->complete_what = COMPLETION_NONE;
++ host->mrq = NULL;
++ mmc_request_done(host->mmc, mrq);
++}
++
++
++void s3cmci_dma_setup(struct s3cmci_host *host, enum s3c2410_dmasrc source)
++{
++ static enum s3c2410_dmasrc last_source = -1;
++ static int setup_ok;
++
++ if (last_source == source)
++ return;
++
++ last_source = source;
++
++ s3c2410_dma_devconfig(host->dma, source, 3,
++ host->mem->start + host->sdidata);
++
++ if (!setup_ok) {
++ s3c2410_dma_config(host->dma, 4,
++ (S3C2410_DCON_HWTRIG | S3C2410_DCON_CH0_SDI));
++ s3c2410_dma_set_buffdone_fn(host->dma,
++ s3cmci_dma_done_callback);
++ s3c2410_dma_setflags(host->dma, S3C2410_DMAF_AUTOSTART);
++ setup_ok = 1;
++ }
++}
++
++static void s3cmci_send_command(struct s3cmci_host *host,
++ struct mmc_command *cmd)
++{
++ u32 ccon, imsk;
++
++ imsk = S3C2410_SDIIMSK_CRCSTATUS | S3C2410_SDIIMSK_CMDTIMEOUT |
++ S3C2410_SDIIMSK_RESPONSEND | S3C2410_SDIIMSK_CMDSENT |
++ S3C2410_SDIIMSK_RESPONSECRC;
++
++ enable_imask(host, imsk);
++
++ if (cmd->data)
++ host->complete_what = COMPLETION_XFERFINISH_RSPFIN;
++ else if (cmd->flags & MMC_RSP_PRESENT)
++ host->complete_what = COMPLETION_RSPFIN;
++ else
++ host->complete_what = COMPLETION_CMDSENT;
++
++ writel(cmd->arg, host->base + S3C2410_SDICMDARG);
++
++ ccon = cmd->opcode & S3C2410_SDICMDCON_INDEX;
++ ccon |= S3C2410_SDICMDCON_SENDERHOST | S3C2410_SDICMDCON_CMDSTART;
++
++ if (cmd->flags & MMC_RSP_PRESENT)
++ ccon |= S3C2410_SDICMDCON_WAITRSP;
++
++ if (cmd->flags & MMC_RSP_136)
++ ccon |= S3C2410_SDICMDCON_LONGRSP;
++
++ writel(ccon, host->base + S3C2410_SDICMDCON);
++}
++
++static int s3cmci_setup_data(struct s3cmci_host *host, struct mmc_data *data)
++{
++ u32 dcon, imsk, stoptries = 3;
++
++ /* write DCON register */
++
++ if (!data) {
++ writel(0, host->base + S3C2410_SDIDCON);
++ return 0;
++ }
++
++ if ((data->blksz & 3) != 0) {
++ /* We cannot deal with unaligned blocks with more than
++ * one block being transfered. */
++
++ if (data->blocks > 1)
++ return -EINVAL;
++
++ /* No support yet for non-word block transfers. */
++ return -EINVAL;
++ }
++
++ while (readl(host->base + S3C2410_SDIDSTA) &
++ (S3C2410_SDIDSTA_TXDATAON | S3C2410_SDIDSTA_RXDATAON)) {
++
++ dbg(host, dbg_err,
++ "mci_setup_data() transfer stillin progress.\n");
++
++ writel(S3C2410_SDIDCON_STOP, host->base + S3C2410_SDIDCON);
++ s3cmci_reset(host);
++
++ if ((stoptries--) == 0) {
++ dbg_dumpregs(host, "DRF");
++ return -EINVAL;
++ }
++ }
++
++ dcon = data->blocks & S3C2410_SDIDCON_BLKNUM_MASK;
++
++ if (host->dodma)
++ dcon |= S3C2410_SDIDCON_DMAEN;
++
++ if (host->bus_width == MMC_BUS_WIDTH_4)
++ dcon |= S3C2410_SDIDCON_WIDEBUS;
++
++ if (!(data->flags & MMC_DATA_STREAM))
++ dcon |= S3C2410_SDIDCON_BLOCKMODE;
++
++ if (data->flags & MMC_DATA_WRITE) {
++ dcon |= S3C2410_SDIDCON_TXAFTERRESP;
++ dcon |= S3C2410_SDIDCON_XFER_TXSTART;
++ }
++
++ if (data->flags & MMC_DATA_READ) {
++ dcon |= S3C2410_SDIDCON_RXAFTERCMD;
++ dcon |= S3C2410_SDIDCON_XFER_RXSTART;
++ }
++
++ if (host->is2440) {
++ dcon |= S3C2440_SDIDCON_DS_WORD;
++ dcon |= S3C2440_SDIDCON_DATSTART;
++ }
++
++ writel(dcon, host->base + S3C2410_SDIDCON);
++
++ /* write BSIZE register */
++
++ writel(data->blksz, host->base + S3C2410_SDIBSIZE);
++
++ /* add to IMASK register */
++ imsk = S3C2410_SDIIMSK_FIFOFAIL | S3C2410_SDIIMSK_DATACRC |
++ S3C2410_SDIIMSK_DATATIMEOUT | S3C2410_SDIIMSK_DATAFINISH;
++
++ enable_imask(host, imsk);
++
++ /* write TIMER register */
++
++ if (host->is2440) {
++ writel(0x007FFFFF, host->base + S3C2410_SDITIMER);
++ } else {
++ writel(0x0000FFFF, host->base + S3C2410_SDITIMER);
++
++ /* FIX: set slow clock to prevent timeouts on read */
++ if (data->flags & MMC_DATA_READ)
++ writel(0xFF, host->base + S3C2410_SDIPRE);
++ }
++
++ return 0;
++}
++
++#define BOTH_DIR (MMC_DATA_WRITE | MMC_DATA_READ)
++
++static int s3cmci_prepare_pio(struct s3cmci_host *host, struct mmc_data *data)
++{
++ int rw = (data->flags & MMC_DATA_WRITE) ? 1 : 0;
++
++ BUG_ON((data->flags & BOTH_DIR) == BOTH_DIR);
++
++ host->pio_sgptr = 0;
++ host->pio_words = 0;
++ host->pio_count = 0;
++ host->pio_active = rw ? XFER_WRITE : XFER_READ;
++
++ if (rw) {
++ do_pio_write(host);
++ enable_imask(host, S3C2410_SDIIMSK_TXFIFOHALF);
++ } else {
++ enable_imask(host, S3C2410_SDIIMSK_RXFIFOHALF
++ | S3C2410_SDIIMSK_RXFIFOLAST);
++ }
++
++ return 0;
++}
++
++static int s3cmci_prepare_dma(struct s3cmci_host *host, struct mmc_data *data)
++{
++ int dma_len, i;
++ int rw = (data->flags & MMC_DATA_WRITE) ? 1 : 0;
++
++ BUG_ON((data->flags & BOTH_DIR) == BOTH_DIR);
++
++ s3cmci_dma_setup(host, rw ? S3C2410_DMASRC_MEM : S3C2410_DMASRC_HW);
++ s3c2410_dma_ctrl(host->dma, S3C2410_DMAOP_FLUSH);
++
++ dma_len = dma_map_sg(mmc_dev(host->mmc), data->sg, data->sg_len,
++ (rw) ? DMA_TO_DEVICE : DMA_FROM_DEVICE);
++
++ if (dma_len == 0)
++ return -ENOMEM;
++
++ host->dma_complete = 0;
++ host->dmatogo = dma_len;
++
++ for (i = 0; i < dma_len; i++) {
++ int res;
++
++ dbg(host, dbg_dma, "enqueue %i:%u@%u\n", i,
++ sg_dma_address(&data->sg[i]),
++ sg_dma_len(&data->sg[i]));
++
++ res = s3c2410_dma_enqueue(host->dma, (void *) host,
++ sg_dma_address(&data->sg[i]),
++ sg_dma_len(&data->sg[i]));
++
++ if (res) {
++ s3c2410_dma_ctrl(host->dma, S3C2410_DMAOP_FLUSH);
++ return -EBUSY;
++ }
++ }
++
++ s3c2410_dma_ctrl(host->dma, S3C2410_DMAOP_START);
++
++ return 0;
++}
++
++static void s3cmci_send_request(struct mmc_host *mmc)
++{
++ struct s3cmci_host *host = mmc_priv(mmc);
++ struct mmc_request *mrq = host->mrq;
++ struct mmc_command *cmd = host->cmd_is_stop ? mrq->stop : mrq->cmd;
++
++ host->ccnt++;
++ prepare_dbgmsg(host, cmd, host->cmd_is_stop);
++
++ /* Clear command, data and fifo status registers
++ Fifo clear only necessary on 2440, but doesn't hurt on 2410
++ */
++ writel(0xFFFFFFFF, host->base + S3C2410_SDICMDSTAT);
++ writel(0xFFFFFFFF, host->base + S3C2410_SDIDSTA);
++ writel(0xFFFFFFFF, host->base + S3C2410_SDIFSTA);
++
++ if (cmd->data) {
++ int res = s3cmci_setup_data(host, cmd->data);
++
++ host->dcnt++;
++
++ if (res) {
++ dbg(host, dbg_err, "setup data error %d\n", res);
++ cmd->error = res;
++ cmd->data->error = res;
++
++ mmc_request_done(mmc, mrq);
++ return;
++ }
++
++ if (host->dodma)
++ res = s3cmci_prepare_dma(host, cmd->data);
++ else
++ res = s3cmci_prepare_pio(host, cmd->data);
++
++ if (res) {
++ dbg(host, dbg_err, "data prepare error %d\n", res);
++ cmd->error = res;
++ cmd->data->error = res;
++
++ mmc_request_done(mmc, mrq);
++ return;
++ }
++ }
++
++ /* Send command */
++ s3cmci_send_command(host, cmd);
++
++ /* Enable Interrupt */
++ enable_irq(host->irq);
++}
++
++static int s3cmci_card_present(struct s3cmci_host *host)
++{
++ struct s3c24xx_mci_pdata *pdata = host->pdata;
++ int ret;
++
++ if (pdata->gpio_detect == 0)
++ return -ENOSYS;
++
++ ret = s3c2410_gpio_getpin(pdata->gpio_detect) ? 0 : 1;
++ return ret ^ pdata->detect_invert;
++}
++
++static void s3cmci_request(struct mmc_host *mmc, struct mmc_request *mrq)
++{
++ struct s3cmci_host *host = mmc_priv(mmc);
++
++ host->status = "mmc request";
++ host->cmd_is_stop = 0;
++ host->mrq = mrq;
++
++ if (s3cmci_card_present(host) == 0) {
++ dbg(host, dbg_err, "%s: no medium present\n", __func__);
++ host->mrq->cmd->error = -ENOMEDIUM;
++ mmc_request_done(mmc, mrq);
++ } else
++ s3cmci_send_request(mmc);
++}
++
++static void s3cmci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
++{
++ struct s3cmci_host *host = mmc_priv(mmc);
++ u32 mci_psc, mci_con;
++
++ /* Set the power state */
++
++ mci_con = readl(host->base + S3C2410_SDICON);
++
++ switch (ios->power_mode) {
++ case MMC_POWER_ON:
++ case MMC_POWER_UP:
++ s3c2410_gpio_cfgpin(S3C2410_GPE5, S3C2410_GPE5_SDCLK);
++ s3c2410_gpio_cfgpin(S3C2410_GPE6, S3C2410_GPE6_SDCMD);
++ s3c2410_gpio_cfgpin(S3C2410_GPE7, S3C2410_GPE7_SDDAT0);
++ s3c2410_gpio_cfgpin(S3C2410_GPE8, S3C2410_GPE8_SDDAT1);
++ s3c2410_gpio_cfgpin(S3C2410_GPE9, S3C2410_GPE9_SDDAT2);
++ s3c2410_gpio_cfgpin(S3C2410_GPE10, S3C2410_GPE10_SDDAT3);
++
++ if (host->pdata->set_power)
++ host->pdata->set_power(ios->power_mode, ios->vdd);
++
++ if (!host->is2440)
++ mci_con |= S3C2410_SDICON_FIFORESET;
++
++ break;
++
++ case MMC_POWER_OFF:
++ default:
++ s3c2410_gpio_setpin(S3C2410_GPE5, 0);
++ s3c2410_gpio_cfgpin(S3C2410_GPE5, S3C2410_GPE5_OUTP);
++
++ if (host->is2440)
++ mci_con |= S3C2440_SDICON_SDRESET;
++
++ if (host->pdata->set_power)
++ host->pdata->set_power(ios->power_mode, ios->vdd);
++
++ break;
++ }
++
++ /* Set clock */
++ for (mci_psc = 0; mci_psc < 255; mci_psc++) {
++ host->real_rate = host->clk_rate / (host->clk_div*(mci_psc+1));
++
++ if (host->real_rate <= ios->clock)
++ break;
++ }
++
++ if (mci_psc > 255)
++ mci_psc = 255;
++
++ host->prescaler = mci_psc;
++ writel(host->prescaler, host->base + S3C2410_SDIPRE);
++
++ /* If requested clock is 0, real_rate will be 0, too */
++ if (ios->clock == 0)
++ host->real_rate = 0;
++
++ /* Set CLOCK_ENABLE */
++ if (ios->clock)
++ mci_con |= S3C2410_SDICON_CLOCKTYPE;
++ else
++ mci_con &= ~S3C2410_SDICON_CLOCKTYPE;
++
++ writel(mci_con, host->base + S3C2410_SDICON);
++
++ if ((ios->power_mode == MMC_POWER_ON) ||
++ (ios->power_mode == MMC_POWER_UP)) {
++ dbg(host, dbg_conf, "running at %lukHz (requested: %ukHz).\n",
++ host->real_rate/1000, ios->clock/1000);
++ } else {
++ dbg(host, dbg_conf, "powered down.\n");
++ }
++
++ host->bus_width = ios->bus_width;
++}
++
++static void s3cmci_reset(struct s3cmci_host *host)
++{
++ u32 con = readl(host->base + S3C2410_SDICON);
++
++ con |= S3C2440_SDICON_SDRESET;
++ writel(con, host->base + S3C2410_SDICON);
++}
++
++static int s3cmci_get_ro(struct mmc_host *mmc)
++{
++ struct s3cmci_host *host = mmc_priv(mmc);
++ struct s3c24xx_mci_pdata *pdata = host->pdata;
++ int ret;
++
++ if (pdata->gpio_wprotect == 0)
++ return 0;
++
++ ret = s3c2410_gpio_getpin(pdata->gpio_wprotect);
++
++ if (pdata->wprotect_invert)
++ ret = !ret;
++
++ return ret;
++}
++
++static struct mmc_host_ops s3cmci_ops = {
++ .request = s3cmci_request,
++ .set_ios = s3cmci_set_ios,
++ .get_ro = s3cmci_get_ro,
++};
++
++static struct s3c24xx_mci_pdata s3cmci_def_pdata = {
++ /* This is currently here to avoid a number of if (host->pdata)
++ * checks. Any zero fields to ensure reaonable defaults are picked. */
++};
++
++static int __devinit s3cmci_probe(struct platform_device *pdev, int is2440)
++{
++ struct s3cmci_host *host;
++ struct mmc_host *mmc;
++ int ret;
++
++ mmc = mmc_alloc_host(sizeof(struct s3cmci_host), &pdev->dev);
++ if (!mmc) {
++ ret = -ENOMEM;
++ goto probe_out;
++ }
++
++ host = mmc_priv(mmc);
++ host->mmc = mmc;
++ host->pdev = pdev;
++ host->is2440 = is2440;
++
++ host->pdata = pdev->dev.platform_data;
++ if (!host->pdata) {
++ pdev->dev.platform_data = &s3cmci_def_pdata;
++ host->pdata = &s3cmci_def_pdata;
++ }
++
++ spin_lock_init(&host->complete_lock);
++ tasklet_init(&host->pio_tasklet, pio_tasklet, (unsigned long) host);
++
++ if (is2440) {
++ host->sdiimsk = S3C2440_SDIIMSK;
++ host->sdidata = S3C2440_SDIDATA;
++ host->clk_div = 1;
++ } else {
++ host->sdiimsk = S3C2410_SDIIMSK;
++ host->sdidata = S3C2410_SDIDATA;
++ host->clk_div = 2;
++ }
++
++ host->dodma = 0;
++ host->complete_what = COMPLETION_NONE;
++ host->pio_active = XFER_NONE;
++
++ host->dma = S3CMCI_DMA;
++
++ host->mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
++ if (!host->mem) {
++ dev_err(&pdev->dev,
++ "failed to get io memory region resouce.\n");
++
++ ret = -ENOENT;
++ goto probe_free_host;
++ }
++
++ host->mem = request_mem_region(host->mem->start,
++ RESSIZE(host->mem), pdev->name);
++
++ if (!host->mem) {
++ dev_err(&pdev->dev, "failed to request io memory region.\n");
++ ret = -ENOENT;
++ goto probe_free_host;
++ }
++
++ host->base = ioremap(host->mem->start, RESSIZE(host->mem));
++ if (host->base == 0) {
++ dev_err(&pdev->dev, "failed to ioremap() io memory region.\n");
++ ret = -EINVAL;
++ goto probe_free_mem_region;
++ }
++
++ host->irq = platform_get_irq(pdev, 0);
++ if (host->irq == 0) {
++ dev_err(&pdev->dev, "failed to get interrupt resouce.\n");
++ ret = -EINVAL;
++ goto probe_iounmap;
++ }
++
++ if (request_irq(host->irq, s3cmci_irq, 0, DRIVER_NAME, host)) {
++ dev_err(&pdev->dev, "failed to request mci interrupt.\n");
++ ret = -ENOENT;
++ goto probe_iounmap;
++ }
++
++ /* We get spurious interrupts even when we have set the IMSK
++ * register to ignore everything, so use disable_irq() to make
++ * ensure we don't lock the system with un-serviceable requests. */
++
++ disable_irq(host->irq);
++
++ host->irq_cd = s3c2410_gpio_getirq(host->pdata->gpio_detect);
++
++ if (host->irq_cd >= 0) {
++ if (request_irq(host->irq_cd, s3cmci_irq_cd,
++ IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
++ DRIVER_NAME, host)) {
++ dev_err(&pdev->dev, "can't get card detect irq.\n");
++ ret = -ENOENT;
++ goto probe_free_irq;
++ }
++ } else {
++ dev_warn(&pdev->dev, "host detect has no irq available\n");
++ s3c2410_gpio_cfgpin(host->pdata->gpio_detect,
++ S3C2410_GPIO_INPUT);
++ }
++
++ if (host->pdata->gpio_wprotect)
++ s3c2410_gpio_cfgpin(host->pdata->gpio_wprotect,
++ S3C2410_GPIO_INPUT);
++
++ if (s3c2410_dma_request(S3CMCI_DMA, &s3cmci_dma_client, NULL) < 0) {
++ dev_err(&pdev->dev, "unable to get DMA channel.\n");
++ ret = -EBUSY;
++ goto probe_free_irq_cd;
++ }
++
++ host->clk = clk_get(&pdev->dev, "sdi");
++ if (IS_ERR(host->clk)) {
++ dev_err(&pdev->dev, "failed to find clock source.\n");
++ ret = PTR_ERR(host->clk);
++ host->clk = NULL;
++ goto probe_free_host;
++ }
++
++ ret = clk_enable(host->clk);
++ if (ret) {
++ dev_err(&pdev->dev, "failed to enable clock source.\n");
++ goto clk_free;
++ }
++
++ host->clk_rate = clk_get_rate(host->clk);
++
++ mmc->ops = &s3cmci_ops;
++ mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34;
++ mmc->caps = MMC_CAP_4_BIT_DATA;
++ mmc->f_min = host->clk_rate / (host->clk_div * 256);
++ mmc->f_max = host->clk_rate / host->clk_div;
++
++ if (host->pdata->ocr_avail)
++ mmc->ocr_avail = host->pdata->ocr_avail;
++
++ mmc->max_blk_count = 4095;
++ mmc->max_blk_size = 4095;
++ mmc->max_req_size = 4095 * 512;
++ mmc->max_seg_size = mmc->max_req_size;
++
++ mmc->max_phys_segs = 128;
++ mmc->max_hw_segs = 128;
++
++ dbg(host, dbg_debug,
++ "probe: mode:%s mapped mci_base:%p irq:%u irq_cd:%u dma:%u.\n",
++ (host->is2440?"2440":""),
++ host->base, host->irq, host->irq_cd, host->dma);
++
++ ret = mmc_add_host(mmc);
++ if (ret) {
++ dev_err(&pdev->dev, "failed to add mmc host.\n");
++ goto free_dmabuf;
++ }
++
++ platform_set_drvdata(pdev, mmc);
++ dev_info(&pdev->dev, "initialisation done.\n");
++
++ return 0;
++
++ free_dmabuf:
++ clk_disable(host->clk);
++
++ clk_free:
++ clk_put(host->clk);
++
++ probe_free_irq_cd:
++ if (host->irq_cd >= 0)
++ free_irq(host->irq_cd, host);
++
++ probe_free_irq:
++ free_irq(host->irq, host);
++
++ probe_iounmap:
++ iounmap(host->base);
++
++ probe_free_mem_region:
++ release_mem_region(host->mem->start, RESSIZE(host->mem));
++
++ probe_free_host:
++ mmc_free_host(mmc);
++ probe_out:
++ return ret;
++}
++
++static int __devexit s3cmci_remove(struct platform_device *pdev)
++{
++ struct mmc_host *mmc = platform_get_drvdata(pdev);
++ struct s3cmci_host *host = mmc_priv(mmc);
++
++ mmc_remove_host(mmc);
++
++ clk_disable(host->clk);
++ clk_put(host->clk);
++
++ tasklet_disable(&host->pio_tasklet);
++ s3c2410_dma_free(S3CMCI_DMA, &s3cmci_dma_client);
++
++ if (host->irq_cd >= 0)
++ free_irq(host->irq_cd, host);
++ free_irq(host->irq, host);
++
++ iounmap(host->base);
++ release_mem_region(host->mem->start, RESSIZE(host->mem));
++
++ mmc_free_host(mmc);
++ return 0;
++}
++
++static int __devinit s3cmci_probe_2410(struct platform_device *dev)
++{
++ return s3cmci_probe(dev, 0);
++}
++
++static int __devinit s3cmci_probe_2412(struct platform_device *dev)
++{
++ return s3cmci_probe(dev, 1);
++}
++
++static int __devinit s3cmci_probe_2440(struct platform_device *dev)
++{
++ return s3cmci_probe(dev, 1);
++}
++
++#ifdef CONFIG_PM
++
++static int s3cmci_suspend(struct platform_device *dev, pm_message_t state)
++{
++ struct mmc_host *mmc = platform_get_drvdata(dev);
++
++ return mmc_suspend_host(mmc, state);
++}
++
++static int s3cmci_resume(struct platform_device *dev)
++{
++ struct mmc_host *mmc = platform_get_drvdata(dev);
++
++ return mmc_resume_host(mmc);
++}
++
++#else /* CONFIG_PM */
++#define s3cmci_suspend NULL
++#define s3cmci_resume NULL
++#endif /* CONFIG_PM */
++
++
++static struct platform_driver s3cmci_driver_2410 = {
++ .driver.name = "s3c2410-sdi",
++ .driver.owner = THIS_MODULE,
++ .probe = s3cmci_probe_2410,
++ .remove = __devexit_p(s3cmci_remove),
++ .suspend = s3cmci_suspend,
++ .resume = s3cmci_resume,
++};
++
++static struct platform_driver s3cmci_driver_2412 = {
++ .driver.name = "s3c2412-sdi",
++ .driver.owner = THIS_MODULE,
++ .probe = s3cmci_probe_2412,
++ .remove = __devexit_p(s3cmci_remove),
++ .suspend = s3cmci_suspend,
++ .resume = s3cmci_resume,
++};
++
++static struct platform_driver s3cmci_driver_2440 = {
++ .driver.name = "s3c2440-sdi",
++ .driver.owner = THIS_MODULE,
++ .probe = s3cmci_probe_2440,
++ .remove = __devexit_p(s3cmci_remove),
++ .suspend = s3cmci_suspend,
++ .resume = s3cmci_resume,
++};
++
++
++static int __init s3cmci_init(void)
++{
++ platform_driver_register(&s3cmci_driver_2410);
++ platform_driver_register(&s3cmci_driver_2412);
++ platform_driver_register(&s3cmci_driver_2440);
++ return 0;
++}
++
++static void __exit s3cmci_exit(void)
++{
++ platform_driver_unregister(&s3cmci_driver_2410);
++ platform_driver_unregister(&s3cmci_driver_2412);
++ platform_driver_unregister(&s3cmci_driver_2440);
++}
++
++module_init(s3cmci_init);
++module_exit(s3cmci_exit);
++
++MODULE_DESCRIPTION("Samsung S3C MMC/SD Card Interface driver");
++MODULE_LICENSE("GPL v2");
++MODULE_AUTHOR("Thomas Kleffel <tk@maintech.de>");
++MODULE_ALIAS("platform:s3c2410-sdi");
++MODULE_ALIAS("platform:s3c2412-sdi");
++MODULE_ALIAS("platform:s3c2440-sdi");
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/mmc/host/s3cmci.h linux-2.6.25-m8050/drivers/mmc/host/s3cmci.h
+--- linux-git/drivers/mmc/host/s3cmci.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/drivers/mmc/host/s3cmci.h 2008-07-01 13:32:30.000000000 +0200
+@@ -0,0 +1,70 @@
++/*
++ * linux/drivers/mmc/s3cmci.h - Samsung S3C MCI driver
++ *
++ * Copyright (C) 2004-2006 Thomas Kleffel, All Rights Reserved.
++ *
++ * 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.
++ */
++
++/* FIXME: DMA Resource management ?! */
++#define S3CMCI_DMA 0
++
++enum s3cmci_waitfor {
++ COMPLETION_NONE,
++ COMPLETION_FINALIZE,
++ COMPLETION_CMDSENT,
++ COMPLETION_RSPFIN,
++ COMPLETION_XFERFINISH,
++ COMPLETION_XFERFINISH_RSPFIN,
++};
++
++struct s3cmci_host {
++ struct platform_device *pdev;
++ struct s3c24xx_mci_pdata *pdata;
++ struct mmc_host *mmc;
++ struct resource *mem;
++ struct clk *clk;
++ void __iomem *base;
++ int irq;
++ int irq_cd;
++ int dma;
++
++ unsigned long clk_rate;
++ unsigned long clk_div;
++ unsigned long real_rate;
++ u8 prescaler;
++
++ int is2440;
++ unsigned sdiimsk;
++ unsigned sdidata;
++ int dodma;
++ int dmatogo;
++
++ struct mmc_request *mrq;
++ int cmd_is_stop;
++
++ spinlock_t complete_lock;
++ enum s3cmci_waitfor complete_what;
++
++ int dma_complete;
++
++ u32 pio_sgptr;
++ u32 pio_words;
++ u32 pio_count;
++ u32 *pio_ptr;
++#define XFER_NONE 0
++#define XFER_READ 1
++#define XFER_WRITE 2
++ u32 pio_active;
++
++ int bus_width;
++
++ char dbgmsg_cmd[301];
++ char dbgmsg_dat[301];
++ char *status;
++
++ unsigned int ccnt, dcnt;
++ struct tasklet_struct pio_tasklet;
++};
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/net/wireless/libertas/if_sdio.c linux-2.6.25-m8050/drivers/net/wireless/libertas/if_sdio.c
+--- linux-git/drivers/net/wireless/libertas/if_sdio.c 2008-11-10 12:20:26.000000000 +0100
++++ linux-2.6.25-m8050/drivers/net/wireless/libertas/if_sdio.c 2008-07-11 16:08:33.000000000 +0200
+@@ -248,13 +248,16 @@
+ u8 status;
+ u16 size, type, chunk;
+ unsigned long timeout;
++ int padsize;
+
+ lbs_deb_enter(LBS_DEB_SDIO);
+
+ size = if_sdio_read_scratch(card, &ret);
+ if (ret)
+ goto out;
++// printk(KERN_INFO "libertas_sdio: packet size card-to-host %d\n",size);
+
++
+ if (size < 4) {
+ lbs_deb_sdio("invalid packet size (%d bytes) from firmware\n",
+ (int)size);
+@@ -262,6 +265,12 @@
+ goto out;
+ }
+
++ padsize= 0x04 - (size % 0x04);
++ if (padsize) {
++ size=size +padsize;
++// printk(KERN_INFO "libertas_sdio: adjusting packet size card-to-host %d\n",size);
++ }
++
+ timeout = jiffies + HZ;
+ while (1) {
+ status = sdio_readb(card->func, IF_SDIO_STATUS, &ret);
+@@ -379,6 +388,8 @@
+ mdelay(1);
+ }
+
++// printk(KERN_INFO "libertas_sdio: packet size host-to-card-worker %d\n",packet->nb);
++
+ ret = sdio_writesb(card->func, card->ioport,
+ packet->buffer, packet->nb);
+ if (ret)
+@@ -696,6 +707,7 @@
+ struct if_sdio_packet *packet, *cur;
+ u16 size;
+ unsigned long flags;
++ int padsize;
+
+ lbs_deb_enter_args(LBS_DEB_SDIO, "type %d, bytes %d", type, nb);
+
+@@ -711,6 +723,14 @@
+ * goes suicidal.
+ */
+ size = nb + 4;
++ padsize = 0x04 - (size % 0x04);
++
++// printk(KERN_INFO "libertas_sdio: packet size host-to-card %d\n",size);
++
++ if (padsize) {
++ size = size + padsize;
++// printk(KERN_INFO "libertas_sdio: adjusting packet size card-to-host %d\n",size);
++ }
+ if ((size > card->func->cur_blksize) || (size > 512)) {
+ size = (size + card->func->cur_blksize - 1) /
+ card->func->cur_blksize * card->func->cur_blksize;
+@@ -729,13 +749,19 @@
+ /*
+ * SDIO specific header.
+ */
+- packet->buffer[0] = (nb + 4) & 0xff;
+- packet->buffer[1] = ((nb + 4) >> 8) & 0xff;
++ packet->buffer[0] = (nb + 4 + padsize) & 0xff;
++ packet->buffer[1] = ((nb + 4 + padsize) >> 8) & 0xff;
+ packet->buffer[2] = type;
+ packet->buffer[3] = 0;
+
+ memcpy(packet->buffer + 4, buf, nb);
+
++ if (padsize != 0 ) {
++ int padcount;
++ for (padcount=0; padcount < padsize ; padcount++) {
++ packet->buffer[size-padcount]=0;
++ }
++ }
+ spin_lock_irqsave(&card->lock, flags);
+
+ if (!card->packets)
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/serial/s3c2410.c linux-2.6.25-m8050/drivers/serial/s3c2410.c
+--- linux-git/drivers/serial/s3c2410.c 2008-11-10 12:20:27.000000000 +0100
++++ linux-2.6.25-m8050/drivers/serial/s3c2410.c 2008-10-10 18:07:13.000000000 +0200
+@@ -72,6 +72,7 @@
+ #include <linux/serial.h>
+ #include <linux/delay.h>
+ #include <linux/clk.h>
++#include <linux/leds.h>
+
+ #include <asm/io.h>
+ #include <asm/irq.h>
+@@ -315,19 +316,32 @@
+ struct s3c24xx_uart_port *ourport = dev_id;
+ struct uart_port *port = &ourport->port;
+ struct tty_struct *tty = port->info->tty;
++ struct s3c2410_uartcfg *cfg = s3c24xx_port_to_cfg(port);
+ unsigned int ufcon, ch, flag, ufstat, uerstat;
+ int max_count = 64;
+
++ if (cfg->hwport==0) {
++ printk("uart0 irq!!\n");
++ scanner_data();
++ }
+ while (max_count-- > 0) {
+ ufcon = rd_regl(port, S3C2410_UFCON);
+ ufstat = rd_regl(port, S3C2410_UFSTAT);
+
+- if (s3c24xx_serial_rx_fifocnt(ourport, ufstat) == 0)
++ if (s3c24xx_serial_rx_fifocnt(ourport, ufstat) == 0){
++ if (cfg->hwport==0) {
++ printk("rx_fifocnt is 0\n");
++ }
+ break;
++ }
+
+ uerstat = rd_regl(port, S3C2410_UERSTAT);
+ ch = rd_regb(port, S3C2410_URXH);
+
++ if (cfg->hwport==0) {
++ printk("received %c(0x%x)\n",ch,ch);
++ }
++
+ if (port->flags & UPF_CONS_FLOW) {
+ int txe = s3c24xx_serial_txempty_nofifo(port);
+
+@@ -458,11 +472,28 @@
+ static unsigned int s3c24xx_serial_get_mctrl(struct uart_port *port)
+ {
+ unsigned int umstat = rd_regb(port,S3C2410_UMSTAT);
++ struct s3c2410_uartcfg *cfg = s3c24xx_port_to_cfg(port);
+
+- if (umstat & S3C2410_UMSTAT_CTS)
++ if (umstat & S3C2410_UMSTAT_CTS) {
++ if( cfg->ri_pin != NULL ) {
++ if ( s3c2410_gpio_getpin(cfg->ri_pin))
++ return TIOCM_CAR | TIOCM_DSR | TIOCM_CTS;
++ else
++ return TIOCM_CAR | TIOCM_DSR | TIOCM_CTS | TIOCM_RI;
++ }
++ else
+ return TIOCM_CAR | TIOCM_DSR | TIOCM_CTS;
+- else
++ }
++ else {
++ if( cfg->ri_pin != NULL ) {
++ if ( s3c2410_gpio_getpin(cfg->ri_pin))
++ return TIOCM_CAR | TIOCM_DSR;
++ else
++ return TIOCM_CAR | TIOCM_DSR | TIOCM_RI;
++ }
++ else
+ return TIOCM_CAR | TIOCM_DSR;
++ }
+ }
+
+ static void s3c24xx_serial_set_mctrl(struct uart_port *port, unsigned int mctrl)
+@@ -1025,6 +1056,10 @@
+
+ dbg("s3c24xx_serial_init_port: port=%p, platdev=%p\n", port, platdev);
+
++ /* turn on the lcd backlight and turn off green led */
++ s3c2410_gpio_setpin(S3C2410_GPB3, 1);
++ s3c2410_gpio_setpin(S3C2410_GPG4, 0);
++
+ if (platdev == NULL)
+ return -ENODEV;
+
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/spi/spi_s3c24xx.c linux-2.6.25-m8050/drivers/spi/spi_s3c24xx.c
+--- linux-git/drivers/spi/spi_s3c24xx.c 2008-11-10 12:20:27.000000000 +0100
++++ linux-2.6.25-m8050/drivers/spi/spi_s3c24xx.c 2008-06-11 11:30:43.000000000 +0200
+@@ -270,6 +270,7 @@
+ /* setup the master state. */
+
+ master->num_chipselect = hw->pdata->num_cs;
++ master->bus_num = pdev->id;
+
+ /* setup the state for the bitbang driver */
+
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/video/logo/Kconfig linux-2.6.25-m8050/drivers/video/logo/Kconfig
+--- linux-git/drivers/video/logo/Kconfig 2008-11-10 12:20:29.000000000 +0100
++++ linux-2.6.25-m8050/drivers/video/logo/Kconfig 2008-08-13 12:19:47.000000000 +0200
+@@ -72,4 +72,9 @@
+ depends on M32R
+ default y
+
++config LOGO_M8050_CLUT224
++ bool "224-color AML Linux logo"
++ depends on MACH_AML_M8050
++ default y
++
+ endif # LOGO
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/video/logo/logo.c linux-2.6.25-m8050/drivers/video/logo/logo.c
+--- linux-git/drivers/video/logo/logo.c 2008-11-10 12:20:29.000000000 +0100
++++ linux-2.6.25-m8050/drivers/video/logo/logo.c 2008-08-13 13:52:48.000000000 +0200
+@@ -33,6 +33,7 @@
+ extern const struct linux_logo logo_superh_vga16;
+ extern const struct linux_logo logo_superh_clut224;
+ extern const struct linux_logo logo_m32r_clut224;
++extern const struct linux_logo logo_m8050_clut224;
+
+ static int nologo;
+ module_param(nologo, bool, 0);
+@@ -105,6 +106,10 @@
+ /* M32R Linux logo */
+ logo = &logo_m32r_clut224;
+ #endif
++#ifdef CONFIG_LOGO_M8050_CLUT224
++ /* M8050 AML logo */
++ logo = &logo_m8050_clut224;
++#endif
+ }
+ return logo;
+ }
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/video/logo/logo_m8050_clut224.ppm linux-2.6.25-m8050/drivers/video/logo/logo_m8050_clut224.ppm
+--- linux-git/drivers/video/logo/logo_m8050_clut224.ppm 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/drivers/video/logo/logo_m8050_clut224.ppm 2008-08-14 18:58:49.000000000 +0200
+@@ -0,0 +1,230404 @@
++P3
++# CREATOR: The GIMP's PNM Filter Version 1.0
++240 320
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++11
++6
++0
++43
++22
++0
++43
++22
++0
++75
++38
++0
++84
++42
++0
++84
++42
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++139
++69
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++173
++87
++0
++173
++87
++0
++152
++76
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++87
++43
++0
++87
++43
++0
++66
++33
++0
++44
++22
++0
++11
++6
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++43
++22
++0
++53
++26
++0
++84
++42
++0
++107
++54
++0
++129
++64
++0
++152
++76
++0
++174
++87
++0
++177
++88
++0
++179
++89
++0
++180
++90
++0
++182
++91
++0
++185
++93
++0
++186
++93
++0
++189
++94
++0
++190
++95
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++195
++98
++0
++195
++98
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++190
++95
++0
++189
++94
++0
++189
++94
++0
++185
++93
++0
++183
++92
++0
++182
++91
++0
++180
++90
++0
++179
++89
++0
++166
++83
++0
++132
++66
++0
++88
++44
++0
++56
++28
++0
++11
++6
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++43
++22
++0
++65
++32
++0
++87
++43
++0
++130
++65
++0
++152
++76
++0
++177
++88
++0
++182
++91
++0
++185
++93
++0
++189
++94
++0
++194
++97
++0
++196
++98
++0
++200
++100
++0
++205
++103
++0
++208
++104
++0
++213
++106
++0
++217
++108
++0
++218
++109
++0
++221
++111
++0
++223
++112
++0
++225
++112
++0
++229
++114
++0
++229
++114
++0
++230
++115
++0
++231
++116
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++226
++113
++0
++225
++112
++0
++225
++112
++0
++222
++111
++0
++221
++111
++0
++219
++110
++0
++218
++109
++0
++217
++108
++0
++213
++106
++0
++211
++106
++0
++210
++105
++0
++206
++103
++0
++205
++103
++0
++200
++100
++0
++196
++98
++0
++194
++97
++0
++190
++95
++0
++186
++93
++0
++182
++91
++0
++180
++90
++0
++133
++67
++0
++79
++40
++0
++23
++12
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++43
++22
++0
++87
++43
++0
++107
++54
++0
++143
++72
++0
++180
++90
++0
++185
++93
++0
++190
++95
++0
++195
++98
++0
++200
++100
++0
++206
++103
++0
++213
++106
++0
++218
++109
++0
++225
++112
++0
++230
++115
++0
++234
++117
++0
++237
++123
++9
++238
++129
++21
++238
++129
++21
++239
++139
++39
++239
++139
++39
++239
++139
++39
++239
++139
++39
++240
++151
++63
++240
++151
++63
++240
++151
++63
++240
++151
++63
++240
++151
++63
++240
++151
++63
++240
++151
++63
++240
++151
++63
++240
++151
++63
++240
++151
++63
++240
++151
++63
++240
++151
++63
++240
++151
++63
++240
++151
++63
++240
++151
++63
++239
++139
++39
++239
++139
++39
++239
++139
++39
++239
++139
++39
++238
++129
++21
++238
++129
++21
++238
++129
++21
++237
++123
++9
++237
++123
++9
++235
++118
++0
++233
++117
++0
++230
++115
++0
++229
++114
++0
++226
++113
++0
++225
++112
++0
++222
++111
++0
++219
++110
++0
++217
++108
++0
++213
++106
++0
++208
++104
++0
++205
++103
++0
++196
++98
++0
++193
++96
++0
++186
++93
++0
++183
++92
++0
++137
++68
++0
++68
++34
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++32
++16
++0
++66
++33
++0
++110
++55
++0
++146
++73
++0
++183
++92
++0
++190
++95
++0
++196
++98
++0
++205
++103
++0
++210
++105
++0
++218
++109
++0
++225
++112
++0
++231
++116
++0
++236
++118
++1
++238
++129
++21
++239
++139
++39
++239
++139
++39
++240
++151
++63
++240
++151
++63
++240
++151
++63
++240
++151
++63
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++240
++151
++63
++242
++167
++91
++240
++151
++63
++240
++151
++63
++240
++151
++63
++239
++139
++39
++239
++139
++39
++238
++129
++21
++238
++129
++21
++237
++123
++9
++237
++123
++9
++236
++118
++1
++234
++117
++0
++233
++117
++0
++231
++116
++0
++229
++114
++0
++226
++113
++0
++223
++112
++0
++219
++110
++0
++213
++106
++0
++207
++104
++0
++200
++100
++0
++194
++97
++0
++189
++94
++0
++173
++87
++0
++93
++46
++0
++12
++6
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++32
++16
++0
++79
++39
++0
++124
++62
++0
++173
++87
++0
++193
++96
++0
++199
++99
++0
++206
++103
++0
++217
++108
++0
++225
++112
++0
++231
++116
++0
++237
++123
++9
++238
++129
++21
++239
++139
++39
++240
++151
++63
++240
++151
++63
++240
++151
++63
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++211
++151
++92
++211
++151
++92
++183
++141
++99
++183
++141
++99
++183
++141
++99
++163
++132
++100
++138
++122
++105
++138
++122
++105
++138
++122
++105
++138
++122
++105
++112
++112
++111
++112
++112
++111
++106
++106
++106
++106
++106
++106
++106
++106
++106
++106
++106
++106
++112
++112
++111
++106
++106
++106
++112
++112
++111
++106
++106
++106
++112
++112
++111
++106
++106
++106
++106
++106
++106
++138
++122
++105
++138
++122
++105
++138
++122
++105
++163
++132
++100
++183
++141
++99
++163
++132
++100
++211
++151
++92
++211
++151
++92
++242
++167
++91
++242
++167
++91
++242
++167
++91
++242
++167
++91
++240
++151
++63
++240
++151
++63
++240
++151
++63
++239
++139
++39
++239
++139
++39
++238
++129
++21
++237
++123
++9
++237
++123
++9
++236
++118
++1
++235
++118
++0
++234
++117
++0
++233
++117
++0
++231
++116
++0
++229
++114
++0
++225
++112
++0
++219
++110
++0
++213
++106
++0
++206
++103
++0
++199
++99
++0
++193
++96
++0
++177
++88
++0
++71
++36
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++34
++17
++0
++81
++40
++0
++126
++63
++0
++179
++90
++0
++196
++98
++0
++206
++103
++0
++217
++108
++0
++225
++112
++0
++234
++117
++0
++237
++123
++9
++239
++139
++39
++239
++139
++39
++240
++151
++63
++240
++151
++63
++242
++167
++91
++242
++167
++91
++211
++151
++92
++211
++151
++92
++163
++132
++100
++163
++132
++100
++138
++122
++105
++138
++122
++105
++106
++106
++106
++106
++106
++106
++106
++106
++106
++103
++103
++102
++98
++98
++97
++98
++98
++97
++91
++91
++91
++91
++91
++91
++91
++91
++91
++84
++84
++83
++84
++84
++83
++84
++84
++83
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++71
++70
++69
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++76
++84
++84
++83
++84
++84
++83
++84
++84
++83
++91
++91
++91
++91
++91
++91
++98
++98
++97
++98
++98
++97
++122
++105
++89
++163
++132
++100
++183
++141
++99
++211
++151
++92
++242
++167
++91
++242
++167
++91
++240
++151
++63
++240
++151
++63
++239
++139
++39
++239
++139
++39
++238
++129
++21
++237
++123
++9
++237
++123
++9
++236
++118
++1
++236
++118
++1
++235
++118
++0
++234
++117
++0
++234
++117
++0
++231
++116
++0
++229
++114
++0
++225
++112
++0
++217
++108
++0
++210
++105
++0
++200
++100
++0
++194
++97
++0
++143
++72
++0
++24
++12
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++12
++5
++0
++68
++34
++0
++117
++59
++0
++170
++85
++0
++203
++101
++0
++211
++106
++0
++221
++111
++0
++231
++116
++0
++237
++123
++9
++239
++139
++39
++239
++139
++39
++240
++151
++63
++242
++167
++91
++242
++167
++91
++211
++151
++92
++183
++141
++99
++163
++132
++100
++138
++122
++105
++112
++112
++111
++106
++106
++106
++103
++103
++102
++98
++98
++97
++98
++98
++97
++91
++91
++91
++91
++91
++91
++84
++84
++83
++76
++76
++76
++76
++76
++76
++71
++70
++69
++66
++66
++66
++61
++61
++61
++55
++55
++55
++55
++55
++55
++52
++52
++52
++47
++47
++47
++47
++47
++47
++41
++41
++41
++28
++28
++28
++13
++13
++13
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++4
++4
++4
++13
++13
++13
++28
++28
++28
++41
++41
++41
++41
++41
++41
++47
++47
++47
++52
++52
++52
++55
++55
++55
++61
++61
++61
++66
++66
++66
++71
++70
++69
++76
++76
++76
++76
++76
++76
++84
++84
++83
++84
++84
++83
++98
++98
++97
++151
++115
++79
++183
++141
++99
++242
++167
++91
++240
++151
++63
++240
++151
++63
++240
++151
++63
++239
++139
++39
++238
++129
++21
++237
++123
++9
++237
++123
++9
++236
++118
++1
++236
++118
++1
++235
++118
++0
++235
++118
++0
++234
++117
++0
++233
++117
++0
++230
++115
++0
++225
++112
++0
++218
++109
++0
++208
++104
++0
++200
++100
++0
++182
++91
++0
++75
++37
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++35
++18
++0
++84
++42
++0
++146
++73
++0
++205
++103
++0
++213
++106
++0
++225
++112
++0
++234
++117
++0
++238
++129
++21
++239
++139
++39
++240
++151
++63
++240
++151
++63
++211
++151
++92
++183
++141
++99
++163
++132
++100
++138
++122
++105
++106
++106
++106
++98
++98
++97
++103
++103
++102
++98
++98
++97
++91
++91
++91
++84
++84
++83
++84
++84
++83
++76
++76
++76
++66
++66
++66
++66
++66
++66
++61
++61
++61
++52
++52
++52
++47
++47
++47
++28
++28
++28
++13
++13
++13
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++4
++4
++4
++13
++13
++13
++35
++35
++35
++47
++47
++47
++52
++52
++52
++61
++61
++61
++66
++66
++66
++76
++76
++76
++76
++76
++76
++91
++91
++91
++151
++115
++79
++211
++151
++92
++240
++151
++63
++240
++151
++63
++239
++139
++39
++239
++139
++39
++238
++129
++21
++237
++123
++9
++236
++118
++1
++236
++118
++1
++235
++118
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++231
++116
++0
++229
++114
++0
++222
++111
++0
++214
++107
++0
++205
++103
++0
++200
++100
++0
++76
++37
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++36
++18
++0
++110
++55
++0
++179
++89
++0
++213
++106
++0
++222
++111
++0
++233
++117
++0
++238
++129
++21
++239
++139
++39
++240
++151
++63
++211
++151
++92
++183
++141
++99
++163
++132
++100
++138
++122
++105
++98
++98
++97
++98
++98
++97
++98
++98
++97
++91
++91
++91
++84
++84
++83
++84
++84
++83
++76
++76
++76
++66
++66
++66
++61
++61
++61
++55
++55
++55
++47
++47
++47
++19
++19
++19
++8
++8
++8
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++8
++8
++8
++35
++35
++35
++41
++41
++41
++55
++55
++55
++61
++61
++61
++71
++70
++69
++76
++76
++76
++116
++94
++73
++211
++151
++92
++240
++151
++63
++239
++139
++39
++239
++139
++39
++238
++129
++21
++237
++123
++9
++237
++123
++9
++236
++118
++1
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++231
++116
++0
++226
++113
++0
++219
++110
++0
++210
++105
++0
++205
++103
++0
++76
++38
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++63
++31
++0
++126
++63
++0
++196
++98
++0
++219
++110
++0
++230
++115
++0
++237
++123
++9
++239
++139
++39
++240
++151
++63
++186
++120
++54
++163
++132
++100
++122
++105
++89
++98
++98
++97
++91
++91
++91
++91
++91
++91
++89
++84
++79
++84
++84
++83
++76
++76
++76
++71
++70
++69
++61
++61
++61
++55
++55
++55
++47
++47
++47
++19
++19
++19
++8
++8
++8
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++8
++8
++8
++35
++35
++35
++47
++47
++47
++55
++55
++55
++61
++61
++61
++66
++66
++66
++116
++94
++73
++240
++151
++63
++239
++139
++39
++239
++139
++39
++238
++129
++21
++237
++123
++9
++237
++123
++9
++236
++118
++1
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++233
++117
++0
++229
++114
++0
++221
++111
++0
++213
++106
++0
++208
++104
++0
++53
++26
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++50
++25
++0
++130
++65
++0
++203
++101
++0
++225
++112
++0
++235
++118
++0
++238
++129
++21
++239
++139
++39
++186
++120
++54
++151
++115
++79
++122
++105
++89
++91
++91
++91
++91
++91
++91
++89
++84
++79
++84
++84
++83
++76
++76
++76
++71
++70
++69
++61
++61
++61
++55
++55
++55
++47
++47
++47
++19
++19
++19
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++4
++4
++4
++28
++28
++28
++41
++41
++41
++47
++47
++47
++55
++55
++55
++66
++66
++66
++186
++120
++54
++239
++139
++39
++239
++139
++39
++238
++129
++21
++237
++123
++9
++236
++118
++1
++236
++118
++1
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++233
++117
++0
++229
++114
++0
++222
++111
++0
++217
++108
++0
++186
++93
++0
++14
++7
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++39
++19
++0
++117
++59
++0
++190
++95
++0
++229
++114
++0
++237
++123
++9
++238
++129
++21
++186
++120
++54
++151
++115
++79
++116
++94
++73
++84
++84
++83
++84
++84
++83
++84
++84
++83
++76
++76
++76
++76
++76
++76
++66
++66
++66
++61
++61
++61
++47
++47
++47
++28
++28
++28
++8
++8
++8
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++4
++4
++4
++28
++28
++28
++41
++41
++41
++47
++47
++47
++52
++52
++52
++142
++98
++54
++239
++139
++39
++238
++129
++21
++238
++129
++21
++237
++123
++9
++236
++118
++1
++236
++118
++1
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++233
++117
++0
++230
++115
++0
++225
++112
++0
++219
++110
++0
++110
++55
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++12
++6
++0
++95
++48
++0
++180
++90
++0
++231
++116
++0
++237
++123
++9
++207
++126
++44
++142
++98
++54
++116
++94
++73
++76
++76
++76
++84
++84
++83
++76
++76
++76
++76
++76
++76
++71
++70
++69
++66
++66
++66
++55
++55
++55
++47
++47
++47
++19
++19
++19
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++13
++13
++13
++28
++28
++28
++41
++41
++41
++41
++41
++41
++113
++77
++43
++239
++139
++39
++238
++129
++21
++237
++123
++9
++237
++123
++9
++236
++118
++1
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++233
++117
++0
++230
++115
++0
++225
++112
++0
++208
++104
++0
++14
++7
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++68
++34
++0
++154
++77
++0
++231
++116
++0
++237
++123
++9
++178
++100
++23
++113
++77
++43
++71
++70
++69
++66
++66
++66
++71
++70
++69
++76
++76
++76
++71
++70
++69
++61
++61
++61
++55
++55
++55
++47
++47
++47
++19
++19
++19
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++8
++8
++8
++19
++19
++19
++28
++28
++28
++35
++35
++35
++140
++82
++22
++238
++129
++21
++237
++123
++9
++237
++123
++9
++236
++118
++1
++236
++118
++1
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++233
++117
++0
++230
++115
++0
++229
++114
++0
++87
++43
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++29
++14
++0
++111
++56
++0
++203
++101
++0
++211
++106
++0
++152
++90
++27
++113
++77
++43
++55
++55
++55
++61
++61
++61
++66
++66
++66
++66
++66
++66
++61
++61
++61
++55
++55
++55
++47
++47
++47
++28
++28
++28
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++8
++8
++8
++19
++19
++19
++19
++19
++19
++19
++19
++19
++178
++100
++23
++237
++123
++9
++237
++123
++9
++236
++118
++1
++236
++118
++1
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++231
++116
++0
++158
++79
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++56
++28
++0
++158
++79
++0
++207
++104
++0
++140
++82
++22
++72
++53
++34
++47
++47
++47
++55
++55
++55
++55
++55
++55
++61
++61
++61
++55
++55
++55
++47
++47
++47
++35
++35
++35
++13
++13
++13
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++8
++8
++8
++13
++13
++13
++13
++13
++13
++49
++27
++6
++236
++118
++1
++236
++118
++1
++236
++118
++1
++236
++118
++1
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++221
++111
++0
++2
++1
++0
++4
++4
++4
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++14
++7
++0
++87
++43
++0
++177
++88
++0
++138
++75
++12
++64
++44
++24
++35
++35
++35
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++41
++41
++41
++28
++28
++28
++8
++8
++8
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++8
++8
++8
++4
++4
++4
++0
++0
++0
++146
++73
++0
++233
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++236
++118
++1
++236
++118
++1
++237
++123
++9
++237
++123
++9
++8
++8
++8
++8
++8
++8
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++59
++30
++0
++121
++63
++5
++56
++35
++14
++28
++28
++28
++35
++35
++35
++41
++41
++41
++41
++41
++41
++41
++41
++41
++35
++35
++35
++19
++19
++19
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++0
++0
++0
++0
++0
++0
++71
++36
++0
++229
++114
++0
++231
++116
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++236
++118
++1
++237
++123
++9
++237
++123
++9
++237
++123
++9
++44
++30
++16
++13
++13
++13
++8
++8
++8
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++4
++4
++4
++8
++8
++8
++19
++19
++19
++28
++28
++28
++28
++28
++28
++35
++35
++35
++28
++28
++28
++19
++19
++19
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++222
++111
++0
++229
++114
++0
++233
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++236
++118
++1
++237
++123
++9
++238
++129
++21
++238
++129
++21
++77
++50
++23
++19
++19
++19
++13
++13
++13
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++61
++61
++61
++98
++98
++97
++98
++98
++97
++98
++98
++97
++103
++103
++102
++103
++103
++102
++106
++106
++106
++106
++106
++106
++98
++98
++97
++98
++98
++97
++103
++103
++102
++106
++106
++106
++112
++112
++111
++112
++112
++111
++28
++28
++28
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++52
++52
++52
++52
++52
++52
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++52
++52
++52
++52
++52
++52
++55
++55
++55
++41
++41
++41
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++52
++52
++52
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++47
++52
++52
++52
++52
++52
++52
++55
++55
++55
++41
++41
++41
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++41
++41
++41
++103
++103
++102
++98
++98
++97
++98
++98
++97
++98
++98
++97
++98
++98
++97
++98
++98
++97
++98
++98
++97
++98
++98
++97
++98
++98
++97
++103
++103
++102
++106
++106
++106
++112
++112
++111
++61
++61
++61
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++177
++88
++0
++225
++112
++0
++231
++116
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++236
++118
++1
++237
++123
++9
++238
++129
++21
++238
++129
++21
++28
++28
++28
++19
++19
++19
++13
++13
++13
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++47
++47
++47
++190
++190
++190
++190
++190
++190
++190
++190
++190
++203
++203
++203
++190
++190
++190
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++219
++219
++219
++225
++225
++225
++233
++233
++233
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++203
++203
++203
++203
++203
++203
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++203
++203
++203
++203
++203
++203
++212
++212
++212
++212
++212
++212
++203
++203
++203
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++52
++52
++52
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++203
++203
++203
++203
++203
++203
++203
++203
++203
++212
++212
++212
++230
++230
++230
++167
++167
++167
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++103
++103
++102
++203
++203
++203
++203
++203
++203
++190
++190
++190
++190
++190
++190
++203
++203
++203
++190
++190
++190
++203
++203
++203
++203
++203
++203
++203
++203
++203
++212
++212
++212
++225
++225
++225
++233
++233
++233
++106
++106
++106
++0
++0
++0
++0
++0
++0
++4
++4
++4
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++158
++79
++0
++219
++110
++0
++229
++114
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++237
++123
++9
++238
++129
++21
++238
++129
++21
++239
++139
++39
++35
++35
++35
++28
++28
++28
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++35
++35
++35
++190
++190
++190
++190
++190
++190
++203
++203
++203
++203
++203
++203
++203
++203
++203
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++225
++225
++225
++230
++230
++230
++238
++238
++238
++212
++212
++212
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++41
++41
++41
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++212
++212
++212
++212
++212
++212
++203
++203
++203
++212
++212
++212
++212
++212
++212
++203
++203
++203
++212
++212
++212
++212
++212
++212
++212
++212
++212
++219
++219
++219
++225
++225
++225
++233
++233
++233
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++122
++121
++121
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++212
++212
++212
++212
++212
++212
++203
++203
++203
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++219
++219
++219
++230
++230
++230
++238
++238
++238
++146
++146
++146
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++167
++167
++167
++203
++203
++203
++203
++203
++203
++203
++203
++203
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++219
++219
++219
++225
++225
++225
++233
++233
++233
++242
++242
++242
++61
++61
++61
++2
++1
++0
++8
++8
++8
++8
++8
++8
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++156
++78
++0
++217
++108
++0
++229
++114
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++236
++118
++1
++237
++123
++9
++238
++129
++21
++239
++139
++39
++207
++126
++44
++35
++35
++35
++28
++28
++28
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++13
++13
++13
++167
++167
++167
++203
++203
++203
++203
++203
++203
++212
++212
++212
++219
++219
++219
++225
++225
++225
++225
++225
++225
++225
++225
++225
++225
++225
++225
++225
++225
++225
++230
++230
++230
++233
++233
++233
++238
++238
++238
++242
++242
++242
++248
++248
++248
++190
++190
++190
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++84
++84
++83
++212
++212
++212
++212
++212
++212
++212
++212
++212
++219
++219
++219
++219
++219
++219
++225
++225
++225
++225
++225
++225
++219
++219
++219
++225
++225
++225
++225
++225
++225
++225
++225
++225
++225
++225
++225
++225
++225
++225
++233
++233
++233
++238
++238
++238
++242
++242
++242
++13
++13
++13
++0
++0
++0
++0
++0
++0
++2
++1
++0
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++28
++28
++28
++203
++203
++203
++203
++203
++203
++212
++212
++212
++212
++212
++212
++219
++219
++219
++219
++219
++219
++225
++225
++225
++225
++225
++225
++219
++219
++219
++225
++225
++225
++219
++219
++219
++225
++225
++225
++230
++230
++230
++238
++238
++238
++242
++242
++242
++248
++248
++248
++112
++112
++111
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++203
++203
++203
++212
++212
++212
++212
++212
++212
++219
++219
++219
++225
++225
++225
++225
++225
++225
++225
++225
++225
++225
++225
++225
++230
++230
++230
++238
++238
++238
++242
++242
++242
++248
++248
++248
++254
++254
++254
++28
++28
++28
++13
++13
++13
++19
++19
++19
++13
++13
++13
++8
++8
++8
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++179
++89
++0
++214
++107
++0
++226
++113
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++236
++118
++1
++237
++123
++9
++238
++129
++21
++239
++139
++39
++186
++120
++54
++41
++41
++41
++28
++28
++28
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++8
++8
++8
++167
++167
++167
++203
++203
++203
++212
++212
++212
++219
++219
++219
++225
++225
++225
++233
++233
++233
++238
++238
++238
++238
++238
++238
++242
++242
++242
++242
++242
++242
++242
++242
++242
++242
++242
++242
++245
++245
++245
++251
++251
++251
++255
++255
++255
++255
++255
++255
++146
++146
++146
++13
++13
++13
++0
++0
++0
++0
++0
++0
++0
++0
++0
++112
++112
++111
++212
++212
++212
++219
++219
++219
++225
++225
++225
++230
++230
++230
++233
++233
++233
++238
++238
++238
++238
++238
++238
++238
++238
++238
++238
++238
++238
++233
++233
++233
++238
++238
++238
++238
++238
++238
++242
++242
++242
++242
++242
++242
++245
++245
++245
++248
++248
++248
++61
++61
++61
++0
++0
++0
++4
++4
++4
++4
++4
++4
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++122
++121
++121
++203
++203
++203
++212
++212
++212
++219
++219
++219
++230
++230
++230
++233
++233
++233
++233
++233
++233
++238
++238
++238
++238
++238
++238
++238
++238
++238
++238
++238
++238
++238
++238
++238
++242
++242
++242
++245
++245
++245
++251
++251
++251
++255
++255
++255
++255
++255
++255
++76
++76
++76
++4
++4
++4
++0
++0
++0
++0
++0
++0
++13
++13
++13
++219
++219
++219
++219
++219
++219
++225
++225
++225
++230
++230
++230
++238
++238
++238
++238
++238
++238
++242
++242
++242
++242
++242
++242
++245
++245
++245
++251
++251
++251
++255
++255
++255
++255
++255
++255
++225
++225
++225
++28
++28
++28
++28
++28
++28
++19
++19
++19
++19
++19
++19
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++205
++103
++0
++214
++107
++0
++229
++114
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++236
++118
++1
++236
++118
++1
++238
++129
++21
++239
++139
++39
++239
++139
++39
++142
++98
++54
++41
++41
++41
++28
++28
++28
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++146
++146
++146
++203
++203
++203
++212
++212
++212
++219
++219
++219
++230
++230
++230
++238
++238
++238
++245
++245
++245
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++251
++251
++251
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++122
++121
++121
++19
++19
++19
++2
++1
++0
++0
++0
++0
++0
++0
++0
++167
++167
++167
++225
++225
++225
++230
++230
++230
++238
++238
++238
++242
++242
++242
++245
++245
++245
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++251
++251
++251
++253
++253
++253
++254
++254
++254
++254
++254
++254
++66
++66
++66
++4
++4
++4
++8
++8
++8
++8
++8
++8
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++28
++28
++28
++212
++212
++212
++212
++212
++212
++225
++225
++225
++233
++233
++233
++242
++242
++242
++245
++245
++245
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++41
++41
++41
++13
++13
++13
++0
++0
++0
++0
++0
++0
++55
++55
++55
++219
++219
++219
++225
++225
++225
++233
++233
++233
++242
++242
++242
++245
++245
++245
++248
++248
++248
++251
++251
++251
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++190
++190
++190
++35
++35
++35
++35
++35
++35
++28
++28
++28
++19
++19
++19
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++36
++18
++0
++205
++103
++0
++217
++108
++0
++229
++114
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++236
++118
++1
++237
++123
++9
++238
++129
++21
++239
++139
++39
++240
++151
++63
++66
++66
++66
++41
++41
++41
++28
++28
++28
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++122
++121
++121
++203
++203
++203
++203
++203
++203
++219
++219
++219
++230
++230
++230
++242
++242
++242
++248
++248
++248
++251
++251
++251
++253
++253
++253
++254
++254
++254
++254
++254
++254
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++91
++91
++91
++28
++28
++28
++2
++1
++0
++0
++0
++0
++0
++0
++0
++190
++190
++190
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++254
++254
++254
++254
++254
++254
++254
++254
++254
++254
++254
++254
++254
++254
++254
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++112
++112
++111
++8
++8
++8
++8
++8
++8
++8
++8
++8
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++122
++121
++121
++212
++212
++212
++219
++219
++219
++230
++230
++230
++242
++242
++242
++248
++248
++248
++253
++253
++253
++253
++253
++253
++254
++254
++254
++254
++254
++254
++254
++254
++254
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++242
++242
++242
++35
++35
++35
++13
++13
++13
++0
++0
++0
++0
++0
++0
++112
++112
++111
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++146
++146
++146
++41
++41
++41
++35
++35
++35
++28
++28
++28
++13
++13
++13
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++75
++37
++0
++205
++103
++0
++218
++109
++0
++230
++115
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++236
++118
++1
++236
++118
++1
++237
++123
++9
++239
++139
++39
++239
++139
++39
++207
++126
++44
++61
++61
++61
++41
++41
++41
++13
++13
++13
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++76
++76
++76
++203
++203
++203
++203
++203
++203
++219
++219
++219
++230
++230
++230
++242
++242
++242
++245
++245
++245
++251
++251
++251
++254
++254
++254
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++61
++61
++61
++19
++19
++19
++0
++0
++0
++0
++0
++0
++0
++0
++0
++225
++225
++225
++225
++225
++225
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++122
++121
++121
++8
++8
++8
++8
++8
++8
++8
++8
++8
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++13
++13
++13
++203
++203
++203
++212
++212
++212
++225
++225
++225
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++203
++203
++203
++28
++28
++28
++13
++13
++13
++0
++0
++0
++0
++0
++0
++146
++146
++146
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++112
++112
++111
++41
++41
++41
++35
++35
++35
++28
++28
++28
++13
++13
++13
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++122
++62
++0
++205
++103
++0
++219
++110
++0
++231
++116
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++236
++118
++1
++237
++123
++9
++238
++129
++21
++239
++139
++39
++240
++151
++63
++116
++94
++73
++55
++55
++55
++35
++35
++35
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++71
++70
++69
++203
++203
++203
++203
++203
++203
++219
++219
++219
++230
++230
++230
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++35
++35
++35
++19
++19
++19
++0
++0
++0
++0
++0
++0
++55
++55
++55
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++167
++167
++167
++8
++8
++8
++8
++8
++8
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++103
++103
++102
++212
++212
++212
++219
++219
++219
++230
++230
++230
++242
++242
++242
++248
++248
++248
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++167
++167
++167
++28
++28
++28
++8
++8
++8
++0
++0
++0
++0
++0
++0
++190
++190
++190
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++71
++70
++69
++41
++41
++41
++35
++35
++35
++19
++19
++19
++13
++13
++13
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++183
++92
++0
++208
++104
++0
++222
++111
++0
++231
++116
++0
++235
++118
++0
++235
++118
++0
++236
++118
++1
++236
++118
++1
++237
++123
++9
++239
++139
++39
++240
++151
++63
++240
++151
++63
++66
++66
++66
++47
++47
++47
++28
++28
++28
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++35
++35
++35
++190
++190
++190
++203
++203
++203
++219
++219
++219
++225
++225
++225
++238
++238
++238
++245
++245
++245
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++203
++203
++203
++35
++35
++35
++19
++19
++19
++0
++0
++0
++0
++0
++0
++84
++84
++83
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++190
++190
++190
++8
++8
++8
++8
++8
++8
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++13
++13
++13
++190
++190
++190
++212
++212
++212
++225
++225
++225
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++122
++121
++121
++28
++28
++28
++2
++1
++0
++0
++0
++0
++0
++0
++0
++225
++225
++225
++225
++225
++225
++233
++233
++233
++242
++242
++242
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++47
++47
++47
++41
++41
++41
++35
++35
++35
++19
++19
++19
++8
++8
++8
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++60
++30
++0
++196
++98
++0
++213
++106
++0
++226
++113
++0
++233
++117
++0
++235
++118
++0
++235
++118
++0
++236
++118
++1
++237
++123
++9
++238
++129
++21
++239
++139
++39
++240
++151
++63
++151
++115
++79
++61
++61
++61
++41
++41
++41
++8
++8
++8
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++28
++28
++28
++190
++190
++190
++203
++203
++203
++212
++212
++212
++225
++225
++225
++238
++238
++238
++248
++248
++248
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++190
++190
++190
++28
++28
++28
++13
++13
++13
++0
++0
++0
++0
++0
++0
++112
++112
++111
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++212
++212
++212
++8
++8
++8
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++103
++103
++102
++212
++212
++212
++219
++219
++219
++230
++230
++230
++242
++242
++242
++248
++248
++248
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++91
++91
++91
++19
++19
++19
++0
++0
++0
++0
++0
++0
++55
++55
++55
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++203
++203
++203
++47
++47
++47
++41
++41
++41
++28
++28
++28
++19
++19
++19
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++119
++60
++0
++200
++100
++0
++217
++108
++0
++229
++114
++0
++234
++117
++0
++235
++118
++0
++236
++118
++1
++237
++123
++9
++238
++129
++21
++239
++139
++39
++240
++151
++63
++211
++151
++92
++71
++70
++69
++52
++52
++52
++28
++28
++28
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++13
++13
++13
++167
++167
++167
++203
++203
++203
++212
++212
++212
++225
++225
++225
++238
++238
++238
++248
++248
++248
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++146
++146
++146
++28
++28
++28
++8
++8
++8
++0
++0
++0
++0
++0
++0
++167
++167
++167
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++4
++4
++4
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++190
++190
++190
++212
++212
++212
++225
++225
++225
++233
++233
++233
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++52
++52
++52
++19
++19
++19
++0
++0
++0
++0
++0
++0
++84
++84
++83
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++167
++167
++167
++41
++41
++41
++35
++35
++35
++28
++28
++28
++19
++19
++19
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++12
++6
++0
++193
++96
++0
++206
++103
++0
++222
++111
++0
++231
++116
++0
++235
++118
++0
++235
++118
++0
++236
++118
++1
++237
++123
++9
++238
++129
++21
++240
++151
++63
++240
++151
++63
++151
++115
++79
++61
++61
++61
++41
++41
++41
++13
++13
++13
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++167
++167
++167
++203
++203
++203
++212
++212
++212
++225
++225
++225
++238
++238
++238
++248
++248
++248
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++106
++106
++106
++28
++28
++28
++4
++4
++4
++0
++0
++0
++0
++0
++0
++190
++190
++190
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++76
++76
++76
++212
++212
++212
++219
++219
++219
++230
++230
++230
++242
++242
++242
++248
++248
++248
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++242
++242
++242
++35
++35
++35
++13
++13
++13
++0
++0
++0
++0
++0
++0
++122
++121
++121
++225
++225
++225
++230
++230
++230
++242
++242
++242
++248
++248
++248
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++122
++121
++121
++41
++41
++41
++35
++35
++35
++28
++28
++28
++13
++13
++13
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++95
++48
++0
++196
++98
++0
++213
++106
++0
++226
++113
++0
++234
++117
++0
++235
++118
++0
++236
++118
++1
++237
++123
++9
++238
++129
++21
++239
++139
++39
++240
++151
++63
++211
++151
++92
++71
++70
++69
++55
++55
++55
++28
++28
++28
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++122
++121
++121
++203
++203
++203
++203
++203
++203
++225
++225
++225
++233
++233
++233
++248
++248
++248
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++212
++212
++212
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++91
++91
++91
++19
++19
++19
++0
++0
++0
++0
++0
++0
++0
++0
++0
++225
++225
++225
++225
++225
++225
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++66
++66
++66
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++190
++190
++190
++212
++212
++212
++225
++225
++225
++233
++233
++233
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++203
++203
++203
++28
++28
++28
++8
++8
++8
++0
++0
++0
++0
++0
++0
++167
++167
++167
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++98
++98
++97
++41
++41
++41
++35
++35
++35
++28
++28
++28
++13
++13
++13
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++12
++6
++0
++177
++88
++0
++203
++101
++0
++219
++110
++0
++230
++115
++0
++234
++117
++0
++235
++118
++0
++237
++123
++9
++237
++123
++9
++239
++139
++39
++240
++151
++63
++240
++151
++63
++116
++94
++73
++61
++61
++61
++41
++41
++41
++8
++8
++8
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++98
++98
++97
++203
++203
++203
++212
++212
++212
++219
++219
++219
++233
++233
++233
++245
++245
++245
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++167
++167
++167
++203
++203
++203
++255
++255
++255
++255
++255
++255
++254
++254
++254
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++35
++35
++35
++19
++19
++19
++0
++0
++0
++0
++0
++0
++55
++55
++55
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++66
++66
++66
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++76
++76
++76
++212
++212
++212
++219
++219
++219
++230
++230
++230
++242
++242
++242
++248
++248
++248
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++167
++167
++167
++28
++28
++28
++4
++4
++4
++0
++0
++0
++0
++0
++0
++225
++225
++225
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++47
++47
++47
++41
++41
++41
++35
++35
++35
++19
++19
++19
++8
++8
++8
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++93
++46
++0
++194
++97
++0
++210
++105
++0
++225
++112
++0
++233
++117
++0
++235
++118
++0
++236
++118
++1
++237
++123
++9
++238
++129
++21
++240
++151
++63
++240
++151
++63
++163
++132
++100
++71
++70
++69
++52
++52
++52
++19
++19
++19
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++76
++76
++76
++203
++203
++203
++203
++203
++203
++219
++219
++219
++230
++230
++230
++245
++245
++245
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++203
++203
++203
++35
++35
++35
++225
++225
++225
++255
++255
++255
++254
++254
++254
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++230
++230
++230
++35
++35
++35
++19
++19
++19
++0
++0
++0
++0
++0
++0
++84
++84
++83
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++112
++112
++111
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++190
++190
++190
++212
++212
++212
++225
++225
++225
++233
++233
++233
++245
++245
++245
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++122
++121
++121
++28
++28
++28
++0
++0
++0
++0
++0
++0
++28
++28
++28
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++212
++212
++212
++47
++47
++47
++41
++41
++41
++28
++28
++28
++19
++19
++19
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++24
++12
++0
++189
++94
++0
++200
++100
++0
++218
++109
++0
++230
++115
++0
++234
++117
++0
++236
++118
++1
++237
++123
++9
++238
++129
++21
++239
++139
++39
++240
++151
++63
++211
++151
++92
++89
++84
++79
++61
++61
++61
++35
++35
++35
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++47
++47
++47
++203
++203
++203
++203
++203
++203
++219
++219
++219
++230
++230
++230
++242
++242
++242
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++242
++242
++242
++66
++66
++66
++47
++47
++47
++255
++255
++255
++253
++253
++253
++251
++251
++251
++251
++251
++251
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++203
++203
++203
++28
++28
++28
++13
++13
++13
++0
++0
++0
++0
++0
++0
++112
++112
++111
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++122
++121
++121
++0
++0
++0
++0
++0
++0
++0
++0
++0
++66
++66
++66
++212
++212
++212
++219
++219
++219
++230
++230
++230
++242
++242
++242
++251
++251
++251
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++91
++91
++91
++19
++19
++19
++0
++0
++0
++0
++0
++0
++71
++70
++69
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++190
++190
++190
++41
++41
++41
++41
++41
++41
++28
++28
++28
++19
++19
++19
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++126
++63
++0
++194
++97
++0
++211
++106
++0
++225
++112
++0
++233
++117
++0
++235
++118
++0
++236
++118
++1
++238
++129
++21
++239
++139
++39
++240
++151
++63
++242
++167
++91
++116
++94
++73
++71
++70
++69
++47
++47
++47
++13
++13
++13
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++35
++35
++35
++190
++190
++190
++203
++203
++203
++212
++212
++212
++225
++225
++225
++242
++242
++242
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++112
++112
++111
++47
++47
++47
++76
++76
++76
++253
++253
++253
++248
++248
++248
++248
++248
++248
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++167
++167
++167
++28
++28
++28
++8
++8
++8
++0
++0
++0
++0
++0
++0
++167
++167
++167
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++253
++253
++253
++146
++146
++146
++0
++0
++0
++0
++0
++0
++0
++0
++0
++167
++167
++167
++212
++212
++212
++225
++225
++225
++238
++238
++238
++248
++248
++248
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++225
++225
++225
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++47
++47
++47
++19
++19
++19
++0
++0
++0
++0
++0
++0
++112
++112
++111
++225
++225
++225
++230
++230
++230
++238
++238
++238
++248
++248
++248
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++146
++146
++146
++41
++41
++41
++35
++35
++35
++28
++28
++28
++19
++19
++19
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++58
++29
++0
++189
++94
++0
++205
++103
++0
++219
++110
++0
++230
++115
++0
++235
++118
++0
++236
++118
++1
++237
++123
++9
++239
++139
++39
++240
++151
++63
++240
++151
++63
++163
++132
++100
++76
++76
++76
++55
++55
++55
++28
++28
++28
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++13
++13
++13
++167
++167
++167
++203
++203
++203
++212
++212
++212
++225
++225
++225
++238
++238
++238
++251
++251
++251
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++146
++146
++146
++61
++61
++61
++28
++28
++28
++112
++112
++111
++245
++245
++245
++242
++242
++242
++245
++245
++245
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++122
++121
++121
++28
++28
++28
++4
++4
++4
++0
++0
++0
++0
++0
++0
++190
++190
++190
++230
++230
++230
++233
++233
++233
++242
++242
++242
++248
++248
++248
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++212
++212
++212
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++251
++251
++251
++190
++190
++190
++0
++0
++0
++0
++0
++0
++55
++55
++55
++212
++212
++212
++219
++219
++219
++230
++230
++230
++242
++242
++242
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++225
++225
++225
++190
++190
++190
++255
++255
++255
++255
++255
++255
++255
++255
++255
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++242
++242
++242
++35
++35
++35
++13
++13
++13
++0
++0
++0
++0
++0
++0
++146
++146
++146
++230
++230
++230
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++98
++98
++97
++47
++47
++47
++35
++35
++35
++28
++28
++28
++13
++13
++13
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++12
++5
++0
++173
++87
++0
++196
++98
++0
++214
++107
++0
++226
++113
++0
++234
++117
++0
++236
++118
++1
++237
++123
++9
++238
++129
++21
++240
++151
++63
++240
++151
++63
++211
++151
++92
++84
++84
++83
++61
++61
++61
++41
++41
++41
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++13
++13
++13
++167
++167
++167
++203
++203
++203
++212
++212
++212
++225
++225
++225
++238
++238
++238
++248
++248
++248
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++203
++203
++203
++76
++76
++76
++47
++47
++47
++8
++8
++8
++146
++146
++146
++238
++238
++238
++238
++238
++238
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++91
++91
++91
++28
++28
++28
++0
++0
++0
++0
++0
++0
++0
++0
++0
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++146
++146
++146
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++253
++253
++253
++248
++248
++248
++190
++190
++190
++0
++0
++0
++0
++0
++0
++167
++167
++167
++219
++219
++219
++225
++225
++225
++238
++238
++238
++248
++248
++248
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++112
++112
++111
++242
++242
++242
++255
++255
++255
++255
++255
++255
++254
++254
++254
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++203
++203
++203
++28
++28
++28
++8
++8
++8
++0
++0
++0
++0
++0
++0
++203
++203
++203
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++61
++61
++61
++41
++41
++41
++35
++35
++35
++19
++19
++19
++13
++13
++13
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++124
++62
++0
++193
++96
++0
++207
++104
++0
++223
++112
++0
++231
++116
++0
++236
++118
++1
++237
++123
++9
++238
++129
++21
++239
++139
++39
++240
++151
++63
++242
++167
++91
++91
++91
++91
++71
++70
++69
++47
++47
++47
++8
++8
++8
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++122
++121
++121
++203
++203
++203
++212
++212
++212
++225
++225
++225
++233
++233
++233
++245
++245
++245
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++233
++233
++233
++91
++91
++91
++61
++61
++61
++19
++19
++19
++0
++0
++0
++190
++190
++190
++233
++233
++233
++238
++238
++238
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++61
++61
++61
++19
++19
++19
++0
++0
++0
++0
++0
++0
++55
++55
++55
++225
++225
++225
++225
++225
++225
++238
++238
++238
++245
++245
++245
++251
++251
++251
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++91
++91
++91
++225
++225
++225
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++253
++253
++253
++242
++242
++242
++238
++238
++238
++0
++0
++0
++55
++55
++55
++219
++219
++219
++225
++225
++225
++233
++233
++233
++242
++242
++242
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++242
++242
++242
++55
++55
++55
++255
++255
++255
++255
++255
++255
++254
++254
++254
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++167
++167
++167
++28
++28
++28
++4
++4
++4
++0
++0
++0
++13
++13
++13
++225
++225
++225
++225
++225
++225
++233
++233
++233
++242
++242
++242
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++242
++242
++242
++41
++41
++41
++41
++41
++41
++35
++35
++35
++19
++19
++19
++8
++8
++8
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++68
++34
++0
++186
++93
++0
++203
++101
++0
++218
++109
++0
++230
++115
++0
++235
++118
++0
++237
++123
++9
++238
++129
++21
++239
++139
++39
++240
++151
++63
++242
++167
++91
++122
++105
++89
++76
++76
++76
++52
++52
++52
++19
++19
++19
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++122
++121
++121
++203
++203
++203
++212
++212
++212
++219
++219
++219
++230
++230
++230
++242
++242
++242
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++245
++245
++245
++112
++112
++111
++61
++61
++61
++35
++35
++35
++0
++0
++0
++0
++0
++0
++230
++230
++230
++230
++230
++230
++238
++238
++238
++242
++242
++242
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++35
++35
++35
++19
++19
++19
++0
++0
++0
++0
++0
++0
++84
++84
++83
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++76
++76
++76
++203
++203
++203
++255
++255
++255
++255
++255
++255
++255
++255
++255
++254
++254
++254
++254
++254
++254
++251
++251
++251
++245
++245
++245
++238
++238
++238
++0
++0
++0
++146
++146
++146
++225
++225
++225
++230
++230
++230
++238
++238
++238
++248
++248
++248
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++167
++167
++167
++84
++84
++83
++255
++255
++255
++254
++254
++254
++253
++253
++253
++253
++253
++253
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++122
++121
++121
++19
++19
++19
++0
++0
++0
++0
++0
++0
++55
++55
++55
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++203
++203
++203
++47
++47
++47
++41
++41
++41
++28
++28
++28
++19
++19
++19
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++34
++17
++0
++171
++86
++0
++196
++98
++0
++214
++107
++0
++226
++113
++0
++234
++117
++0
++237
++123
++9
++238
++129
++21
++239
++139
++39
++240
++151
++63
++242
++167
++91
++151
++115
++79
++84
++84
++83
++55
++55
++55
++28
++28
++28
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++76
++76
++76
++203
++203
++203
++203
++203
++203
++219
++219
++219
++230
++230
++230
++242
++242
++242
++251
++251
++251
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++146
++146
++146
++47
++47
++47
++28
++28
++28
++0
++0
++0
++0
++0
++0
++41
++41
++41
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++203
++203
++203
++28
++28
++28
++13
++13
++13
++0
++0
++0
++0
++0
++0
++112
++112
++111
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++35
++35
++35
++167
++167
++167
++255
++255
++255
++255
++255
++255
++254
++254
++254
++254
++254
++254
++253
++253
++253
++251
++251
++251
++245
++245
++245
++242
++242
++242
++76
++76
++76
++230
++230
++230
++230
++230
++230
++238
++238
++238
++245
++245
++245
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++61
++61
++61
++122
++121
++121
++254
++254
++254
++251
++251
++251
++248
++248
++248
++251
++251
++251
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++91
++91
++91
++19
++19
++19
++0
++0
++0
++0
++0
++0
++98
++98
++97
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++146
++146
++146
++41
++41
++41
++35
++35
++35
++28
++28
++28
++19
++19
++19
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++11
++6
++0
++146
++73
++0
++193
++96
++0
++210
++105
++0
++225
++112
++0
++231
++116
++0
++236
++118
++1
++238
++129
++21
++239
++139
++39
++240
++151
++63
++242
++167
++91
++183
++141
++99
++84
++84
++83
++61
++61
++61
++41
++41
++41
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++76
++76
++76
++203
++203
++203
++203
++203
++203
++219
++219
++219
++230
++230
++230
++238
++238
++238
++248
++248
++248
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++167
++167
++167
++28
++28
++28
++8
++8
++8
++0
++0
++0
++0
++0
++0
++0
++0
++0
++84
++84
++83
++219
++219
++219
++230
++230
++230
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++190
++190
++190
++28
++28
++28
++8
++8
++8
++0
++0
++0
++0
++0
++0
++167
++167
++167
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++212
++212
++212
++41
++41
++41
++146
++146
++146
++255
++255
++255
++254
++254
++254
++253
++253
++253
++253
++253
++253
++253
++253
++253
++251
++251
++251
++245
++245
++245
++242
++242
++242
++203
++203
++203
++238
++238
++238
++238
++238
++238
++242
++242
++242
++251
++251
++251
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++167
++167
++167
++28
++28
++28
++167
++167
++167
++251
++251
++251
++248
++248
++248
++248
++248
++248
++251
++251
++251
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++47
++47
++47
++19
++19
++19
++0
++0
++0
++0
++0
++0
++146
++146
++146
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++112
++112
++111
++41
++41
++41
++35
++35
++35
++28
++28
++28
++13
++13
++13
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++133
++67
++0
++189
++94
++0
++205
++103
++0
++219
++110
++0
++231
++116
++0
++236
++118
++1
++238
++129
++21
++239
++139
++39
++240
++151
++63
++242
++167
++91
++183
++141
++99
++84
++84
++83
++71
++70
++69
++41
++41
++41
++8
++8
++8
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++35
++35
++35
++190
++190
++190
++203
++203
++203
++212
++212
++212
++225
++225
++225
++238
++238
++238
++245
++245
++245
++251
++251
++251
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++212
++212
++212
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++106
++106
++106
++219
++219
++219
++230
++230
++230
++238
++238
++238
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++146
++146
++146
++28
++28
++28
++4
++4
++4
++0
++0
++0
++0
++0
++0
++190
++190
++190
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++203
++203
++203
++35
++35
++35
++91
++91
++91
++255
++255
++255
++253
++253
++253
++251
++251
++251
++253
++253
++253
++253
++253
++253
++251
++251
++251
++248
++248
++248
++245
++245
++245
++242
++242
++242
++242
++242
++242
++245
++245
++245
++248
++248
++248
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++98
++98
++97
++19
++19
++19
++190
++190
++190
++248
++248
++248
++245
++245
++245
++248
++248
++248
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++242
++242
++242
++28
++28
++28
++13
++13
++13
++0
++0
++0
++0
++0
++0
++167
++167
++167
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++84
++84
++83
++41
++41
++41
++28
++28
++28
++19
++19
++19
++8
++8
++8
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++111
++56
++0
++185
++93
++0
++200
++100
++0
++218
++109
++0
++229
++114
++0
++236
++118
++1
++237
++123
++9
++239
++139
++39
++240
++151
++63
++242
++167
++91
++211
++151
++92
++91
++91
++91
++71
++70
++69
++47
++47
++47
++13
++13
++13
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++28
++28
++28
++190
++190
++190
++203
++203
++203
++212
++212
++212
++225
++225
++225
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++238
++238
++238
++28
++28
++28
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++167
++167
++167
++219
++219
++219
++230
++230
++230
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++122
++121
++121
++28
++28
++28
++0
++0
++0
++0
++0
++0
++13
++13
++13
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++146
++146
++146
++35
++35
++35
++76
++76
++76
++255
++255
++255
++251
++251
++251
++248
++248
++248
++251
++251
++251
++253
++253
++253
++253
++253
++253
++251
++251
++251
++248
++248
++248
++248
++248
++248
++248
++248
++248
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++219
++219
++219
++35
++35
++35
++8
++8
++8
++248
++248
++248
++245
++245
++245
++242
++242
++242
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++203
++203
++203
++28
++28
++28
++8
++8
++8
++0
++0
++0
++0
++0
++0
++225
++225
++225
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++35
++35
++35
++28
++28
++28
++19
++19
++19
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++66
++33
++0
++183
++92
++0
++199
++99
++0
++217
++108
++0
++229
++114
++0
++236
++118
++1
++237
++123
++9
++239
++139
++39
++240
++151
++63
++242
++167
++91
++211
++151
++92
++98
++98
++97
++76
++76
++76
++47
++47
++47
++13
++13
++13
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++13
++13
++13
++167
++167
++167
++203
++203
++203
++212
++212
++212
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++253
++253
++253
++219
++219
++219
++190
++190
++190
++167
++167
++167
++167
++167
++167
++167
++167
++167
++146
++146
++146
++146
++146
++146
++167
++167
++167
++190
++190
++190
++225
++225
++225
++233
++233
++233
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++91
++91
++91
++19
++19
++19
++0
++0
++0
++0
++0
++0
++55
++55
++55
++225
++225
++225
++230
++230
++230
++233
++233
++233
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++122
++121
++121
++35
++35
++35
++28
++28
++28
++253
++253
++253
++248
++248
++248
++248
++248
++248
++251
++251
++251
++253
++253
++253
++253
++253
++253
++253
++253
++253
++253
++253
++253
++251
++251
++251
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++122
++121
++121
++28
++28
++28
++35
++35
++35
++245
++245
++245
++242
++242
++242
++242
++242
++242
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++167
++167
++167
++19
++19
++19
++2
++1
++0
++0
++0
++0
++41
++41
++41
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++190
++190
++190
++13
++13
++13
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++66
++33
++0
++182
++91
++0
++195
++98
++0
++213
++106
++0
++226
++113
++0
++235
++118
++0
++237
++123
++9
++239
++139
++39
++240
++151
++63
++242
++167
++91
++211
++151
++92
++98
++98
++97
++76
++76
++76
++52
++52
++52
++19
++19
++19
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++167
++167
++167
++203
++203
++203
++212
++212
++212
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++254
++254
++254
++255
++255
++255
++254
++254
++254
++253
++253
++253
++251
++251
++251
++245
++245
++245
++233
++233
++233
++230
++230
++230
++219
++219
++219
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++225
++225
++225
++233
++233
++233
++242
++242
++242
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++35
++35
++35
++19
++19
++19
++0
++0
++0
++0
++0
++0
++98
++98
++97
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++98
++98
++97
++35
++35
++35
++13
++13
++13
++253
++253
++253
++248
++248
++248
++248
++248
++248
++251
++251
++251
++253
++253
++253
++254
++254
++254
++254
++254
++254
++254
++254
++254
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++230
++230
++230
++47
++47
++47
++19
++19
++19
++61
++61
++61
++242
++242
++242
++238
++238
++238
++242
++242
++242
++245
++245
++245
++251
++251
++251
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++122
++121
++121
++28
++28
++28
++0
++0
++0
++0
++0
++0
++84
++84
++83
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++167
++167
++167
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++66
++33
++0
++180
++90
++0
++194
++97
++0
++211
++106
++0
++225
++112
++0
++235
++118
++0
++238
++129
++21
++239
++139
++39
++240
++151
++63
++242
++167
++91
++211
++151
++92
++103
++103
++102
++76
++76
++76
++55
++55
++55
++19
++19
++19
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++122
++121
++121
++190
++190
++190
++212
++212
++212
++219
++219
++219
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++253
++253
++253
++251
++251
++251
++245
++245
++245
++242
++242
++242
++233
++233
++233
++225
++225
++225
++225
++225
++225
++219
++219
++219
++225
++225
++225
++225
++225
++225
++233
++233
++233
++238
++238
++238
++245
++245
++245
++251
++251
++251
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++242
++242
++242
++28
++28
++28
++13
++13
++13
++0
++0
++0
++0
++0
++0
++122
++121
++121
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++55
++55
++55
++28
++28
++28
++8
++8
++8
++203
++203
++203
++245
++245
++245
++245
++245
++245
++248
++248
++248
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++146
++146
++146
++41
++41
++41
++8
++8
++8
++122
++121
++121
++238
++238
++238
++238
++238
++238
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++91
++91
++91
++19
++19
++19
++0
++0
++0
++0
++0
++0
++112
++112
++111
++225
++225
++225
++230
++230
++230
++242
++242
++242
++248
++248
++248
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++253
++253
++253
++106
++106
++106
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++66
++33
++0
++180
++90
++0
++194
++97
++0
++210
++105
++0
++225
++112
++0
++234
++117
++0
++238
++129
++21
++239
++139
++39
++240
++151
++63
++242
++167
++91
++211
++151
++92
++98
++98
++97
++76
++76
++76
++55
++55
++55
++19
++19
++19
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++98
++98
++97
++203
++203
++203
++212
++212
++212
++219
++219
++219
++230
++230
++230
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++254
++254
++254
++251
++251
++251
++245
++245
++245
++242
++242
++242
++238
++238
++238
++238
++238
++238
++233
++233
++233
++238
++238
++238
++238
++238
++238
++242
++242
++242
++245
++245
++245
++248
++248
++248
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++203
++203
++203
++28
++28
++28
++8
++8
++8
++0
++0
++0
++0
++0
++0
++167
++167
++167
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++242
++242
++242
++41
++41
++41
++28
++28
++28
++8
++8
++8
++190
++190
++190
++245
++245
++245
++245
++245
++245
++248
++248
++248
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++242
++242
++242
++71
++70
++69
++28
++28
++28
++0
++0
++0
++167
++167
++167
++233
++233
++233
++238
++238
++238
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++47
++47
++47
++13
++13
++13
++0
++0
++0
++0
++0
++0
++167
++167
++167
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++253
++253
++253
++245
++245
++245
++61
++61
++61
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++68
++34
++0
++182
++91
++0
++194
++97
++0
++210
++105
++0
++225
++112
++0
++235
++118
++0
++238
++129
++21
++239
++139
++39
++240
++151
++63
++242
++167
++91
++211
++151
++92
++103
++103
++102
++84
++84
++83
++55
++55
++55
++19
++19
++19
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++76
++76
++76
++203
++203
++203
++203
++203
++203
++219
++219
++219
++230
++230
++230
++242
++242
++242
++248
++248
++248
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++254
++254
++254
++251
++251
++251
++248
++248
++248
++248
++248
++248
++248
++248
++248
++251
++251
++251
++251
++251
++251
++253
++253
++253
++254
++254
++254
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++167
++167
++167
++28
++28
++28
++8
++8
++8
++0
++0
++0
++0
++0
++0
++212
++212
++212
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++203
++203
++203
++41
++41
++41
++28
++28
++28
++4
++4
++4
++122
++121
++121
++242
++242
++242
++245
++245
++245
++248
++248
++248
++253
++253
++253
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++190
++190
++190
++47
++47
++47
++19
++19
++19
++0
++0
++0
++190
++190
++190
++233
++233
++233
++238
++238
++238
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++242
++242
++242
++28
++28
++28
++8
++8
++8
++0
++0
++0
++0
++0
++0
++212
++212
++212
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++253
++253
++253
++248
++248
++248
++242
++242
++242
++167
++167
++167
++167
++167
++167
++167
++167
++167
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++167
++167
++167
++167
++167
++167
++122
++121
++121
++0
++0
++0
++0
++0
++0
++36
++18
++0
++186
++93
++0
++194
++97
++0
++210
++105
++0
++225
++112
++0
++236
++118
++1
++238
++129
++21
++239
++139
++39
++240
++151
++63
++242
++167
++91
++183
++141
++99
++98
++98
++97
++76
++76
++76
++55
++55
++55
++19
++19
++19
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++47
++47
++47
++203
++203
++203
++203
++203
++203
++219
++219
++219
++230
++230
++230
++238
++238
++238
++248
++248
++248
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++254
++254
++254
++254
++254
++254
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++146
++146
++146
++28
++28
++28
++0
++0
++0
++0
++0
++0
++13
++13
++13
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++167
++167
++167
++47
++47
++47
++28
++28
++28
++4
++4
++4
++122
++121
++121
++242
++242
++242
++242
++242
++242
++248
++248
++248
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++84
++84
++83
++41
++41
++41
++8
++8
++8
++0
++0
++0
++233
++233
++233
++233
++233
++233
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++203
++203
++203
++28
++28
++28
++4
++4
++4
++0
++0
++0
++13
++13
++13
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++254
++254
++254
++253
++253
++253
++248
++248
++248
++242
++242
++242
++233
++233
++233
++225
++225
++225
++212
++212
++212
++212
++212
++212
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++203
++212
++212
++212
++212
++212
++212
++225
++225
++225
++233
++233
++233
++146
++146
++146
++0
++0
++0
++0
++0
++0
++87
++44
++2
++196
++98
++0
++210
++105
++0
++225
++112
++0
++236
++118
++1
++238
++129
++21
++240
++151
++63
++242
++167
++91
++242
++167
++91
++183
++141
++99
++98
++98
++97
++76
++76
++76
++55
++55
++55
++19
++19
++19
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++35
++35
++35
++190
++190
++190
++203
++203
++203
++212
++212
++212
++225
++225
++225
++238
++238
++238
++248
++248
++248
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++91
++91
++91
++19
++19
++19
++0
++0
++0
++0
++0
++0
++55
++55
++55
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++146
++146
++146
++41
++41
++41
++28
++28
++28
++2
++1
++0
++61
++61
++61
++242
++242
++242
++242
++242
++242
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++212
++212
++212
++55
++55
++55
++28
++28
++28
++0
++0
++0
++47
++47
++47
++230
++230
++230
++230
++230
++230
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++167
++167
++167
++28
++28
++28
++0
++0
++0
++0
++0
++0
++61
++61
++61
++225
++225
++225
++225
++225
++225
++238
++238
++238
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++254
++254
++254
++253
++253
++253
++248
++248
++248
++245
++245
++245
++238
++238
++238
++230
++230
++230
++225
++225
++225
++219
++219
++219
++219
++219
++219
++219
++219
++219
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++212
++219
++219
++219
++225
++225
++225
++230
++230
++230
++238
++238
++238
++245
++245
++245
++112
++112
++111
++4
++4
++4
++8
++8
++8
++114
++59
++3
++205
++103
++0
++221
++111
++0
++236
++118
++1
++239
++139
++39
++240
++151
++63
++242
++167
++91
++242
++167
++91
++163
++132
++100
++98
++98
++97
++76
++76
++76
++52
++52
++52
++13
++13
++13
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++13
++13
++13
++167
++167
++167
++203
++203
++203
++212
++212
++212
++225
++225
++225
++238
++238
++238
++248
++248
++248
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++61
++61
++61
++19
++19
++19
++0
++0
++0
++0
++0
++0
++98
++98
++97
++225
++225
++225
++230
++230
++230
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++98
++98
++97
++41
++41
++41
++28
++28
++28
++0
++0
++0
++47
++47
++47
++242
++242
++242
++242
++242
++242
++245
++245
++245
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++112
++112
++111
++52
++52
++52
++19
++19
++19
++0
++0
++0
++76
++76
++76
++230
++230
++230
++233
++233
++233
++238
++238
++238
++245
++245
++245
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++122
++121
++121
++19
++19
++19
++0
++0
++0
++0
++0
++0
++112
++112
++111
++225
++225
++225
++233
++233
++233
++242
++242
++242
++248
++248
++248
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++254
++254
++254
++253
++253
++253
++248
++248
++248
++245
++245
++245
++242
++242
++242
++238
++238
++238
++233
++233
++233
++233
++233
++233
++230
++230
++230
++230
++230
++230
++230
++230
++230
++230
++230
++230
++230
++230
++230
++230
++230
++230
++233
++233
++233
++233
++233
++233
++238
++238
++238
++245
++245
++245
++251
++251
++251
++255
++255
++255
++76
++76
++76
++19
++19
++19
++19
++19
++19
++155
++79
++3
++214
++107
++0
++234
++117
++0
++239
++139
++39
++240
++151
++63
++242
++167
++91
++242
++167
++91
++138
++122
++105
++91
++91
++91
++71
++70
++69
++47
++47
++47
++13
++13
++13
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++13
++13
++13
++167
++167
++167
++203
++203
++203
++219
++219
++219
++225
++225
++225
++238
++238
++238
++248
++248
++248
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++212
++212
++212
++212
++212
++212
++203
++203
++203
++230
++230
++230
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++35
++35
++35
++19
++19
++19
++0
++0
++0
++0
++0
++0
++122
++121
++121
++233
++233
++233
++238
++238
++238
++248
++248
++248
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++84
++84
++83
++41
++41
++41
++28
++28
++28
++0
++0
++0
++0
++0
++0
++242
++242
++242
++242
++242
++242
++248
++248
++248
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++233
++233
++233
++66
++66
++66
++41
++41
++41
++8
++8
++8
++0
++0
++0
++112
++112
++111
++230
++230
++230
++233
++233
++233
++242
++242
++242
++251
++251
++251
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++91
++91
++91
++28
++28
++28
++0
++0
++0
++0
++0
++0
++167
++167
++167
++230
++230
++230
++238
++238
++238
++245
++245
++245
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++254
++254
++254
++253
++253
++253
++251
++251
++251
++251
++251
++251
++251
++251
++251
++251
++251
++251
++251
++251
++251
++251
++251
++251
++251
++251
++251
++251
++251
++251
++251
++251
++251
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++35
++35
++35
++28
++28
++28
++19
++19
++19
++210
++105
++0
++229
++114
++0
++239
++139
++39
++240
++151
++63
++242
++167
++91
++211
++151
++92
++112
++112
++111
++91
++91
++91
++66
++66
++66
++41
++41
++41
++8
++8
++8
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++146
++146
++146
++212
++212
++212
++225
++225
++225
++233
++233
++233
++245
++245
++245
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++203
++203
++203
++112
++112
++111
++112
++112
++111
++112
++112
++111
++112
++112
++111
++112
++112
++111
++112
++112
++111
++106
++106
++106
++106
++106
++106
++98
++98
++97
++84
++84
++83
++66
++66
++66
++47
++47
++47
++146
++146
++146
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++219
++219
++219
++41
++41
++41
++28
++28
++28
++0
++0
++0
++0
++0
++0
++190
++190
++190
++238
++238
++238
++248
++248
++248
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++55
++55
++55
++47
++47
++47
++28
++28
++28
++4
++4
++4
++0
++0
++0
++230
++230
++230
++248
++248
++248
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++146
++146
++146
++61
++61
++61
++41
++41
++41
++4
++4
++4
++0
++0
++0
++167
++167
++167
++238
++238
++238
++242
++242
++242
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++55
++55
++55
++28
++28
++28
++4
++4
++4
++0
++0
++0
++190
++190
++190
++242
++242
++242
++248
++248
++248
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++230
++230
++230
++47
++47
++47
++41
++41
++41
++64
++44
++24
++223
++112
++0
++238
++129
++21
++240
++151
++63
++242
++167
++91
++183
++141
++99
++106
++106
++106
++84
++84
++83
++61
++61
++61
++35
++35
++35
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++146
++146
++146
++225
++225
++225
++233
++233
++233
++245
++245
++245
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++233
++233
++233
++122
++121
++121
++112
++112
++111
++106
++106
++106
++103
++103
++102
++98
++98
++97
++91
++91
++91
++91
++91
++91
++91
++91
++91
++84
++84
++83
++76
++76
++76
++66
++66
++66
++52
++52
++52
++35
++35
++35
++203
++203
++203
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++190
++190
++190
++47
++47
++47
++35
++35
++35
++8
++8
++8
++0
++0
++0
++230
++230
++230
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++219
++219
++219
++61
++61
++61
++47
++47
++47
++28
++28
++28
++8
++8
++8
++0
++0
++0
++190
++190
++190
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++242
++242
++242
++91
++91
++91
++61
++61
++61
++35
++35
++35
++4
++4
++4
++0
++0
++0
++212
++212
++212
++245
++245
++245
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++242
++242
++242
++55
++55
++55
++35
++35
++35
++13
++13
++13
++0
++0
++0
++248
++248
++248
++254
++254
++254
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++203
++203
++203
++61
++61
++61
++41
++41
++41
++92
++57
++22
++237
++123
++9
++240
++151
++63
++242
++167
++91
++138
++122
++105
++98
++98
++97
++76
++76
++76
++55
++55
++55
++19
++19
++19
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++91
++91
++91
++233
++233
++233
++245
++245
++245
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++146
++146
++146
++103
++103
++102
++98
++98
++97
++84
++84
++83
++76
++76
++76
++71
++70
++69
++71
++70
++69
++66
++66
++66
++66
++66
++66
++61
++61
++61
++55
++55
++55
++47
++47
++47
++35
++35
++35
++28
++28
++28
++212
++212
++212
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++167
++167
++167
++61
++61
++61
++41
++41
++41
++19
++19
++19
++28
++28
++28
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++212
++212
++212
++66
++66
++66
++52
++52
++52
++35
++35
++35
++19
++19
++19
++8
++8
++8
++167
++167
++167
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++167
++167
++167
++76
++76
++76
++61
++61
++61
++35
++35
++35
++8
++8
++8
++0
++0
++0
++253
++253
++253
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++212
++212
++212
++61
++61
++61
++47
++47
++47
++28
++28
++28
++76
++76
++76
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++167
++167
++167
++61
++61
++61
++47
++47
++47
++140
++82
++22
++239
++139
++39
++211
++151
++92
++103
++103
++102
++91
++91
++91
++71
++70
++69
++47
++47
++47
++13
++13
++13
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++91
++91
++91
++248
++248
++248
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++190
++190
++190
++98
++98
++97
++91
++91
++91
++76
++76
++76
++61
++61
++61
++52
++52
++52
++47
++47
++47
++41
++41
++41
++41
++41
++41
++41
++41
++41
++35
++35
++35
++35
++35
++35
++28
++28
++28
++28
++28
++28
++28
++28
++28
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++146
++146
++146
++66
++66
++66
++47
++47
++47
++35
++35
++35
++84
++84
++83
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++167
++167
++167
++71
++70
++69
++52
++52
++52
++35
++35
++35
++19
++19
++19
++19
++19
++19
++146
++146
++146
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++112
++112
++111
++76
++76
++76
++55
++55
++55
++35
++35
++35
++19
++19
++19
++71
++70
++69
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++190
++190
++190
++71
++70
++69
++55
++55
++55
++41
++41
++41
++122
++121
++121
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++146
++146
++146
++66
++66
++66
++55
++55
++55
++186
++120
++54
++151
++115
++79
++76
++76
++76
++76
++76
++76
++61
++61
++61
++35
++35
++35
++8
++8
++8
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++167
++167
++167
++203
++203
++203
++203
++203
++203
++203
++203
++203
++212
++212
++212
++212
++212
++212
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++212
++212
++212
++103
++103
++102
++91
++91
++91
++71
++70
++69
++55
++55
++55
++41
++41
++41
++13
++13
++13
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++13
++13
++13
++13
++13
++13
++19
++19
++19
++41
++41
++41
++203
++203
++203
++203
++203
++203
++212
++212
++212
++212
++212
++212
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++112
++112
++111
++66
++66
++66
++52
++52
++52
++41
++41
++41
++55
++55
++55
++103
++103
++102
++112
++112
++111
++122
++121
++121
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++106
++106
++106
++66
++66
++66
++47
++47
++47
++35
++35
++35
++28
++28
++28
++28
++28
++28
++98
++98
++97
++167
++167
++167
++167
++167
++167
++167
++167
++167
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++190
++167
++167
++167
++84
++84
++83
++66
++66
++66
++47
++47
++47
++35
++35
++35
++28
++28
++28
++84
++84
++83
++203
++203
++203
++203
++203
++203
++212
++212
++212
++212
++212
++212
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++219
++212
++212
++212
++146
++146
++146
++76
++76
++76
++61
++61
++61
++47
++47
++47
++71
++70
++69
++106
++106
++106
++122
++121
++121
++122
++121
++121
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++146
++84
++84
++83
++66
++66
++66
++55
++55
++55
++55
++55
++55
++61
++61
++61
++55
++55
++55
++47
++47
++47
++19
++19
++19
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++4
++4
++4
++13
++13
++13
++28
++28
++28
++41
++41
++41
++61
++61
++61
++76
++76
++76
++91
++91
++91
++98
++98
++97
++106
++106
++106
++112
++112
++111
++112
++112
++111
++112
++112
++111
++112
++112
++111
++106
++106
++106
++98
++98
++97
++84
++84
++83
++71
++70
++69
++52
++52
++52
++35
++35
++35
++19
++19
++19
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++4
++4
++4
++8
++8
++8
++19
++19
++19
++28
++28
++28
++47
++47
++47
++66
++66
++66
++84
++84
++83
++98
++98
++97
++103
++103
++102
++106
++106
++106
++112
++112
++111
++112
++112
++111
++112
++112
++111
++112
++112
++111
++106
++106
++106
++103
++103
++102
++91
++91
++91
++76
++76
++76
++61
++61
++61
++47
++47
++47
++41
++41
++41
++41
++41
++41
++52
++52
++52
++66
++66
++66
++84
++84
++83
++91
++91
++91
++98
++98
++97
++98
++98
++97
++103
++103
++102
++103
++103
++102
++103
++103
++102
++91
++91
++91
++84
++84
++83
++71
++70
++69
++55
++55
++55
++41
++41
++41
++28
++28
++28
++28
++28
++28
++28
++28
++28
++41
++41
++41
++61
++61
++61
++76
++76
++76
++91
++91
++91
++98
++98
++97
++103
++103
++102
++106
++106
++106
++103
++103
++102
++91
++91
++91
++84
++84
++83
++76
++76
++76
++55
++55
++55
++41
++41
++41
++28
++28
++28
++28
++28
++28
++35
++35
++35
++52
++52
++52
++71
++70
++69
++84
++84
++83
++98
++98
++97
++106
++106
++106
++112
++112
++111
++112
++112
++111
++112
++112
++111
++112
++112
++111
++103
++103
++102
++91
++91
++91
++84
++84
++83
++66
++66
++66
++52
++52
++52
++47
++47
++47
++47
++47
++47
++55
++55
++55
++71
++70
++69
++84
++84
++83
++91
++91
++91
++98
++98
++97
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++98
++98
++97
++91
++91
++91
++84
++84
++83
++66
++66
++66
++55
++55
++55
++47
++47
++47
++41
++41
++41
++35
++35
++35
++28
++28
++28
++8
++8
++8
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++4
++4
++4
++8
++8
++8
++19
++19
++19
++28
++28
++28
++47
++47
++47
++61
++61
++61
++71
++70
++69
++84
++84
++83
++84
++84
++83
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++84
++84
++83
++76
++76
++76
++66
++66
++66
++47
++47
++47
++35
++35
++35
++19
++19
++19
++8
++8
++8
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++2
++1
++0
++8
++8
++8
++19
++19
++19
++28
++28
++28
++47
++47
++47
++61
++61
++61
++76
++76
++76
++84
++84
++83
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++84
++84
++83
++71
++70
++69
++61
++61
++61
++47
++47
++47
++35
++35
++35
++35
++35
++35
++35
++35
++35
++47
++47
++47
++55
++55
++55
++66
++66
++66
++76
++76
++76
++76
++76
++76
++76
++76
++76
++84
++84
++83
++76
++76
++76
++76
++76
++76
++71
++70
++69
++66
++66
++66
++52
++52
++52
++41
++41
++41
++28
++28
++28
++19
++19
++19
++19
++19
++19
++28
++28
++28
++41
++41
++41
++52
++52
++52
++66
++66
++66
++76
++76
++76
++84
++84
++83
++84
++84
++83
++84
++84
++83
++84
++84
++83
++76
++76
++76
++66
++66
++66
++52
++52
++52
++41
++41
++41
++28
++28
++28
++19
++19
++19
++28
++28
++28
++35
++35
++35
++47
++47
++47
++61
++61
++61
++76
++76
++76
++84
++84
++83
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++91
++84
++84
++83
++76
++76
++76
++61
++61
++61
++47
++47
++47
++41
++41
++41
++35
++35
++35
++41
++41
++41
++47
++47
++47
++61
++61
++61
++66
++66
++66
++76
++76
++76
++76
++76
++76
++76
++76
++76
++84
++84
++83
++76
++76
++76
++76
++76
++76
++84
++84
++83
++76
++76
++76
++76
++76
++76
++84
++84
++83
++76
++76
++76
++76
++76
++76
++84
++84
++83
++76
++76
++76
++76
++76
++76
++84
++84
++83
++76
++76
++76
++76
++76
++76
++84
++84
++83
++76
++76
++76
++76
++76
++76
++84
++84
++83
++76
++76
++76
++76
++76
++76
++76
++76
++76
++71
++70
++69
++61
++61
++61
++47
++47
++47
++35
++35
++35
++19
++19
++19
++13
++13
++13
++4
++4
++4
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++4
++4
++4
++8
++8
++8
++19
++19
++19
++28
++28
++28
++35
++35
++35
++47
++47
++47
++55
++55
++55
++61
++61
++61
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++61
++61
++61
++52
++52
++52
++41
++41
++41
++28
++28
++28
++19
++19
++19
++8
++8
++8
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++4
++4
++4
++8
++8
++8
++13
++13
++13
++28
++28
++28
++35
++35
++35
++47
++47
++47
++55
++55
++55
++61
++61
++61
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++61
++61
++61
++61
++61
++61
++47
++47
++47
++41
++41
++41
++28
++28
++28
++28
++28
++28
++19
++19
++19
++28
++28
++28
++28
++28
++28
++41
++41
++41
++47
++47
++47
++47
++47
++47
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++47
++47
++47
++41
++41
++41
++35
++35
++35
++19
++19
++19
++19
++19
++19
++13
++13
++13
++13
++13
++13
++19
++19
++19
++28
++28
++28
++35
++35
++35
++47
++47
++47
++52
++52
++52
++55
++55
++55
++61
++61
++61
++61
++61
++61
++55
++55
++55
++52
++52
++52
++41
++41
++41
++35
++35
++35
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++28
++28
++28
++35
++35
++35
++47
++47
++47
++55
++55
++55
++61
++61
++61
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++66
++61
++61
++61
++52
++52
++52
++41
++41
++41
++35
++35
++35
++28
++28
++28
++28
++28
++28
++28
++28
++28
++35
++35
++35
++41
++41
++41
++47
++47
++47
++47
++47
++47
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++52
++47
++47
++47
++41
++41
++41
++28
++28
++28
++19
++19
++19
++13
++13
++13
++8
++8
++8
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++4
++4
++4
++8
++8
++8
++13
++13
++13
++19
++19
++19
++28
++28
++28
++28
++28
++28
++35
++35
++35
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++35
++35
++35
++35
++35
++35
++28
++28
++28
++19
++19
++19
++13
++13
++13
++4
++4
++4
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++4
++4
++4
++8
++8
++8
++13
++13
++13
++19
++19
++19
++28
++28
++28
++35
++35
++35
++35
++35
++35
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++35
++35
++35
++35
++35
++35
++28
++28
++28
++19
++19
++19
++13
++13
++13
++8
++8
++8
++8
++8
++8
++8
++8
++8
++8
++8
++8
++13
++13
++13
++13
++13
++13
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++13
++13
++13
++13
++13
++13
++13
++13
++13
++8
++8
++8
++8
++8
++8
++4
++4
++4
++4
++4
++4
++4
++4
++4
++8
++8
++8
++8
++8
++8
++19
++19
++19
++19
++19
++19
++28
++28
++28
++28
++28
++28
++28
++28
++28
++28
++28
++28
++28
++28
++28
++28
++28
++28
++19
++19
++19
++19
++19
++19
++13
++13
++13
++8
++8
++8
++4
++4
++4
++8
++8
++8
++13
++13
++13
++19
++19
++19
++19
++19
++19
++28
++28
++28
++35
++35
++35
++35
++35
++35
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++41
++35
++35
++35
++35
++35
++35
++28
++28
++28
++28
++28
++28
++19
++19
++19
++8
++8
++8
++8
++8
++8
++8
++8
++8
++8
++8
++8
++13
++13
++13
++13
++13
++13
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++19
++13
++13
++13
++13
++13
++13
++13
++13
++13
++8
++8
++8
++8
++8
++8
++4
++4
++4
++2
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++2
++1
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++2
++1
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++1
++0
++0
++2
++1
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++0
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++35
++35
++35
++190
++190
++190
++255
++255
++255
++255
++255
++255
++190
++190
++190
++35
++35
++35
++2
++1
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++0
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++103
++103
++102
++255
++255
++255
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++0
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++255
++255
++255
++103
++103
++102
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++0
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++103
++103
++102
++255
++255
++255
++2
++1
++0
++0
++0
++0
++103
++103
++102
++255
++255
++255
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++0
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++0
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++0
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++0
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++219
++219
++219
++203
++203
++203
++84
++84
++83
++103
++103
++102
++219
++219
++219
++219
++219
++219
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++2
++1
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++255
++255
++255
++122
++121
++121
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++0
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++122
++121
++121
++255
++255
++255
++1
++0
++0
++1
++0
++0
++122
++121
++121
++255
++255
++255
++0
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++0
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++0
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++84
++84
++83
++255
++255
++255
++35
++35
++35
++1
++0
++0
++2
++1
++0
++52
++52
++52
++255
++255
++255
++84
++84
++83
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++255
++255
++255
++122
++121
++121
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++2
++1
++0
++2
++1
++0
++19
++19
++19
++71
++70
++69
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++103
++103
++102
++255
++255
++255
++19
++19
++19
++2
++1
++0
++2
++1
++0
++2
++1
++0
++103
++103
++102
++35
++35
++35
++238
++238
++238
++167
++167
++167
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++71
++70
++69
++255
++255
++255
++71
++70
++69
++35
++35
++35
++203
++203
++203
++255
++255
++255
++203
++203
++203
++35
++35
++35
++71
++70
++69
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++35
++35
++35
++2
++1
++0
++19
++19
++19
++167
++167
++167
++255
++255
++255
++255
++255
++255
++219
++219
++219
++122
++121
++121
++2
++1
++0
++2
++1
++0
++2
++1
++0
++103
++103
++102
++255
++255
++255
++122
++121
++121
++238
++238
++238
++255
++255
++255
++219
++219
++219
++84
++84
++83
++2
++1
++0
++146
++146
++146
++255
++255
++255
++255
++255
++255
++167
++167
++167
++19
++19
++19
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++103
++103
++102
++255
++255
++255
++255
++255
++255
++122
++121
++121
++1
++0
++0
++238
++238
++238
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++146
++146
++146
++1
++0
++0
++1
++0
++0
++122
++121
++121
++203
++203
++203
++255
++255
++255
++255
++255
++255
++219
++219
++219
++122
++121
++121
++122
++121
++121
++255
++255
++255
++2
++1
++0
++103
++103
++102
++255
++255
++255
++103
++103
++102
++219
++219
++219
++203
++203
++203
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++103
++103
++102
++255
++255
++255
++1
++0
++0
++2
++1
++0
++255
++255
++255
++146
++146
++146
++190
++190
++190
++255
++255
++255
++255
++255
++255
++203
++203
++203
++71
++70
++69
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++122
++121
++121
++219
++219
++219
++255
++255
++255
++255
++255
++255
++167
++167
++167
++35
++35
++35
++255
++255
++255
++103
++103
++102
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++35
++35
++35
++255
++255
++255
++190
++190
++190
++71
++70
++69
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++19
++19
++19
++2
++1
++0
++2
++1
++0
++2
++1
++0
++190
++190
++190
++219
++219
++219
++2
++1
++0
++203
++203
++203
++203
++203
++203
++84
++84
++83
++203
++203
++203
++219
++219
++219
++19
++19
++19
++103
++103
++102
++146
++146
++146
++255
++255
++255
++103
++103
++102
++103
++103
++102
++2
++1
++0
++35
++35
++35
++238
++238
++238
++203
++203
++203
++103
++103
++102
++84
++84
++83
++146
++146
++146
++238
++238
++238
++167
++167
++167
++2
++1
++0
++1
++0
++0
++122
++121
++121
++255
++255
++255
++238
++238
++238
++122
++121
++121
++84
++84
++83
++146
++146
++146
++255
++255
++255
++203
++203
++203
++225
++225
++225
++103
++103
++102
++103
++103
++102
++219
++219
++219
++190
++190
++190
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++52
++52
++52
++255
++255
++255
++146
++146
++146
++122
++121
++121
++255
++255
++255
++52
++52
++52
++71
++70
++69
++103
++103
++102
++255
++255
++255
++146
++146
++146
++103
++103
++102
++35
++35
++35
++2
++1
++0
++190
++190
++190
++255
++255
++255
++146
++146
++146
++91
++91
++91
++84
++84
++83
++146
++146
++146
++238
++238
++238
++255
++255
++255
++255
++255
++255
++2
++1
++0
++122
++121
++121
++255
++255
++255
++238
++238
++238
++167
++167
++167
++52
++52
++52
++103
++103
++102
++146
++146
++146
++255
++255
++255
++103
++103
++102
++103
++103
++102
++122
++121
++121
++255
++255
++255
++2
++1
++0
++2
++1
++0
++255
++255
++255
++255
++255
++255
++190
++190
++190
++84
++84
++83
++103
++103
++102
++190
++190
++190
++255
++255
++255
++71
++70
++69
++2
++1
++0
++2
++1
++0
++190
++190
++190
++238
++238
++238
++146
++146
++146
++103
++103
++102
++103
++103
++102
++203
++203
++203
++238
++238
++238
++255
++255
++255
++122
++121
++121
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++71
++70
++69
++238
++238
++238
++255
++255
++255
++238
++238
++238
++146
++146
++146
++2
++1
++0
++2
++1
++0
++19
++19
++19
++255
++255
++255
++122
++121
++121
++2
++1
++0
++2
++1
++0
++35
++35
++35
++255
++255
++255
++103
++103
++102
++2
++1
++0
++255
++255
++255
++122
++121
++121
++2
++1
++0
++47
++47
++47
++146
++146
++146
++2
++1
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++2
++1
++0
++2
++1
++0
++2
++1
++0
++203
++203
++203
++190
++190
++190
++2
++1
++0
++2
++1
++0
++1
++0
++0
++6
++3
++0
++52
++52
++52
++255
++255
++255
++103
++103
++102
++4
++2
++0
++122
++121
++121
++255
++255
++255
++84
++84
++83
++2
++1
++0
++2
++1
++0
++2
++1
++0
++190
++190
++190
++255
++255
++255
++71
++70
++69
++2
++1
++0
++2
++1
++0
++71
++70
++69
++255
++255
++255
++52
++52
++52
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++19
++19
++19
++2
++1
++0
++146
++146
++146
++52
++52
++52
++2
++1
++0
++1
++0
++0
++255
++255
++255
++122
++121
++121
++2
++1
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++52
++52
++52
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++52
++52
++52
++238
++238
++238
++255
++255
++255
++2
++1
++0
++122
++121
++121
++255
++255
++255
++103
++103
++102
++2
++1
++0
++2
++1
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++2
++1
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++2
++1
++0
++2
++1
++0
++255
++255
++255
++203
++203
++203
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++203
++203
++203
++203
++203
++203
++2
++1
++0
++146
++146
++146
++238
++238
++238
++52
++52
++52
++0
++0
++0
++1
++0
++0
++2
++1
++0
++4
++2
++0
++190
++190
++190
++255
++255
++255
++122
++121
++121
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++1
++0
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++71
++70
++69
++167
++167
++167
++255
++255
++255
++190
++190
++190
++1
++0
++0
++2
++1
++0
++167
++167
++167
++219
++219
++219
++2
++1
++0
++6
++3
++0
++146
++146
++146
++238
++238
++238
++2
++1
++0
++2
++1
++0
++190
++190
++190
++238
++238
++238
++146
++146
++146
++35
++35
++35
++2
++1
++0
++4
++2
++0
++4
++2
++0
++122
++121
++121
++255
++255
++255
++2
++1
++0
++2
++1
++0
++52
++52
++52
++255
++255
++255
++52
++52
++52
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++167
++167
++167
++203
++203
++203
++2
++1
++0
++122
++121
++121
++255
++255
++255
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++255
++255
++255
++103
++103
++102
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++35
++35
++35
++255
++255
++255
++203
++203
++203
++103
++103
++102
++19
++19
++19
++2
++1
++0
++2
++1
++0
++2
++1
++0
++255
++255
++255
++122
++121
++121
++4
++2
++0
++4
++2
++0
++238
++238
++238
++146
++146
++146
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++146
++146
++146
++255
++255
++255
++2
++1
++0
++122
++121
++121
++255
++255
++255
++19
++19
++19
++2
++1
++0
++2
++1
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++2
++1
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++4
++2
++0
++255
++255
++255
++122
++121
++121
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++2
++1
++0
++238
++238
++238
++146
++146
++146
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++35
++35
++35
++255
++255
++255
++122
++121
++121
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++103
++103
++102
++255
++255
++255
++52
++52
++52
++2
++1
++0
++71
++70
++69
++255
++255
++255
++71
++70
++69
++19
++19
++19
++238
++238
++238
++146
++146
++146
++1
++0
++0
++4
++2
++0
++19
++19
++19
++146
++146
++146
++238
++238
++238
++255
++255
++255
++146
++146
++146
++4
++2
++0
++4
++2
++0
++122
++121
++121
++255
++255
++255
++2
++1
++0
++4
++2
++0
++122
++121
++121
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++4
++2
++0
++122
++121
++121
++255
++255
++255
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++255
++255
++255
++122
++121
++121
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++52
++52
++52
++203
++203
++203
++255
++255
++255
++238
++238
++238
++71
++70
++69
++4
++2
++0
++4
++2
++0
++255
++255
++255
++122
++121
++121
++4
++2
++0
++4
++2
++0
++255
++255
++255
++122
++121
++121
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++103
++103
++102
++255
++255
++255
++4
++2
++0
++122
++121
++121
++255
++255
++255
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++2
++1
++0
++2
++1
++0
++255
++255
++255
++122
++121
++121
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++255
++255
++255
++122
++121
++121
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++255
++255
++255
++122
++121
++121
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++122
++121
++121
++146
++146
++146
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++255
++255
++255
++122
++121
++121
++2
++1
++0
++2
++1
++0
++219
++219
++219
++167
++167
++167
++103
++103
++102
++255
++255
++255
++35
++35
++35
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++146
++146
++146
++255
++255
++255
++71
++70
++69
++4
++2
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++4
++2
++0
++84
++84
++83
++255
++255
++255
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++103
++103
++102
++84
++84
++83
++2
++1
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++255
++255
++255
++122
++121
++121
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++35
++35
++35
++203
++203
++203
++238
++238
++238
++4
++2
++0
++2
++1
++0
++255
++255
++255
++122
++121
++121
++4
++2
++0
++4
++2
++0
++238
++238
++238
++146
++146
++146
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++146
++146
++146
++255
++255
++255
++4
++2
++0
++122
++121
++121
++255
++255
++255
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++2
++1
++0
++255
++255
++255
++122
++121
++121
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++122
++121
++121
++255
++255
++255
++2
++1
++0
++238
++238
++238
++146
++146
++146
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++35
++35
++35
++255
++255
++255
++122
++121
++121
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++146
++146
++146
++238
++238
++238
++4
++2
++0
++4
++2
++0
++4
++2
++0
++71
++70
++69
++255
++255
++255
++71
++70
++69
++4
++2
++0
++4
++2
++0
++122
++121
++121
++238
++238
++238
++238
++238
++238
++167
++167
++167
++4
++2
++0
++2
++1
++0
++84
++84
++83
++238
++238
++238
++19
++19
++19
++1
++0
++0
++2
++1
++0
++255
++255
++255
++103
++103
++102
++4
++2
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++4
++2
++0
++19
++19
++19
++238
++238
++238
++167
++167
++167
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++35
++35
++35
++238
++238
++238
++146
++146
++146
++2
++1
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++122
++121
++121
++255
++255
++255
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++255
++255
++255
++122
++121
++121
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++238
++238
++238
++103
++103
++102
++4
++2
++0
++4
++2
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++4
++2
++0
++255
++255
++255
++122
++121
++121
++4
++2
++0
++4
++2
++0
++122
++121
++121
++238
++238
++238
++52
++52
++52
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++52
++52
++52
++238
++238
++238
++255
++255
++255
++4
++2
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++4
++2
++0
++2
++1
++0
++6
++3
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++2
++1
++0
++255
++255
++255
++122
++121
++121
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++146
++146
++146
++238
++238
++238
++52
++52
++52
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++190
++190
++190
++255
++255
++255
++122
++121
++121
++4
++2
++0
++2
++1
++0
++71
++70
++69
++19
++19
++19
++4
++2
++0
++4
++2
++0
++19
++19
++19
++71
++70
++69
++2
++1
++0
++4
++2
++0
++4
++2
++0
++71
++70
++69
++19
++19
++19
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++6
++3
++0
++2
++1
++0
++2
++1
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++35
++35
++35
++255
++255
++255
++190
++190
++190
++84
++84
++83
++103
++103
++102
++219
++219
++219
++190
++190
++190
++4
++2
++0
++4
++2
++0
++4
++2
++0
++19
++19
++19
++238
++238
++238
++255
++255
++255
++71
++70
++69
++4
++2
++0
++4
++2
++0
++35
++35
++35
++255
++255
++255
++167
++167
++167
++103
++103
++102
++167
++167
++167
++255
++255
++255
++35
++35
++35
++4
++2
++0
++122
++121
++121
++255
++255
++255
++2
++1
++0
++4
++2
++0
++4
++2
++0
++71
++70
++69
++255
++255
++255
++203
++203
++203
++103
++103
++102
++84
++84
++83
++146
++146
++146
++238
++238
++238
++190
++190
++190
++4
++2
++0
++4
++2
++0
++122
++121
++121
++255
++255
++255
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++255
++255
++255
++122
++121
++121
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++190
++190
++190
++219
++219
++219
++103
++103
++102
++103
++103
++102
++219
++219
++219
++190
++190
++190
++4
++2
++0
++4
++2
++0
++255
++255
++255
++122
++121
++121
++4
++2
++0
++4
++2
++0
++4
++2
++0
++190
++190
++190
++255
++255
++255
++146
++146
++146
++84
++84
++83
++91
++91
++91
++146
++146
++146
++238
++238
++238
++238
++238
++238
++255
++255
++255
++4
++2
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++4
++2
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++4
++2
++0
++255
++255
++255
++122
++121
++121
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++4
++2
++0
++190
++190
++190
++238
++238
++238
++146
++146
++146
++103
++103
++102
++103
++103
++102
++203
++203
++203
++219
++219
++219
++255
++255
++255
++122
++121
++121
++4
++2
++0
++4
++2
++0
++255
++255
++255
++122
++121
++121
++2
++1
++0
++4
++2
++0
++122
++121
++121
++255
++255
++255
++4
++2
++0
++4
++2
++0
++4
++2
++0
++255
++255
++255
++122
++121
++121
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++52
++52
++52
++203
++203
++203
++255
++255
++255
++255
++255
++255
++146
++146
++146
++19
++19
++19
++4
++2
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++190
++190
++190
++203
++203
++203
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++71
++70
++69
++219
++219
++219
++255
++255
++255
++219
++219
++219
++84
++84
++83
++6
++3
++0
++4
++2
++0
++103
++103
++102
++255
++255
++255
++4
++2
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++35
++35
++35
++167
++167
++167
++255
++255
++255
++255
++255
++255
++219
++219
++219
++122
++121
++121
++4
++2
++0
++4
++2
++0
++4
++2
++0
++103
++103
++102
++255
++255
++255
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++103
++103
++102
++255
++255
++255
++4
++2
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++255
++255
++255
++103
++103
++102
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++19
++19
++19
++167
++167
++167
++255
++255
++255
++255
++255
++255
++190
++190
++190
++35
++35
++35
++4
++2
++0
++4
++2
++0
++255
++255
++255
++103
++103
++102
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++122
++121
++121
++203
++203
++203
++255
++255
++255
++255
++255
++255
++225
++225
++225
++103
++103
++102
++103
++103
++102
++255
++255
++255
++6
++3
++0
++103
++103
++102
++255
++255
++255
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++103
++103
++102
++255
++255
++255
++4
++2
++0
++4
++2
++0
++103
++103
++102
++255
++255
++255
++4
++2
++0
++4
++2
++0
++255
++255
++255
++103
++103
++102
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++103
++103
++102
++255
++255
++255
++6
++3
++0
++52
++52
++52
++71
++70
++69
++122
++121
++121
++219
++219
++219
++255
++255
++255
++255
++255
++255
++167
++167
++167
++55
++55
++55
++255
++255
++255
++84
++84
++83
++4
++2
++0
++6
++3
++0
++255
++255
++255
++103
++103
++102
++4
++2
++0
++4
++2
++0
++103
++103
++102
++255
++255
++255
++4
++2
++0
++4
++2
++0
++6
++3
++0
++255
++255
++255
++103
++103
++102
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++7
++4
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++19
++19
++19
++255
++255
++255
++103
++103
++102
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++2
++1
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++122
++121
++121
++255
++255
++255
++52
++52
++52
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++122
++121
++121
++255
++255
++255
++35
++35
++35
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++7
++4
++0
++146
++146
++146
++238
++238
++238
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++190
++190
++190
++255
++255
++255
++146
++146
++146
++84
++84
++83
++89
++84
++79
++167
++167
++167
++255
++255
++255
++122
++121
++121
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++255
++255
++255
++146
++146
++146
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++122
++121
++121
++225
++225
++225
++255
++255
++255
++255
++255
++255
++203
++203
++203
++84
++84
++83
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++4
++2
++0
++7
++4
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++4
++2
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++8
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++8
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++10
++5
++0
++8
++4
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++10
++5
++0
++8
++4
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++8
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++8
++4
++0
++8
++4
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++10
++5
++0
++8
++4
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++8
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++10
++5
++0
++8
++4
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++10
++5
++0
++8
++4
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++8
++4
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++6
++3
++0
++8
++4
++0
++6
++3
++0
++6
++3
++0
++10
++5
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++8
++4
++0
++7
++4
++0
++6
++3
++0
++6
++3
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++6
++3
++0
++6
++3
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++6
++3
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++7
++4
++0
++8
++4
++0
++6
++3
++0
++6
++3
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++6
++3
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++10
++5
++0
++10
++5
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++6
++3
++0
++7
++4
++0
++10
++5
++0
++6
++3
++0
++7
++4
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++6
++3
++0
++8
++4
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++7
++4
++0
++8
++4
++0
++6
++3
++0
++6
++3
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++6
++3
++0
++8
++4
++0
++6
++3
++0
++7
++4
++0
++7
++4
++0
++10
++5
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++6
++3
++0
++7
++4
++0
++10
++5
++0
++6
++3
++0
++7
++4
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++6
++3
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++7
++4
++0
++8
++4
++0
++6
++3
++0
++6
++3
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++6
++3
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++10
++5
++0
++10
++5
++0
++7
++4
++0
++6
++3
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++8
++4
++0
++8
++4
++0
++6
++3
++0
++7
++4
++0
++10
++5
++0
++6
++3
++0
++7
++4
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++6
++3
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++10
++5
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++7
++4
++0
++10
++5
++0
++8
++4
++0
++7
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++10
++5
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++7
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++6
++3
++0
++10
++5
++0
++8
++4
++0
++7
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++7
++4
++0
++8
++4
++0
++6
++3
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++7
++4
++0
++10
++5
++0
++8
++4
++0
++7
++4
++0
++10
++5
++0
++8
++4
++0
++6
++3
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++7
++4
++0
++10
++5
++0
++7
++4
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++7
++4
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++7
++4
++0
++10
++5
++0
++7
++4
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++7
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++10
++5
++0
++6
++3
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++7
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++10
++5
++0
++7
++4
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++8
++4
++0
++8
++4
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++7
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++8
++4
++0
++8
++4
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++8
++4
++0
++7
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++7
++4
++0
++8
++4
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++7
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++8
++4
++0
++8
++4
++0
++7
++4
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++8
++4
++0
++12
++6
++0
++10
++5
++0
++10
++5
++0
++12
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++12
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++8
++4
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++12
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++12
++6
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++12
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++12
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++12
++6
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++8
++4
++0
++12
++6
++0
++10
++5
++0
++10
++5
++0
++12
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++12
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++12
++6
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++12
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++12
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++12
++6
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++12
++6
++0
++11
++6
++0
++10
++5
++0
++12
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++12
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++12
++6
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++12
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++12
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++12
++6
++0
++11
++6
++0
++10
++5
++0
++12
++6
++0
++10
++5
++0
++10
++5
++0
++12
++6
++0
++10
++5
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++14
++7
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++12
++6
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++10
++5
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++14
++7
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++12
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++12
++6
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++12
++6
++0
++10
++5
++0
++12
++6
++0
++10
++5
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++10
++5
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++10
++5
++0
++10
++5
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++11
++6
++0
++10
++5
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++10
++5
++0
++12
++6
++0
++10
++5
++0
++12
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++10
++5
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++10
++5
++0
++11
++6
++0
++8
++4
++0
++11
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++14
++7
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++10
++5
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++14
++7
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++14
++7
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++11
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++10
++5
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++10
++5
++0
++14
++7
++0
++12
++6
++0
++11
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++16
++8
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++16
++8
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++16
++8
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++16
++8
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++16
++8
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++16
++8
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++16
++8
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++19
++9
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++19
++9
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++12
++6
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++12
++6
++0
++16
++8
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++12
++6
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++12
++6
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++19
++9
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++12
++6
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++12
++6
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++12
++6
++0
++12
++6
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++19
++9
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++12
++6
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++19
++9
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++19
++9
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++19
++9
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++19
++9
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++19
++9
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++19
++9
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++19
++9
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++19
++10
++0
++16
++8
++0
++19
++9
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++19
++9
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++19
++9
++0
++14
++7
++0
++16
++8
++0
++19
++9
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++19
++9
++0
++14
++7
++0
++19
++9
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++19
++9
++0
++16
++8
++0
++16
++8
++0
++12
++6
++0
++16
++8
++0
++12
++6
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++19
++9
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++19
++9
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++19
++9
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++19
++9
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++14
++7
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++19
++9
++0
++14
++7
++0
++20
++10
++0
++19
++9
++0
++16
++8
++0
++16
++8
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++19
++10
++0
++19
++10
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++16
++8
++0
++20
++10
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++10
++0
++19
++10
++0
++19
++9
++0
++19
++9
++0
++20
++10
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++16
++8
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++19
++10
++0
++19
++9
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++20
++10
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++20
++10
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++20
++10
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++14
++7
++0
++16
++8
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++14
++7
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++10
++0
++16
++8
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++20
++10
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++14
++7
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++19
++10
++0
++16
++8
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++16
++8
++0
++16
++8
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++14
++7
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++19
++10
++0
++20
++10
++0
++20
++10
++0
++19
++9
++0
++19
++10
++0
++20
++10
++0
++19
++10
++0
++20
++10
++0
++19
++9
++0
++22
++11
++0
++19
++10
++0
++19
++10
++0
++22
++11
++0
++19
++9
++0
++22
++11
++0
++22
++11
++0
++19
++9
++0
++19
++10
++0
++20
++10
++0
++22
++11
++0
++20
++10
++0
++22
++11
++0
++19
++10
++0
++19
++10
++0
++20
++10
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++10
++0
++19
++10
++0
++20
++10
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++20
++10
++0
++20
++10
++0
++19
++10
++0
++19
++10
++0
++19
++9
++0
++20
++10
++0
++19
++9
++0
++19
++9
++0
++20
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++9
++0
++19
++10
++0
++19
++10
++0
++22
++11
++0
++22
++11
++0
++20
++10
++0
++20
++10
++0
++19
++10
++0
++20
++10
++0
++20
++10
++0
++20
++10
++0
++22
++11
++0
++19
++10
++0
++20
++10
++0
++19
++10
++0
++20
++10
++0
++20
++10
++0
++19
++9
++0
++16
++8
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++20
++10
++0
++19
++9
++0
++22
++11
++0
++22
++11
++0
++19
++9
++0
++19
++10
++0
++20
++10
++0
++20
++10
++0
++19
++9
++0
++19
++10
++0
++20
++10
++0
++19
++9
++0
++19
++10
++0
++16
++8
++0
++20
++10
++0
++20
++10
++0
++20
++10
++0
++22
++11
++0
++20
++10
++0
++20
++10
++0
++22
++11
++0
++19
++9
++0
++19
++10
++0
++19
++10
++0
++22
++11
++0
++20
++10
++0
++19
++10
++0
++19
++10
++0
++19
++9
++0
++19
++10
++0
++20
++10
++0
++19
++9
++0
++19
++9
++0
++20
++10
++0
++19
++9
++0
++19
++10
++0
++20
++10
++0
++19
++10
++0
++20
++10
++0
++20
++10
++0
++20
++10
++0
++19
++9
++0
++16
++8
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++22
++11
++0
++20
++10
++0
++19
++9
++0
++20
++10
++0
++20
++10
++0
++19
++10
++0
++20
++10
++0
++20
++10
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++19
++9
++0
++22
++11
++0
++20
++10
++0
++16
++8
++0
++19
++9
++0
++19
++9
++0
++22
++11
++0
++19
++9
++0
++20
++10
++0
++19
++10
++0
++20
++10
++0
++19
++9
++0
++20
++10
++0
++20
++10
++0
++19
++9
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++9
++0
++20
++10
++0
++19
++9
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++19
++9
++0
++20
++10
++0
++19
++10
++0
++19
++10
++0
++20
++10
++0
++22
++11
++0
++19
++10
++0
++20
++10
++0
++20
++10
++0
++19
++9
++0
++20
++10
++0
++20
++10
++0
++19
++9
++0
++19
++9
++0
++22
++11
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++9
++0
++20
++10
++0
++19
++10
++0
++22
++11
++0
++19
++10
++0
++19
++9
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++19
++10
++0
++19
++10
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++19
++9
++0
++20
++10
++0
++19
++9
++0
++22
++11
++0
++20
++10
++0
++19
++10
++0
++19
++9
++0
++20
++10
++0
++20
++10
++0
++19
++10
++0
++22
++11
++0
++22
++11
++0
++19
++10
++0
++19
++10
++0
++19
++9
++0
++20
++10
++0
++20
++10
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++20
++10
++0
++19
++9
++0
++19
++9
++0
++20
++10
++0
++19
++9
++0
++19
++9
++0
++22
++11
++0
++22
++11
++0
++19
++9
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++9
++0
++20
++10
++0
++19
++9
++0
++19
++10
++0
++20
++10
++0
++19
++10
++0
++19
++10
++0
++20
++10
++0
++19
++10
++0
++22
++11
++0
++20
++10
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++19
++10
++0
++22
++11
++0
++19
++10
++0
++22
++11
++0
++22
++11
++0
++20
++10
++0
++23
++12
++0
++22
++11
++0
++23
++12
++0
++20
++10
++0
++22
++11
++0
++24
++12
++0
++20
++10
++0
++19
++9
++0
++22
++11
++0
++24
++12
++0
++19
++10
++0
++19
++9
++0
++20
++10
++0
++19
++10
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++22
++11
++0
++22
++11
++0
++19
++9
++0
++22
++11
++0
++20
++10
++0
++22
++11
++0
++19
++10
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++20
++10
++0
++20
++10
++0
++22
++11
++0
++22
++11
++0
++19
++10
++0
++22
++11
++0
++19
++9
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++20
++10
++0
++22
++11
++0
++23
++12
++0
++22
++11
++0
++20
++10
++0
++22
++11
++0
++23
++12
++0
++19
++10
++0
++19
++10
++0
++20
++10
++0
++19
++10
++0
++20
++10
++0
++20
++10
++0
++20
++10
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++19
++10
++0
++19
++10
++0
++22
++11
++0
++19
++10
++0
++20
++10
++0
++20
++10
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++19
++10
++0
++22
++11
++0
++20
++10
++0
++19
++10
++0
++22
++11
++0
++20
++10
++0
++23
++12
++0
++20
++10
++0
++23
++12
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++22
++11
++0
++20
++10
++0
++22
++11
++0
++22
++11
++0
++19
++9
++0
++20
++10
++0
++20
++10
++0
++19
++10
++0
++22
++11
++0
++19
++10
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++20
++10
++0
++19
++10
++0
++19
++10
++0
++20
++10
++0
++22
++11
++0
++20
++10
++0
++20
++10
++0
++22
++11
++0
++20
++10
++0
++22
++11
++0
++22
++11
++0
++20
++10
++0
++19
++10
++0
++22
++11
++0
++22
++11
++0
++20
++10
++0
++22
++11
++0
++19
++10
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++20
++10
++0
++22
++11
++0
++24
++12
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++19
++9
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++9
++0
++20
++10
++0
++20
++10
++0
++22
++11
++0
++22
++11
++0
++20
++10
++0
++19
++10
++0
++20
++10
++0
++20
++10
++0
++20
++10
++0
++19
++10
++0
++20
++10
++0
++22
++11
++0
++20
++10
++0
++20
++10
++0
++22
++11
++0
++19
++10
++0
++20
++10
++0
++19
++9
++0
++20
++10
++0
++22
++11
++0
++23
++12
++0
++20
++10
++0
++22
++11
++0
++22
++11
++0
++24
++12
++0
++20
++10
++0
++22
++11
++0
++23
++12
++0
++19
++10
++0
++20
++10
++0
++22
++11
++0
++22
++11
++0
++20
++10
++0
++19
++10
++0
++20
++10
++0
++19
++9
++0
++19
++10
++0
++19
++9
++0
++20
++10
++0
++22
++11
++0
++22
++11
++0
++20
++10
++0
++20
++10
++0
++19
++10
++0
++22
++11
++0
++22
++11
++0
++19
++10
++0
++19
++9
++0
++20
++10
++0
++20
++10
++0
++20
++10
++0
++22
++11
++0
++22
++11
++0
++20
++10
++0
++19
++10
++0
++20
++10
++0
++19
++10
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++22
++11
++0
++19
++9
++0
++22
++11
++0
++22
++11
++0
++19
++10
++0
++20
++10
++0
++22
++11
++0
++22
++11
++0
++19
++9
++0
++20
++10
++0
++20
++10
++0
++19
++10
++0
++19
++10
++0
++19
++9
++0
++20
++10
++0
++22
++11
++0
++22
++11
++0
++20
++10
++0
++19
++10
++0
++20
++10
++0
++19
++10
++0
++20
++10
++0
++19
++10
++0
++20
++10
++0
++22
++11
++0
++22
++11
++0
++20
++10
++0
++20
++10
++0
++22
++11
++0
++19
++10
++0
++19
++9
++0
++19
++10
++0
++20
++10
++0
++22
++11
++0
++20
++10
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++24
++12
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++22
++11
++0
++23
++12
++0
++23
++12
++0
++22
++11
++0
++24
++12
++0
++23
++12
++0
++23
++12
++0
++26
++13
++0
++23
++12
++0
++23
++12
++0
++23
++12
++0
++26
++13
++0
++24
++12
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++22
++11
++0
++22
++11
++0
++20
++10
++0
++22
++11
++0
++24
++12
++0
++22
++11
++0
++24
++12
++0
++22
++11
++0
++24
++12
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++20
++10
++0
++22
++11
++0
++24
++12
++0
++23
++12
++0
++22
++11
++0
++19
++10
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++23
++12
++0
++22
++11
++0
++22
++11
++0
++24
++12
++0
++26
++13
++0
++23
++12
++0
++23
++12
++0
++26
++13
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++26
++13
++0
++23
++12
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++23
++12
++0
++22
++11
++0
++22
++11
++0
++24
++12
++0
++24
++12
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++20
++10
++0
++23
++12
++0
++24
++12
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++22
++11
++0
++24
++12
++0
++22
++11
++0
++22
++11
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++24
++12
++0
++24
++12
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++22
++11
++0
++23
++12
++0
++22
++11
++0
++24
++12
++0
++23
++12
++0
++23
++12
++0
++23
++12
++0
++23
++12
++0
++23
++12
++0
++20
++10
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++22
++11
++0
++20
++10
++0
++23
++12
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++24
++12
++0
++22
++11
++0
++24
++12
++0
++24
++12
++0
++23
++12
++0
++24
++12
++0
++24
++12
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++24
++12
++0
++20
++10
++0
++22
++11
++0
++23
++12
++0
++23
++12
++0
++23
++12
++0
++22
++11
++0
++22
++11
++0
++24
++12
++0
++23
++12
++0
++22
++11
++0
++22
++11
++0
++24
++12
++0
++23
++12
++0
++20
++10
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++24
++12
++0
++20
++10
++0
++23
++12
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++19
++9
++0
++24
++12
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++24
++12
++0
++23
++12
++0
++24
++12
++0
++24
++12
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++22
++11
++0
++22
++11
++0
++20
++10
++0
++20
++10
++0
++22
++11
++0
++23
++12
++0
++23
++12
++0
++22
++11
++0
++24
++12
++0
++24
++12
++0
++23
++12
++0
++22
++11
++0
++23
++12
++0
++24
++12
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++22
++11
++0
++22
++11
++0
++24
++12
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++23
++12
++0
++23
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++24
++12
++0
++24
++12
++0
++23
++12
++0
++22
++11
++0
++24
++12
++0
++24
++12
++0
++20
++10
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++23
++12
++0
++20
++10
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++22
++11
++0
++20
++10
++0
++23
++12
++0
++23
++12
++0
++22
++11
++0
++23
++12
++0
++23
++12
++0
++23
++12
++0
++23
++12
++0
++26
++13
++0
++23
++12
++0
++24
++12
++0
++24
++12
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++26
++13
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++22
++11
++0
++22
++11
++0
++26
++13
++0
++24
++12
++0
++24
++12
++0
++23
++12
++0
++22
++11
++0
++23
++12
++0
++24
++12
++0
++23
++12
++0
++26
++13
++0
++24
++12
++0
++24
++12
++0
++22
++11
++0
++23
++12
++0
++24
++12
++0
++24
++12
++0
++22
++11
++0
++23
++12
++0
++24
++12
++0
++24
++12
++0
++22
++11
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++23
++12
++0
++23
++12
++0
++24
++12
++0
++24
++12
++0
++26
++13
++0
++24
++12
++0
++24
++12
++0
++23
++12
++0
++24
++12
++0
++29
++14
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++22
++11
++0
++23
++12
++0
++24
++12
++0
++24
++12
++0
++23
++12
++0
++23
++12
++0
++24
++12
++0
++23
++12
++0
++26
++13
++0
++22
++11
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++23
++12
++0
++23
++12
++0
++22
++11
++0
++24
++12
++0
++24
++12
++0
++23
++12
++0
++22
++11
++0
++24
++12
++0
++22
++11
++0
++23
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++23
++12
++0
++24
++12
++0
++26
++13
++0
++29
++14
++0
++24
++12
++0
++23
++12
++0
++24
++12
++0
++26
++13
++0
++24
++12
++0
++23
++12
++0
++23
++12
++0
++24
++12
++0
++23
++12
++0
++22
++11
++0
++24
++12
++0
++22
++11
++0
++24
++12
++0
++24
++12
++0
++22
++11
++0
++24
++12
++0
++23
++12
++0
++24
++12
++0
++22
++11
++0
++24
++12
++0
++24
++12
++0
++23
++12
++0
++23
++12
++0
++23
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++23
++12
++0
++24
++12
++0
++23
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++26
++13
++0
++24
++12
++0
++26
++13
++0
++24
++12
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++22
++11
++0
++22
++11
++0
++26
++13
++0
++24
++12
++0
++22
++11
++0
++24
++12
++0
++23
++12
++0
++22
++11
++0
++26
++13
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++23
++12
++0
++24
++12
++0
++22
++11
++0
++24
++12
++0
++24
++12
++0
++23
++12
++0
++22
++11
++0
++22
++11
++0
++23
++12
++0
++23
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++22
++11
++0
++24
++12
++0
++26
++13
++0
++24
++12
++0
++23
++12
++0
++23
++12
++0
++24
++12
++0
++23
++12
++0
++22
++11
++0
++24
++12
++0
++23
++12
++0
++24
++12
++0
++24
++12
++0
++22
++11
++0
++26
++13
++0
++23
++12
++0
++23
++12
++0
++24
++12
++0
++24
++12
++0
++26
++13
++0
++23
++12
++0
++24
++12
++0
++24
++12
++0
++23
++12
++0
++24
++12
++0
++23
++12
++0
++22
++11
++0
++22
++11
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++26
++13
++0
++24
++12
++0
++26
++13
++0
++24
++12
++0
++24
++12
++0
++22
++11
++0
++26
++13
++0
++26
++13
++0
++23
++12
++0
++23
++12
++0
++26
++13
++0
++24
++12
++0
++22
++11
++0
++24
++12
++0
++24
++12
++0
++22
++11
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++26
++13
++0
++22
++11
++0
++23
++12
++0
++23
++12
++0
++24
++12
++0
++24
++12
++0
++22
++11
++0
++24
++12
++0
++23
++12
++0
++24
++12
++0
++24
++12
++0
++23
++12
++0
++23
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++29
++14
++0
++26
++13
++0
++24
++12
++0
++29
++14
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++29
++14
++0
++24
++12
++0
++26
++13
++0
++29
++14
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++26
++13
++0
++26
++13
++0
++29
++14
++0
++30
++15
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++29
++14
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++29
++14
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++24
++12
++0
++29
++14
++0
++26
++13
++0
++26
++13
++0
++30
++15
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++29
++14
++0
++26
++13
++0
++26
++13
++0
++29
++14
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++29
++14
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++23
++12
++0
++26
++13
++0
++26
++13
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++24
++12
++0
++29
++14
++0
++29
++14
++0
++26
++13
++0
++24
++12
++0
++24
++12
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++29
++14
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++29
++14
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++29
++14
++0
++29
++14
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++29
++14
++0
++29
++14
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++29
++14
++0
++26
++13
++0
++24
++12
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++26
++13
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++26
++13
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++24
++12
++0
++26
++13
++0
++30
++15
++0
++26
++13
++0
++24
++12
++0
++26
++13
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++24
++12
++0
++29
++14
++0
++26
++13
++0
++24
++12
++0
++26
++13
++0
++29
++14
++0
++26
++13
++0
++23
++12
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++24
++12
++0
++26
++13
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++29
++14
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++26
++13
++0
++24
++12
++0
++24
++12
++0
++24
++12
++0
++29
++14
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++24
++12
++0
++29
++14
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++23
++12
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++29
++14
++0
++23
++12
++0
++24
++12
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++29
++14
++0
++26
++13
++0
++24
++12
++0
++26
++13
++0
++24
++12
++0
++29
++14
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++24
++12
++0
++26
++13
++0
++29
++14
++0
++26
++13
++0
++26
++13
++0
++26
++13
++0
++29
++14
++0
++30
++15
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++31
++16
++0
++31
++16
++0
++30
++15
++0
++30
++15
++0
++29
++14
++0
++30
++15
++0
++26
++13
++0
++31
++16
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++29
++14
++0
++31
++16
++0
++30
++15
++0
++29
++14
++0
++30
++15
++0
++29
++14
++0
++29
++14
++0
++31
++16
++0
++31
++16
++0
++30
++15
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++30
++15
++0
++29
++14
++0
++30
++15
++0
++29
++14
++0
++31
++16
++0
++26
++13
++0
++26
++13
++0
++31
++16
++0
++31
++16
++0
++30
++15
++0
++30
++15
++0
++31
++16
++0
++29
++14
++0
++30
++15
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++31
++16
++0
++29
++14
++0
++30
++15
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++31
++16
++0
++26
++13
++0
++26
++13
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++31
++16
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++29
++14
++0
++30
++15
++0
++26
++13
++0
++29
++14
++0
++26
++13
++0
++30
++15
++0
++29
++14
++0
++30
++15
++0
++29
++14
++0
++24
++12
++0
++30
++15
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++31
++16
++0
++26
++13
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++29
++14
++0
++31
++16
++0
++29
++14
++0
++30
++15
++0
++30
++15
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++31
++16
++0
++30
++15
++0
++29
++14
++0
++30
++15
++0
++30
++15
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++30
++15
++0
++29
++14
++0
++30
++15
++0
++29
++14
++0
++30
++15
++0
++26
++13
++0
++29
++14
++0
++26
++13
++0
++26
++13
++0
++29
++14
++0
++30
++15
++0
++31
++16
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++30
++15
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++26
++13
++0
++29
++14
++0
++30
++15
++0
++29
++14
++0
++31
++16
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++30
++15
++0
++30
++15
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++31
++16
++0
++26
++13
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++26
++13
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++26
++13
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++30
++15
++0
++29
++14
++0
++29
++14
++0
++26
++13
++0
++31
++16
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++30
++15
++0
++30
++15
++0
++30
++15
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++30
++15
++0
++30
++15
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++26
++13
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++26
++13
++0
++30
++15
++0
++30
++15
++0
++29
++14
++0
++30
++15
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++29
++14
++0
++32
++16
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++34
++17
++0
++31
++16
++0
++32
++16
++0
++31
++16
++0
++34
++17
++0
++31
++16
++0
++30
++15
++0
++31
++16
++0
++31
++16
++0
++32
++16
++0
++31
++16
++0
++30
++15
++0
++31
++16
++0
++32
++16
++0
++32
++16
++0
++31
++16
++0
++32
++16
++0
++32
++16
++0
++31
++16
++0
++32
++16
++0
++31
++16
++0
++29
++14
++0
++31
++16
++0
++30
++15
++0
++31
++16
++0
++29
++14
++0
++30
++15
++0
++31
++16
++0
++31
++16
++0
++30
++15
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++29
++14
++0
++31
++16
++0
++32
++16
++0
++30
++15
++0
++31
++16
++0
++32
++16
++0
++32
++16
++0
++32
++16
++0
++32
++16
++0
++32
++16
++0
++30
++15
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++32
++16
++0
++30
++15
++0
++30
++15
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++30
++15
++0
++31
++16
++0
++32
++16
++0
++31
++16
++0
++30
++15
++0
++31
++16
++0
++31
++16
++0
++29
++14
++0
++31
++16
++0
++31
++16
++0
++29
++14
++0
++31
++16
++0
++29
++14
++0
++31
++16
++0
++30
++15
++0
++32
++16
++0
++29
++14
++0
++30
++15
++0
++30
++15
++0
++31
++16
++0
++30
++15
++0
++32
++16
++0
++31
++16
++0
++31
++16
++0
++32
++16
++0
++32
++16
++0
++30
++15
++0
++29
++14
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++32
++16
++0
++30
++15
++0
++31
++16
++0
++31
++16
++0
++30
++15
++0
++30
++15
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++29
++14
++0
++31
++16
++0
++31
++16
++0
++30
++15
++0
++31
++16
++0
++30
++15
++0
++29
++14
++0
++31
++16
++0
++26
++13
++0
++31
++16
++0
++29
++14
++0
++30
++15
++0
++29
++14
++0
++31
++16
++0
++31
++16
++0
++29
++14
++0
++29
++14
++0
++32
++16
++0
++31
++16
++0
++31
++16
++0
++32
++16
++0
++32
++16
++0
++30
++15
++0
++29
++14
++0
++31
++16
++0
++31
++16
++0
++30
++15
++0
++32
++16
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++29
++14
++0
++31
++16
++0
++30
++15
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++29
++14
++0
++31
++16
++0
++29
++14
++0
++31
++16
++0
++32
++16
++0
++29
++14
++0
++29
++14
++0
++31
++16
++0
++30
++15
++0
++30
++15
++0
++31
++16
++0
++30
++15
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++29
++14
++0
++31
++16
++0
++32
++16
++0
++31
++16
++0
++31
++16
++0
++32
++16
++0
++31
++16
++0
++29
++14
++0
++30
++15
++0
++30
++15
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++30
++15
++0
++30
++15
++0
++31
++16
++0
++31
++16
++0
++32
++16
++0
++30
++15
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++30
++15
++0
++29
++14
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++30
++15
++0
++29
++14
++0
++30
++15
++0
++31
++16
++0
++30
++15
++0
++30
++15
++0
++32
++16
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++32
++16
++0
++29
++14
++0
++29
++14
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++32
++16
++0
++29
++14
++0
++31
++16
++0
++31
++16
++0
++29
++14
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++29
++14
++0
++30
++15
++0
++30
++15
++0
++31
++16
++0
++31
++16
++0
++29
++14
++0
++31
++16
++0
++30
++15
++0
++29
++14
++0
++29
++14
++0
++30
++15
++0
++30
++15
++0
++31
++16
++0
++30
++15
++0
++31
++16
++0
++30
++15
++0
++32
++16
++0
++31
++16
++0
++31
++16
++0
++30
++15
++0
++32
++16
++0
++31
++16
++0
++29
++14
++0
++30
++15
++0
++32
++16
++0
++35
++18
++0
++32
++16
++0
++31
++16
++0
++32
++16
++0
++34
++17
++0
++32
++16
++0
++32
++16
++0
++34
++17
++0
++35
++18
++0
++32
++16
++0
++34
++17
++0
++34
++17
++0
++32
++16
++0
++34
++17
++0
++32
++16
++0
++34
++17
++0
++32
++16
++0
++32
++16
++0
++32
++16
++0
++34
++17
++0
++32
++16
++0
++34
++17
++0
++32
++16
++0
++34
++17
++0
++31
++16
++0
++32
++16
++0
++32
++16
++0
++31
++16
++0
++32
++16
++0
++34
++17
++0
++30
++15
++0
++34
++17
++0
++34
++17
++0
++31
++16
++0
++32
++16
++0
++32
++16
++0
++34
++17
++0
++32
++16
++0
++34
++17
++0
++31
++16
++0
++32
++16
++0
++32
++16
++0
++34
++17
++0
++31
++16
++0
++32
++16
++0
++34
++17
++0
++34
++17
++0
++32
++16
++0
++32
++16
++0
++34
++17
++0
++32
++16
++0
++35
++18
++0
++32
++16
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++31
++16
++0
++32
++16
++0
++32
++16
++0
++32
++16
++0
++34
++17
++0
++31
++16
++0
++34
++17
++0
++32
++16
++0
++31
++16
++0
++32
++16
++0
++34
++17
++0
++32
++16
++0
++32
++16
++0
++32
++16
++0
++32
++16
++0
++34
++17
++0
++32
++16
++0
++31
++16
++0
++34
++17
++0
++34
++17
++0
++32
++16
++0
++31
++16
++0
++32
++16
++0
++34
++17
++0
++32
++16
++0
++29
++14
++0
++31
++16
++0
++34
++17
++0
++34
++17
++0
++32
++16
++0
++32
++16
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++32
++16
++0
++34
++17
++0
++34
++17
++0
++32
++16
++0
++32
++16
++0
++32
++16
++0
++34
++17
++0
++32
++16
++0
++32
++16
++0
++32
++16
++0
++32
++16
++0
++31
++16
++0
++34
++17
++0
++30
++15
++0
++32
++16
++0
++32
++16
++0
++32
++16
++0
++34
++17
++0
++32
++16
++0
++32
++16
++0
++32
++16
++0
++32
++16
++0
++32
++16
++0
++32
++16
++0
++31
++16
++0
++32
++16
++0
++31
++16
++0
++31
++16
++0
++34
++17
++0
++34
++17
++0
++32
++16
++0
++34
++17
++0
++34
++17
++0
++32
++16
++0
++32
++16
++0
++34
++17
++0
++34
++17
++0
++31
++16
++0
++32
++16
++0
++31
++16
++0
++32
++16
++0
++34
++17
++0
++32
++16
++0
++32
++16
++0
++34
++17
++0
++34
++17
++0
++32
++16
++0
++31
++16
++0
++32
++16
++0
++32
++16
++0
++31
++16
++0
++31
++16
++0
++34
++17
++0
++31
++16
++0
++32
++16
++0
++34
++17
++0
++30
++15
++0
++31
++16
++0
++34
++17
++0
++31
++16
++0
++32
++16
++0
++31
++16
++0
++31
++16
++0
++31
++16
++0
++32
++16
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++32
++16
++0
++32
++16
++0
++34
++17
++0
++34
++17
++0
++31
++16
++0
++32
++16
++0
++32
++16
++0
++31
++16
++0
++32
++16
++0
++31
++16
++0
++32
++16
++0
++32
++16
++0
++31
++16
++0
++34
++17
++0
++32
++16
++0
++31
++16
++0
++34
++17
++0
++32
++16
++0
++31
++16
++0
++34
++17
++0
++34
++17
++0
++31
++16
++0
++32
++16
++0
++31
++16
++0
++32
++16
++0
++31
++16
++0
++32
++16
++0
++30
++15
++0
++31
++16
++0
++31
++16
++0
++32
++16
++0
++34
++17
++0
++34
++17
++0
++32
++16
++0
++34
++17
++0
++32
++16
++0
++32
++16
++0
++34
++17
++0
++31
++16
++0
++32
++16
++0
++34
++17
++0
++34
++17
++0
++32
++16
++0
++31
++16
++0
++32
++16
++0
++32
++16
++0
++31
++16
++0
++32
++16
++0
++32
++16
++0
++34
++17
++0
++32
++16
++0
++32
++16
++0
++31
++16
++0
++31
++16
++0
++34
++17
++0
++31
++16
++0
++32
++16
++0
++32
++16
++0
++31
++16
++0
++32
++16
++0
++32
++16
++0
++31
++16
++0
++32
++16
++0
++34
++17
++0
++31
++16
++0
++32
++16
++0
++31
++16
++0
++32
++16
++0
++31
++16
++0
++32
++16
++0
++32
++16
++0
++34
++17
++0
++32
++16
++0
++34
++17
++0
++32
++16
++0
++32
++16
++0
++32
++16
++0
++34
++17
++0
++35
++18
++0
++34
++17
++0
++34
++17
++0
++35
++18
++0
++34
++17
++0
++36
++18
++0
++35
++18
++0
++34
++17
++0
++35
++18
++0
++34
++17
++0
++35
++18
++0
++35
++18
++0
++35
++18
++0
++35
++18
++0
++36
++18
++0
++35
++18
++0
++34
++17
++0
++35
++18
++0
++35
++18
++0
++34
++17
++0
++35
++18
++0
++36
++18
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++35
++18
++0
++36
++18
++0
++35
++18
++0
++34
++17
++0
++35
++18
++0
++35
++18
++0
++32
++16
++0
++36
++18
++0
++35
++18
++0
++35
++18
++0
++36
++18
++0
++36
++18
++0
++34
++17
++0
++35
++18
++0
++34
++17
++0
++36
++18
++0
++35
++18
++0
++35
++18
++0
++34
++17
++0
++35
++18
++0
++34
++17
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++34
++17
++0
++36
++18
++0
++34
++17
++0
++35
++18
++0
++36
++18
++0
++35
++18
++0
++34
++17
++0
++36
++18
++0
++35
++18
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++36
++18
++0
++34
++17
++0
++35
++18
++0
++34
++17
++0
++36
++18
++0
++34
++17
++0
++34
++17
++0
++35
++18
++0
++35
++18
++0
++35
++18
++0
++34
++17
++0
++35
++18
++0
++34
++17
++0
++36
++18
++0
++34
++17
++0
++36
++18
++0
++34
++17
++0
++34
++17
++0
++36
++18
++0
++35
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++35
++18
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++35
++18
++0
++35
++18
++0
++35
++18
++0
++35
++18
++0
++35
++18
++0
++32
++16
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++35
++18
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++36
++18
++0
++34
++17
++0
++35
++18
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++35
++18
++0
++35
++18
++0
++34
++17
++0
++36
++18
++0
++35
++18
++0
++36
++18
++0
++34
++17
++0
++34
++17
++0
++35
++18
++0
++34
++17
++0
++35
++18
++0
++36
++18
++0
++34
++17
++0
++36
++18
++0
++34
++17
++0
++34
++17
++0
++35
++18
++0
++36
++18
++0
++34
++17
++0
++36
++18
++0
++35
++18
++0
++35
++18
++0
++34
++17
++0
++32
++16
++0
++34
++17
++0
++32
++16
++0
++36
++18
++0
++36
++18
++0
++34
++17
++0
++34
++17
++0
++35
++18
++0
++36
++18
++0
++35
++18
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++36
++18
++0
++35
++18
++0
++34
++17
++0
++34
++17
++0
++35
++18
++0
++35
++18
++0
++36
++18
++0
++32
++16
++0
++35
++18
++0
++36
++18
++0
++35
++18
++0
++36
++18
++0
++35
++18
++0
++36
++18
++0
++35
++18
++0
++35
++18
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++36
++18
++0
++34
++17
++0
++32
++16
++0
++32
++16
++0
++34
++17
++0
++35
++18
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++35
++18
++0
++35
++18
++0
++36
++18
++0
++34
++17
++0
++34
++17
++0
++35
++18
++0
++35
++18
++0
++36
++18
++0
++34
++17
++0
++34
++17
++0
++36
++18
++0
++35
++18
++0
++35
++18
++0
++34
++17
++0
++35
++18
++0
++34
++17
++0
++34
++17
++0
++36
++18
++0
++35
++18
++0
++34
++17
++0
++36
++18
++0
++34
++17
++0
++35
++18
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++35
++18
++0
++34
++17
++0
++35
++18
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++35
++18
++0
++36
++18
++0
++35
++18
++0
++34
++17
++0
++34
++17
++0
++36
++18
++0
++35
++18
++0
++35
++18
++0
++34
++17
++0
++35
++18
++0
++36
++18
++0
++34
++17
++0
++32
++16
++0
++34
++17
++0
++35
++18
++0
++34
++17
++0
++36
++18
++0
++32
++16
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++34
++17
++0
++35
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++36
++18
++0
++35
++18
++0
++39
++19
++0
++39
++19
++0
++36
++18
++0
++39
++19
++0
++36
++18
++0
++36
++18
++0
++35
++18
++0
++39
++19
++0
++35
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++39
++19
++0
++39
++19
++0
++36
++18
++0
++36
++18
++0
++34
++17
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++36
++18
++0
++39
++19
++0
++36
++18
++0
++39
++19
++0
++39
++20
++1
++35
++18
++0
++35
++18
++0
++40
++20
++0
++36
++18
++0
++39
++19
++0
++36
++18
++0
++36
++18
++0
++35
++18
++0
++36
++18
++0
++36
++18
++0
++35
++18
++0
++36
++18
++0
++39
++19
++0
++39
++19
++0
++39
++20
++1
++39
++19
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++35
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++40
++20
++0
++40
++20
++0
++36
++18
++0
++35
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++39
++19
++0
++40
++20
++0
++35
++18
++0
++36
++18
++0
++39
++19
++0
++39
++19
++0
++36
++18
++0
++36
++18
++0
++34
++17
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++35
++18
++0
++36
++18
++0
++39
++19
++0
++36
++18
++0
++39
++19
++0
++36
++18
++0
++35
++18
++0
++35
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++40
++20
++0
++39
++19
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++39
++19
++0
++39
++19
++0
++36
++18
++0
++36
++18
++0
++35
++18
++0
++36
++18
++0
++36
++18
++0
++35
++18
++0
++39
++19
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++36
++18
++0
++35
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++39
++19
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++39
++19
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++35
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++36
++18
++0
++36
++18
++0
++34
++17
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++40
++20
++0
++34
++17
++0
++39
++19
++0
++39
++19
++0
++35
++18
++0
++36
++18
++0
++39
++20
++1
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++39
++20
++1
++39
++20
++1
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++35
++18
++0
++39
++19
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++34
++17
++0
++36
++18
++0
++39
++19
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++34
++17
++0
++39
++19
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++35
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++39
++19
++0
++39
++19
++0
++34
++17
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++39
++19
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++34
++17
++0
++35
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++36
++18
++0
++39
++19
++0
++36
++18
++0
++36
++18
++0
++35
++18
++0
++36
++18
++0
++36
++18
++0
++35
++18
++0
++36
++18
++0
++36
++18
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++39
++19
++0
++40
++20
++0
++39
++19
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++39
++19
++0
++43
++21
++0
++39
++19
++0
++39
++19
++0
++40
++20
++0
++39
++19
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++39
++19
++0
++39
++19
++0
++39
++19
++0
++39
++19
++0
++39
++19
++0
++43
++22
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++39
++19
++0
++40
++20
++0
++39
++19
++0
++43
++21
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++39
++19
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++40
++20
++0
++39
++19
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++39
++19
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++39
++19
++0
++39
++19
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++39
++19
++0
++39
++19
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++39
++19
++0
++43
++21
++0
++40
++20
++0
++39
++19
++0
++40
++20
++0
++39
++19
++0
++39
++19
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++39
++19
++0
++43
++21
++0
++39
++19
++0
++40
++20
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++39
++19
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++39
++19
++0
++39
++19
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++39
++19
++0
++39
++19
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++40
++20
++0
++39
++19
++0
++39
++19
++0
++40
++20
++0
++43
++22
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++39
++19
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++39
++19
++0
++39
++19
++0
++39
++19
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++39
++19
++0
++39
++19
++0
++39
++19
++0
++40
++20
++0
++39
++19
++0
++39
++19
++0
++40
++20
++0
++43
++21
++0
++39
++19
++0
++43
++21
++0
++40
++20
++0
++39
++19
++0
++40
++20
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++39
++19
++0
++40
++20
++0
++39
++19
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++39
++19
++0
++39
++19
++0
++39
++19
++0
++43
++21
++0
++39
++19
++0
++39
++19
++0
++39
++19
++0
++36
++18
++0
++39
++19
++0
++39
++19
++0
++39
++19
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++39
++19
++0
++40
++20
++0
++39
++19
++0
++39
++19
++0
++36
++18
++0
++39
++19
++0
++40
++20
++0
++39
++19
++0
++39
++19
++0
++44
++22
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++43
++22
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++44
++22
++0
++43
++22
++0
++46
++23
++0
++40
++20
++0
++43
++21
++0
++39
++19
++0
++43
++21
++0
++40
++20
++0
++43
++22
++0
++43
++22
++0
++43
++21
++0
++46
++23
++0
++43
++21
++0
++43
++22
++0
++43
++21
++0
++43
++21
++0
++43
++22
++0
++43
++21
++0
++43
++22
++0
++40
++20
++0
++43
++22
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++40
++20
++0
++44
++22
++0
++43
++21
++0
++43
++21
++0
++43
++22
++0
++43
++21
++0
++43
++22
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++46
++23
++0
++43
++22
++0
++43
++21
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++43
++21
++0
++44
++22
++0
++43
++22
++0
++43
++22
++0
++43
++21
++0
++44
++22
++0
++40
++20
++0
++43
++22
++0
++43
++21
++0
++44
++22
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++43
++21
++0
++44
++22
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++43
++22
++0
++43
++21
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++43
++22
++0
++43
++21
++0
++44
++22
++0
++43
++21
++0
++43
++21
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++44
++22
++0
++46
++23
++0
++43
++21
++0
++44
++22
++0
++40
++20
++0
++43
++22
++0
++43
++22
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++43
++21
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++43
++22
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++43
++22
++0
++43
++21
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++43
++21
++0
++43
++22
++0
++43
++21
++0
++43
++21
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++43
++22
++0
++43
++21
++0
++43
++21
++0
++44
++22
++0
++44
++22
++0
++43
++21
++0
++43
++21
++0
++43
++22
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++40
++20
++0
++43
++22
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++44
++22
++0
++40
++20
++0
++43
++21
++0
++43
++21
++0
++44
++22
++0
++40
++20
++0
++43
++22
++0
++44
++22
++0
++43
++21
++0
++43
++21
++0
++43
++22
++0
++43
++22
++0
++43
++22
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++44
++22
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++43
++22
++0
++43
++21
++0
++40
++20
++0
++44
++22
++0
++43
++22
++0
++43
++21
++0
++43
++21
++0
++44
++22
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++43
++22
++0
++43
++22
++0
++43
++22
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++40
++20
++0
++43
++22
++0
++43
++21
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++43
++22
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++43
++22
++0
++43
++21
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++43
++21
++0
++44
++22
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++40
++20
++0
++43
++21
++0
++43
++21
++0
++43
++22
++0
++40
++20
++0
++40
++20
++0
++43
++21
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++43
++22
++0
++44
++22
++0
++46
++23
++0
++44
++22
++0
++43
++21
++0
++44
++22
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++47
++24
++0
++44
++22
++0
++46
++23
++0
++47
++24
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++48
++24
++0
++48
++24
++0
++46
++23
++0
++46
++23
++0
++47
++24
++0
++46
++23
++0
++46
++23
++0
++44
++22
++0
++46
++23
++0
++46
++23
++0
++44
++22
++0
++44
++22
++0
++46
++23
++0
++43
++22
++0
++44
++22
++0
++44
++22
++0
++43
++22
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++43
++22
++0
++46
++23
++0
++43
++22
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++50
++25
++0
++46
++23
++0
++44
++22
++0
++43
++22
++0
++46
++23
++0
++46
++23
++0
++47
++24
++0
++44
++22
++0
++44
++22
++0
++46
++23
++0
++46
++23
++0
++47
++24
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++47
++24
++0
++43
++22
++0
++44
++22
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++47
++24
++0
++44
++22
++0
++46
++23
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++46
++23
++0
++44
++22
++0
++44
++22
++0
++46
++23
++0
++44
++22
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++43
++22
++0
++47
++24
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++47
++24
++0
++48
++24
++0
++46
++23
++0
++44
++22
++0
++47
++24
++0
++47
++24
++0
++46
++23
++0
++46
++23
++0
++44
++22
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++47
++24
++0
++43
++21
++0
++46
++23
++0
++46
++23
++0
++43
++22
++0
++44
++22
++0
++46
++23
++0
++43
++21
++0
++43
++22
++0
++43
++21
++0
++44
++22
++0
++43
++22
++0
++46
++23
++0
++43
++22
++0
++46
++23
++0
++46
++23
++0
++44
++22
++0
++43
++22
++0
++44
++22
++0
++46
++23
++0
++47
++24
++0
++46
++23
++0
++46
++23
++0
++44
++22
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++43
++22
++0
++47
++24
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++44
++22
++0
++46
++23
++0
++46
++23
++0
++44
++22
++0
++44
++22
++0
++43
++22
++0
++44
++22
++0
++46
++23
++0
++46
++23
++0
++44
++22
++0
++44
++22
++0
++43
++22
++0
++44
++22
++0
++46
++23
++0
++43
++22
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++44
++22
++0
++46
++23
++0
++44
++22
++0
++46
++23
++0
++44
++22
++0
++44
++22
++0
++46
++23
++0
++46
++23
++0
++43
++22
++0
++43
++22
++0
++43
++21
++0
++47
++24
++0
++47
++24
++0
++46
++23
++0
++44
++22
++0
++44
++22
++0
++47
++24
++0
++44
++22
++0
++46
++23
++0
++43
++22
++0
++43
++22
++0
++46
++23
++0
++44
++22
++0
++44
++22
++0
++46
++23
++0
++43
++21
++0
++44
++22
++0
++44
++22
++0
++46
++23
++0
++43
++22
++0
++46
++23
++0
++43
++21
++0
++43
++22
++0
++43
++21
++0
++44
++22
++0
++43
++22
++0
++46
++23
++0
++44
++22
++0
++44
++22
++0
++47
++24
++0
++44
++22
++0
++46
++23
++0
++44
++22
++0
++43
++22
++0
++46
++23
++0
++44
++22
++0
++44
++22
++0
++43
++22
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++43
++21
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++46
++23
++0
++43
++21
++0
++44
++22
++0
++46
++23
++0
++43
++22
++0
++47
++24
++0
++46
++23
++0
++43
++22
++0
++46
++23
++0
++44
++22
++0
++43
++22
++0
++46
++23
++0
++43
++22
++0
++44
++22
++0
++44
++22
++0
++43
++22
++0
++43
++21
++0
++44
++22
++0
++46
++23
++0
++43
++21
++0
++46
++23
++0
++46
++23
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++43
++21
++0
++44
++22
++0
++48
++24
++0
++47
++24
++0
++47
++24
++0
++50
++25
++0
++50
++25
++0
++48
++24
++0
++47
++24
++0
++48
++24
++0
++48
++24
++0
++50
++25
++0
++47
++24
++0
++48
++24
++0
++48
++24
++0
++46
++23
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++48
++24
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++48
++24
++0
++50
++25
++0
++47
++24
++0
++50
++25
++0
++48
++24
++0
++48
++24
++0
++50
++25
++0
++48
++24
++0
++50
++25
++0
++48
++24
++0
++50
++25
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++51
++26
++1
++47
++24
++0
++47
++24
++0
++50
++25
++0
++46
++23
++0
++50
++25
++0
++48
++24
++0
++50
++25
++0
++47
++24
++0
++50
++25
++0
++47
++24
++0
++48
++24
++0
++50
++25
++0
++50
++25
++0
++48
++24
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++50
++25
++0
++50
++25
++0
++48
++24
++0
++50
++25
++0
++50
++25
++0
++48
++24
++0
++46
++23
++0
++50
++25
++0
++48
++24
++0
++50
++25
++0
++50
++25
++0
++48
++24
++0
++46
++23
++0
++50
++25
++0
++50
++25
++0
++46
++23
++0
++50
++25
++0
++48
++24
++0
++50
++25
++0
++48
++24
++0
++47
++24
++0
++50
++25
++0
++50
++25
++0
++47
++24
++0
++47
++24
++0
++46
++23
++0
++47
++24
++0
++50
++25
++0
++47
++24
++0
++48
++24
++0
++50
++25
++0
++50
++25
++0
++48
++24
++0
++50
++25
++0
++50
++25
++0
++48
++24
++0
++50
++25
++0
++47
++24
++0
++50
++25
++0
++47
++24
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++46
++23
++0
++50
++25
++0
++50
++25
++0
++48
++24
++0
++48
++24
++0
++50
++25
++0
++47
++24
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++48
++24
++0
++48
++24
++0
++46
++23
++0
++48
++24
++0
++50
++25
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++47
++24
++0
++47
++24
++0
++50
++25
++0
++48
++24
++0
++48
++24
++0
++50
++25
++0
++50
++25
++0
++47
++24
++0
++50
++25
++0
++48
++24
++0
++47
++24
++0
++48
++24
++0
++50
++25
++0
++50
++25
++0
++48
++24
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++46
++23
++0
++48
++24
++0
++46
++23
++0
++47
++24
++0
++48
++24
++0
++50
++25
++0
++46
++23
++0
++50
++25
++0
++50
++25
++0
++46
++23
++0
++50
++25
++0
++47
++24
++0
++50
++25
++0
++47
++24
++0
++47
++24
++0
++50
++25
++0
++47
++24
++0
++46
++23
++0
++50
++25
++0
++48
++24
++0
++46
++23
++0
++50
++25
++0
++47
++24
++0
++50
++25
++0
++50
++25
++0
++51
++26
++1
++47
++24
++0
++50
++25
++0
++48
++24
++0
++48
++24
++0
++50
++25
++0
++48
++24
++0
++51
++26
++1
++48
++24
++0
++48
++24
++0
++50
++25
++0
++48
++24
++0
++46
++23
++0
++47
++24
++0
++47
++24
++0
++47
++24
++0
++48
++24
++0
++50
++25
++0
++48
++24
++0
++47
++24
++0
++46
++23
++0
++50
++25
++0
++47
++24
++0
++47
++24
++0
++50
++25
++0
++50
++25
++0
++48
++24
++0
++47
++24
++0
++50
++25
++0
++48
++24
++0
++47
++24
++0
++50
++25
++0
++47
++24
++0
++46
++23
++0
++47
++24
++0
++48
++24
++0
++50
++25
++0
++48
++24
++0
++50
++25
++0
++47
++24
++0
++50
++25
++0
++50
++25
++0
++47
++24
++0
++47
++24
++0
++48
++24
++0
++50
++25
++0
++48
++24
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++44
++22
++0
++50
++25
++0
++47
++24
++0
++46
++23
++0
++48
++24
++0
++50
++25
++0
++48
++24
++0
++48
++24
++0
++50
++25
++0
++47
++24
++0
++47
++24
++0
++46
++23
++0
++50
++25
++0
++47
++24
++0
++46
++23
++0
++47
++24
++0
++48
++24
++0
++46
++23
++0
++47
++24
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++48
++24
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++55
++27
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++55
++27
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++53
++26
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++55
++27
++0
++55
++27
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++48
++24
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++55
++27
++0
++55
++27
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++51
++26
++1
++51
++26
++1
++50
++25
++0
++50
++25
++0
++50
++25
++0
++54
++28
++1
++50
++25
++0
++53
++26
++0
++51
++26
++1
++50
++25
++0
++53
++26
++0
++54
++28
++1
++53
++26
++0
++51
++26
++1
++54
++28
++1
++53
++26
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++48
++24
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++48
++24
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++55
++27
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++50
++25
++0
++50
++25
++0
++50
++25
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++48
++24
++0
++53
++26
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++53
++26
++0
++53
++26
++0
++55
++27
++0
++55
++27
++0
++53
++26
++0
++55
++27
++0
++53
++26
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++53
++26
++0
++56
++28
++0
++55
++27
++0
++56
++28
++0
++53
++26
++0
++53
++26
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++58
++29
++0
++53
++26
++0
++53
++26
++0
++55
++27
++0
++56
++28
++0
++58
++29
++0
++56
++28
++0
++55
++27
++0
++53
++26
++0
++55
++27
++0
++55
++27
++0
++53
++26
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++56
++28
++0
++55
++27
++0
++56
++28
++0
++53
++26
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++56
++28
++0
++53
++26
++0
++55
++27
++0
++53
++26
++0
++55
++27
++0
++56
++28
++0
++53
++26
++0
++56
++28
++0
++55
++27
++0
++56
++28
++0
++55
++27
++0
++55
++27
++0
++56
++28
++0
++55
++27
++0
++55
++27
++0
++56
++28
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++56
++28
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++53
++26
++0
++55
++27
++0
++55
++27
++0
++50
++25
++0
++55
++27
++0
++55
++27
++0
++56
++28
++0
++55
++27
++0
++56
++28
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++53
++26
++0
++55
++27
++0
++53
++26
++0
++55
++27
++0
++55
++27
++0
++56
++28
++0
++55
++27
++0
++55
++27
++0
++53
++26
++0
++55
++27
++0
++56
++28
++0
++55
++27
++0
++56
++28
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++56
++28
++0
++56
++28
++0
++56
++28
++0
++55
++27
++0
++53
++26
++0
++53
++26
++0
++53
++26
++0
++50
++25
++0
++55
++27
++0
++56
++28
++0
++53
++26
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++53
++26
++0
++55
++27
++0
++53
++26
++0
++53
++26
++0
++56
++28
++0
++53
++26
++0
++53
++26
++0
++53
++26
++0
++53
++26
++0
++53
++26
++0
++53
++26
++0
++55
++27
++0
++55
++27
++0
++56
++28
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++56
++28
++0
++55
++27
++0
++53
++26
++0
++55
++27
++0
++56
++28
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++56
++28
++0
++56
++28
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++53
++26
++0
++55
++27
++0
++54
++28
++1
++54
++28
++1
++54
++28
++1
++55
++27
++0
++53
++26
++0
++53
++26
++0
++56
++28
++0
++53
++26
++0
++53
++26
++0
++54
++28
++1
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++53
++26
++0
++54
++28
++1
++55
++27
++0
++53
++26
++0
++55
++27
++0
++55
++27
++0
++56
++28
++0
++54
++28
++1
++53
++26
++0
++53
++26
++0
++53
++26
++0
++55
++27
++0
++53
++26
++0
++53
++26
++0
++55
++27
++0
++55
++27
++0
++56
++28
++0
++55
++27
++0
++56
++28
++0
++55
++27
++0
++55
++27
++0
++53
++26
++0
++53
++26
++0
++56
++28
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++53
++26
++0
++53
++26
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++53
++26
++0
++55
++27
++0
++56
++28
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++53
++26
++0
++53
++26
++0
++55
++27
++0
++56
++28
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++53
++26
++0
++53
++26
++0
++53
++26
++0
++55
++27
++0
++53
++26
++0
++55
++27
++0
++55
++27
++0
++55
++27
++0
++53
++26
++0
++55
++27
++0
++55
++27
++0
++53
++26
++0
++55
++27
++0
++55
++27
++0
++53
++26
++0
++53
++26
++0
++55
++27
++0
++53
++26
++0
++53
++26
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++56
++28
++0
++56
++28
++0
++59
++30
++0
++56
++28
++0
++58
++29
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++59
++30
++0
++60
++30
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++59
++30
++0
++58
++29
++0
++59
++30
++0
++59
++30
++0
++56
++28
++0
++58
++29
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++59
++30
++0
++58
++29
++0
++60
++30
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++60
++30
++0
++58
++29
++0
++60
++30
++0
++59
++30
++0
++56
++28
++0
++60
++30
++0
++59
++30
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++58
++29
++0
++60
++30
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++59
++30
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++59
++30
++0
++58
++29
++0
++56
++28
++0
++59
++30
++0
++60
++30
++0
++58
++29
++0
++58
++29
++0
++56
++28
++0
++59
++30
++0
++60
++30
++0
++58
++29
++0
++58
++29
++0
++56
++28
++0
++56
++28
++0
++60
++30
++0
++58
++29
++0
++59
++30
++0
++56
++28
++0
++58
++29
++0
++58
++29
++0
++59
++30
++0
++58
++29
++0
++56
++28
++0
++59
++30
++0
++60
++30
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++60
++30
++0
++58
++29
++0
++58
++29
++0
++59
++30
++0
++60
++30
++0
++58
++29
++0
++56
++28
++0
++56
++28
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++59
++30
++0
++56
++28
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++59
++30
++0
++58
++29
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++55
++27
++0
++59
++30
++0
++59
++30
++0
++58
++29
++0
++56
++28
++0
++56
++28
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++58
++29
++0
++56
++28
++0
++56
++28
++0
++58
++29
++0
++60
++30
++0
++56
++28
++0
++58
++29
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++56
++28
++0
++59
++30
++0
++58
++29
++0
++58
++29
++0
++56
++28
++0
++56
++28
++0
++59
++30
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++60
++30
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++60
++30
++0
++56
++28
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++58
++29
++0
++59
++30
++0
++56
++28
++0
++56
++28
++0
++56
++28
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++55
++27
++0
++58
++29
++0
++59
++30
++0
++56
++28
++0
++56
++28
++0
++56
++28
++0
++56
++28
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++56
++28
++0
++59
++30
++0
++58
++29
++0
++58
++29
++0
++56
++28
++0
++56
++28
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++58
++29
++0
++56
++28
++0
++56
++28
++0
++56
++28
++0
++59
++30
++0
++56
++28
++0
++56
++28
++0
++56
++28
++0
++56
++28
++0
++56
++28
++0
++56
++28
++0
++58
++29
++0
++56
++28
++0
++56
++28
++0
++58
++29
++0
++56
++28
++0
++56
++28
++0
++56
++28
++0
++56
++28
++0
++58
++29
++0
++56
++28
++0
++58
++29
++0
++56
++28
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++59
++30
++0
++58
++29
++0
++60
++30
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++59
++30
++0
++60
++30
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++59
++30
++0
++63
++31
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++63
++31
++0
++63
++31
++0
++60
++30
++0
++63
++31
++0
++59
++30
++0
++60
++30
++0
++59
++30
++0
++60
++30
++0
++65
++32
++0
++60
++30
++0
++63
++31
++0
++63
++31
++0
++59
++30
++0
++63
++31
++0
++60
++30
++0
++60
++30
++0
++59
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++59
++30
++0
++60
++30
++0
++63
++31
++0
++63
++31
++0
++63
++31
++0
++63
++31
++0
++63
++31
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++59
++30
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++63
++31
++0
++63
++31
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++65
++32
++0
++63
++31
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++60
++30
++0
++59
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++59
++30
++0
++59
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++60
++30
++0
++63
++31
++0
++63
++31
++0
++63
++31
++0
++63
++31
++0
++60
++30
++0
++60
++30
++0
++58
++29
++0
++63
++31
++0
++60
++30
++0
++63
++31
++0
++59
++30
++0
++63
++31
++0
++59
++30
++0
++60
++30
++0
++60
++30
++0
++59
++30
++0
++58
++29
++0
++63
++31
++0
++60
++30
++0
++58
++29
++0
++60
++30
++0
++59
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++59
++30
++0
++60
++30
++0
++59
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++59
++30
++0
++63
++31
++0
++58
++29
++0
++60
++30
++0
++60
++30
++0
++58
++29
++0
++63
++31
++0
++60
++30
++0
++60
++30
++0
++59
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++63
++31
++0
++59
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++60
++30
++0
++65
++32
++0
++59
++30
++0
++59
++30
++0
++63
++31
++0
++58
++29
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++59
++30
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++59
++30
++0
++58
++29
++0
++65
++32
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++63
++31
++0
++60
++30
++0
++59
++30
++0
++63
++31
++0
++59
++30
++0
++60
++30
++0
++60
++30
++0
++59
++30
++0
++59
++30
++0
++63
++31
++0
++59
++30
++0
++59
++30
++0
++58
++29
++0
++60
++30
++0
++63
++31
++0
++59
++30
++0
++58
++29
++0
++60
++30
++0
++58
++29
++0
++60
++30
++0
++60
++30
++0
++63
++31
++0
++58
++29
++0
++60
++30
++0
++60
++30
++0
++60
++30
++0
++58
++29
++0
++58
++29
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++63
++31
++0
++63
++31
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++63
++31
++0
++63
++31
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++63
++31
++0
++65
++32
++0
++66
++33
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++66
++33
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++66
++33
++0
++63
++31
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++63
++31
++0
++65
++32
++0
++66
++33
++0
++63
++31
++0
++66
++33
++0
++63
++31
++0
++66
++33
++0
++66
++33
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++66
++33
++0
++66
++33
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++63
++31
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++66
++33
++0
++65
++32
++0
++66
++33
++0
++66
++33
++0
++66
++33
++0
++66
++33
++0
++63
++31
++0
++66
++33
++0
++63
++31
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++63
++31
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++66
++33
++0
++63
++31
++0
++63
++31
++0
++66
++33
++0
++65
++32
++0
++66
++33
++0
++63
++31
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++63
++31
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++63
++31
++0
++66
++33
++0
++65
++32
++0
++63
++31
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++63
++31
++0
++65
++32
++0
++63
++31
++0
++68
++34
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++66
++33
++0
++60
++30
++0
++63
++31
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++63
++31
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++63
++31
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++60
++30
++0
++63
++31
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++63
++31
++0
++63
++31
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++63
++31
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++63
++31
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++65
++32
++0
++63
++31
++0
++63
++31
++0
++63
++31
++0
++66
++33
++0
++65
++32
++0
++65
++32
++0
++63
++31
++0
++63
++31
++0
++63
++31
++0
++63
++31
++0
++63
++31
++0
++63
++31
++0
++66
++33
++0
++66
++33
++0
++68
++34
++0
++70
++35
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++70
++35
++0
++66
++33
++0
++70
++35
++0
++70
++35
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++66
++33
++0
++68
++34
++0
++68
++34
++0
++66
++33
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++66
++33
++0
++68
++34
++0
++66
++33
++0
++68
++34
++0
++66
++33
++0
++68
++34
++0
++70
++35
++0
++70
++35
++0
++68
++34
++0
++68
++34
++0
++71
++36
++0
++70
++35
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++70
++35
++0
++70
++35
++0
++70
++35
++0
++68
++34
++0
++68
++34
++0
++70
++35
++0
++66
++33
++0
++70
++35
++0
++68
++34
++0
++70
++35
++0
++68
++34
++0
++71
++36
++0
++70
++35
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++70
++35
++0
++68
++34
++1
++70
++35
++0
++68
++34
++0
++68
++34
++0
++66
++33
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++70
++35
++0
++70
++35
++0
++68
++34
++0
++70
++35
++0
++68
++34
++0
++70
++35
++0
++68
++34
++0
++68
++34
++0
++70
++35
++0
++70
++35
++0
++70
++35
++0
++70
++35
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++70
++35
++0
++68
++34
++0
++66
++33
++0
++70
++35
++0
++70
++35
++0
++66
++33
++0
++68
++34
++0
++68
++34
++0
++70
++35
++0
++68
++34
++0
++66
++33
++0
++70
++35
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++70
++35
++0
++68
++34
++0
++70
++35
++0
++68
++34
++0
++66
++33
++0
++68
++34
++0
++70
++35
++0
++68
++34
++0
++66
++33
++0
++68
++34
++0
++68
++34
++0
++70
++35
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++70
++35
++0
++66
++33
++0
++70
++35
++0
++66
++33
++0
++70
++35
++0
++66
++33
++0
++68
++34
++0
++68
++34
++0
++70
++35
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++70
++35
++0
++68
++34
++0
++68
++34
++0
++70
++35
++0
++70
++35
++0
++66
++33
++0
++68
++34
++0
++66
++33
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++70
++35
++0
++70
++35
++0
++68
++34
++1
++68
++34
++0
++68
++34
++0
++66
++33
++0
++68
++34
++0
++68
++34
++0
++71
++36
++0
++68
++34
++0
++68
++34
++0
++68
++34
++1
++68
++34
++0
++68
++34
++0
++68
++34
++0
++66
++33
++0
++68
++34
++0
++68
++34
++0
++66
++33
++0
++70
++35
++0
++70
++35
++0
++66
++33
++0
++70
++35
++0
++66
++33
++0
++68
++34
++1
++66
++33
++0
++66
++33
++0
++68
++34
++0
++68
++34
++1
++70
++35
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++66
++33
++0
++66
++33
++0
++68
++34
++0
++70
++35
++0
++66
++33
++0
++66
++33
++0
++68
++34
++0
++68
++34
++0
++66
++33
++0
++66
++33
++0
++70
++35
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++66
++33
++0
++68
++34
++0
++68
++34
++0
++66
++33
++0
++68
++34
++0
++66
++33
++0
++70
++35
++0
++66
++33
++0
++70
++35
++0
++68
++34
++0
++68
++34
++0
++66
++33
++0
++68
++34
++0
++66
++33
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++70
++35
++0
++68
++34
++0
++68
++34
++0
++66
++33
++0
++68
++34
++0
++68
++34
++0
++66
++33
++0
++66
++33
++0
++66
++33
++0
++68
++34
++0
++70
++35
++0
++66
++33
++0
++68
++34
++0
++70
++35
++0
++68
++34
++0
++66
++33
++0
++66
++33
++0
++70
++35
++0
++68
++34
++0
++66
++33
++0
++65
++32
++0
++66
++33
++0
++70
++35
++0
++66
++33
++0
++68
++34
++0
++66
++33
++0
++66
++33
++0
++66
++33
++0
++70
++35
++0
++68
++34
++0
++68
++34
++0
++68
++34
++0
++66
++33
++0
++68
++34
++0
++70
++35
++0
++71
++36
++0
++68
++34
++0
++71
++36
++0
++71
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++71
++36
++0
++72
++36
++0
++75
++37
++0
++72
++36
++0
++72
++36
++0
++71
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++75
++37
++0
++71
++36
++0
++71
++36
++0
++70
++35
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++70
++35
++0
++72
++36
++0
++70
++35
++0
++72
++36
++0
++72
++36
++0
++75
++37
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++71
++36
++0
++72
++36
++0
++72
++36
++0
++71
++36
++0
++72
++36
++0
++75
++37
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++75
++37
++0
++72
++36
++0
++72
++36
++0
++71
++36
++0
++72
++36
++0
++75
++37
++0
++71
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++71
++36
++0
++75
++37
++0
++71
++36
++0
++71
++36
++0
++70
++35
++0
++70
++35
++0
++70
++35
++0
++72
++36
++0
++72
++36
++0
++75
++37
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++75
++37
++0
++71
++36
++0
++72
++36
++0
++72
++36
++0
++68
++34
++0
++72
++36
++0
++72
++36
++0
++71
++36
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++71
++36
++0
++72
++36
++0
++71
++36
++0
++70
++35
++0
++72
++36
++0
++72
++36
++0
++72
++36
++0
++71
++36
++0
++71
++36
++0
++72
++36
++0
++72
++36
++0
++71
++36
++0
++71
++36
++0
++68
++34
++0
++72
++36
++0
++71
++36
++0
++72
++36
++0
++71
++36
++0
++75
++37
++0
++71
++36
++0
++72
++36
++0
++70
++35
++0
++72
++36
++0
++72
++36
++0
++71
++36
++0
++71
++36
++0
++71
++36
++0
++71
++36
++0
++72
++36
++0
++72
++36
++0
++71
++36
++0
++72
++36
++0
++71
++36
++0
++71
++36
++0
++71
++36
++0
++72
++36
++0
++72
++36
++0
++71
++36
++0
++70
++35
++0
++72
++36
++0
++71
++36
++0
++75
++37
++0
++71
++36
++0
++71
++36
++0
++70
++35
++0
++72
++36
++0
++71
++36
++0
++72
++36
++0
++71
++36
++0
++71
++36
++0
++71
++36
++0
++70
++35
++0
++70
++35
++0
++75
++37
++0
++70
++35
++0
++72
++36
++0
++72
++36
++0
++71
++36
++0
++71
++36
++0
++71
++36
++0
++72
++36
++0
++71
++36
++0
++71
++36
++0
++72
++36
++0
++75
++37
++0
++72
++36
++0
++70
++35
++0
++72
++36
++0
++70
++35
++0
++72
++36
++0
++71
++36
++0
++70
++35
++0
++72
++36
++0
++72
++36
++0
++70
++35
++0
++71
++36
++0
++75
++37
++0
++70
++35
++0
++70
++35
++0
++72
++36
++0
++72
++36
++0
++71
++36
++0
++71
++36
++0
++70
++35
++0
++72
++36
++0
++72
++36
++0
++70
++35
++0
++72
++36
++0
++68
++34
++0
++72
++36
++0
++70
++35
++0
++72
++36
++0
++71
++36
++0
++72
++36
++0
++71
++36
++0
++75
++37
++0
++70
++35
++0
++75
++37
++0
++70
++35
++0
++72
++36
++0
++72
++36
++0
++71
++36
++0
++71
++36
++0
++72
++36
++0
++70
++35
++0
++72
++36
++0
++72
++36
++0
++71
++36
++0
++71
++36
++0
++70
++35
++0
++72
++36
++0
++72
++36
++0
++71
++36
++0
++72
++36
++0
++72
++36
++0
++70
++35
++0
++72
++36
++0
++72
++36
++0
++71
++36
++0
++70
++35
++0
++72
++36
++0
++70
++35
++0
++72
++36
++0
++70
++35
++0
++70
++35
++0
++70
++35
++0
++70
++35
++0
++70
++35
++0
++72
++36
++0
++70
++35
++0
++71
++36
++0
++71
++36
++0
++71
++36
++0
++70
++35
++0
++70
++35
++0
++72
++36
++0
++70
++35
++0
++70
++35
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++79
++39
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++79
++39
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++79
++39
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++79
++39
++0
++75
++37
++0
++72
++36
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++79
++39
++0
++76
++38
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++75
++37
++0
++79
++39
++0
++76
++38
++0
++76
++38
++0
++75
++37
++0
++79
++39
++0
++76
++38
++0
++75
++37
++0
++79
++39
++0
++79
++39
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++79
++39
++0
++72
++36
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++79
++39
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++75
++37
++0
++79
++39
++0
++76
++38
++0
++75
++37
++0
++79
++39
++0
++76
++38
++0
++75
++37
++0
++81
++40
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++72
++36
++0
++79
++39
++0
++76
++38
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++79
++39
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++76
++38
++0
++72
++36
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++75
++37
++0
++79
++39
++0
++76
++38
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++76
++38
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++75
++37
++0
++75
++37
++0
++79
++39
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++75
++37
++0
++72
++36
++0
++75
++37
++0
++72
++36
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++75
++37
++0
++75
++37
++0
++76
++38
++0
++72
++36
++0
++75
++37
++0
++75
++37
++0
++72
++36
++0
++75
++37
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++79
++39
++0
++79
++39
++0
++79
++39
++0
++79
++39
++0
++79
++39
++0
++82
++41
++0
++79
++39
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++82
++41
++0
++82
++41
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++82
++41
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++82
++41
++0
++82
++41
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++82
++41
++0
++81
++40
++0
++81
++40
++0
++82
++41
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++81
++40
++0
++83
++42
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++79
++39
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++79
++39
++0
++79
++39
++0
++81
++40
++0
++81
++40
++0
++82
++41
++0
++81
++40
++0
++81
++40
++0
++82
++41
++0
++79
++39
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++82
++41
++0
++79
++39
++0
++82
++41
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++82
++41
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++79
++39
++0
++79
++39
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++82
++41
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++82
++41
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++76
++38
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++79
++39
++0
++82
++41
++0
++79
++39
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++79
++39
++0
++82
++41
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++79
++39
++0
++79
++39
++0
++81
++40
++0
++79
++39
++0
++79
++39
++0
++81
++40
++0
++82
++41
++0
++79
++40
++0
++79
++39
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++79
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++79
++40
++0
++79
++39
++0
++79
++39
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++76
++38
++0
++79
++39
++0
++79
++39
++0
++81
++40
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++79
++39
++0
++79
++39
++0
++79
++39
++0
++79
++39
++0
++79
++39
++0
++79
++39
++0
++79
++39
++0
++81
++40
++0
++82
++41
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++81
++40
++0
++81
++40
++0
++79
++39
++0
++79
++39
++0
++81
++40
++0
++79
++39
++0
++79
++39
++0
++79
++39
++0
++79
++39
++0
++81
++40
++0
++79
++39
++0
++76
++38
++0
++79
++39
++0
++81
++40
++0
++76
++38
++0
++82
++41
++0
++79
++39
++0
++79
++39
++0
++81
++40
++0
++79
++39
++0
++76
++38
++0
++76
++38
++0
++79
++39
++0
++79
++39
++0
++76
++38
++0
++76
++38
++0
++81
++40
++0
++79
++39
++0
++79
++39
++0
++76
++38
++0
++79
++39
++0
++84
++42
++0
++83
++42
++0
++84
++42
++0
++82
++41
++0
++83
++42
++0
++84
++42
++0
++83
++42
++0
++84
++42
++0
++83
++42
++0
++84
++42
++0
++83
++42
++0
++84
++42
++0
++83
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++83
++42
++0
++83
++42
++0
++83
++42
++0
++83
++42
++0
++87
++43
++0
++82
++41
++0
++83
++42
++0
++84
++42
++0
++84
++42
++0
++87
++43
++0
++82
++41
++0
++83
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++83
++42
++0
++84
++42
++0
++82
++41
++0
++87
++43
++0
++88
++44
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++87
++43
++0
++84
++42
++0
++87
++43
++0
++84
++42
++0
++83
++42
++0
++84
++42
++0
++87
++43
++0
++83
++42
++0
++83
++42
++0
++87
++43
++0
++84
++42
++0
++84
++42
++0
++82
++41
++0
++84
++42
++0
++84
++42
++0
++82
++41
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++87
++43
++0
++82
++41
++0
++84
++42
++0
++84
++42
++0
++83
++42
++0
++84
++42
++0
++83
++42
++0
++84
++42
++0
++87
++43
++0
++82
++41
++0
++87
++43
++0
++82
++41
++0
++84
++42
++0
++87
++43
++0
++84
++42
++0
++82
++41
++0
++84
++42
++0
++84
++42
++0
++83
++42
++0
++84
++42
++0
++84
++42
++0
++82
++41
++0
++83
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++83
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++83
++42
++0
++87
++43
++0
++82
++41
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++83
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++83
++42
++0
++83
++42
++0
++83
++42
++0
++83
++42
++0
++84
++42
++0
++87
++43
++0
++83
++42
++0
++87
++43
++0
++82
++41
++0
++84
++42
++0
++84
++42
++0
++82
++41
++0
++84
++42
++0
++84
++42
++0
++87
++43
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++87
++43
++0
++84
++42
++0
++84
++42
++0
++83
++42
++0
++84
++42
++0
++82
++41
++0
++83
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++82
++41
++0
++83
++42
++0
++82
++41
++0
++87
++43
++0
++82
++41
++0
++84
++42
++0
++84
++42
++0
++82
++41
++0
++82
++41
++0
++83
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++87
++43
++0
++84
++42
++0
++83
++42
++0
++84
++42
++0
++83
++42
++0
++84
++42
++0
++87
++43
++0
++84
++42
++0
++83
++42
++0
++83
++42
++0
++84
++42
++0
++84
++42
++0
++83
++42
++0
++83
++42
++0
++84
++42
++0
++84
++42
++0
++83
++42
++0
++82
++41
++0
++84
++42
++0
++82
++41
++0
++83
++42
++0
++82
++41
++0
++83
++42
++0
++83
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++83
++42
++0
++82
++41
++0
++82
++41
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++83
++42
++0
++84
++42
++0
++82
++41
++0
++84
++42
++0
++84
++42
++0
++82
++41
++0
++84
++42
++0
++83
++42
++0
++87
++43
++0
++83
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++83
++42
++0
++84
++42
++0
++84
++42
++0
++83
++42
++0
++82
++41
++0
++84
++42
++0
++84
++42
++0
++82
++41
++0
++82
++41
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++83
++42
++0
++84
++42
++0
++82
++41
++0
++84
++42
++0
++84
++42
++0
++81
++40
++0
++83
++42
++0
++82
++41
++0
++82
++41
++0
++84
++42
++0
++82
++41
++0
++84
++42
++0
++82
++41
++0
++82
++41
++0
++83
++42
++0
++83
++42
++0
++83
++42
++0
++83
++42
++0
++82
++41
++0
++84
++42
++0
++82
++41
++0
++84
++42
++0
++81
++40
++0
++82
++41
++0
++82
++41
++0
++82
++41
++0
++82
++41
++0
++81
++40
++0
++84
++42
++0
++84
++42
++0
++87
++43
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++87
++43
++0
++87
++43
++0
++87
++43
++0
++87
++43
++0
++87
++43
++0
++87
++43
++0
++91
++45
++0
++88
++44
++0
++91
++45
++0
++87
++43
++0
++87
++43
++0
++87
++43
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++88
++44
++0
++84
++42
++0
++88
++44
++0
++91
++45
++0
++87
++43
++0
++87
++43
++0
++87
++43
++0
++88
++44
++0
++91
++45
++0
++91
++45
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++93
++46
++0
++88
++44
++0
++91
++45
++0
++88
++44
++0
++87
++43
++0
++91
++45
++0
++87
++43
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++91
++45
++0
++91
++45
++0
++88
++44
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++87
++43
++0
++87
++43
++0
++91
++45
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++91
++45
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++91
++45
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++91
++45
++0
++88
++44
++0
++88
++44
++0
++91
++45
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++87
++43
++0
++87
++43
++0
++87
++43
++0
++91
++45
++0
++88
++44
++0
++88
++44
++0
++91
++45
++0
++88
++44
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++88
++44
++0
++91
++45
++0
++91
++45
++0
++88
++44
++0
++88
++44
++0
++87
++43
++0
++91
++45
++0
++88
++44
++0
++88
++44
++0
++87
++43
++0
++87
++43
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++87
++43
++0
++91
++45
++0
++88
++44
++0
++88
++44
++0
++87
++43
++0
++87
++43
++0
++87
++43
++0
++87
++43
++0
++87
++43
++0
++91
++45
++0
++91
++45
++0
++91
++45
++0
++87
++43
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++87
++43
++0
++87
++43
++0
++91
++45
++0
++91
++45
++0
++88
++44
++0
++87
++43
++0
++91
++45
++0
++87
++43
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++91
++45
++0
++87
++43
++0
++87
++43
++0
++87
++43
++0
++88
++44
++0
++87
++43
++0
++91
++46
++0
++88
++44
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++87
++43
++0
++87
++43
++0
++91
++45
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++84
++42
++0
++87
++43
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++87
++43
++0
++87
++43
++0
++87
++43
++0
++87
++43
++0
++88
++44
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++88
++44
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++88
++44
++0
++84
++42
++0
++87
++43
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++87
++43
++0
++84
++42
++0
++88
++44
++0
++88
++44
++0
++87
++43
++0
++87
++43
++0
++91
++45
++0
++87
++43
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++87
++43
++0
++88
++44
++0
++87
++43
++0
++87
++43
++0
++87
++43
++0
++84
++42
++0
++84
++42
++0
++87
++43
++0
++87
++43
++0
++87
++43
++0
++84
++42
++0
++93
++46
++0
++88
++44
++0
++91
++45
++0
++93
++46
++0
++91
++45
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++91
++45
++0
++91
++45
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++95
++48
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++95
++48
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++95
++48
++0
++91
++45
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++95
++48
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++95
++48
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++95
++48
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++95
++48
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++95
++48
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++95
++48
++0
++93
++46
++0
++95
++48
++0
++91
++45
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++95
++48
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++95
++48
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++91
++45
++0
++93
++46
++0
++91
++45
++0
++91
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++95
++48
++0
++91
++45
++0
++91
++45
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++95
++48
++0
++91
++45
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++91
++45
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++91
++45
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++93
++46
++0
++91
++45
++0
++91
++45
++0
++91
++45
++0
++93
++46
++0
++91
++45
++0
++93
++46
++0
++91
++45
++0
++91
++45
++0
++91
++45
++0
++91
++45
++0
++88
++44
++0
++91
++45
++0
++91
++45
++0
++93
++46
++0
++88
++44
++0
++96
++48
++0
++96
++48
++0
++98
++49
++0
++96
++48
++0
++96
++48
++0
++98
++49
++0
++96
++48
++0
++95
++48
++0
++98
++49
++0
++95
++48
++0
++95
++48
++0
++96
++48
++0
++98
++49
++0
++98
++49
++0
++96
++48
++0
++98
++49
++0
++96
++48
++0
++99
++50
++0
++95
++48
++0
++96
++48
++0
++98
++49
++0
++101
++50
++0
++96
++48
++0
++96
++48
++0
++98
++49
++0
++96
++48
++0
++96
++48
++0
++99
++50
++0
++98
++49
++0
++96
++48
++0
++98
++49
++0
++99
++50
++0
++96
++48
++0
++96
++48
++0
++98
++49
++0
++99
++50
++0
++99
++50
++0
++98
++49
++0
++98
++49
++0
++99
++50
++0
++98
++49
++0
++98
++49
++0
++98
++49
++0
++98
++49
++0
++98
++49
++0
++95
++48
++0
++95
++48
++0
++98
++49
++0
++99
++50
++0
++99
++50
++0
++95
++48
++0
++95
++48
++0
++98
++49
++0
++98
++49
++0
++96
++48
++0
++98
++49
++0
++96
++48
++0
++98
++49
++0
++98
++49
++0
++99
++50
++0
++98
++49
++0
++98
++49
++0
++98
++49
++0
++96
++48
++0
++98
++49
++0
++96
++48
++0
++98
++49
++0
++98
++49
++0
++98
++49
++0
++98
++49
++0
++96
++48
++0
++95
++48
++0
++98
++49
++0
++101
++50
++0
++98
++49
++0
++98
++49
++0
++96
++48
++0
++98
++49
++0
++99
++50
++0
++98
++49
++0
++95
++48
++0
++98
++49
++0
++96
++48
++0
++96
++48
++0
++95
++48
++0
++98
++49
++0
++98
++49
++0
++98
++49
++0
++96
++48
++0
++98
++49
++0
++98
++49
++0
++95
++48
++0
++98
++49
++0
++96
++48
++0
++96
++48
++0
++98
++49
++0
++99
++50
++0
++96
++48
++0
++95
++48
++0
++96
++48
++0
++98
++49
++0
++98
++49
++0
++98
++49
++0
++99
++50
++0
++98
++49
++0
++96
++48
++0
++98
++49
++0
++98
++49
++0
++95
++48
++0
++96
++48
++0
++96
++48
++0
++98
++49
++0
++98
++49
++0
++98
++49
++0
++98
++49
++0
++95
++48
++0
++98
++49
++0
++98
++49
++0
++96
++48
++0
++98
++49
++0
++96
++48
++0
++98
++49
++0
++98
++49
++0
++95
++48
++0
++98
++49
++0
++98
++49
++0
++96
++48
++0
++99
++50
++0
++98
++49
++0
++96
++48
++0
++98
++49
++0
++96
++48
++0
++99
++50
++0
++98
++49
++0
++98
++49
++0
++95
++48
++0
++95
++48
++0
++98
++49
++0
++96
++48
++0
++98
++49
++0
++98
++49
++0
++98
++49
++0
++96
++48
++0
++98
++49
++0
++96
++48
++0
++95
++48
++0
++96
++48
++0
++98
++49
++0
++98
++49
++0
++98
++49
++0
++98
++49
++0
++98
++49
++0
++98
++49
++0
++98
++49
++0
++96
++48
++0
++95
++48
++0
++98
++49
++0
++95
++48
++0
++96
++48
++0
++95
++48
++0
++96
++48
++0
++98
++49
++0
++95
++48
++0
++96
++48
++0
++96
++48
++0
++99
++50
++0
++95
++48
++0
++96
++48
++0
++96
++48
++0
++98
++49
++0
++99
++50
++0
++98
++49
++0
++98
++49
++0
++95
++48
++0
++96
++48
++0
++96
++48
++0
++95
++48
++0
++96
++48
++0
++98
++49
++0
++96
++48
++0
++95
++48
++0
++95
++48
++0
++96
++48
++0
++95
++48
++0
++96
++48
++0
++96
++48
++0
++96
++48
++0
++96
++48
++0
++96
++48
++0
++96
++48
++0
++95
++48
++0
++96
++48
++0
++98
++49
++0
++98
++49
++0
++98
++49
++0
++95
++48
++0
++96
++48
++0
++95
++48
++0
++96
++48
++0
++98
++49
++0
++98
++49
++0
++96
++48
++0
++98
++49
++0
++96
++48
++0
++98
++49
++0
++96
++48
++0
++96
++48
++0
++96
++48
++0
++99
++50
++0
++98
++49
++0
++96
++48
++0
++98
++49
++0
++96
++48
++0
++98
++49
++0
++96
++48
++0
++98
++49
++0
++96
++48
++0
++96
++48
++0
++95
++48
++0
++98
++49
++0
++95
++48
++0
++95
++48
++0
++98
++49
++0
++96
++48
++0
++95
++48
++0
++95
++48
++0
++98
++49
++0
++95
++48
++0
++95
++48
++0
++95
++48
++0
++93
++46
++0
++96
++48
++0
++95
++48
++0
++95
++48
++0
++93
++46
++0
++96
++48
++0
++95
++48
++0
++95
++48
++0
++95
++48
++0
++95
++48
++0
++102
++51
++0
++101
++50
++0
++99
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++105
++52
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++102
++51
++0
++102
++51
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++105
++52
++0
++102
++51
++0
++102
++51
++0
++102
++51
++0
++102
++51
++0
++105
++52
++0
++102
++51
++0
++102
++51
++0
++102
++51
++0
++105
++52
++0
++102
++51
++0
++105
++52
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++102
++51
++0
++102
++51
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++102
++51
++0
++101
++50
++0
++102
++51
++0
++105
++52
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++102
++51
++0
++102
++51
++0
++102
++51
++0
++105
++52
++0
++102
++51
++0
++102
++51
++0
++102
++51
++0
++102
++51
++0
++105
++52
++0
++102
++51
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++105
++52
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++102
++51
++0
++105
++52
++0
++102
++51
++0
++99
++50
++0
++102
++51
++0
++99
++50
++0
++102
++51
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++105
++52
++0
++101
++50
++0
++105
++52
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++99
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++99
++50
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++102
++51
++0
++102
++51
++0
++102
++51
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++102
++51
++0
++102
++51
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++99
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++99
++50
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++102
++51
++0
++99
++50
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++102
++51
++0
++102
++51
++0
++102
++51
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++99
++50
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++99
++50
++0
++102
++51
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++99
++50
++0
++101
++50
++0
++101
++50
++0
++101
++50
++0
++99
++50
++0
++99
++50
++0
++98
++49
++0
++101
++50
++0
++99
++50
++0
++99
++50
++0
++101
++50
++0
++98
++49
++0
++101
++50
++0
++105
++52
++0
++105
++52
++0
++105
++52
++0
++105
++52
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++107
++54
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++105
++52
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++107
++54
++0
++107
++54
++0
++106
++53
++0
++107
++54
++0
++106
++53
++0
++107
++54
++0
++107
++54
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++107
++54
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++107
++54
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++107
++54
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++107
++54
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++110
++55
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++107
++54
++0
++105
++52
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++107
++54
++0
++107
++54
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++107
++54
++0
++105
++52
++0
++105
++52
++0
++106
++53
++0
++105
++52
++0
++105
++52
++0
++107
++54
++0
++107
++54
++0
++106
++53
++0
++107
++54
++0
++105
++52
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++107
++54
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++107
++54
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++106
++53
++0
++107
++54
++0
++105
++52
++0
++106
++53
++0
++105
++52
++0
++105
++52
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++105
++52
++0
++105
++52
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++107
++54
++0
++105
++52
++0
++106
++53
++0
++107
++54
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++105
++52
++0
++107
++54
++0
++102
++51
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++105
++52
++0
++105
++52
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++105
++52
++0
++107
++54
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++105
++52
++0
++105
++52
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++106
++53
++0
++105
++52
++0
++105
++52
++0
++105
++52
++0
++105
++52
++0
++106
++53
++0
++105
++52
++0
++105
++52
++0
++105
++52
++0
++105
++52
++0
++105
++52
++0
++106
++53
++0
++105
++52
++0
++106
++53
++0
++105
++52
++0
++105
++52
++0
++106
++53
++0
++105
++52
++0
++105
++52
++0
++105
++52
++0
++106
++53
++0
++105
++52
++0
++105
++52
++0
++107
++54
++0
++105
++52
++0
++105
++52
++0
++105
++52
++0
++105
++52
++0
++105
++52
++0
++105
++52
++0
++105
++52
++0
++105
++52
++0
++105
++52
++0
++102
++51
++0
++105
++52
++0
++105
++52
++0
++102
++51
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++107
++54
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++111
++56
++0
++111
++56
++0
++111
++56
++0
++110
++55
++0
++111
++56
++0
++110
++55
++0
++111
++56
++0
++114
++57
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++107
++54
++0
++111
++56
++0
++110
++55
++0
++110
++55
++0
++107
++54
++0
++111
++56
++0
++114
++57
++0
++110
++55
++0
++110
++55
++0
++111
++56
++0
++110
++55
++0
++111
++56
++0
++111
++56
++0
++110
++55
++0
++114
++57
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++111
++56
++0
++111
++56
++0
++111
++56
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++111
++56
++0
++110
++55
++0
++111
++56
++0
++111
++56
++0
++111
++56
++0
++110
++55
++0
++114
++57
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++111
++56
++0
++111
++56
++0
++110
++55
++0
++114
++57
++0
++111
++56
++0
++111
++56
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++111
++56
++0
++110
++55
++0
++111
++56
++0
++110
++55
++0
++111
++56
++0
++110
++55
++0
++110
++55
++0
++107
++54
++0
++110
++55
++0
++111
++56
++0
++111
++56
++0
++110
++55
++0
++111
++56
++0
++110
++55
++0
++110
++55
++0
++111
++56
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++107
++54
++0
++107
++54
++0
++111
++56
++0
++110
++55
++0
++111
++56
++0
++110
++55
++0
++111
++56
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++111
++56
++0
++111
++56
++0
++111
++56
++0
++111
++56
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++107
++54
++0
++111
++56
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++107
++54
++0
++110
++55
++0
++111
++56
++0
++111
++56
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++111
++56
++0
++111
++56
++0
++111
++56
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++111
++56
++0
++110
++55
++0
++110
++55
++0
++111
++56
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++111
++56
++0
++110
++55
++0
++111
++56
++0
++111
++56
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++111
++56
++0
++107
++54
++0
++111
++56
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++111
++56
++0
++111
++56
++0
++110
++55
++0
++111
++56
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++111
++56
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++107
++54
++0
++110
++55
++0
++110
++55
++0
++111
++56
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++107
++54
++0
++110
++55
++0
++110
++55
++0
++107
++54
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++107
++54
++0
++107
++54
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++107
++54
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++107
++54
++0
++111
++56
++0
++110
++55
++0
++110
++55
++0
++110
++55
++0
++107
++54
++0
++110
++55
++0
++114
++57
++0
++110
++55
++0
++107
++54
++0
++107
++54
++0
++110
++55
++0
++107
++54
++0
++107
++54
++0
++110
++55
++0
++110
++55
++0
++107
++54
++0
++110
++55
++0
++111
++56
++0
++107
++54
++0
++107
++54
++0
++106
++53
++0
++110
++55
++0
++110
++55
++0
++107
++54
++0
++107
++54
++0
++107
++54
++0
++110
++55
++0
++106
++53
++0
++106
++53
++0
++106
++53
++0
++107
++54
++0
++107
++54
++0
++107
++54
++0
++111
++56
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++111
++56
++0
++114
++57
++0
++111
++56
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++117
++59
++0
++114
++57
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++114
++57
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++114
++57
++0
++117
++59
++0
++111
++56
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++117
++59
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++111
++56
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++117
++59
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++117
++59
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++111
++56
++0
++117
++59
++0
++114
++57
++0
++117
++59
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++111
++56
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++117
++59
++0
++114
++57
++0
++117
++59
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++117
++59
++0
++114
++57
++0
++111
++56
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++111
++56
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++114
++57
++0
++111
++56
++0
++111
++56
++0
++111
++56
++0
++114
++57
++0
++111
++56
++0
++117
++59
++0
++117
++59
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++117
++59
++0
++117
++59
++0
++119
++60
++0
++117
++59
++0
++117
++59
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++119
++60
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++119
++60
++0
++122
++62
++0
++119
++60
++0
++119
++60
++0
++122
++62
++0
++122
++62
++0
++122
++62
++0
++119
++60
++0
++119
++60
++0
++122
++62
++0
++119
++60
++0
++124
++62
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++119
++60
++0
++122
++62
++0
++119
++60
++0
++122
++62
++0
++119
++60
++0
++119
++60
++0
++122
++62
++0
++119
++60
++0
++122
++62
++0
++119
++60
++0
++117
++59
++0
++122
++62
++0
++119
++60
++0
++119
++60
++0
++122
++62
++0
++119
++60
++0
++122
++62
++0
++122
++62
++0
++119
++60
++0
++117
++59
++0
++122
++62
++0
++119
++60
++0
++122
++62
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++117
++59
++0
++122
++62
++0
++119
++60
++0
++119
++60
++0
++122
++62
++0
++117
++59
++0
++119
++60
++0
++119
++60
++0
++122
++62
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++122
++62
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++117
++59
++0
++117
++59
++0
++119
++60
++0
++119
++60
++0
++122
++62
++0
++119
++60
++0
++117
++59
++0
++117
++59
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++119
++60
++0
++122
++62
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++122
++62
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++117
++59
++0
++117
++59
++0
++119
++60
++0
++122
++62
++0
++119
++60
++0
++119
++60
++0
++117
++59
++0
++117
++59
++0
++122
++62
++0
++119
++60
++0
++119
++60
++0
++122
++62
++0
++119
++60
++0
++117
++59
++0
++117
++59
++0
++122
++62
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++117
++59
++0
++122
++62
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++117
++59
++0
++122
++62
++0
++119
++60
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++122
++62
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++122
++62
++0
++117
++59
++0
++117
++59
++0
++119
++60
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++119
++60
++0
++119
++60
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++119
++60
++0
++117
++59
++0
++117
++59
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++117
++59
++0
++119
++60
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++119
++60
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++119
++60
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++117
++59
++0
++122
++62
++0
++124
++62
++0
++124
++62
++0
++122
++62
++0
++122
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++122
++62
++0
++124
++62
++0
++124
++62
++0
++122
++62
++0
++124
++62
++0
++124
++62
++0
++122
++62
++0
++124
++62
++0
++122
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++126
++63
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++126
++63
++0
++124
++62
++0
++126
++63
++0
++124
++62
++0
++124
++62
++0
++126
++63
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++126
++63
++0
++126
++63
++0
++124
++62
++0
++126
++63
++0
++126
++63
++0
++126
++63
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++126
++63
++0
++124
++62
++0
++124
++62
++0
++126
++63
++0
++124
++62
++0
++126
++63
++0
++124
++62
++0
++126
++63
++0
++124
++62
++0
++124
++62
++0
++126
++63
++0
++124
++62
++0
++126
++63
++0
++124
++62
++0
++126
++63
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++126
++63
++0
++124
++62
++0
++124
++62
++0
++126
++63
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++126
++63
++0
++126
++63
++0
++126
++63
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++122
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++122
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++126
++63
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++122
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++122
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++122
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++122
++62
++0
++124
++62
++0
++122
++62
++0
++124
++62
++0
++122
++62
++0
++122
++62
++0
++122
++62
++0
++122
++62
++0
++122
++62
++0
++122
++62
++0
++122
++62
++0
++124
++62
++0
++122
++62
++0
++119
++60
++0
++122
++62
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++119
++60
++0
++126
++63
++0
++126
++63
++0
++129
++64
++0
++126
++63
++0
++126
++63
++0
++129
++64
++0
++129
++64
++0
++126
++63
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++130
++65
++0
++129
++64
++0
++129
++64
++0
++130
++65
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++130
++65
++0
++130
++65
++0
++129
++64
++0
++129
++64
++0
++130
++65
++0
++129
++64
++0
++130
++65
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++129
++64
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++129
++64
++0
++130
++65
++0
++130
++65
++0
++132
++66
++0
++130
++65
++0
++129
++64
++0
++130
++65
++0
++130
++65
++0
++129
++64
++0
++130
++65
++0
++129
++64
++0
++130
++65
++0
++130
++65
++0
++129
++64
++0
++130
++65
++0
++126
++63
++0
++130
++65
++0
++132
++66
++0
++130
++65
++0
++129
++64
++0
++132
++66
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++132
++66
++0
++129
++64
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++129
++64
++0
++130
++65
++0
++129
++64
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++129
++64
++0
++130
++65
++0
++129
++64
++0
++130
++65
++0
++129
++64
++0
++129
++64
++0
++130
++65
++0
++130
++65
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++132
++66
++0
++129
++64
++0
++129
++64
++0
++132
++66
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++129
++64
++0
++129
++64
++0
++130
++65
++0
++126
++63
++0
++130
++65
++0
++130
++65
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++130
++65
++0
++129
++64
++0
++126
++63
++0
++130
++65
++0
++129
++64
++0
++130
++65
++0
++130
++65
++0
++129
++64
++0
++129
++64
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++129
++64
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++130
++65
++0
++130
++65
++0
++129
++64
++0
++130
++65
++0
++130
++65
++0
++129
++64
++0
++126
++63
++0
++129
++64
++0
++130
++65
++0
++129
++64
++0
++129
++64
++0
++130
++65
++0
++130
++65
++0
++129
++64
++0
++129
++64
++0
++126
++63
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++130
++65
++0
++130
++65
++0
++126
++63
++0
++129
++64
++0
++132
++66
++0
++129
++64
++0
++129
++64
++0
++130
++65
++0
++130
++65
++0
++129
++64
++0
++126
++63
++0
++129
++64
++0
++126
++63
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++130
++65
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++130
++65
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++126
++63
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++126
++63
++0
++130
++65
++0
++129
++64
++0
++129
++64
++0
++126
++63
++0
++129
++64
++0
++130
++65
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++129
++64
++0
++126
++63
++0
++129
++64
++0
++129
++64
++0
++126
++63
++0
++126
++63
++0
++129
++64
++0
++130
++65
++0
++129
++64
++0
++126
++63
++0
++126
++63
++0
++126
++63
++0
++126
++63
++0
++126
++63
++0
++126
++63
++0
++126
++63
++0
++126
++63
++0
++126
++63
++0
++126
++63
++0
++126
++63
++0
++124
++62
++0
++126
++63
++0
++126
++63
++0
++132
++66
++0
++132
++66
++0
++132
++66
++0
++133
++67
++0
++132
++66
++0
++132
++66
++0
++132
++66
++0
++133
++67
++0
++132
++66
++0
++133
++67
++0
++133
++67
++0
++132
++66
++0
++132
++66
++0
++132
++66
++0
++132
++66
++0
++133
++67
++0
++132
++66
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++132
++66
++0
++135
++68
++0
++133
++67
++0
++132
++66
++0
++133
++67
++0
++133
++67
++0
++132
++66
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++132
++66
++0
++132
++66
++0
++135
++68
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++135
++68
++0
++135
++68
++0
++133
++67
++0
++135
++68
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++135
++68
++0
++135
++68
++0
++133
++67
++0
++135
++68
++0
++137
++68
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++135
++68
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++135
++68
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++135
++68
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++132
++66
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++135
++68
++0
++133
++67
++0
++132
++66
++0
++132
++66
++0
++133
++67
++0
++133
++67
++0
++135
++68
++0
++133
++67
++0
++133
++67
++0
++132
++66
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++132
++66
++0
++135
++68
++0
++132
++66
++0
++133
++67
++0
++132
++66
++0
++135
++68
++0
++133
++67
++0
++133
++67
++0
++132
++66
++0
++137
++68
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++132
++66
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++132
++66
++0
++132
++66
++0
++133
++67
++0
++135
++68
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++132
++66
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++135
++68
++0
++133
++67
++0
++132
++66
++0
++133
++67
++0
++133
++67
++0
++132
++66
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++132
++66
++0
++133
++67
++0
++132
++66
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++132
++66
++0
++132
++66
++0
++133
++67
++0
++135
++68
++0
++133
++67
++0
++133
++67
++0
++130
++65
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++133
++67
++0
++132
++66
++0
++132
++66
++0
++133
++67
++0
++132
++66
++0
++132
++66
++0
++132
++66
++0
++133
++67
++0
++132
++66
++0
++133
++67
++0
++132
++66
++0
++132
++66
++0
++133
++67
++0
++132
++66
++0
++133
++67
++0
++132
++66
++0
++132
++66
++0
++132
++66
++0
++132
++66
++0
++132
++66
++0
++132
++66
++0
++132
++66
++0
++132
++66
++0
++132
++66
++0
++132
++66
++0
++133
++67
++0
++132
++66
++0
++132
++66
++0
++132
++66
++0
++133
++67
++0
++132
++66
++0
++133
++67
++0
++132
++66
++0
++132
++66
++0
++132
++66
++0
++133
++67
++0
++132
++66
++0
++130
++65
++0
++132
++66
++0
++132
++66
++0
++132
++66
++0
++130
++65
++0
++132
++66
++0
++132
++66
++0
++132
++66
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++129
++64
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++130
++65
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++139
++69
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++139
++69
++0
++137
++68
++0
++139
++69
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++142
++71
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++142
++71
++0
++139
++69
++0
++139
++69
++0
++142
++71
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++142
++71
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++139
++69
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++139
++69
++0
++137
++68
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++139
++69
++0
++139
++69
++0
++137
++68
++0
++137
++68
++0
++139
++69
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++139
++69
++0
++137
++68
++0
++137
++68
++0
++139
++69
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++139
++69
++0
++137
++68
++0
++139
++69
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++135
++68
++0
++137
++68
++0
++137
++68
++0
++137
++68
++0
++135
++68
++0
++135
++68
++0
++137
++68
++0
++137
++68
++0
++135
++68
++0
++135
++68
++0
++135
++68
++0
++137
++68
++0
++133
++67
++0
++133
++67
++0
++143
++72
++0
++142
++71
++0
++142
++71
++0
++142
++71
++0
++143
++72
++0
++142
++71
++0
++143
++72
++0
++142
++71
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++142
++71
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++142
++71
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++146
++73
++0
++143
++72
++0
++143
++72
++0
++142
++71
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++146
++73
++0
++143
++72
++0
++143
++72
++0
++142
++71
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++146
++73
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++146
++73
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++146
++73
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++142
++71
++0
++143
++72
++0
++143
++72
++0
++142
++71
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++142
++71
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++142
++71
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++142
++71
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++142
++71
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++142
++71
++0
++142
++71
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++142
++71
++0
++142
++71
++0
++143
++72
++0
++142
++71
++0
++142
++71
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++142
++71
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++142
++71
++0
++142
++71
++0
++143
++72
++0
++142
++71
++0
++139
++69
++0
++143
++72
++0
++142
++71
++0
++142
++71
++0
++143
++72
++0
++142
++71
++0
++143
++72
++0
++142
++71
++0
++143
++72
++0
++143
++72
++0
++142
++71
++0
++143
++72
++0
++142
++71
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++142
++71
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++142
++71
++0
++142
++71
++0
++139
++69
++0
++142
++71
++0
++143
++72
++0
++142
++71
++0
++142
++71
++0
++143
++72
++0
++142
++71
++0
++142
++71
++0
++142
++71
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++142
++71
++0
++143
++72
++0
++142
++71
++0
++139
++69
++0
++142
++71
++0
++143
++72
++0
++142
++71
++0
++139
++69
++0
++142
++71
++0
++139
++69
++0
++142
++71
++0
++142
++71
++0
++139
++69
++0
++142
++71
++0
++139
++69
++0
++142
++71
++0
++142
++71
++0
++142
++71
++0
++139
++69
++0
++142
++71
++0
++143
++72
++0
++146
++73
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++146
++73
++0
++148
++74
++0
++146
++73
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++146
++73
++0
++151
++75
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++151
++75
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++151
++75
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++146
++73
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++146
++73
++0
++148
++74
++0
++146
++73
++0
++146
++73
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++146
++73
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++146
++73
++0
++146
++73
++0
++146
++73
++0
++146
++73
++0
++146
++73
++0
++146
++73
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++146
++73
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++146
++73
++0
++146
++73
++0
++148
++74
++0
++148
++74
++0
++143
++72
++0
++146
++73
++0
++143
++72
++0
++146
++73
++0
++143
++72
++0
++146
++73
++0
++143
++72
++0
++146
++73
++0
++146
++73
++0
++143
++72
++0
++146
++73
++0
++146
++73
++0
++143
++72
++0
++146
++73
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++143
++72
++0
++146
++73
++0
++152
++76
++0
++151
++75
++0
++151
++75
++0
++151
++75
++0
++152
++76
++0
++152
++76
++0
++151
++75
++0
++151
++75
++0
++151
++75
++0
++151
++75
++0
++152
++76
++0
++152
++76
++0
++151
++75
++0
++152
++76
++0
++154
++77
++0
++151
++75
++0
++152
++76
++0
++151
++75
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++154
++77
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++154
++77
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++151
++75
++0
++154
++77
++0
++154
++77
++0
++152
++76
++0
++152
++76
++0
++154
++77
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++154
++77
++0
++154
++77
++0
++154
++77
++0
++152
++76
++0
++154
++77
++0
++152
++76
++0
++154
++77
++0
++152
++76
++0
++154
++77
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++154
++77
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++154
++77
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++155
++78
++0
++152
++76
++0
++154
++77
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++154
++77
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++151
++75
++0
++152
++76
++0
++154
++77
++0
++154
++77
++0
++152
++76
++0
++154
++77
++0
++152
++76
++0
++154
++77
++0
++152
++76
++0
++152
++76
++0
++151
++75
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++154
++77
++0
++152
++76
++0
++154
++77
++0
++152
++76
++0
++152
++76
++0
++154
++77
++0
++152
++76
++0
++152
++76
++0
++151
++75
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++154
++77
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++151
++75
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++151
++75
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++154
++77
++0
++151
++75
++0
++152
++76
++0
++151
++75
++0
++152
++76
++0
++151
++75
++0
++151
++75
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++154
++77
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++154
++77
++0
++152
++76
++0
++151
++75
++0
++152
++76
++0
++152
++76
++0
++151
++75
++0
++152
++76
++0
++151
++75
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++151
++75
++0
++151
++75
++0
++151
++75
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++151
++75
++0
++152
++76
++0
++151
++75
++0
++152
++76
++0
++152
++76
++0
++151
++75
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++151
++75
++0
++151
++75
++0
++152
++76
++0
++151
++75
++0
++152
++76
++0
++151
++75
++0
++152
++76
++0
++151
++75
++0
++151
++75
++0
++152
++76
++0
++152
++76
++0
++151
++75
++0
++151
++75
++0
++152
++76
++0
++151
++75
++0
++151
++75
++0
++151
++75
++0
++151
++75
++0
++151
++75
++0
++151
++75
++0
++151
++75
++0
++151
++75
++0
++151
++75
++0
++151
++75
++0
++151
++75
++0
++148
++74
++0
++151
++75
++0
++148
++74
++0
++148
++74
++0
++151
++75
++0
++148
++74
++0
++151
++75
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++148
++74
++0
++155
++78
++0
++155
++78
++0
++156
++78
++0
++154
++77
++0
++155
++78
++0
++155
++78
++0
++155
++78
++0
++156
++78
++0
++155
++78
++0
++156
++78
++0
++155
++78
++0
++156
++78
++0
++156
++78
++0
++158
++79
++0
++155
++78
++0
++155
++78
++0
++155
++78
++0
++155
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++158
++79
++0
++156
++78
++0
++156
++78
++0
++158
++79
++0
++158
++79
++0
++155
++78
++0
++158
++79
++0
++158
++79
++0
++158
++79
++0
++155
++78
++0
++158
++79
++0
++156
++78
++0
++158
++79
++0
++158
++79
++0
++158
++79
++0
++158
++79
++0
++156
++78
++0
++158
++79
++0
++156
++78
++0
++156
++78
++0
++158
++79
++0
++156
++78
++0
++158
++79
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++158
++79
++0
++156
++78
++0
++156
++78
++0
++158
++79
++0
++158
++79
++0
++156
++78
++0
++158
++79
++0
++155
++78
++0
++158
++79
++0
++158
++79
++0
++156
++78
++0
++158
++79
++0
++158
++79
++0
++158
++79
++0
++156
++78
++0
++158
++79
++0
++158
++79
++0
++158
++79
++0
++158
++79
++0
++158
++79
++0
++158
++79
++0
++158
++79
++0
++158
++79
++0
++158
++79
++0
++158
++79
++0
++158
++79
++0
++158
++79
++0
++160
++80
++0
++158
++79
++0
++158
++79
++0
++158
++79
++0
++156
++78
++0
++156
++78
++0
++158
++79
++0
++158
++79
++0
++158
++79
++0
++156
++78
++0
++156
++78
++0
++158
++79
++0
++156
++78
++0
++158
++79
++0
++156
++78
++0
++158
++79
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++158
++79
++0
++158
++79
++0
++156
++78
++0
++158
++79
++0
++158
++79
++0
++155
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++158
++79
++0
++155
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++158
++79
++0
++158
++79
++0
++158
++79
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++155
++78
++0
++156
++78
++0
++158
++79
++0
++158
++79
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++158
++79
++0
++158
++79
++0
++156
++78
++0
++158
++79
++0
++156
++78
++0
++155
++78
++0
++155
++78
++0
++156
++78
++0
++158
++79
++0
++156
++78
++0
++158
++79
++0
++156
++78
++0
++158
++79
++0
++155
++78
++0
++155
++78
++0
++156
++78
++0
++156
++78
++0
++158
++79
++0
++154
++77
++0
++156
++78
++0
++156
++78
++0
++155
++78
++0
++158
++79
++0
++156
++78
++0
++158
++79
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++155
++78
++0
++158
++79
++0
++155
++78
++0
++158
++79
++0
++155
++78
++0
++156
++78
++0
++158
++79
++0
++155
++78
++0
++156
++78
++0
++156
++78
++0
++158
++79
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++158
++79
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++155
++78
++0
++156
++78
++0
++155
++78
++0
++155
++78
++0
++156
++78
++0
++156
++78
++0
++158
++79
++0
++155
++78
++0
++155
++78
++0
++154
++77
++0
++156
++78
++0
++158
++79
++0
++156
++78
++0
++158
++79
++0
++156
++78
++0
++156
++78
++0
++155
++78
++0
++156
++78
++0
++155
++78
++0
++156
++78
++0
++156
++78
++0
++155
++78
++0
++156
++78
++0
++155
++78
++0
++156
++78
++0
++156
++78
++0
++155
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++155
++78
++0
++155
++78
++0
++156
++78
++0
++155
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++155
++78
++0
++155
++78
++0
++156
++78
++0
++155
++78
++0
++155
++78
++0
++155
++78
++0
++156
++78
++0
++154
++77
++0
++155
++78
++0
++155
++78
++0
++155
++78
++0
++158
++79
++0
++155
++78
++0
++155
++78
++0
++154
++77
++0
++154
++77
++0
++152
++76
++0
++154
++77
++0
++155
++78
++0
++154
++77
++0
++155
++78
++0
++155
++78
++0
++155
++78
++0
++152
++76
++0
++154
++77
++0
++154
++77
++0
++151
++75
++0
++160
++80
++0
++160
++80
++0
++158
++79
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++162
++81
++0
++160
++80
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++160
++80
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++165
++82
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++165
++82
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++160
++80
++0
++160
++80
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++162
++81
++0
++160
++80
++0
++160
++80
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++160
++80
++0
++162
++81
++0
++160
++80
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++162
++81
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++158
++79
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++160
++80
++0
++160
++80
++0
++162
++81
++0
++160
++80
++0
++158
++79
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++158
++79
++0
++158
++79
++0
++160
++80
++0
++156
++78
++0
++158
++79
++0
++160
++80
++0
++160
++80
++0
++158
++79
++0
++158
++79
++0
++156
++78
++0
++158
++79
++0
++165
++82
++0
++165
++82
++0
++165
++82
++0
++165
++82
++0
++166
++83
++0
++165
++82
++0
++165
++82
++0
++165
++82
++0
++166
++83
++0
++165
++82
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++166
++83
++0
++165
++82
++0
++165
++82
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++169
++85
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++169
++85
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++166
++83
++0
++169
++85
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++169
++85
++0
++166
++83
++0
++169
++85
++0
++166
++83
++0
++166
++83
++0
++169
++85
++0
++166
++83
++0
++169
++85
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++169
++85
++0
++166
++83
++0
++169
++85
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++169
++85
++0
++166
++83
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++166
++83
++0
++165
++82
++0
++169
++85
++0
++166
++83
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++166
++83
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++165
++82
++0
++165
++82
++0
++165
++82
++0
++166
++83
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++165
++82
++0
++165
++82
++0
++166
++83
++0
++165
++82
++0
++165
++82
++0
++165
++82
++0
++166
++83
++0
++169
++85
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++165
++82
++0
++165
++82
++0
++166
++83
++0
++165
++82
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++165
++82
++0
++166
++83
++0
++165
++82
++0
++165
++82
++0
++165
++82
++0
++166
++83
++0
++165
++82
++0
++165
++82
++0
++165
++82
++0
++165
++82
++0
++166
++83
++0
++165
++82
++0
++165
++82
++0
++162
++81
++0
++165
++82
++0
++165
++82
++0
++165
++82
++0
++165
++82
++0
++165
++82
++0
++165
++82
++0
++165
++82
++0
++165
++82
++0
++166
++83
++0
++165
++82
++0
++165
++82
++0
++162
++81
++0
++166
++83
++0
++165
++82
++0
++165
++82
++0
++166
++83
++0
++165
++82
++0
++162
++81
++0
++165
++82
++0
++165
++82
++0
++162
++81
++0
++165
++82
++0
++165
++82
++0
++165
++82
++0
++162
++81
++0
++165
++82
++0
++162
++81
++0
++162
++81
++0
++165
++82
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++162
++81
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++170
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++169
++85
++0
++170
++85
++0
++169
++85
++0
++170
++85
++0
++170
++85
++0
++169
++85
++0
++171
++86
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++170
++85
++0
++171
++86
++0
++171
++86
++0
++170
++85
++0
++169
++85
++0
++170
++85
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++170
++85
++0
++171
++86
++0
++171
++86
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++169
++85
++0
++171
++86
++0
++170
++85
++0
++171
++86
++0
++170
++85
++0
++171
++86
++0
++171
++86
++0
++169
++85
++0
++170
++85
++0
++169
++85
++0
++171
++86
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++171
++86
++0
++169
++85
++0
++171
++86
++0
++170
++85
++0
++171
++86
++0
++171
++86
++0
++170
++85
++0
++171
++86
++0
++170
++85
++0
++170
++85
++0
++171
++86
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++170
++85
++0
++171
++86
++0
++171
++86
++0
++169
++85
++0
++171
++86
++0
++169
++85
++0
++171
++86
++0
++170
++85
++0
++170
++85
++0
++169
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++171
++86
++0
++170
++85
++0
++171
++86
++0
++169
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++169
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++169
++85
++0
++170
++85
++0
++171
++86
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++169
++85
++0
++170
++85
++0
++169
++85
++0
++170
++85
++0
++169
++85
++0
++169
++85
++0
++170
++85
++0
++170
++85
++0
++169
++85
++0
++169
++85
++0
++170
++85
++0
++169
++85
++0
++170
++85
++0
++170
++85
++0
++169
++85
++0
++169
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++169
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++169
++85
++0
++169
++85
++0
++170
++85
++0
++169
++85
++0
++169
++85
++0
++170
++85
++0
++169
++85
++0
++170
++85
++0
++169
++85
++0
++169
++85
++0
++170
++85
++0
++170
++85
++0
++171
++86
++0
++169
++85
++0
++170
++85
++0
++170
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++170
++85
++0
++170
++85
++0
++169
++85
++0
++170
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++170
++85
++0
++171
++86
++0
++171
++86
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++170
++85
++0
++170
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++170
++85
++0
++170
++85
++0
++169
++85
++0
++170
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++169
++85
++0
++166
++83
++0
++169
++85
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++169
++85
++0
++166
++83
++0
++166
++83
++0
++166
++83
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++173
++87
++0
++174
++87
++0
++174
++87
++0
++174
++87
++0
++173
++87
++0
++174
++87
++0
++174
++87
++0
++173
++87
++0
++173
++87
++0
++175
++88
++0
++174
++87
++0
++174
++87
++0
++173
++87
++0
++174
++87
++0
++175
++88
++0
++174
++87
++0
++174
++87
++0
++175
++88
++0
++175
++88
++0
++174
++87
++0
++174
++87
++0
++175
++88
++0
++174
++87
++0
++175
++88
++0
++173
++87
++0
++175
++88
++0
++174
++87
++0
++177
++88
++0
++173
++87
++0
++175
++88
++0
++173
++87
++0
++175
++88
++0
++175
++88
++0
++174
++87
++0
++174
++87
++0
++173
++87
++0
++173
++87
++0
++174
++87
++0
++175
++88
++0
++175
++88
++0
++177
++88
++0
++177
++88
++0
++174
++87
++0
++175
++88
++0
++175
++88
++0
++175
++88
++0
++175
++88
++0
++174
++87
++0
++174
++87
++0
++173
++87
++0
++174
++87
++0
++175
++88
++0
++174
++87
++0
++177
++88
++0
++175
++88
++0
++175
++88
++0
++177
++88
++0
++175
++88
++0
++175
++88
++0
++175
++88
++0
++175
++88
++0
++175
++88
++0
++174
++87
++0
++175
++88
++0
++175
++88
++0
++175
++88
++0
++175
++88
++0
++175
++88
++0
++174
++87
++0
++175
++88
++0
++177
++88
++0
++174
++87
++0
++177
++88
++0
++174
++87
++0
++175
++88
++0
++175
++88
++0
++175
++88
++0
++174
++87
++0
++174
++87
++0
++175
++88
++0
++175
++88
++0
++175
++88
++0
++174
++87
++0
++175
++88
++0
++174
++87
++0
++175
++88
++0
++175
++88
++0
++174
++87
++0
++177
++88
++0
++173
++87
++0
++174
++87
++0
++177
++88
++0
++174
++87
++0
++175
++88
++0
++177
++88
++0
++173
++87
++0
++177
++88
++0
++173
++87
++0
++173
++87
++0
++175
++88
++0
++174
++87
++0
++174
++87
++0
++175
++88
++0
++174
++87
++0
++174
++87
++0
++174
++87
++0
++174
++87
++0
++174
++87
++0
++174
++87
++0
++174
++87
++0
++174
++87
++0
++173
++87
++0
++175
++88
++0
++175
++88
++0
++174
++87
++0
++174
++87
++0
++174
++87
++0
++175
++88
++0
++175
++88
++0
++174
++87
++0
++174
++87
++0
++174
++87
++0
++175
++88
++0
++175
++88
++0
++174
++87
++0
++174
++87
++0
++174
++87
++0
++174
++87
++0
++177
++88
++0
++174
++87
++0
++174
++87
++0
++174
++87
++0
++174
++87
++0
++175
++88
++0
++175
++88
++0
++174
++87
++0
++173
++87
++0
++174
++87
++0
++174
++87
++0
++174
++87
++0
++174
++87
++0
++174
++87
++0
++174
++87
++0
++175
++88
++0
++173
++87
++0
++174
++87
++0
++171
++86
++0
++174
++87
++0
++173
++87
++0
++175
++88
++0
++174
++87
++0
++174
++87
++0
++175
++88
++0
++174
++87
++0
++174
++87
++0
++174
++87
++0
++173
++87
++0
++173
++87
++0
++173
++87
++0
++174
++87
++0
++174
++87
++0
++175
++88
++0
++173
++87
++0
++173
++87
++0
++173
++87
++0
++173
++87
++0
++175
++88
++0
++174
++87
++0
++173
++87
++0
++175
++88
++0
++173
++87
++0
++173
++87
++0
++174
++87
++0
++173
++87
++0
++173
++87
++0
++171
++86
++0
++173
++87
++0
++173
++87
++0
++173
++87
++0
++173
++87
++0
++173
++87
++0
++175
++88
++0
++173
++87
++0
++174
++87
++0
++174
++87
++0
++171
++86
++0
++174
++87
++0
++175
++88
++0
++174
++87
++0
++173
++87
++0
++174
++87
++0
++175
++88
++0
++174
++87
++0
++175
++88
++0
++174
++87
++0
++171
++86
++0
++173
++87
++0
++174
++87
++0
++173
++87
++0
++173
++87
++0
++173
++87
++0
++173
++87
++0
++174
++87
++0
++174
++87
++0
++171
++86
++0
++174
++87
++0
++171
++86
++0
++173
++87
++0
++174
++87
++0
++174
++87
++0
++171
++86
++0
++173
++87
++0
++173
++87
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++170
++85
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++171
++86
++0
++170
++85
++0
++171
++86
++0
++170
++85
++0
++171
++86
++0
++177
++88
++0
++177
++88
++0
++177
++88
++0
++177
++88
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++177
++88
++0
++177
++88
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++177
++88
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++180
++90
++0
++177
++88
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++177
++88
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++180
++90
++0
++180
++90
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++180
++90
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++180
++90
++0
++180
++90
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++180
++90
++0
++179
++89
++0
++179
++89
++0
++180
++90
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++180
++90
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++180
++90
++0
++180
++90
++0
++179
++89
++0
++179
++89
++0
++180
++90
++0
++180
++90
++0
++179
++89
++0
++179
++89
++0
++180
++90
++0
++180
++90
++0
++180
++90
++0
++180
++90
++0
++180
++90
++0
++179
++89
++0
++179
++89
++0
++180
++90
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++180
++90
++0
++179
++89
++0
++180
++90
++0
++179
++89
++0
++179
++89
++0
++180
++90
++0
++180
++90
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++177
++88
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++177
++88
++0
++179
++89
++0
++179
++89
++0
++177
++88
++0
++180
++90
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++180
++90
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++180
++90
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++180
++90
++0
++179
++89
++0
++177
++88
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++180
++90
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++180
++90
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++177
++88
++0
++180
++90
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++177
++88
++0
++179
++89
++0
++179
++89
++0
++177
++88
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++177
++88
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++177
++88
++0
++179
++89
++0
++177
++88
++0
++179
++89
++0
++177
++88
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++177
++88
++0
++179
++89
++0
++179
++89
++0
++177
++88
++0
++179
++89
++0
++177
++88
++0
++177
++88
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++177
++88
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++177
++88
++0
++179
++89
++0
++177
++88
++0
++179
++89
++0
++177
++88
++0
++177
++88
++0
++177
++88
++0
++177
++88
++0
++179
++89
++0
++177
++88
++0
++179
++89
++0
++179
++89
++0
++177
++88
++0
++179
++89
++0
++179
++89
++0
++179
++89
++0
++177
++88
++0
++177
++88
++0
++177
++88
++0
++177
++88
++0
++177
++88
++0
++177
++88
++0
++177
++88
++0
++179
++89
++0
++177
++88
++0
++177
++88
++0
++179
++89
++0
++177
++88
++0
++177
++88
++0
++177
++88
++0
++177
++88
++0
++179
++89
++0
++177
++88
++0
++175
++88
++0
++177
++88
++0
++175
++88
++0
++177
++88
++0
++174
++87
++0
++175
++88
++0
++175
++88
++0
++174
++87
++0
++180
++90
++0
++182
++91
++0
++180
++90
++0
++180
++90
++0
++182
++91
++0
++182
++91
++0
++180
++90
++0
++180
++90
++0
++182
++91
++0
++180
++90
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++180
++90
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++183
++92
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++180
++90
++0
++182
++91
++0
++183
++92
++0
++183
++92
++0
++182
++91
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++183
++92
++0
++182
++91
++0
++183
++92
++0
++183
++92
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++183
++92
++0
++183
++92
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++183
++92
++0
++182
++91
++0
++182
++91
++0
++183
++92
++0
++182
++91
++0
++183
++92
++0
++183
++92
++0
++182
++91
++0
++182
++91
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++182
++91
++0
++182
++91
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++182
++91
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++182
++91
++0
++183
++92
++0
++182
++91
++0
++183
++92
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++183
++92
++0
++182
++91
++0
++182
++91
++0
++183
++92
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++183
++92
++0
++183
++92
++0
++182
++91
++0
++182
++91
++0
++183
++92
++0
++183
++92
++0
++182
++91
++0
++183
++92
++0
++183
++92
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++183
++92
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++183
++92
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++183
++92
++0
++183
++92
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++183
++92
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++183
++92
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++180
++90
++0
++180
++90
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++180
++90
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++183
++92
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++180
++90
++0
++182
++91
++0
++182
++91
++0
++180
++90
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++182
++91
++0
++180
++90
++0
++180
++90
++0
++182
++91
++0
++182
++91
++0
++180
++90
++0
++180
++90
++0
++182
++91
++0
++182
++91
++0
++180
++90
++0
++180
++90
++0
++182
++91
++0
++180
++90
++0
++180
++90
++0
++180
++90
++0
++180
++90
++0
++180
++90
++0
++180
++90
++0
++180
++90
++0
++179
++89
++0
++180
++90
++0
++180
++90
++0
++179
++89
++0
++180
++90
++0
++179
++89
++0
++180
++90
++0
++179
++89
++0
++183
++92
++0
++183
++92
++0
++185
++93
++0
++185
++93
++0
++185
++93
++0
++186
++93
++0
++185
++93
++0
++185
++93
++0
++185
++93
++0
++186
++93
++0
++183
++92
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++185
++93
++0
++186
++93
++0
++185
++93
++0
++185
++93
++0
++186
++93
++0
++185
++93
++0
++186
++93
++0
++186
++93
++0
++185
++93
++0
++183
++92
++0
++186
++93
++0
++185
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++189
++94
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++183
++92
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++189
++94
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++189
++94
++0
++186
++93
++0
++186
++93
++0
++189
++94
++0
++186
++93
++0
++189
++94
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++185
++93
++0
++186
++93
++0
++186
++93
++0
++185
++93
++0
++186
++93
++0
++186
++93
++0
++189
++94
++0
++189
++94
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++189
++94
++0
++186
++93
++0
++186
++93
++0
++185
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++189
++94
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++185
++93
++0
++185
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++185
++93
++0
++185
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++185
++93
++0
++186
++93
++0
++186
++93
++0
++183
++92
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++185
++93
++0
++186
++93
++0
++185
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++185
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++185
++93
++0
++186
++93
++0
++186
++93
++0
++185
++93
++0
++185
++93
++0
++183
++92
++0
++186
++93
++0
++186
++93
++0
++185
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++185
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++185
++93
++0
++185
++93
++0
++185
++93
++0
++185
++93
++0
++186
++93
++0
++186
++93
++0
++185
++93
++0
++185
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++185
++93
++0
++185
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++183
++92
++0
++186
++93
++0
++186
++93
++0
++185
++93
++0
++186
++93
++0
++186
++93
++0
++183
++92
++0
++183
++92
++0
++186
++93
++0
++185
++93
++0
++185
++93
++0
++186
++93
++0
++185
++93
++0
++183
++92
++0
++185
++93
++0
++186
++93
++0
++185
++93
++0
++185
++93
++0
++186
++93
++0
++185
++93
++0
++183
++92
++0
++185
++93
++0
++185
++93
++0
++185
++93
++0
++186
++93
++0
++185
++93
++0
++185
++93
++0
++186
++93
++0
++185
++93
++0
++185
++93
++0
++185
++93
++0
++185
++93
++0
++186
++93
++0
++185
++93
++0
++183
++92
++0
++183
++92
++0
++185
++93
++0
++185
++93
++0
++183
++92
++0
++186
++93
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++185
++93
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++182
++91
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++183
++92
++0
++182
++91
++0
++182
++91
++0
++189
++94
++0
++189
++94
++0
++186
++93
++0
++189
++94
++0
++189
++94
++0
++186
++93
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++189
++94
++0
++189
++94
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++193
++96
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++193
++96
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++193
++96
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++189
++94
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++189
++94
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++189
++94
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++190
++95
++0
++190
++95
++0
++189
++94
++0
++190
++95
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++190
++95
++0
++189
++94
++0
++189
++94
++0
++190
++95
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++190
++95
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++190
++95
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++186
++93
++0
++189
++94
++0
++186
++93
++0
++189
++94
++0
++186
++93
++0
++186
++93
++0
++189
++94
++0
++189
++94
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++186
++93
++0
++190
++95
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++193
++96
++0
++194
++97
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++195
++98
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++193
++96
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++193
++96
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++193
++96
++0
++193
++96
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++193
++96
++0
++193
++96
++0
++194
++97
++0
++193
++96
++0
++193
++96
++0
++194
++97
++0
++190
++95
++0
++193
++96
++0
++194
++97
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++194
++97
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++194
++97
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++190
++95
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++190
++95
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++193
++96
++0
++190
++95
++0
++193
++96
++0
++193
++96
++0
++190
++95
++0
++193
++96
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++193
++96
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++190
++95
++0
++194
++97
++0
++195
++98
++0
++195
++98
++0
++194
++97
++0
++195
++98
++0
++195
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++195
++98
++0
++196
++98
++0
++196
++98
++0
++195
++98
++0
++195
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++199
++99
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++199
++99
++0
++196
++98
++0
++199
++99
++0
++196
++98
++0
++196
++98
++0
++199
++99
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++199
++99
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++199
++99
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++199
++99
++0
++196
++98
++0
++199
++99
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++199
++99
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++199
++99
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++199
++99
++0
++195
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++195
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++195
++98
++0
++196
++98
++0
++195
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++195
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++195
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++195
++98
++0
++195
++98
++0
++195
++98
++0
++196
++98
++0
++196
++98
++0
++195
++98
++0
++196
++98
++0
++196
++98
++0
++195
++98
++0
++196
++98
++0
++195
++98
++0
++196
++98
++0
++195
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++195
++98
++0
++195
++98
++0
++195
++98
++0
++195
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++195
++98
++0
++195
++98
++0
++195
++98
++0
++195
++98
++0
++196
++98
++0
++196
++98
++0
++195
++98
++0
++195
++98
++0
++195
++98
++0
++196
++98
++0
++195
++98
++0
++194
++97
++0
++195
++98
++0
++196
++98
++0
++195
++98
++0
++195
++98
++0
++195
++98
++0
++195
++98
++0
++194
++97
++0
++194
++97
++0
++195
++98
++0
++194
++97
++0
++195
++98
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++194
++97
++0
++193
++96
++0
++194
++97
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++200
++100
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++200
++100
++0
++199
++99
++0
++199
++99
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++199
++99
++0
++199
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++199
++99
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++203
++101
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++199
++99
++0
++200
++100
++0
++199
++99
++0
++203
++101
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++200
++100
++0
++199
++99
++0
++199
++100
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++200
++100
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++199
++99
++0
++196
++98
++0
++199
++99
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++200
++100
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++203
++101
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++205
++103
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++205
++103
++0
++205
++103
++0
++203
++101
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++203
++101
++0
++205
++103
++0
++205
++103
++0
++203
++101
++0
++205
++103
++0
++205
++103
++0
++203
++101
++0
++205
++103
++0
++205
++103
++0
++203
++101
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++200
++100
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++203
++101
++0
++200
++100
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++200
++100
++0
++203
++101
++0
++200
++100
++0
++203
++101
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++203
++101
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++199
++99
++0
++200
++100
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++206
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++206
++103
++0
++207
++104
++0
++206
++103
++0
++206
++103
++0
++205
++103
++0
++206
++103
++0
++206
++103
++0
++206
++103
++0
++206
++103
++0
++207
++104
++0
++205
++103
++0
++206
++103
++0
++207
++104
++0
++205
++103
++0
++206
++103
++0
++206
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++207
++104
++0
++206
++103
++0
++205
++103
++0
++206
++103
++0
++206
++103
++0
++206
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++207
++104
++0
++207
++104
++0
++206
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++206
++103
++0
++206
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++206
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++205
++103
++0
++203
++101
++0
++203
++101
++0
++203
++101
++0
++205
++103
++0
++206
++103
++0
++208
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++210
++105
++0
++207
++104
++0
++208
++104
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++207
++104
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++208
++104
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++207
++104
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++208
++104
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++207
++104
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++207
++104
++0
++208
++104
++0
++210
++105
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++207
++104
++0
++208
++104
++0
++208
++104
++0
++210
++105
++0
++207
++104
++0
++207
++104
++0
++210
++105
++0
++207
++104
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++208
++104
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++207
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++207
++104
++0
++208
++104
++0
++210
++105
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++207
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++210
++105
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++207
++104
++0
++207
++104
++0
++208
++104
++0
++207
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++207
++104
++0
++210
++105
++0
++208
++104
++0
++207
++104
++0
++207
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++210
++105
++0
++208
++104
++0
++208
++104
++0
++208
++104
++0
++207
++104
++0
++208
++104
++0
++208
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++208
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++208
++104
++0
++208
++104
++0
++206
++103
++0
++208
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++206
++103
++0
++207
++104
++0
++206
++103
++0
++206
++103
++0
++207
++104
++0
++207
++104
++0
++206
++103
++0
++207
++104
++0
++206
++103
++0
++206
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++206
++103
++0
++205
++103
++0
++205
++103
++0
++206
++103
++0
++206
++103
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++211
++106
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++211
++106
++0
++211
++106
++0
++210
++105
++0
++211
++106
++0
++211
++106
++0
++213
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++213
++106
++0
++211
++106
++0
++211
++106
++0
++210
++105
++0
++211
++106
++0
++211
++106
++0
++213
++106
++0
++211
++106
++0
++210
++105
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++213
++106
++0
++210
++105
++0
++213
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++210
++105
++0
++210
++105
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++213
++106
++0
++211
++106
++0
++211
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++211
++106
++0
++213
++106
++0
++213
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++210
++105
++0
++211
++106
++0
++211
++106
++0
++210
++105
++0
++213
++106
++0
++211
++106
++0
++213
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++213
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++213
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++213
++106
++0
++211
++106
++0
++213
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++213
++106
++0
++213
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++213
++106
++0
++210
++105
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++213
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++210
++105
++0
++213
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++213
++106
++0
++210
++105
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++213
++106
++0
++211
++106
++0
++213
++106
++0
++211
++106
++0
++213
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++213
++106
++0
++213
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++213
++106
++0
++210
++105
++0
++213
++106
++0
++211
++106
++0
++211
++106
++0
++210
++105
++0
++210
++105
++0
++211
++106
++0
++213
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++213
++106
++0
++210
++105
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++210
++105
++0
++211
++106
++0
++213
++106
++0
++211
++106
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++213
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++210
++105
++0
++210
++105
++0
++213
++106
++0
++210
++105
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++210
++105
++0
++213
++106
++0
++210
++105
++0
++211
++106
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++210
++105
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++210
++105
++0
++210
++105
++0
++211
++106
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++211
++106
++0
++210
++105
++0
++211
++106
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++210
++105
++0
++208
++104
++0
++210
++105
++0
++208
++104
++0
++207
++104
++0
++208
++104
++0
++210
++105
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++211
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++213
++106
++0
++211
++106
++0
++213
++106
++0
++213
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++211
++106
++0
++213
++106
++0
++210
++105
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++217
++108
++0
++217
++108
++0
++214
++107
++0
++214
++107
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++214
++107
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++214
++107
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++218
++109
++0
++217
++108
++0
++218
++109
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++218
++109
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++214
++107
++0
++217
++108
++0
++214
++107
++0
++217
++108
++0
++217
++108
++0
++214
++107
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++214
++107
++0
++214
++107
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++214
++107
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++217
++108
++0
++214
++107
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++214
++107
++0
++217
++108
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++214
++107
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++214
++107
++0
++217
++108
++0
++217
++108
++0
++214
++107
++0
++214
++107
++0
++217
++108
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++217
++108
++0
++217
++108
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++214
++107
++0
++214
++107
++0
++214
++107
++0
++213
++106
++0
++213
++106
++0
++214
++107
++0
++217
++108
++0
++218
++109
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++218
++109
++0
++217
++108
++0
++217
++108
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++217
++108
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++217
++108
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++217
++108
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++217
++108
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++217
++108
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++217
++108
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++218
++109
++0
++217
++108
++0
++218
++109
++0
++217
++108
++0
++218
++109
++0
++218
++109
++0
++217
++108
++0
++218
++109
++0
++218
++109
++0
++217
++108
++0
++218
++109
++0
++217
++108
++0
++218
++109
++0
++218
++109
++0
++217
++108
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++217
++108
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++217
++108
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++217
++108
++0
++218
++109
++0
++217
++108
++0
++218
++109
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++218
++109
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++217
++108
++0
++214
++107
++0
++218
++109
++0
++219
++110
++0
++218
++109
++0
++218
++109
++0
++219
++110
++0
++219
++110
++0
++218
++109
++0
++219
++110
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++218
++109
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++221
++111
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++221
++111
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++218
++109
++0
++219
++110
++0
++219
++110
++0
++218
++109
++0
++219
++110
++0
++219
++110
++0
++218
++109
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++218
++109
++0
++218
++109
++0
++219
++110
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++219
++110
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++218
++109
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++222
++111
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++221
++111
++0
++222
++111
++0
++222
++111
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++221
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++222
++111
++0
++221
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++221
++111
++0
++222
++111
++0
++222
++111
++0
++221
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++222
++111
++0
++221
++111
++0
++222
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++223
++112
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++219
++110
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++219
++110
++0
++222
++111
++0
++219
++110
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++219
++110
++0
++222
++111
++0
++222
++111
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++219
++110
++0
++222
++111
++0
++222
++111
++0
++221
++111
++0
++219
++110
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++219
++110
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++219
++110
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++219
++110
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++219
++110
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++219
++110
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++219
++110
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++221
++111
++0
++219
++110
++0
++219
++110
++0
++221
++111
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++219
++110
++0
++218
++109
++0
++219
++110
++0
++219
++110
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++223
++112
++0
++222
++111
++0
++222
++111
++0
++223
++112
++0
++222
++111
++0
++222
++111
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++223
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++222
++111
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++223
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++223
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++222
++111
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++222
++111
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++223
++112
++0
++225
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++222
++111
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++222
++111
++0
++222
++111
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++222
++111
++0
++223
++112
++0
++223
++112
++0
++222
++111
++0
++223
++112
++0
++222
++111
++0
++222
++111
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++222
++111
++0
++223
++112
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++222
++111
++0
++222
++111
++0
++223
++112
++0
++221
++111
++0
++223
++112
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++222
++111
++0
++221
++111
++0
++222
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++222
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++221
++111
++0
++223
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++226
++113
++0
++225
++112
++0
++225
++112
++0
++226
++113
++0
++226
++113
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++226
++113
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++226
++113
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++226
++113
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++226
++113
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++223
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++223
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++223
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++222
++111
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++222
++111
++0
++223
++112
++0
++223
++112
++0
++223
++112
++0
++225
++112
++0
++226
++113
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++225
++112
++0
++226
++113
++0
++226
++113
++0
++225
++112
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++225
++112
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++225
++112
++0
++226
++113
++0
++226
++113
++0
++225
++112
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++225
++112
++0
++226
++113
++0
++226
++113
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++226
++113
++0
++225
++112
++0
++226
++113
++0
++226
++113
++0
++225
++112
++0
++226
++113
++0
++225
++112
++0
++225
++112
++0
++226
++113
++0
++225
++112
++0
++226
++113
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++230
++115
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++226
++113
++0
++226
++113
++0
++226
++113
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++229
++114
++0
++229
++114
++0
++230
++115
++0
++229
++114
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++230
++115
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++230
++115
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++229
++114
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++230
++115
++0
++231
++116
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++230
++115
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++231
++116
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++233
++117
++0
++233
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++234
++117
++0
++235
++118
++0
++235
++118
++0
++234
++117
++0
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/video/logo/Makefile linux-2.6.25-m8050/drivers/video/logo/Makefile
+--- linux-git/drivers/video/logo/Makefile 2008-11-10 12:20:29.000000000 +0100
++++ linux-2.6.25-m8050/drivers/video/logo/Makefile 2008-08-13 12:20:14.000000000 +0200
+@@ -13,6 +13,7 @@
+ obj-$(CONFIG_LOGO_SUPERH_VGA16) += logo_superh_vga16.o
+ obj-$(CONFIG_LOGO_SUPERH_CLUT224) += logo_superh_clut224.o
+ obj-$(CONFIG_LOGO_M32R_CLUT224) += logo_m32r_clut224.o
++obj-$(CONFIG_LOGO_M8050_CLUT224) += logo_m8050_clut224.o
+
+ obj-$(CONFIG_SPU_BASE) += logo_spe_clut224.o
+
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/drivers/video/s3c2410fb.c linux-2.6.25-m8050/drivers/video/s3c2410fb.c
+--- linux-git/drivers/video/s3c2410fb.c 2008-11-10 12:20:29.000000000 +0100
++++ linux-2.6.25-m8050/drivers/video/s3c2410fb.c 2008-10-03 16:17:18.000000000 +0200
+@@ -91,8 +91,11 @@
+ #include <asm/mach/map.h>
+ #include <asm/arch/regs-lcd.h>
+ #include <asm/arch/regs-gpio.h>
++#include <asm/arch/regs-gpioj.h>
+ #include <asm/arch/fb.h>
+
++#include <asm/plat-s3c/regs-timer.h>
++
+ #ifdef CONFIG_PM
+ #include <linux/pm.h>
+ #endif
+@@ -456,6 +459,9 @@
+ dprintk("lcdcon[4] = 0x%08lx\n", fbi->regs.lcdcon4);
+ dprintk("lcdcon[5] = 0x%08lx\n", fbi->regs.lcdcon5);
+
++ /* turn off backlight */
++// s3c2410_gpio_setpin(S3C2410_GPB3, 0);
++
+ writel(fbi->regs.lcdcon1 & ~S3C2410_LCDCON1_ENVID,
+ regs + S3C2410_LCDCON1);
+ writel(fbi->regs.lcdcon2, regs + S3C2410_LCDCON2);
+@@ -468,6 +474,9 @@
+
+ fbi->regs.lcdcon1 |= S3C2410_LCDCON1_ENVID,
+ writel(fbi->regs.lcdcon1, regs + S3C2410_LCDCON1);
++ /* turn on backlight */
++// s3c2410_gpio_setpin(S3C2410_GPB3, 1);
++
+ }
+
+ /*
+@@ -1051,6 +1060,10 @@
+
+ msleep(1);
+ clk_disable(info->clk);
++ s3c2410_gpio_setpin(S3C2410_GPC0,0);
++// s3c2410_gpio_setpin(S3C2410_GPC7,1);
++ s3c2410_gpio_setpin(S3C2440_GPJ3,1);
++ s3c2410_gpio_setpin(S3C2440_GPJ0,1);
+
+ return 0;
+ }
+@@ -1065,6 +1078,25 @@
+
+ s3c2410fb_init_registers(fbinfo);
+
++ /*restart the backlight*/
++ s3c2410_gpio_cfgpin(S3C2410_GPC0, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2410_GPC0, 1);
++ s3c2410_gpio_cfgpin(S3C2410_GPB3, S3C2410_GPIO_OUTPUT);
++ s3c2410_gpio_setpin(S3C2410_GPB3, 0);
++ s3c2410_gpio_cfgpin(S3C2410_GPB0, S3C2410_GPB0_TOUT0);
++
++ __raw_writel(0x00000002,S3C2410_TCMPB(0));
++ __raw_writel(0x000002ff,S3C2410_TCFG0);
++ __raw_writel(0x00000000,S3C2410_TCFG1);
++ __raw_writel(0x00000003,S3C2410_TCNTB(0));
++ __raw_writel(0x00080001,S3C2410_TCMPB(0));
++ __raw_writel(0x0050000a,S3C2410_TCON);
++ __raw_writel(0x00500009,S3C2410_TCON);
++
++ s3c2410_gpio_setpin(S3C2410_GPB3, 1);
++
++// s3c2410_gpio_setpin(S3C2410_GPC7, 0);
++
+ return 0;
+ }
+
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/include/asm-arm/arch-s3c2410/keypad.h linux-2.6.25-m8050/include/asm-arm/arch-s3c2410/keypad.h
+--- linux-git/include/asm-arm/arch-s3c2410/keypad.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/include/asm-arm/arch-s3c2410/keypad.h 2008-10-14 12:57:38.000000000 +0200
+@@ -0,0 +1,42 @@
++/*
++ * linux/include/asm-arm/arch-omap/keypad.h
++ *
++ * Copyright (C) 2006 Komal Shah <komal_shah802003@yahoo.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 ASMARM_ARCH_KEYPAD_H
++#define ASMARM_ARCH_KEYPAD_H
++
++struct m8050_kp_platform_data {
++ int rows;
++ int cols;
++ int *keymap;
++ int *keymap_a;
++ int *keymap_b;
++ int *keymap_c;
++ int *keymap_d;
++ unsigned int keymapsize;
++ unsigned int rep:1;
++ unsigned long delay;
++ unsigned int dbounce:1;
++ unsigned int *row_gpios;
++ unsigned int *col_gpios;
++};
++
++/* Group (0..3) -- when multiple keys are pressed, only the
++ * keys pressed in the same group are considered as pressed. This is
++ * in order to workaround certain crappy HW designs that produce ghost
++ * keypresses. */
++#define GROUP_0 (0 << 16)
++#define GROUP_1 (1 << 16)
++#define GROUP_2 (2 << 16)
++#define GROUP_3 (3 << 16)
++#define GROUP_MASK GROUP_3
++
++#define KEY(col, row, val) (((col) << 28) | ((row) << 24) | (val))
++
++#endif
++
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/include/asm-arm/arch-s3c2410/map.h linux-2.6.25-m8050/include/asm-arm/arch-s3c2410/map.h
+--- linux-git/include/asm-arm/arch-s3c2410/map.h 2008-11-10 12:20:29.000000000 +0100
++++ linux-2.6.25-m8050/include/asm-arm/arch-s3c2410/map.h 2008-08-21 12:06:50.000000000 +0200
+@@ -100,6 +100,7 @@
+ #define S3C24XX_SZ_ADC SZ_1M
+
+ /* SPI */
++#define S3C24XX_VA_SPI S3C_VA_SPI
+ #define S3C2410_PA_SPI (0x59000000)
+ #define S3C24XX_SZ_SPI SZ_1M
+
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/include/asm-arm/arch-s3c2410/regs-sdi.h linux-2.6.25-m8050/include/asm-arm/arch-s3c2410/regs-sdi.h
+--- linux-git/include/asm-arm/arch-s3c2410/regs-sdi.h 2008-11-10 12:20:29.000000000 +0100
++++ linux-2.6.25-m8050/include/asm-arm/arch-s3c2410/regs-sdi.h 2008-07-01 13:32:15.000000000 +0200
+@@ -28,9 +28,15 @@
+ #define S3C2410_SDIDCNT (0x30)
+ #define S3C2410_SDIDSTA (0x34)
+ #define S3C2410_SDIFSTA (0x38)
++
+ #define S3C2410_SDIDATA (0x3C)
+ #define S3C2410_SDIIMSK (0x40)
+
++#define S3C2440_SDIDATA (0x40)
++#define S3C2440_SDIIMSK (0x3C)
++
++#define S3C2440_SDICON_SDRESET (1<<8)
++#define S3C2440_SDICON_MMCCLOCK (1<<5)
+ #define S3C2410_SDICON_BYTEORDER (1<<4)
+ #define S3C2410_SDICON_SDIOIRQ (1<<3)
+ #define S3C2410_SDICON_RWAITEN (1<<2)
+@@ -42,7 +48,8 @@
+ #define S3C2410_SDICMDCON_LONGRSP (1<<10)
+ #define S3C2410_SDICMDCON_WAITRSP (1<<9)
+ #define S3C2410_SDICMDCON_CMDSTART (1<<8)
+-#define S3C2410_SDICMDCON_INDEX (0xff)
++#define S3C2410_SDICMDCON_SENDERHOST (1<<6)
++#define S3C2410_SDICMDCON_INDEX (0x3f)
+
+ #define S3C2410_SDICMDSTAT_CRCFAIL (1<<12)
+ #define S3C2410_SDICMDSTAT_CMDSENT (1<<11)
+@@ -51,6 +58,9 @@
+ #define S3C2410_SDICMDSTAT_XFERING (1<<8)
+ #define S3C2410_SDICMDSTAT_INDEX (0xff)
+
++#define S3C2440_SDIDCON_DS_BYTE (0<<22)
++#define S3C2440_SDIDCON_DS_HALFWORD (1<<22)
++#define S3C2440_SDIDCON_DS_WORD (2<<22)
+ #define S3C2410_SDIDCON_IRQPERIOD (1<<21)
+ #define S3C2410_SDIDCON_TXAFTERRESP (1<<20)
+ #define S3C2410_SDIDCON_RXAFTERCMD (1<<19)
+@@ -59,6 +69,7 @@
+ #define S3C2410_SDIDCON_WIDEBUS (1<<16)
+ #define S3C2410_SDIDCON_DMAEN (1<<15)
+ #define S3C2410_SDIDCON_STOP (1<<14)
++#define S3C2440_SDIDCON_DATSTART (1<<14)
+ #define S3C2410_SDIDCON_DATMODE (3<<12)
+ #define S3C2410_SDIDCON_BLKNUM (0x7ff)
+
+@@ -68,6 +79,7 @@
+ #define S3C2410_SDIDCON_XFER_RXSTART (2<<12)
+ #define S3C2410_SDIDCON_XFER_TXSTART (3<<12)
+
++#define S3C2410_SDIDCON_BLKNUM_MASK (0xFFF)
+ #define S3C2410_SDIDCNT_BLKNUM_SHIFT (12)
+
+ #define S3C2410_SDIDSTA_RDYWAITREQ (1<<10)
+@@ -82,10 +94,12 @@
+ #define S3C2410_SDIDSTA_TXDATAON (1<<1)
+ #define S3C2410_SDIDSTA_RXDATAON (1<<0)
+
++#define S3C2440_SDIFSTA_FIFORESET (1<<16)
++#define S3C2440_SDIFSTA_FIFOFAIL (3<<14) /* 3 is correct (2 bits) */
+ #define S3C2410_SDIFSTA_TFDET (1<<13)
+ #define S3C2410_SDIFSTA_RFDET (1<<12)
+-#define S3C2410_SDIFSTA_TXHALF (1<<11)
+-#define S3C2410_SDIFSTA_TXEMPTY (1<<10)
++#define S3C2410_SDIFSTA_TFHALF (1<<11)
++#define S3C2410_SDIFSTA_TFEMPTY (1<<10)
+ #define S3C2410_SDIFSTA_RFLAST (1<<9)
+ #define S3C2410_SDIFSTA_RFFULL (1<<8)
+ #define S3C2410_SDIFSTA_RFHALF (1<<7)
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/include/asm-arm/arch-s3c2410/ts.h linux-2.6.25-m8050/include/asm-arm/arch-s3c2410/ts.h
+--- linux-git/include/asm-arm/arch-s3c2410/ts.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/include/asm-arm/arch-s3c2410/ts.h 2008-05-29 07:57:07.000000000 +0200
+@@ -0,0 +1,28 @@
++/* linux/include/asm/arch-s3c2410/ts.h
++ *
++ * Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org>
++ *
++ *
++ * 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.
++ *
++ *
++ * Changelog:
++ * 24-Mar-2005 RTP Created file
++ * 03-Aug-2005 RTP Renamed to ts.h
++ */
++
++#ifndef __ASM_ARM_TS_H
++#define __ASM_ARM_TS_H
++
++struct s3c2410_ts_mach_info {
++ int delay;
++ int presc;
++ int oversampling_shift;
++};
++
++void __init set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info);
++
++#endif /* __ASM_ARM_TS_H */
++
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/include/asm-arm/plat-s3c/map.h linux-2.6.25-m8050/include/asm-arm/plat-s3c/map.h
+--- linux-git/include/asm-arm/plat-s3c/map.h 2008-11-10 12:20:31.000000000 +0100
++++ linux-2.6.25-m8050/include/asm-arm/plat-s3c/map.h 2008-08-21 12:06:14.000000000 +0200
+@@ -36,5 +36,6 @@
+ #define S3C_VA_TIMER S3C_ADDR(0x00300000) /* timer block */
+ #define S3C_VA_WATCHDOG S3C_ADDR(0x00400000) /* watchdog */
+ #define S3C_VA_UART S3C_ADDR(0x01000000) /* UART */
++#define S3C_VA_SPI S3C_ADDR(0x01100000) /* SPI */
+
+ #endif /* __ASM_PLAT_MAP_H */
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/include/asm-arm/plat-s3c/regs-serial.h linux-2.6.25-m8050/include/asm-arm/plat-s3c/regs-serial.h
+--- linux-git/include/asm-arm/plat-s3c/regs-serial.h 2008-11-10 12:20:31.000000000 +0100
++++ linux-2.6.25-m8050/include/asm-arm/plat-s3c/regs-serial.h 2008-07-17 15:41:40.000000000 +0200
+@@ -214,6 +214,8 @@
+ unsigned long ulcon; /* value of ulcon for port */
+ unsigned long ufcon; /* value of ufcon for port */
+
++ unsigned long ri_pin; /* gpio to use for Ring Indicator */
++
+ struct s3c24xx_uart_clksrc *clocks;
+ unsigned int clocks_size;
+ };
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/include/asm-arm/plat-s3c24xx/devs.h linux-2.6.25-m8050/include/asm-arm/plat-s3c24xx/devs.h
+--- linux-git/include/asm-arm/plat-s3c24xx/devs.h 2008-11-10 12:20:31.000000000 +0100
++++ linux-2.6.25-m8050/include/asm-arm/plat-s3c24xx/devs.h 2008-05-29 07:57:07.000000000 +0200
+@@ -41,6 +41,7 @@
+ extern struct platform_device s3c_device_timer2;
+ extern struct platform_device s3c_device_timer3;
+
++extern struct platform_device s3c_device_ts;
+ extern struct platform_device s3c_device_usbgadget;
+
+ /* s3c2440 specific devices */
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/include/asm-arm/plat-s3c24xx/mci.h linux-2.6.25-m8050/include/asm-arm/plat-s3c24xx/mci.h
+--- linux-git/include/asm-arm/plat-s3c24xx/mci.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/include/asm-arm/plat-s3c24xx/mci.h 2008-07-01 13:32:52.000000000 +0200
+@@ -0,0 +1,15 @@
++#ifndef _ARCH_MCI_H
++#define _ARCH_MCI_H
++
++struct s3c24xx_mci_pdata {
++ unsigned int wprotect_invert : 1;
++ unsigned int detect_invert : 1; /* set => detect active high. */
++
++ unsigned int gpio_detect;
++ unsigned int gpio_wprotect;
++ unsigned long ocr_avail;
++ void (*set_power)(unsigned char power_mode,
++ unsigned short vdd);
++};
++
++#endif /* _ARCH_NCI_H */
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/include/asm-arm/plat-s3c24xx/regs-spi.h linux-2.6.25-m8050/include/asm-arm/plat-s3c24xx/regs-spi.h
+--- linux-git/include/asm-arm/plat-s3c24xx/regs-spi.h 2008-11-10 12:20:31.000000000 +0100
++++ linux-2.6.25-m8050/include/asm-arm/plat-s3c24xx/regs-spi.h 2008-08-21 11:57:05.000000000 +0200
+@@ -15,6 +15,23 @@
+ #define S3C2410_SPI1 (0x20)
+ #define S3C2412_SPI1 (0x100)
+
++#define S3C2410_SPI0REG(x) ((x) + S3C24XX_VA_SPI)
++#define S3C2410_SPI1REG(x) ((x) + S3C24XX_VA_SPI + 0x20)
++
++#define S3C2410_SPI0CON S3C2410_SPI0REG(0x00)
++#define S3C2410_SPI0STA S3C2410_SPI0REG(0x04)
++#define S3C2410_SPI0PIN S3C2410_SPI0REG(0x08)
++#define S3C2410_SPI0PRE S3C2410_SPI0REG(0x0c)
++#define S3C2410_SPI0DTX S3C2410_SPI0REG(0x10)
++#define S3C2410_SPI0DRX S3C2410_SPI0REG(0x14)
++
++#define S3C2410_SPI1CON S3C2410_SPI1REG(0x00)
++#define S3C2410_SPI1STA S3C2410_SPI1REG(0x04)
++#define S3C2410_SPI1PIN S3C2410_SPI1REG(0x08)
++#define S3C2410_SPI1PRE S3C2410_SPI1REG(0x0c)
++#define S3C2410_SPI1DTX S3C2410_SPI1REG(0x10)
++#define S3C2410_SPI1DRX S3C2410_SPI1REG(0x14)
++
+ #define S3C2410_SPCON (0x00)
+
+ #define S3C2412_SPCON_RXFIFO_RB2 (0<<14)
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/include/linux/leds.h linux-2.6.25-m8050/include/linux/leds.h
+--- linux-git/include/linux/leds.h 2008-11-10 12:20:32.000000000 +0100
++++ linux-2.6.25-m8050/include/linux/leds.h 2008-10-10 15:50:40.000000000 +0200
+@@ -123,6 +123,15 @@
+ #define ledtrig_ide_activity() do {} while(0)
+ #endif
+
++/* Trigger specific functions */
++#ifdef CONFIG_LEDS_TRIGGER_EV_LED
++extern void ledtrig_ev_led_activity(void);
++extern void scanner_data(void);
++#else
++#define ledtrig_ev_led_activity() do {} while(0)
++#define scanner_data() do {} while(0)
++#endif
++
+ /* For the leds-gpio driver */
+ struct gpio_led {
+ const char *name;
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/kernel/printk.c linux-2.6.25-m8050/kernel/printk.c
+--- linux-git/kernel/printk.c 2008-11-10 12:20:34.000000000 +0100
++++ linux-2.6.25-m8050/kernel/printk.c 2008-09-30 12:08:46.000000000 +0200
+@@ -42,6 +42,8 @@
+ {
+ }
+
++extern void printascii(const char *);
++
+ #define __LOG_BUF_LEN (1 << CONFIG_LOG_BUF_SHIFT)
+
+ /* printk's without a loglevel use this.. */
+@@ -715,6 +717,8 @@
+ printed_len += vscnprintf(printk_buf + printed_len,
+ sizeof(printk_buf) - printed_len, fmt, args);
+
++// printascii(printk_buf);
++
+ /*
+ * Copy the output into log_buf. If the caller didn't provide
+ * appropriate log level tags, we insert them here
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/m8050-config linux-2.6.25-m8050/m8050-config
+--- linux-git/m8050-config 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/m8050-config 2008-09-12 18:47:50.000000000 +0200
+@@ -0,0 +1,950 @@
++#
++# Automatically generated make config: don't edit
++# Linux kernel version: 2.6.25
++# Fri Sep 12 09:23:16 2008
++#
++CONFIG_ARM=y
++CONFIG_SYS_SUPPORTS_APM_EMULATION=y
++CONFIG_GENERIC_GPIO=y
++# CONFIG_GENERIC_TIME is not set
++# CONFIG_GENERIC_CLOCKEVENTS is not set
++CONFIG_MMU=y
++CONFIG_NO_IOPORT=y
++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_ARCH_SUPPORTS_AOUT=y
++CONFIG_ZONE_DMA=y
++CONFIG_VECTORS_BASE=0xffff0000
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
++
++#
++# General setup
++#
++CONFIG_EXPERIMENTAL=y
++CONFIG_BROKEN_ON_SMP=y
++CONFIG_INIT_ENV_ARG_LIMIT=32
++CONFIG_LOCALVERSION=""
++CONFIG_LOCALVERSION_AUTO=y
++CONFIG_SWAP=y
++CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
++# CONFIG_POSIX_MQUEUE is not set
++# CONFIG_BSD_PROCESS_ACCT is not set
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
++# CONFIG_IKCONFIG is not set
++CONFIG_LOG_BUF_SHIFT=16
++# CONFIG_CGROUPS is not set
++CONFIG_GROUP_SCHED=y
++CONFIG_FAIR_GROUP_SCHED=y
++# CONFIG_RT_GROUP_SCHED is not set
++CONFIG_USER_SCHED=y
++# CONFIG_CGROUP_SCHED is not set
++CONFIG_SYSFS_DEPRECATED=y
++CONFIG_SYSFS_DEPRECATED_V2=y
++# CONFIG_RELAY is not set
++# CONFIG_NAMESPACES 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=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_COMPAT_BRK=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_PROFILING is not set
++# CONFIG_MARKERS is not set
++CONFIG_HAVE_OPROFILE=y
++# CONFIG_KPROBES is not set
++CONFIG_HAVE_KPROBES=y
++CONFIG_HAVE_KRETPROBES=y
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
++# CONFIG_TINY_SHMEM is not set
++CONFIG_BASE_SMALL=0
++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 is not set
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_LSF is not set
++# CONFIG_BLK_DEV_BSG is not set
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++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"
++CONFIG_CLASSIC_RCU=y
++
++#
++# 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_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_MXC is not set
++# CONFIG_ARCH_ORION 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=y
++# CONFIG_ARCH_SHARK is not set
++# CONFIG_ARCH_LH7A40X is not set
++# CONFIG_ARCH_DAVINCI is not set
++# CONFIG_ARCH_OMAP is not set
++# CONFIG_ARCH_MSM7X00A is not set
++CONFIG_PLAT_S3C24XX=y
++CONFIG_CPU_S3C244X=y
++CONFIG_S3C2410_DMA=y
++# CONFIG_S3C2410_DMA_DEBUG is not set
++CONFIG_PLAT_S3C=y
++CONFIG_CPU_LLSERIAL_S3C2440_ONLY=y
++CONFIG_CPU_LLSERIAL_S3C2440=y
++
++#
++# Boot options
++#
++# CONFIG_S3C_BOOT_ERROR_RESET is not set
++
++#
++# Power management
++#
++CONFIG_S3C2410_PM_DEBUG=y
++# CONFIG_S3C2410_PM_CHECK is not set
++CONFIG_S3C_LOWLEVEL_UART_PORT=1
++
++#
++# S3C2400 Machines
++#
++CONFIG_S3C2410_PM=y
++CONFIG_S3C2410_GPIO=y
++CONFIG_S3C2410_CLOCK=y
++
++#
++# S3C2410 Machines
++#
++# CONFIG_ARCH_SMDK2410 is not set
++# CONFIG_ARCH_H1940 is not set
++# CONFIG_MACH_N30 is not set
++# CONFIG_ARCH_BAST is not set
++# CONFIG_MACH_OTOM is not set
++# CONFIG_MACH_AML_M5900 is not set
++# CONFIG_MACH_VR1000 is not set
++# CONFIG_MACH_QT2410 is not set
++
++#
++# S3C2412 Machines
++#
++# CONFIG_MACH_SMDK2413 is not set
++# CONFIG_MACH_SMDK2412 is not set
++# CONFIG_MACH_VSTMS is not set
++CONFIG_CPU_S3C2440=y
++CONFIG_S3C2440_DMA=y
++
++#
++# S3C2440 Machines
++#
++CONFIG_MACH_AML_M8050=y
++# CONFIG_MACH_ANUBIS is not set
++# CONFIG_MACH_OSIRIS is not set
++# CONFIG_MACH_RX3715 is not set
++# CONFIG_ARCH_S3C2440 is not set
++# CONFIG_MACH_NEXCODER_2440 is not set
++
++#
++# S3C2442 Machines
++#
++
++#
++# S3C2443 Machines
++#
++# CONFIG_MACH_SMDK2443 is not set
++
++#
++# 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 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_OUTER_CACHE is not set
++
++#
++# Bus support
++#
++# CONFIG_PCI_SYSCALL is not set
++# CONFIG_ARCH_SUPPORTS_MSI is not set
++# 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=200
++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_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_SPLIT_PTLOCK_CPUS=4096
++# CONFIG_RESOURCES_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=1
++CONFIG_BOUNCE=y
++CONFIG_VIRT_TO_BUS=y
++CONFIG_ALIGNMENT_TRAP=y
++
++#
++# Boot options
++#
++CONFIG_ZBOOT_ROM_TEXT=0x0
++CONFIG_ZBOOT_ROM_BSS=0x0
++CONFIG_CMDLINE="console=ttySAC0 root=/dev/ram0"
++# 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=y
++# CONFIG_BINFMT_MISC is not set
++
++#
++# Power management options
++#
++CONFIG_PM=y
++# CONFIG_PM_LEGACY is not set
++CONFIG_PM_DEBUG=y
++CONFIG_PM_VERBOSE=y
++CONFIG_CAN_PM_TRACE=y
++CONFIG_PM_SLEEP=y
++CONFIG_SUSPEND=y
++CONFIG_SUSPEND_FREEZER=y
++CONFIG_APM_EMULATION=y
++CONFIG_ARCH_SUSPEND_POSSIBLE=y
++
++#
++# Networking
++#
++CONFIG_NET=y
++
++#
++# Networking options
++#
++CONFIG_PACKET=y
++CONFIG_PACKET_MMAP=y
++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 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 is not set
++# CONFIG_INET_XFRM_MODE_TUNNEL is not set
++# CONFIG_INET_XFRM_MODE_BEET is not set
++# CONFIG_INET_LRO 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=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 is not set
++# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
++# CONFIG_INET6_XFRM_MODE_BEET is not set
++# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
++# CONFIG_IPV6_SIT is not set
++# 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
++# CONFIG_NET_SCHED is not set
++
++#
++# Network testing
++#
++# CONFIG_NET_PKTGEN is not set
++# CONFIG_HAMRADIO is not set
++# CONFIG_CAN 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=y
++# CONFIG_MAC80211 is not set
++CONFIG_IEEE80211=y
++# CONFIG_IEEE80211_DEBUG is not set
++# CONFIG_IEEE80211_CRYPT_WEP is not set
++# CONFIG_IEEE80211_CRYPT_CCMP is not set
++# CONFIG_IEEE80211_CRYPT_TKIP is not set
++# CONFIG_IEEE80211_SOFTMAC is not set
++# CONFIG_RFKILL is not set
++# CONFIG_NET_9P is not set
++
++#
++# Device Drivers
++#
++
++#
++# Generic Driver Options
++#
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++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
++# CONFIG_CONNECTOR 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=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
++# CONFIG_MTD_OOPS 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
++
++#
++# 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 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
++CONFIG_MTD_NAND=y
++# CONFIG_MTD_NAND_VERIFY_WRITE is not set
++# CONFIG_MTD_NAND_ECC_SMC is not set
++# CONFIG_MTD_NAND_MUSEUM_IDS is not set
++CONFIG_MTD_NAND_IDS=y
++CONFIG_MTD_NAND_S3C2410=y
++# 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
++# CONFIG_MTD_NAND_PLATFORM is not set
++# CONFIG_MTD_ONENAND is not set
++
++#
++# UBI - Unsorted block images
++#
++# CONFIG_MTD_UBI is not set
++# CONFIG_PARPORT is not set
++CONFIG_BLK_DEV=y
++# 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_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=8
++CONFIG_BLK_DEV_RAM_SIZE=8192
++# CONFIG_BLK_DEV_XIP is not set
++# CONFIG_CDROM_PKTCDVD is not set
++# CONFIG_ATA_OVER_ETH is not set
++CONFIG_MISC_DEVICES=y
++# CONFIG_EEPROM_93CX6 is not set
++# CONFIG_ENCLOSURE_SERVICES is not set
++CONFIG_AML_M8052=y
++CONFIG_HAVE_IDE=y
++# CONFIG_IDE is not set
++
++#
++# SCSI device support
++#
++# CONFIG_RAID_ATTRS is not set
++# CONFIG_SCSI is not set
++# CONFIG_SCSI_DMA is not set
++# CONFIG_SCSI_NETLINK is not set
++# CONFIG_ATA is not set
++# CONFIG_MD is not set
++# CONFIG_NETDEVICES is not set
++# CONFIG_ISDN is not set
++
++#
++# Input device support
++#
++CONFIG_INPUT=y
++# CONFIG_INPUT_FF_MEMLESS is not set
++CONFIG_INPUT_POLLDEV=y
++
++#
++# 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_EVDEV=y
++# CONFIG_INPUT_EVBUG is not set
++CONFIG_INPUT_APMPOWER=y
++
++#
++# 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_M8050=y
++CONFIG_KEYBOARD_GPIO=y
++# CONFIG_INPUT_MOUSE is not set
++# CONFIG_INPUT_JOYSTICK is not set
++# CONFIG_INPUT_TABLET is not set
++CONFIG_INPUT_TOUCHSCREEN=y
++# CONFIG_TOUCHSCREEN_ADS7846 is not set
++# CONFIG_TOUCHSCREEN_FUJITSU is not set
++CONFIG_TOUCHSCREEN_S3C2410=y
++# CONFIG_TOUCHSCREEN_S3C2410_DEBUG 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_INPUT_MISC is not set
++
++#
++# Hardware I/O ports
++#
++CONFIG_SERIO=y
++CONFIG_SERIO_SERPORT=y
++CONFIG_SERIO_LIBPS2=y
++# CONFIG_SERIO_RAW 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=y
++# CONFIG_SERIAL_NONSTANDARD is not set
++# CONFIG_INTELLIHEAD is not set
++
++#
++# Serial drivers
++#
++CONFIG_SERIAL_8250=y
++CONFIG_SERIAL_8250_CONSOLE=y
++CONFIG_SERIAL_8250_NR_UARTS=8
++CONFIG_SERIAL_8250_RUNTIME_UARTS=4
++CONFIG_SERIAL_8250_EXTENDED=y
++CONFIG_SERIAL_8250_MANY_PORTS=y
++CONFIG_SERIAL_8250_SHARE_IRQ=y
++# CONFIG_SERIAL_8250_DETECT_IRQ is not set
++# CONFIG_SERIAL_8250_RSA is not set
++
++#
++# Non-8250 serial port support
++#
++CONFIG_SERIAL_S3C2410=y
++CONFIG_SERIAL_S3C2410_CONSOLE=y
++CONFIG_SERIAL_CORE=y
++CONFIG_SERIAL_CORE_CONSOLE=y
++CONFIG_UNIX98_PTYS=y
++CONFIG_LEGACY_PTYS=y
++CONFIG_LEGACY_PTY_COUNT=256
++# CONFIG_IPMI_HANDLER 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
++# CONFIG_TCG_TPM is not set
++# 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_BITBANG=y
++CONFIG_SPI_S3C24XX=y
++CONFIG_SPI_S3C24XX_GPIO=y
++
++#
++# SPI Protocol Masters
++#
++# CONFIG_SPI_AT25 is not set
++# CONFIG_SPI_SPIDEV is not set
++# CONFIG_SPI_TLE62X0 is not set
++# CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++# CONFIG_HWMON is not set
++# CONFIG_WATCHDOG is not set
++
++#
++# Sonics Silicon Backplane
++#
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
++
++#
++# Multifunction device drivers
++#
++# CONFIG_MFD_SM501 is not set
++# CONFIG_MFD_ASIC3 is not set
++
++#
++# Multimedia devices
++#
++# CONFIG_VIDEO_DEV is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_DAB is not set
++
++#
++# Graphics support
++#
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL 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_CFB_REV_PIXELS_IN_BYTE is not set
++# CONFIG_FB_SYS_FILLRECT is not set
++# CONFIG_FB_SYS_COPYAREA is not set
++# CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_SYS_FOPS is not set
++CONFIG_FB_DEFERRED_IO=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_S3C2410=y
++CONFIG_FB_S3C2410_DEBUG=y
++# CONFIG_FB_VIRTUAL is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++
++#
++# Display device support
++#
++# CONFIG_DISPLAY_SUPPORT is not set
++
++#
++# Console display driver support
++#
++# CONFIG_VGA_CONSOLE is not set
++CONFIG_DUMMY_CONSOLE=y
++CONFIG_FRAMEBUFFER_CONSOLE=y
++# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
++CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
++# CONFIG_FONTS is not set
++CONFIG_FONT_8x8=y
++CONFIG_FONT_8x16=y
++# CONFIG_LOGO is not set
++
++#
++# Sound
++#
++# CONFIG_SOUND is not set
++# CONFIG_HID_SUPPORT is not set
++# CONFIG_USB_SUPPORT is not set
++CONFIG_MMC=y
++# CONFIG_MMC_DEBUG is not set
++# CONFIG_MMC_UNSAFE_RESUME is not set
++
++#
++# MMC/SD Card Drivers
++#
++CONFIG_MMC_BLOCK=y
++CONFIG_MMC_BLOCK_BOUNCE=y
++# CONFIG_SDIO_UART is not set
++
++#
++# MMC/SD Host Controller Drivers
++#
++CONFIG_MMC_SPI=y
++# CONFIG_MMC_S3C is not set
++# CONFIG_NEW_LEDS is not set
++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_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
++# CONFIG_QUOTA is not set
++# 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_MSDOS_FS is not set
++# CONFIG_VFAT_FS is not set
++# 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_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_FS_WBUF_VERIFY is not set
++# CONFIG_JFFS2_SUMMARY is not set
++# CONFIG_JFFS2_FS_XATTR is not set
++# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
++CONFIG_JFFS2_ZLIB=y
++# CONFIG_JFFS2_LZO is not set
++CONFIG_JFFS2_RTIME=y
++# CONFIG_JFFS2_RUBIN is not set
++# CONFIG_CRAMFS is not set
++# CONFIG_VXFS_FS is not set
++# CONFIG_MINIX_FS is not set
++# CONFIG_HPFS_FS is not set
++# CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
++# CONFIG_SYSV_FS is not set
++# CONFIG_UFS_FS is not set
++# CONFIG_NETWORK_FILESYSTEMS is not set
++
++#
++# Partition Types
++#
++# CONFIG_PARTITION_ADVANCED is not set
++CONFIG_MSDOS_PARTITION=y
++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 is not set
++# 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
++# CONFIG_DLM is not set
++
++#
++# Kernel hacking
++#
++# CONFIG_PRINTK_TIME is not set
++CONFIG_ENABLE_WARN_DEPRECATED=y
++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_SCHED_DEBUG=y
++# CONFIG_SCHEDSTATS is not set
++# CONFIG_TIMER_STATS 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=y
++# CONFIG_DEBUG_LOCK_ALLOC is not set
++# CONFIG_PROVE_LOCKING is not set
++# CONFIG_LOCK_STAT 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 is not set
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_LIST is not set
++# CONFIG_DEBUG_SG is not set
++CONFIG_FRAME_POINTER=y
++# CONFIG_BOOT_PRINTK_DELAY is not set
++# CONFIG_RCU_TORTURE_TEST is not set
++# CONFIG_BACKTRACE_SELF_TEST is not set
++# CONFIG_FAULT_INJECTION is not set
++# CONFIG_SAMPLES is not set
++CONFIG_DEBUG_USER=y
++# CONFIG_DEBUG_ERRORS is not set
++# CONFIG_DEBUG_STACK_USAGE is not set
++CONFIG_DEBUG_LL=y
++# CONFIG_DEBUG_ICEDCC is not set
++CONFIG_DEBUG_S3C_PORT=y
++CONFIG_DEBUG_S3C_UART=1
++
++#
++# Security options
++#
++# CONFIG_KEYS is not set
++# CONFIG_SECURITY is not set
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++# 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=y
++CONFIG_CRC32=y
++CONFIG_CRC7=y
++# CONFIG_LIBCRC32C is not set
++CONFIG_ZLIB_INFLATE=y
++CONFIG_ZLIB_DEFLATE=y
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_DMA=y
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/m8050-wireless linux-2.6.25-m8050/m8050-wireless
+--- linux-git/m8050-wireless 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/m8050-wireless 2008-10-31 14:29:36.000000000 +0100
+@@ -0,0 +1,1009 @@
++#
++# Automatically generated make config: don't edit
++# Linux kernel version: 2.6.25
++# Fri Oct 31 08:29:20 2008
++#
++CONFIG_ARM=y
++CONFIG_SYS_SUPPORTS_APM_EMULATION=y
++CONFIG_GENERIC_GPIO=y
++# CONFIG_GENERIC_TIME is not set
++# CONFIG_GENERIC_CLOCKEVENTS is not set
++CONFIG_MMU=y
++CONFIG_NO_IOPORT=y
++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_ARCH_SUPPORTS_AOUT=y
++CONFIG_ZONE_DMA=y
++CONFIG_VECTORS_BASE=0xffff0000
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
++
++#
++# General setup
++#
++CONFIG_EXPERIMENTAL=y
++CONFIG_BROKEN_ON_SMP=y
++CONFIG_INIT_ENV_ARG_LIMIT=32
++CONFIG_LOCALVERSION=""
++CONFIG_LOCALVERSION_AUTO=y
++CONFIG_SWAP=y
++CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
++# CONFIG_POSIX_MQUEUE is not set
++# CONFIG_BSD_PROCESS_ACCT is not set
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
++# CONFIG_IKCONFIG is not set
++CONFIG_LOG_BUF_SHIFT=18
++# CONFIG_CGROUPS is not set
++CONFIG_GROUP_SCHED=y
++CONFIG_FAIR_GROUP_SCHED=y
++# CONFIG_RT_GROUP_SCHED is not set
++CONFIG_USER_SCHED=y
++# CONFIG_CGROUP_SCHED is not set
++CONFIG_SYSFS_DEPRECATED=y
++CONFIG_SYSFS_DEPRECATED_V2=y
++# CONFIG_RELAY is not set
++# CONFIG_NAMESPACES 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=y
++CONFIG_SYSCTL_SYSCALL=y
++CONFIG_KALLSYMS=y
++# CONFIG_KALLSYMS_EXTRA_PASS is not set
++CONFIG_HOTPLUG=y
++CONFIG_PRINTK=y
++# CONFIG_BUG is not set
++CONFIG_ELF_CORE=y
++CONFIG_COMPAT_BRK=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_PROFILING is not set
++# CONFIG_MARKERS is not set
++CONFIG_HAVE_OPROFILE=y
++# CONFIG_KPROBES is not set
++CONFIG_HAVE_KPROBES=y
++CONFIG_HAVE_KRETPROBES=y
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
++# CONFIG_TINY_SHMEM is not set
++CONFIG_BASE_SMALL=0
++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 is not set
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_LSF is not set
++# CONFIG_BLK_DEV_BSG is not set
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++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"
++CONFIG_CLASSIC_RCU=y
++
++#
++# 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_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_MXC is not set
++# CONFIG_ARCH_ORION 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=y
++# CONFIG_ARCH_SHARK is not set
++# CONFIG_ARCH_LH7A40X is not set
++# CONFIG_ARCH_DAVINCI is not set
++# CONFIG_ARCH_OMAP is not set
++# CONFIG_ARCH_MSM7X00A is not set
++CONFIG_PLAT_S3C24XX=y
++CONFIG_CPU_S3C244X=y
++CONFIG_S3C2410_DMA=y
++CONFIG_S3C2410_DMA_DEBUG=y
++CONFIG_PLAT_S3C=y
++CONFIG_CPU_LLSERIAL_S3C2440_ONLY=y
++CONFIG_CPU_LLSERIAL_S3C2440=y
++
++#
++# Boot options
++#
++# CONFIG_S3C_BOOT_ERROR_RESET is not set
++
++#
++# Power management
++#
++CONFIG_S3C_LOWLEVEL_UART_PORT=1
++
++#
++# S3C2400 Machines
++#
++CONFIG_S3C2410_GPIO=y
++CONFIG_S3C2410_CLOCK=y
++
++#
++# S3C2410 Machines
++#
++# CONFIG_ARCH_SMDK2410 is not set
++# CONFIG_ARCH_H1940 is not set
++# CONFIG_MACH_N30 is not set
++# CONFIG_ARCH_BAST is not set
++# CONFIG_MACH_OTOM is not set
++# CONFIG_MACH_AML_M5900 is not set
++# CONFIG_MACH_VR1000 is not set
++# CONFIG_MACH_QT2410 is not set
++
++#
++# S3C2412 Machines
++#
++# CONFIG_MACH_SMDK2413 is not set
++# CONFIG_MACH_SMDK2412 is not set
++# CONFIG_MACH_VSTMS is not set
++CONFIG_CPU_S3C2440=y
++CONFIG_S3C2440_DMA=y
++
++#
++# S3C2440 Machines
++#
++CONFIG_MACH_AML_M8050=y
++# CONFIG_MACH_ANUBIS is not set
++# CONFIG_MACH_OSIRIS is not set
++# CONFIG_MACH_RX3715 is not set
++# CONFIG_ARCH_S3C2440 is not set
++# CONFIG_MACH_NEXCODER_2440 is not set
++
++#
++# S3C2442 Machines
++#
++
++#
++# S3C2443 Machines
++#
++# CONFIG_MACH_SMDK2443 is not set
++
++#
++# 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 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_OUTER_CACHE is not set
++
++#
++# Bus support
++#
++# CONFIG_PCI_SYSCALL is not set
++# CONFIG_ARCH_SUPPORTS_MSI is not set
++# 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=200
++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_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_SPLIT_PTLOCK_CPUS=4096
++# CONFIG_RESOURCES_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=1
++CONFIG_BOUNCE=y
++CONFIG_VIRT_TO_BUS=y
++CONFIG_ALIGNMENT_TRAP=y
++
++#
++# Boot options
++#
++CONFIG_ZBOOT_ROM_TEXT=0x0
++CONFIG_ZBOOT_ROM_BSS=0x0
++CONFIG_CMDLINE="console=ttySAC0 root=/dev/ram0"
++# 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=y
++# CONFIG_BINFMT_MISC is not set
++
++#
++# Power management options
++#
++# CONFIG_PM is not set
++CONFIG_ARCH_SUSPEND_POSSIBLE=y
++
++#
++# Networking
++#
++CONFIG_NET=y
++
++#
++# Networking options
++#
++CONFIG_PACKET=y
++CONFIG_PACKET_MMAP=y
++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 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 is not set
++# CONFIG_INET_XFRM_MODE_TUNNEL is not set
++# CONFIG_INET_XFRM_MODE_BEET is not set
++# CONFIG_INET_LRO 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=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 is not set
++# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
++# CONFIG_INET6_XFRM_MODE_BEET is not set
++# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
++# CONFIG_IPV6_SIT is not set
++# 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
++# CONFIG_NET_SCHED is not set
++
++#
++# Network testing
++#
++# CONFIG_NET_PKTGEN is not set
++# CONFIG_HAMRADIO is not set
++# CONFIG_CAN 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=y
++# CONFIG_MAC80211 is not set
++CONFIG_IEEE80211=y
++# CONFIG_IEEE80211_DEBUG is not set
++# CONFIG_IEEE80211_CRYPT_WEP is not set
++# CONFIG_IEEE80211_CRYPT_CCMP is not set
++# CONFIG_IEEE80211_CRYPT_TKIP is not set
++# CONFIG_IEEE80211_SOFTMAC is not set
++# CONFIG_RFKILL is not set
++# CONFIG_NET_9P is not set
++
++#
++# Device Drivers
++#
++
++#
++# Generic Driver Options
++#
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++CONFIG_FW_LOADER=y
++# CONFIG_SYS_HYPERVISOR is not set
++# CONFIG_CONNECTOR 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=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
++# CONFIG_MTD_OOPS 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
++
++#
++# 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 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
++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_IDS=y
++CONFIG_MTD_NAND_S3C2410=y
++# 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
++# CONFIG_MTD_NAND_PLATFORM is not set
++# CONFIG_MTD_ONENAND is not set
++
++#
++# UBI - Unsorted block images
++#
++# CONFIG_MTD_UBI is not set
++# CONFIG_PARPORT is not set
++CONFIG_BLK_DEV=y
++# 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_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=4
++CONFIG_BLK_DEV_RAM_SIZE=4096
++# CONFIG_BLK_DEV_XIP is not set
++# CONFIG_CDROM_PKTCDVD is not set
++# CONFIG_ATA_OVER_ETH is not set
++# CONFIG_MISC_DEVICES is not set
++CONFIG_HAVE_IDE=y
++# CONFIG_IDE is not set
++
++#
++# SCSI device support
++#
++# CONFIG_RAID_ATTRS is not set
++# CONFIG_SCSI is not set
++# CONFIG_SCSI_DMA is not set
++# CONFIG_SCSI_NETLINK is not set
++# CONFIG_ATA is not set
++# CONFIG_MD is not set
++CONFIG_NETDEVICES=y
++# CONFIG_NETDEVICES_MULTIQUEUE is not set
++# CONFIG_DUMMY is not set
++# CONFIG_BONDING is not set
++# CONFIG_MACVLAN is not set
++# CONFIG_EQUALIZER is not set
++# CONFIG_TUN is not set
++# CONFIG_VETH is not set
++# CONFIG_NET_ETHERNET 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=y
++CONFIG_LIBERTAS=m
++CONFIG_LIBERTAS_SDIO=m
++# CONFIG_LIBERTAS_DEBUG is not set
++# CONFIG_HOSTAP is not set
++# CONFIG_WAN is not set
++# CONFIG_PPP is not set
++# CONFIG_SLIP is not set
++# CONFIG_NETCONSOLE is not set
++# CONFIG_NETPOLL is not set
++# CONFIG_NET_POLL_CONTROLLER is not set
++# CONFIG_ISDN is not set
++
++#
++# Input device support
++#
++CONFIG_INPUT=y
++# CONFIG_INPUT_FF_MEMLESS is not set
++# CONFIG_INPUT_POLLDEV 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_EVDEV=y
++# CONFIG_INPUT_EVBUG is not set
++# CONFIG_INPUT_GENERICLEDS 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_TABLET is not set
++CONFIG_INPUT_TOUCHSCREEN=y
++# CONFIG_TOUCHSCREEN_ADS7846 is not set
++# CONFIG_TOUCHSCREEN_FUJITSU is not set
++CONFIG_TOUCHSCREEN_S3C2410=y
++# CONFIG_TOUCHSCREEN_S3C2410_DEBUG 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_INPUT_MISC is not set
++
++#
++# Hardware I/O ports
++#
++CONFIG_SERIO=y
++CONFIG_SERIO_SERPORT=y
++# CONFIG_SERIO_LIBPS2 is not set
++# CONFIG_SERIO_RAW 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=y
++# CONFIG_SERIAL_NONSTANDARD is not set
++# CONFIG_INTELLIHEAD is not set
++
++#
++# Serial drivers
++#
++# CONFIG_SERIAL_8250 is not set
++
++#
++# Non-8250 serial port support
++#
++CONFIG_SERIAL_S3C2410=y
++CONFIG_SERIAL_S3C2410_CONSOLE=y
++CONFIG_SERIAL_CORE=y
++CONFIG_SERIAL_CORE_CONSOLE=y
++CONFIG_UNIX98_PTYS=y
++CONFIG_LEGACY_PTYS=y
++CONFIG_LEGACY_PTY_COUNT=32
++# CONFIG_IPMI_HANDLER 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
++# CONFIG_TCG_TPM is not set
++CONFIG_I2C=y
++CONFIG_I2C_BOARDINFO=y
++# CONFIG_I2C_CHARDEV is not set
++
++#
++# 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_GPIO is not set
++# CONFIG_I2C_OCORES is not set
++# CONFIG_I2C_PARPORT_LIGHT is not set
++CONFIG_I2C_S3C2410=y
++# CONFIG_I2C_SIMTEC is not set
++# CONFIG_I2C_TAOS_EVM is not set
++# CONFIG_I2C_STUB is not set
++
++#
++# Miscellaneous I2C Chip support
++#
++# CONFIG_DS1682 is not set
++# CONFIG_SENSORS_EEPROM is not set
++# CONFIG_SENSORS_PCF8574 is not set
++# CONFIG_PCF8575 is not set
++# CONFIG_SENSORS_PCF8591 is not set
++# CONFIG_TPS65010 is not set
++# CONFIG_SENSORS_MAX6875 is not set
++# CONFIG_SENSORS_TSL2550 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=y
++CONFIG_SPI_S3C24XX=y
++CONFIG_SPI_S3C24XX_GPIO=y
++
++#
++# SPI Protocol Masters
++#
++# CONFIG_SPI_AT25 is not set
++# CONFIG_SPI_SPIDEV is not set
++# CONFIG_SPI_TLE62X0 is not set
++# CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++# CONFIG_HWMON is not set
++# CONFIG_WATCHDOG is not set
++
++#
++# Sonics Silicon Backplane
++#
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
++
++#
++# Multifunction device drivers
++#
++# CONFIG_MFD_SM501 is not set
++# CONFIG_MFD_ASIC3 is not set
++
++#
++# Multimedia devices
++#
++# CONFIG_VIDEO_DEV is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_DAB is not set
++
++#
++# Graphics support
++#
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL 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_CFB_REV_PIXELS_IN_BYTE is not set
++# CONFIG_FB_SYS_FILLRECT is not set
++# CONFIG_FB_SYS_COPYAREA is not set
++# CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_SYS_FOPS is not set
++CONFIG_FB_DEFERRED_IO=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_S3C2410=y
++# CONFIG_FB_S3C2410_DEBUG is not set
++# CONFIG_FB_VIRTUAL is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++
++#
++# Display device support
++#
++# CONFIG_DISPLAY_SUPPORT is not set
++
++#
++# Console display driver support
++#
++# CONFIG_VGA_CONSOLE is not set
++CONFIG_DUMMY_CONSOLE=y
++CONFIG_FRAMEBUFFER_CONSOLE=y
++# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
++CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
++# CONFIG_FONTS is not set
++CONFIG_FONT_8x8=y
++CONFIG_FONT_8x16=y
++CONFIG_LOGO=y
++# CONFIG_LOGO_LINUX_MONO is not set
++# CONFIG_LOGO_LINUX_VGA16 is not set
++# CONFIG_LOGO_LINUX_CLUT224 is not set
++CONFIG_LOGO_M8050_CLUT224=y
++
++#
++# 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_MIXER_OSS is not set
++# CONFIG_SND_PCM_OSS is not set
++# CONFIG_SND_SEQUENCER_OSS is not set
++# CONFIG_SND_DYNAMIC_MINORS is not set
++# CONFIG_SND_SUPPORT_OLD_API is not set
++# CONFIG_SND_VERBOSE_PROCFS is not set
++# 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
++#
++
++#
++# SPI devices
++#
++
++#
++# System on Chip audio support
++#
++CONFIG_SND_SOC=y
++CONFIG_SND_S3C24XX_SOC=y
++CONFIG_SND_S3C24XX_SOC_I2S=y
++CONFIG_SND_S3C24XX_SOC_M8050_WM8750=y
++# CONFIG_SND_S3C24XX_SOC_LN2440SBC_ALC650 is not set
++
++#
++# SoC Audio support for SuperH
++#
++
++#
++# ALSA SoC audio for Freescale SOCs
++#
++CONFIG_SND_SOC_WM8750=y
++
++#
++# Open Sound System
++#
++# CONFIG_SOUND_PRIME is not set
++# CONFIG_HID_SUPPORT is not set
++# CONFIG_USB_SUPPORT is not set
++CONFIG_MMC=y
++# CONFIG_MMC_DEBUG is not set
++# CONFIG_MMC_UNSAFE_RESUME is not set
++
++#
++# MMC/SD Card Drivers
++#
++CONFIG_MMC_BLOCK=y
++CONFIG_MMC_BLOCK_BOUNCE=y
++# CONFIG_SDIO_UART is not set
++
++#
++# MMC/SD Host Controller Drivers
++#
++CONFIG_MMC_SPI=y
++# CONFIG_MMC_S3C is not set
++# CONFIG_NEW_LEDS is not set
++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_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
++# CONFIG_QUOTA is not set
++# 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_MSDOS_FS is not set
++# CONFIG_VFAT_FS is not set
++# 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_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_FS_WBUF_VERIFY=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_LZO is not set
++CONFIG_JFFS2_RTIME=y
++# CONFIG_JFFS2_RUBIN is not set
++# CONFIG_CRAMFS is not set
++# CONFIG_VXFS_FS is not set
++# CONFIG_MINIX_FS is not set
++# CONFIG_HPFS_FS is not set
++# CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
++# CONFIG_SYSV_FS is not set
++# CONFIG_UFS_FS is not set
++# CONFIG_NETWORK_FILESYSTEMS is not set
++
++#
++# Partition Types
++#
++# CONFIG_PARTITION_ADVANCED is not set
++CONFIG_MSDOS_PARTITION=y
++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 is not set
++# 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
++# CONFIG_DLM is not set
++
++#
++# Kernel hacking
++#
++CONFIG_PRINTK_TIME=y
++# CONFIG_ENABLE_WARN_DEPRECATED 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_FRAME_POINTER=y
++# CONFIG_SAMPLES is not set
++# CONFIG_DEBUG_USER is not set
++CONFIG_DEBUG_S3C_UART=1
++
++#
++# Security options
++#
++# CONFIG_KEYS is not set
++# CONFIG_SECURITY is not set
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++# 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=y
++CONFIG_CRC32=y
++CONFIG_CRC7=y
++# CONFIG_LIBCRC32C is not set
++CONFIG_ZLIB_INFLATE=y
++CONFIG_ZLIB_DEFLATE=y
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_DMA=y
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/MAINTAINERS linux-2.6.25-m8050/MAINTAINERS
+--- linux-git/MAINTAINERS 2008-11-10 12:20:12.000000000 +0100
++++ linux-2.6.25-m8050/MAINTAINERS 2008-07-01 13:32:58.000000000 +0200
+@@ -3419,6 +3419,13 @@
+ W: http://www.ibm.com/developerworks/linux/linux390/
+ S: Supported
+
++S3C24XX SD/MMC Driver
++P: Ben Dooks
++M: ben-linux@fluff.org
++L: linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
++L: linux-kernel@vger.kernel.org
++S: Supported
++
+ SAA7146 VIDEO4LINUX-2 DRIVER
+ P: Michael Hunold
+ M: michael@mihu.de
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/pm-config-base linux-2.6.25-m8050/pm-config-base
+--- linux-git/pm-config-base 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/pm-config-base 2008-07-24 15:40:01.000000000 +0200
+@@ -0,0 +1,1000 @@
++#
++# Automatically generated make config: don't edit
++# Linux kernel version: 2.6.25
++# Thu Jul 24 07:48:15 2008
++#
++CONFIG_ARM=y
++CONFIG_SYS_SUPPORTS_APM_EMULATION=y
++CONFIG_GENERIC_GPIO=y
++# CONFIG_GENERIC_TIME is not set
++# CONFIG_GENERIC_CLOCKEVENTS is not set
++CONFIG_MMU=y
++CONFIG_NO_IOPORT=y
++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_ARCH_SUPPORTS_AOUT=y
++CONFIG_ZONE_DMA=y
++CONFIG_VECTORS_BASE=0xffff0000
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
++
++#
++# General setup
++#
++CONFIG_EXPERIMENTAL=y
++CONFIG_BROKEN_ON_SMP=y
++CONFIG_INIT_ENV_ARG_LIMIT=32
++CONFIG_LOCALVERSION=""
++CONFIG_LOCALVERSION_AUTO=y
++CONFIG_SWAP=y
++CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
++# CONFIG_POSIX_MQUEUE is not set
++# CONFIG_BSD_PROCESS_ACCT is not set
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
++# CONFIG_IKCONFIG is not set
++CONFIG_LOG_BUF_SHIFT=16
++# CONFIG_CGROUPS is not set
++CONFIG_GROUP_SCHED=y
++CONFIG_FAIR_GROUP_SCHED=y
++# CONFIG_RT_GROUP_SCHED is not set
++CONFIG_USER_SCHED=y
++# CONFIG_CGROUP_SCHED is not set
++CONFIG_SYSFS_DEPRECATED=y
++CONFIG_SYSFS_DEPRECATED_V2=y
++# CONFIG_RELAY is not set
++CONFIG_NAMESPACES=y
++# CONFIG_UTS_NS is not set
++# CONFIG_IPC_NS is not set
++# CONFIG_USER_NS is not set
++# CONFIG_PID_NS is not set
++CONFIG_BLK_DEV_INITRD=y
++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_COMPAT_BRK=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_PROFILING is not set
++# CONFIG_MARKERS is not set
++CONFIG_HAVE_OPROFILE=y
++# CONFIG_KPROBES is not set
++CONFIG_HAVE_KPROBES=y
++CONFIG_HAVE_KRETPROBES=y
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
++# CONFIG_TINY_SHMEM is not set
++CONFIG_BASE_SMALL=0
++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 is not set
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_LSF is not set
++# CONFIG_BLK_DEV_BSG is not set
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++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"
++CONFIG_CLASSIC_RCU=y
++
++#
++# 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_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_MXC is not set
++# CONFIG_ARCH_ORION 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=y
++# CONFIG_ARCH_SHARK is not set
++# CONFIG_ARCH_LH7A40X is not set
++# CONFIG_ARCH_DAVINCI is not set
++# CONFIG_ARCH_OMAP is not set
++# CONFIG_ARCH_MSM7X00A is not set
++CONFIG_PLAT_S3C24XX=y
++CONFIG_CPU_S3C244X=y
++CONFIG_S3C2410_DMA=y
++# CONFIG_S3C2410_DMA_DEBUG is not set
++CONFIG_PLAT_S3C=y
++CONFIG_CPU_LLSERIAL_S3C2440_ONLY=y
++CONFIG_CPU_LLSERIAL_S3C2440=y
++
++#
++# Boot options
++#
++# CONFIG_S3C_BOOT_ERROR_RESET is not set
++
++#
++# Power management
++#
++CONFIG_S3C2410_PM_DEBUG=y
++# CONFIG_S3C2410_PM_CHECK is not set
++CONFIG_S3C_LOWLEVEL_UART_PORT=1
++
++#
++# S3C2400 Machines
++#
++CONFIG_S3C2410_PM=y
++CONFIG_S3C2410_GPIO=y
++CONFIG_S3C2410_CLOCK=y
++
++#
++# S3C2410 Machines
++#
++# CONFIG_ARCH_SMDK2410 is not set
++# CONFIG_ARCH_H1940 is not set
++# CONFIG_MACH_N30 is not set
++# CONFIG_ARCH_BAST is not set
++# CONFIG_MACH_OTOM is not set
++# CONFIG_MACH_AML_M5900 is not set
++# CONFIG_MACH_VR1000 is not set
++# CONFIG_MACH_QT2410 is not set
++
++#
++# S3C2412 Machines
++#
++# CONFIG_MACH_SMDK2413 is not set
++# CONFIG_MACH_SMDK2412 is not set
++# CONFIG_MACH_VSTMS is not set
++CONFIG_CPU_S3C2440=y
++CONFIG_S3C2440_DMA=y
++
++#
++# S3C2440 Machines
++#
++CONFIG_MACH_AML_M8050=y
++# CONFIG_MACH_ANUBIS is not set
++# CONFIG_MACH_OSIRIS is not set
++# CONFIG_MACH_RX3715 is not set
++# CONFIG_ARCH_S3C2440 is not set
++# CONFIG_MACH_NEXCODER_2440 is not set
++
++#
++# S3C2442 Machines
++#
++
++#
++# S3C2443 Machines
++#
++# CONFIG_MACH_SMDK2443 is not set
++
++#
++# 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 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_OUTER_CACHE is not set
++
++#
++# Bus support
++#
++# CONFIG_PCI_SYSCALL is not set
++# CONFIG_ARCH_SUPPORTS_MSI is not set
++# 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=200
++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_SPARSEMEM_VMEMMAP_ENABLE is not set
++CONFIG_SPLIT_PTLOCK_CPUS=4096
++# CONFIG_RESOURCES_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=1
++CONFIG_BOUNCE=y
++CONFIG_VIRT_TO_BUS=y
++CONFIG_ALIGNMENT_TRAP=y
++
++#
++# Boot options
++#
++CONFIG_ZBOOT_ROM_TEXT=0x0
++CONFIG_ZBOOT_ROM_BSS=0x0
++CONFIG_CMDLINE="console=ttySAC0 root=/dev/ram0"
++# 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=y
++# CONFIG_BINFMT_MISC is not set
++
++#
++# Power management options
++#
++CONFIG_PM=y
++# CONFIG_PM_LEGACY is not set
++CONFIG_PM_DEBUG=y
++CONFIG_PM_VERBOSE=y
++CONFIG_CAN_PM_TRACE=y
++CONFIG_PM_SLEEP=y
++CONFIG_SUSPEND=y
++CONFIG_SUSPEND_FREEZER=y
++# CONFIG_APM_EMULATION is not set
++CONFIG_ARCH_SUSPEND_POSSIBLE=y
++
++#
++# Networking
++#
++CONFIG_NET=y
++
++#
++# Networking options
++#
++CONFIG_PACKET=y
++CONFIG_PACKET_MMAP=y
++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 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 is not set
++# CONFIG_INET_XFRM_MODE_TUNNEL is not set
++# CONFIG_INET_XFRM_MODE_BEET is not set
++# CONFIG_INET_LRO 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=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 is not set
++# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
++# CONFIG_INET6_XFRM_MODE_BEET is not set
++# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
++# CONFIG_IPV6_SIT is not set
++# 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
++# CONFIG_NET_SCHED is not set
++
++#
++# Network testing
++#
++# CONFIG_NET_PKTGEN is not set
++# CONFIG_HAMRADIO is not set
++# CONFIG_CAN 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=y
++# CONFIG_MAC80211 is not set
++CONFIG_IEEE80211=y
++# CONFIG_IEEE80211_DEBUG is not set
++# CONFIG_IEEE80211_CRYPT_WEP is not set
++# CONFIG_IEEE80211_CRYPT_CCMP is not set
++# CONFIG_IEEE80211_CRYPT_TKIP is not set
++# CONFIG_IEEE80211_SOFTMAC is not set
++# CONFIG_RFKILL is not set
++# CONFIG_NET_9P is not set
++
++#
++# Device Drivers
++#
++
++#
++# Generic Driver Options
++#
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++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
++# CONFIG_CONNECTOR 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=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
++# CONFIG_MTD_OOPS 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
++
++#
++# 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 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
++CONFIG_MTD_NAND=y
++# CONFIG_MTD_NAND_VERIFY_WRITE is not set
++# CONFIG_MTD_NAND_ECC_SMC is not set
++# CONFIG_MTD_NAND_MUSEUM_IDS is not set
++CONFIG_MTD_NAND_IDS=y
++CONFIG_MTD_NAND_S3C2410=y
++# 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
++# CONFIG_MTD_NAND_PLATFORM is not set
++# CONFIG_MTD_ONENAND is not set
++
++#
++# UBI - Unsorted block images
++#
++# CONFIG_MTD_UBI is not set
++# CONFIG_PARPORT is not set
++CONFIG_BLK_DEV=y
++# 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_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=8
++CONFIG_BLK_DEV_RAM_SIZE=8192
++# CONFIG_BLK_DEV_XIP is not set
++# CONFIG_CDROM_PKTCDVD is not set
++# CONFIG_ATA_OVER_ETH is not set
++# CONFIG_MISC_DEVICES is not set
++CONFIG_HAVE_IDE=y
++# CONFIG_IDE is not set
++
++#
++# SCSI device support
++#
++# CONFIG_RAID_ATTRS is not set
++# CONFIG_SCSI is not set
++# CONFIG_SCSI_DMA is not set
++# CONFIG_SCSI_NETLINK is not set
++# CONFIG_ATA is not set
++# CONFIG_MD is not set
++CONFIG_NETDEVICES=y
++# CONFIG_NETDEVICES_MULTIQUEUE is not set
++# CONFIG_DUMMY is not set
++# CONFIG_BONDING is not set
++# CONFIG_MACVLAN is not set
++# CONFIG_EQUALIZER is not set
++# CONFIG_TUN is not set
++# CONFIG_VETH is not set
++# CONFIG_NET_ETHERNET 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=y
++CONFIG_LIBERTAS=m
++CONFIG_LIBERTAS_SDIO=m
++CONFIG_LIBERTAS_DEBUG=y
++# CONFIG_HOSTAP is not set
++# CONFIG_WAN is not set
++# CONFIG_PPP is not set
++# CONFIG_SLIP is not set
++# CONFIG_NETCONSOLE is not set
++# CONFIG_NETPOLL is not set
++# CONFIG_NET_POLL_CONTROLLER is not set
++# CONFIG_ISDN is not set
++
++#
++# Input device support
++#
++CONFIG_INPUT=y
++# CONFIG_INPUT_FF_MEMLESS is not set
++CONFIG_INPUT_POLLDEV=y
++
++#
++# 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_EVDEV=y
++# CONFIG_INPUT_EVBUG is not set
++
++#
++# Input Device Drivers
++#
++CONFIG_INPUT_KEYBOARD=y
++CONFIG_KEYBOARD_ATKBD=y
++# 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_M8050=y
++CONFIG_KEYBOARD_GPIO=y
++CONFIG_INPUT_MOUSE=y
++# CONFIG_MOUSE_PS2 is not set
++# CONFIG_MOUSE_SERIAL is not set
++# CONFIG_MOUSE_VSXXXAA is not set
++CONFIG_MOUSE_GPIO=y
++# CONFIG_INPUT_JOYSTICK is not set
++# CONFIG_INPUT_TABLET is not set
++CONFIG_INPUT_TOUCHSCREEN=y
++# CONFIG_TOUCHSCREEN_ADS7846 is not set
++# CONFIG_TOUCHSCREEN_FUJITSU is not set
++CONFIG_TOUCHSCREEN_S3C2410=y
++# CONFIG_TOUCHSCREEN_S3C2410_DEBUG 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_INPUT_MISC is not set
++
++#
++# Hardware I/O ports
++#
++CONFIG_SERIO=y
++CONFIG_SERIO_SERPORT=y
++CONFIG_SERIO_LIBPS2=y
++# CONFIG_SERIO_RAW 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=y
++CONFIG_SERIAL_NONSTANDARD=y
++# CONFIG_N_HDLC is not set
++# CONFIG_RISCOM8 is not set
++# CONFIG_SPECIALIX is not set
++# CONFIG_RIO is not set
++# CONFIG_STALDRV is not set
++CONFIG_INTELLIHEAD=m
++
++#
++# Serial drivers
++#
++CONFIG_SERIAL_8250=y
++CONFIG_SERIAL_8250_CONSOLE=y
++CONFIG_SERIAL_8250_NR_UARTS=8
++CONFIG_SERIAL_8250_RUNTIME_UARTS=4
++CONFIG_SERIAL_8250_EXTENDED=y
++CONFIG_SERIAL_8250_MANY_PORTS=y
++CONFIG_SERIAL_8250_SHARE_IRQ=y
++# CONFIG_SERIAL_8250_DETECT_IRQ is not set
++# CONFIG_SERIAL_8250_RSA is not set
++
++#
++# Non-8250 serial port support
++#
++CONFIG_SERIAL_S3C2410=y
++CONFIG_SERIAL_S3C2410_CONSOLE=y
++CONFIG_SERIAL_CORE=y
++CONFIG_SERIAL_CORE_CONSOLE=y
++CONFIG_UNIX98_PTYS=y
++CONFIG_LEGACY_PTYS=y
++CONFIG_LEGACY_PTY_COUNT=256
++# CONFIG_IPMI_HANDLER is not set
++CONFIG_HW_RANDOM=y
++# CONFIG_NVRAM is not set
++# CONFIG_R3964 is not set
++# CONFIG_RAW_DRIVER is not set
++# CONFIG_TCG_TPM is not set
++# 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_BITBANG=y
++CONFIG_SPI_S3C24XX=y
++CONFIG_SPI_S3C24XX_GPIO=y
++
++#
++# SPI Protocol Masters
++#
++# CONFIG_SPI_AT25 is not set
++# CONFIG_SPI_SPIDEV is not set
++# CONFIG_SPI_TLE62X0 is not set
++# CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++# CONFIG_HWMON is not set
++# CONFIG_WATCHDOG is not set
++
++#
++# Sonics Silicon Backplane
++#
++CONFIG_SSB_POSSIBLE=y
++# CONFIG_SSB is not set
++
++#
++# Multifunction device drivers
++#
++# CONFIG_MFD_SM501 is not set
++# CONFIG_MFD_ASIC3 is not set
++
++#
++# Multimedia devices
++#
++# CONFIG_VIDEO_DEV is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_DAB is not set
++
++#
++# Graphics support
++#
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL 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_CFB_REV_PIXELS_IN_BYTE is not set
++# CONFIG_FB_SYS_FILLRECT is not set
++# CONFIG_FB_SYS_COPYAREA is not set
++# CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_SYS_FOPS is not set
++CONFIG_FB_DEFERRED_IO=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_S3C2410=y
++CONFIG_FB_S3C2410_DEBUG=y
++# CONFIG_FB_VIRTUAL is not set
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++
++#
++# Display device support
++#
++CONFIG_DISPLAY_SUPPORT=y
++
++#
++# Display hardware drivers
++#
++
++#
++# Console display driver support
++#
++# CONFIG_VGA_CONSOLE is not set
++CONFIG_DUMMY_CONSOLE=y
++CONFIG_FRAMEBUFFER_CONSOLE=y
++# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
++CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
++CONFIG_FONTS=y
++CONFIG_FONT_8x8=y
++# 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 is not set
++# CONFIG_FONT_SUN8x16 is not set
++# CONFIG_FONT_SUN12x22 is not set
++# CONFIG_FONT_10x18 is not set
++CONFIG_LOGO=y
++# CONFIG_LOGO_LINUX_MONO is not set
++CONFIG_LOGO_LINUX_VGA16=y
++# CONFIG_LOGO_LINUX_CLUT224 is not set
++
++#
++# Sound
++#
++# CONFIG_SOUND is not set
++# CONFIG_HID_SUPPORT is not set
++# CONFIG_USB_SUPPORT is not set
++CONFIG_MMC=y
++# CONFIG_MMC_DEBUG is not set
++CONFIG_MMC_UNSAFE_RESUME=y
++
++#
++# MMC/SD Card Drivers
++#
++CONFIG_MMC_BLOCK=y
++CONFIG_MMC_BLOCK_BOUNCE=y
++# CONFIG_SDIO_UART is not set
++
++#
++# MMC/SD Host Controller Drivers
++#
++CONFIG_MMC_SPI=y
++CONFIG_MMC_S3C=m
++# CONFIG_NEW_LEDS is not set
++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_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
++# CONFIG_QUOTA is not set
++# 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_MSDOS_FS is not set
++# CONFIG_VFAT_FS is not set
++# 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_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_FS_WBUF_VERIFY is not set
++# CONFIG_JFFS2_SUMMARY is not set
++# CONFIG_JFFS2_FS_XATTR is not set
++# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
++CONFIG_JFFS2_ZLIB=y
++# CONFIG_JFFS2_LZO is not set
++CONFIG_JFFS2_RTIME=y
++# CONFIG_JFFS2_RUBIN is not set
++# CONFIG_CRAMFS is not set
++# CONFIG_VXFS_FS is not set
++# CONFIG_MINIX_FS is not set
++# CONFIG_HPFS_FS is not set
++# CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
++# CONFIG_SYSV_FS is not set
++# CONFIG_UFS_FS is not set
++# CONFIG_NETWORK_FILESYSTEMS is not set
++
++#
++# Partition Types
++#
++# CONFIG_PARTITION_ADVANCED is not set
++CONFIG_MSDOS_PARTITION=y
++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 is not set
++# 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
++# CONFIG_DLM is not set
++
++#
++# Kernel hacking
++#
++# CONFIG_PRINTK_TIME is not set
++CONFIG_ENABLE_WARN_DEPRECATED=y
++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_SCHED_DEBUG=y
++# CONFIG_SCHEDSTATS is not set
++# CONFIG_TIMER_STATS 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=y
++# CONFIG_DEBUG_LOCK_ALLOC is not set
++# CONFIG_PROVE_LOCKING is not set
++# CONFIG_LOCK_STAT 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_DEBUG_SG is not set
++CONFIG_FRAME_POINTER=y
++# CONFIG_BOOT_PRINTK_DELAY is not set
++# CONFIG_RCU_TORTURE_TEST is not set
++# CONFIG_BACKTRACE_SELF_TEST is not set
++# CONFIG_FAULT_INJECTION is not set
++# CONFIG_SAMPLES is not set
++CONFIG_DEBUG_USER=y
++# CONFIG_DEBUG_ERRORS is not set
++# CONFIG_DEBUG_STACK_USAGE is not set
++CONFIG_DEBUG_LL=y
++# CONFIG_DEBUG_ICEDCC is not set
++# CONFIG_DEBUG_S3C_PORT is not set
++CONFIG_DEBUG_S3C_UART=1
++
++#
++# Security options
++#
++# CONFIG_KEYS is not set
++# CONFIG_SECURITY is not set
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++# 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=y
++CONFIG_CRC32=y
++CONFIG_CRC7=y
++# CONFIG_LIBCRC32C is not set
++CONFIG_ZLIB_INFLATE=y
++CONFIG_ZLIB_DEFLATE=y
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_DMA=y
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/scripts/aml_logo.c linux-2.6.25-m8050/scripts/aml_logo.c
+--- linux-git/scripts/aml_logo.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/scripts/aml_logo.c 2008-08-13 12:17:31.000000000 +0200
+@@ -0,0 +1,6442 @@
++/*
++ * DO NOT EDIT THIS FILE!
++ *
++ * It was automatically generated from System_boot-aml.ppm
++ *
++ * Linux logo linux_logo
++ */
++
++#include <linux/linux_logo.h>
++
++static unsigned char linux_logo_data[] __initdata = {
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x21, 0x21, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20,
++ 0x20, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20,
++ 0x20, 0x21, 0x20, 0x20, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x21, 0x21, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x21, 0x21, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x22,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x21, 0x21, 0x20, 0x20, 0x20,
++ 0x20, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43, 0x43,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x45,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b, 0x4b,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d, 0x4d,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58, 0x58,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59, 0x59,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d, 0x5d,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e, 0x5e,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62,
++ 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62, 0x62
++};
++
++static unsigned char linux_logo_clut[] __initdata = {
++ 0x00, 0x00, 0x00, 0xc4, 0x62, 0x00, 0x02, 0x02, 0x02, 0x04, 0x02, 0x00,
++ 0x08, 0x04, 0x00, 0x0c, 0x06, 0x00, 0x0f, 0x08, 0x00, 0x13, 0x0a, 0x00,
++ 0x16, 0x0a, 0x00, 0x1a, 0x0c, 0x00, 0x1e, 0x0e, 0x00, 0x21, 0x10, 0x00,
++ 0x25, 0x12, 0x00, 0x28, 0x14, 0x00, 0x2c, 0x16, 0x00, 0x30, 0x18, 0x00,
++ 0x33, 0x1a, 0x00, 0x37, 0x1c, 0x00, 0x3a, 0x1d, 0x00, 0x3e, 0x1e, 0x00,
++ 0x42, 0x20, 0x00, 0x45, 0x22, 0x00, 0x49, 0x24, 0x00, 0x4c, 0x26, 0x00,
++ 0x50, 0x28, 0x00, 0x54, 0x2a, 0x00, 0x57, 0x2c, 0x00, 0x5b, 0x2e, 0x00,
++ 0x5e, 0x2f, 0x00, 0x62, 0x30, 0x00, 0x66, 0x32, 0x00, 0x6a, 0x34, 0x00,
++ 0x6d, 0x36, 0x00, 0x71, 0x38, 0x00, 0x74, 0x3a, 0x00, 0x78, 0x3c, 0x00,
++ 0x7c, 0x3e, 0x00, 0x7f, 0x40, 0x00, 0x83, 0x42, 0x00, 0x86, 0x42, 0x00,
++ 0x8a, 0x44, 0x00, 0x8e, 0x46, 0x00, 0x91, 0x48, 0x00, 0x95, 0x4a, 0x00,
++ 0x98, 0x4c, 0x00, 0x9c, 0x4e, 0x00, 0xa0, 0x50, 0x00, 0xa3, 0x52, 0x00,
++ 0xa7, 0x54, 0x00, 0xaa, 0x55, 0x00, 0xae, 0x56, 0x00, 0xb2, 0x58, 0x00,
++ 0xb5, 0x5a, 0x00, 0xb9, 0x5c, 0x00, 0xbd, 0x5e, 0x00, 0xc0, 0x60, 0x00,
++ 0xc8, 0x64, 0x00, 0xcb, 0x66, 0x00, 0xcf, 0x68, 0x00, 0xd2, 0x68, 0x00,
++ 0xd6, 0x6a, 0x00, 0xda, 0x6c, 0x00, 0xdd, 0x6e, 0x00, 0xe1, 0x70, 0x00,
++ 0xe4, 0x72, 0x00, 0xe8, 0x74, 0x00, 0xec, 0x76, 0x00
++};
++
++struct linux_logo linux_logo __initdata = {
++ .type = LINUX_LOGO_CLUT224,
++ .width = 240,
++ .height = 320,
++ .clutsize = 67,
++ .clut = linux_logo_clut,
++ .data = linux_logo_data
++};
++
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/scripts/System_boot-aml.ppm linux-2.6.25-m8050/scripts/System_boot-aml.ppm
+--- linux-git/scripts/System_boot-aml.ppm 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/scripts/System_boot-aml.ppm 2008-08-13 12:17:24.000000000 +0200
+@@ -0,0 +1,230404 @@
++P3
++# CREATOR: The GIMP's PNM Filter Version 1.0
++240 320
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++2
++2
++2
++2
++2
++2
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++4
++2
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++8
++4
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++12
++6
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++15
++8
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++19
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++22
++10
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++26
++12
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++30
++14
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++33
++16
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++37
++18
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++40
++20
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++44
++22
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++48
++24
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++51
++26
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++55
++28
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++58
++29
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++62
++30
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++66
++32
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++69
++34
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++73
++36
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++76
++38
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++80
++40
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++84
++42
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++87
++44
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++91
++46
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++94
++47
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++98
++48
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++102
++50
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++106
++52
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++109
++54
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++113
++56
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++116
++58
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++120
++60
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++124
++62
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++127
++64
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++131
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++134
++66
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++138
++68
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++142
++70
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++145
++72
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++149
++74
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++152
++76
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++156
++78
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++160
++80
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++163
++82
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++167
++84
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++170
++85
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++174
++86
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++178
++88
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++181
++90
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++185
++92
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++189
++94
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++192
++96
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++196
++98
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++200
++100
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++203
++102
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++207
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++210
++104
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++214
++106
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++218
++108
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++221
++110
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++225
++112
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++228
++114
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++232
++116
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
++236
++118
++0
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/sound/soc/codecs/wm8750.c linux-2.6.25-m8050/sound/soc/codecs/wm8750.c
+--- linux-git/sound/soc/codecs/wm8750.c 2008-11-10 12:20:38.000000000 +0100
++++ linux-2.6.25-m8050/sound/soc/codecs/wm8750.c 2008-10-27 15:38:27.000000000 +0100
+@@ -110,6 +110,7 @@
+ data[0] = (reg << 1) | ((value >> 8) & 0x0001);
+ data[1] = value & 0x00ff;
+
++// printk("WM8750: writing 0x%x to register 0x%x\n",value,reg);
+ wm8750_write_reg_cache (codec, reg, value);
+ if (codec->hw_write(codec->control_data, data, 2) == 2)
+ return 0;
+@@ -520,7 +521,7 @@
+ {12000000, 16000, 750, 0xa, 0x1},
+
+ /* 22.05k */
+- {11289600, 22050, 512, 0x1a, 0x0},
++ {11289600, 22050, 256, 0x1a, 0x0},
+ {16934400, 22050, 768, 0x1b, 0x0},
+ {12000000, 22050, 544, 0x1b, 0x1},
+
+@@ -636,6 +637,7 @@
+ return -EINVAL;
+ }
+
++ printk("writing to IFACE: 0x%x\n",iface);
+ wm8750_write(codec, WM8750_IFACE, iface);
+ return 0;
+ }
+@@ -654,20 +656,29 @@
+ /* bit size */
+ switch (params_format(params)) {
+ case SNDRV_PCM_FORMAT_S16_LE:
++ printk("PCM FORMAT S16_LE!\n");
+ break;
+ case SNDRV_PCM_FORMAT_S20_3LE:
++ printk("PCM FORMAT S20_LE!\n");
+ iface |= 0x0004;
+ break;
+ case SNDRV_PCM_FORMAT_S24_LE:
++ printk("PCM FORMAT S24_LE!\n");
+ iface |= 0x0008;
+ break;
+ case SNDRV_PCM_FORMAT_S32_LE:
++ printk("PCM FORMAT S32_LE!\n");
+ iface |= 0x000c;
+ break;
+ }
+
+ /* set iface & srate */
+ wm8750_write(codec, WM8750_IFACE, iface);
++ printk("iface=0x%x\n",iface);
++ printk("coeff=%d\n",coeff);
++ printk("coeff_div=0x%x\n",coeff_div[coeff].sr);
++ printk("coeff_div=0x%x\n",coeff_div[coeff].usb);
++
+ if (coeff >= 0)
+ wm8750_write(codec, WM8750_SRATE, srate |
+ (coeff_div[coeff].sr << 1) | coeff_div[coeff].usb);
+@@ -680,10 +691,14 @@
+ struct snd_soc_codec *codec = dai->codec;
+ u16 mute_reg = wm8750_read_reg_cache(codec, WM8750_ADCDAC) & 0xfff7;
+
+- if (mute)
++ if (mute){
+ wm8750_write(codec, WM8750_ADCDAC, mute_reg | 0x8);
+- else
++ printk("mute on!\n");
++ }
++ else {
+ wm8750_write(codec, WM8750_ADCDAC, mute_reg);
++ printk("mute off!\n");
++ }
+ return 0;
+ }
+
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/sound/soc/s3c24xx/Kconfig linux-2.6.25-m8050/sound/soc/s3c24xx/Kconfig
+--- linux-git/sound/soc/s3c24xx/Kconfig 2008-11-10 12:20:38.000000000 +0100
++++ linux-2.6.25-m8050/sound/soc/s3c24xx/Kconfig 2008-05-19 09:34:46.000000000 +0200
+@@ -28,6 +28,15 @@
+ Say Y if you want to add support for SoC audio on smdk2440
+ with the WM8753.
+
++config SND_S3C24XX_SOC_M8050_WM8750
++ tristate "SoC I2S Audio support for M8050 - WM8750"
++ depends on SND_S3C24XX_SOC && MACH_AML_M8050
++ select SND_S3C24XX_SOC_I2S
++ select SND_SOC_WM8750
++ help
++ Say Y if you want to add support for SoC audio on AML M8050
++ with the WM8750.
++
+ config SND_S3C24XX_SOC_SMDK2443_WM9710
+ tristate "SoC AC97 Audio support for SMDK2443 - WM9710"
+ depends on SND_S3C24XX_SOC && MACH_SMDK2443
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/sound/soc/s3c24xx/m8050_wm8750.c linux-2.6.25-m8050/sound/soc/s3c24xx/m8050_wm8750.c
+--- linux-git/sound/soc/s3c24xx/m8050_wm8750.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/sound/soc/s3c24xx/m8050_wm8750.c 2008-10-22 11:53:25.000000000 +0200
+@@ -0,0 +1,297 @@
++/* sound/soc/s3c24xx/m8050_wm8750.c
++ *
++ * Based on sound/soc/s3c24xx/jive_wm8750.c
++ * Copyright 2007 Simtec Electronics
++ * Author: Ben Dooks
++ *
++ * Based on sound/soc/pxa/spitz.c
++ * Copyright 2005 Wolfson Microelectronics PLC.
++ * Copyright 2005 Openedhand Ltd.
++ *
++ * 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 <linux/clk.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/plat-s3c24xx/regs-iis.h>
++
++#include "s3c24xx-pcm.h"
++#include "s3c24xx-i2s.h"
++
++#include "../codecs/wm8750.h"
++
++static const char *audio_map[][2] = {
++ [0] = { "Internal Speaker", "LOUT2" },
++ [1] = { "Internal Speaker", "ROUT2" },
++ [2] = { NULL, NULL },
++
++/*
++ [0] = { "Headphone Jack", "LOUT1" },
++ [1] = { "Headphone Jack", "ROUT1" },
++ [2] = { "Internal Speaker", "LOUT2" },
++ [3] = { "Internal Speaker", "ROUT2" },
++ [4] = { "LINPUT1", "Line Input" },
++ [5] = { "RINPUT1", "Line Input" },
++ [6] = { NULL, NULL },
++*/
++};
++
++static const struct snd_soc_dapm_widget wm8750_dapm_widgets[] = {
++// SND_SOC_DAPM_HP("Headphone Jack", NULL),
++ SND_SOC_DAPM_SPK("Internal Speaker", NULL),
++// SND_SOC_DAPM_LINE("Line In", NULL),
++};
++
++static int m8050_startup(struct snd_pcm_substream *substream)
++{
++ struct snd_soc_pcm_runtime *rtd = substream->private_data;
++ struct snd_soc_codec *codec = rtd->socdev->codec;
++
++
++ snd_soc_dapm_sync_endpoints(codec);
++
++ return 0;
++}
++
++static inline int codec_set_dai_fmt(struct snd_soc_codec_dai *dai,
++ unsigned int format)
++{
++ return dai->dai_ops.set_fmt(dai, format);
++}
++
++static inline int codec_set_dai_sysclk(struct snd_soc_codec_dai *dai,
++ unsigned int clk,
++ unsigned int arg,
++ unsigned int arg2)
++{
++ return dai->dai_ops.set_sysclk(dai, clk, arg, arg2);
++}
++
++static inline int cpu_set_dai_fmt(struct snd_soc_cpu_dai *dai,
++ unsigned int format)
++{
++ return dai->dai_ops.set_fmt(dai, format);
++}
++
++static inline int cpu_set_dai_sysclk(struct snd_soc_cpu_dai *dai,
++ unsigned int clk,
++ unsigned int arg,
++ unsigned int arg2)
++{
++ return dai->dai_ops.set_sysclk(dai, clk, arg, arg2);
++}
++
++static inline int cpu_set_dai_clkdiv(struct snd_soc_cpu_dai *dai,
++ unsigned int clk,
++ unsigned int arg)
++{
++ return dai->dai_ops.set_clkdiv(dai, clk, arg);
++}
++
++
++
++static int m8050_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;
++ unsigned int clk = 0;
++ unsigned int pll_out = 0, bclk = 0;
++ int ret = 0;
++ unsigned long iis_clkrate;
++
++ iis_clkrate = s3c24xx_i2s_get_clockrate();
++
++ switch (params_rate(params)) {
++ case 8000:
++ case 16000:
++ case 48000:
++ case 96000:
++ case 8012:
++ case 11025:
++ case 22050:
++ case 44100:
++ clk = 12000000;
++ bclk=0;
++ break;
++ }
++
++ /* set codec DAI configuration */
++ ret = codec_set_dai_fmt(codec_dai, SND_SOC_DAIFMT_I2S |
++ SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM);
++ if (ret < 0)
++ return ret;
++
++ /* set cpu DAI configuration */
++ ret = cpu_set_dai_fmt(cpu_dai, SND_SOC_DAIFMT_I2S |
++ SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM);
++ if (ret < 0)
++ return ret;
++
++ /* set the codec system clock for DAC and ADC */
++ ret = codec_set_dai_sysclk(codec_dai, WM8750_SYSCLK, clk,
++ SND_SOC_CLOCK_IN);
++ if (ret < 0)
++ return ret;
++
++ /* set MCLK division for sample rate */
++ ret = cpu_dai->dai_ops.set_sysclk(cpu_dai, S3C24XX_CLKSRC_MPLL,
++ 12000000,SND_SOC_CLOCK_OUT );
++ if (ret < 0)
++ return ret;
++
++ /* set MCLK division for sample rate */
++ ret = cpu_dai->dai_ops.set_clkdiv(cpu_dai, S3C24XX_DIV_MCLK,
++ S3C2410_IISMOD_32FS );
++ if (ret < 0)
++ return ret;
++
++ /* set BCLK division for sample rate */
++ ret = cpu_dai->dai_ops.set_clkdiv(cpu_dai, S3C24XX_DIV_BCLK,
++ 384 );
++ if (ret < 0)
++ return ret;
++
++ /* set prescaler division for sample rate */
++ ret = cpu_dai->dai_ops.set_clkdiv(cpu_dai, S3C24XX_DIV_PRESCALER,
++ S3C24XX_PRESCALE(bclk,bclk));
++ if (ret < 0)
++ return ret;
++
++ return 0;
++
++}
++
++static struct snd_soc_ops m8050_ops = {
++ .startup = m8050_startup,
++ .hw_params = m8050_hw_params,
++};
++
++static const struct snd_kcontrol_new wm8750_m8050_controls[] = {
++
++};
++
++static int m8050_wm8750_init(struct snd_soc_codec *codec)
++{
++ int i, err;
++
++// snd_soc_dapm_set_endpoint(codec, "Headphone Jack", 1);
++ snd_soc_dapm_set_endpoint(codec, "Internal Speaker", 1);
++ snd_soc_dapm_set_endpoint(codec, "Line In", 0);
++
++ /* These endpoints are not being used. */
++ snd_soc_dapm_set_endpoint(codec, "ROUT1", 0);
++ snd_soc_dapm_set_endpoint(codec, "LOUT1", 0);
++
++ snd_soc_dapm_set_endpoint(codec, "LINPUT1", 0);
++ snd_soc_dapm_set_endpoint(codec, "LINPUT2", 0);
++ snd_soc_dapm_set_endpoint(codec, "LINPUT3", 0);
++ snd_soc_dapm_set_endpoint(codec, "RINPUT2", 0);
++ snd_soc_dapm_set_endpoint(codec, "RINPUT3", 0);
++ snd_soc_dapm_set_endpoint(codec, "OUT3", 0);
++ snd_soc_dapm_set_endpoint(codec, "MONO", 0);
++
++ /* Add m8050 specific controls */
++ for (i = 0; i < ARRAY_SIZE(wm8750_m8050_controls); i++) {
++ err = snd_ctl_add(codec->card,
++ snd_soc_cnew(&wm8750_m8050_controls[i], codec, NULL));
++ if (err < 0)
++ return err;
++ }
++
++ /* Add m8050 specific widgets */
++ for (i = 0; i < ARRAY_SIZE(wm8750_dapm_widgets); i++) {
++ snd_soc_dapm_new_control(codec, &wm8750_dapm_widgets[i]);
++ }
++
++ /* Set up m8050 specific audio path audio_map */
++ for (i = 0; audio_map[i][0] != NULL; i++) {
++ printk(KERN_INFO "mapping %s => %s\n", audio_map[i][0], audio_map[i][1]);
++ snd_soc_dapm_connect_input(codec, audio_map[i][0], NULL,
++ audio_map[i][1]);
++ }
++
++ snd_soc_dapm_sync_endpoints(codec);
++ return 0;
++}
++
++static struct snd_soc_dai_link m8050_dai = {
++ .name = "wm8750",
++ .stream_name = "WM8750",
++ .cpu_dai = &s3c24xx_i2s_dai,
++ .codec_dai = &wm8750_dai,
++ .init = m8050_wm8750_init,
++ .ops = &m8050_ops,
++};
++
++/* m8050 audio machine driver */
++static struct snd_soc_machine snd_soc_machine_m8050 = {
++ .name = "M8050",
++ .dai_link = &m8050_dai,
++ .num_links = 1,
++};
++
++/* m8050 audio private data */
++static struct wm8750_setup_data m8050_wm8750_setup = {
++ .i2c_address = 0x1a,
++};
++
++/* m8050 audio subsystem */
++static struct snd_soc_device m8050_snd_devdata = {
++ .machine = &snd_soc_machine_m8050,
++ .platform = &s3c24xx_soc_platform,
++ .codec_dev = &soc_codec_dev_wm8750,
++ .codec_data = &m8050_wm8750_setup,
++};
++
++static struct platform_device *m8050_snd_device;
++
++static int __init m8050_init(void)
++{
++ int ret;
++
++ printk("M8050 WM8750 Audio support\n");
++
++ if (!machine_is_aml_m8050())
++ return 0;
++
++ m8050_snd_device = platform_device_alloc("soc-audio", -1);
++ if (!m8050_snd_device)
++ return -ENOMEM;
++
++ platform_set_drvdata(m8050_snd_device, &m8050_snd_devdata);
++ m8050_snd_devdata.dev = &m8050_snd_device->dev;
++ ret = platform_device_add(m8050_snd_device);
++
++ if (ret)
++ platform_device_put(m8050_snd_device);
++
++ return ret;
++}
++
++static void __exit m8050_exit(void)
++{
++ platform_device_unregister(m8050_snd_device);
++}
++
++module_init(m8050_init);
++module_exit(m8050_exit);
++
++MODULE_AUTHOR("David Anders");
++MODULE_DESCRIPTION("ALSA SoC M8050");
++MODULE_LICENSE("GPL");
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/sound/soc/s3c24xx/m8050_wm8750-working.c linux-2.6.25-m8050/sound/soc/s3c24xx/m8050_wm8750-working.c
+--- linux-git/sound/soc/s3c24xx/m8050_wm8750-working.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/sound/soc/s3c24xx/m8050_wm8750-working.c 2008-10-15 15:52:28.000000000 +0200
+@@ -0,0 +1,338 @@
++/* sound/soc/s3c24xx/m8050_wm8750.c
++ *
++ * Based on sound/soc/s3c24xx/jive_wm8750.c
++ * Copyright 2007 Simtec Electronics
++ * Author: Ben Dooks
++ *
++ * Based on sound/soc/pxa/spitz.c
++ * Copyright 2005 Wolfson Microelectronics PLC.
++ * Copyright 2005 Openedhand Ltd.
++ *
++ * 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 <linux/clk.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/plat-s3c24xx/regs-iis.h>
++
++#include "s3c24xx-pcm.h"
++#include "s3c24xx-i2s.h"
++
++#include "../codecs/wm8750.h"
++
++static const char *audio_map[][2] = {
++ [0] = { "Internal Speaker", "LOUT2" },
++ [1] = { "Internal Speaker", "ROUT2" },
++ [2] = { NULL, NULL },
++
++/*
++ [0] = { "Headphone Jack", "LOUT1" },
++ [1] = { "Headphone Jack", "ROUT1" },
++ [2] = { "Internal Speaker", "LOUT2" },
++ [3] = { "Internal Speaker", "ROUT2" },
++ [4] = { "LINPUT1", "Line Input" },
++ [5] = { "RINPUT1", "Line Input" },
++ [6] = { NULL, NULL },
++*/
++};
++
++static const struct snd_soc_dapm_widget wm8750_dapm_widgets[] = {
++// SND_SOC_DAPM_HP("Headphone Jack", NULL),
++ SND_SOC_DAPM_SPK("Internal Speaker", NULL),
++// SND_SOC_DAPM_LINE("Line In", NULL),
++};
++
++static int m8050_startup(struct snd_pcm_substream *substream)
++{
++ struct snd_soc_pcm_runtime *rtd = substream->private_data;
++ struct snd_soc_codec *codec = rtd->socdev->codec;
++
++
++ snd_soc_dapm_sync_endpoints(codec);
++
++ return 0;
++}
++
++static inline int codec_set_dai_fmt(struct snd_soc_codec_dai *dai,
++ unsigned int format)
++{
++ return dai->dai_ops.set_fmt(dai, format);
++}
++
++static inline int codec_set_dai_sysclk(struct snd_soc_codec_dai *dai,
++ unsigned int clk,
++ unsigned int arg,
++ unsigned int arg2)
++{
++ return dai->dai_ops.set_sysclk(dai, clk, arg, arg2);
++}
++
++static inline int cpu_set_dai_fmt(struct snd_soc_cpu_dai *dai,
++ unsigned int format)
++{
++ return dai->dai_ops.set_fmt(dai, format);
++}
++
++static inline int cpu_set_dai_sysclk(struct snd_soc_cpu_dai *dai,
++ unsigned int clk,
++ unsigned int arg,
++ unsigned int arg2)
++{
++ return dai->dai_ops.set_sysclk(dai, clk, arg, arg2);
++}
++
++static inline int cpu_set_dai_clkdiv(struct snd_soc_cpu_dai *dai,
++ unsigned int clk,
++ unsigned int arg)
++{
++ return dai->dai_ops.set_clkdiv(dai, clk, arg);
++}
++
++
++
++static int m8050_hw_params(struct snd_pcm_substream *substream,
++ struct snd_pcm_hw_params *params)
++{
++#define WM8750SLAVE 0
++
++ 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;
++ unsigned int clk = 0;
++ unsigned int pll_out = 0, bclk = 0;
++ int ret = 0;
++ unsigned long iis_clkrate;
++#if WM8750SLAVE
++
++ iis_clkrate = s3c24xx_i2s_get_clockrate();
++
++ switch (params_rate(params)) {
++ case 8000:
++ case 16000:
++ case 48000:
++ case 96000:
++ clk = 12288000;
++ break;
++ case 11025:
++ case 22050:
++ case 44100:
++ clk = 11289600;
++ break;
++ }
++
++ /* set codec DAI configuration */
++ ret = codec_set_dai_fmt(codec_dai, SND_SOC_DAIFMT_I2S |
++ SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM);
++ if (ret < 0)
++ return ret;
++
++ /* set cpu DAI configuration */
++ ret = cpu_set_dai_fmt(cpu_dai, SND_SOC_DAIFMT_I2S |
++ SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM);
++ if (ret < 0)
++ return ret;
++
++ /* set the codec system clock for DAC and ADC */
++ ret = codec_set_dai_sysclk(codec_dai, WM8750_SYSCLK, clk,
++ SND_SOC_CLOCK_IN);
++ if (ret < 0)
++ return ret;
++
++ /* set MCLK division for sample rate */
++ ret = cpu_dai->dai_ops.set_clkdiv(cpu_dai, S3C24XX_DIV_MCLK,
++ S3C2410_IISMOD_16FS );
++ if (ret < 0)
++ return ret;
++
++ /* set prescaler division for sample rate */
++ ret = cpu_dai->dai_ops.set_clkdiv(cpu_dai, S3C24XX_DIV_PRESCALER,
++ S3C24XX_PRESCALE(5,5));
++ if (ret < 0)
++ return ret;
++
++ return 0;
++#else
++ struct s3c24xx_rate_calc div;
++
++ switch (params_rate(params)) {
++ case 8000:
++ case 16000:
++ case 48000:
++ case 96000:
++ clk = 12288000;
++ break;
++ case 11025:
++ case 22050:
++ case 44100:
++ clk = 11289600;
++ break;
++ }
++
++ s3c24xx_iis_calc_rate(&div, NULL, params_rate(params),
++ s3c24xx_get_iisclk());
++
++ /* set codec DAI configuration */
++ ret = codec_set_dai_fmt(codec_dai, SND_SOC_DAIFMT_I2S |
++ SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS);
++ if (ret < 0)
++ return ret;
++
++ /* set cpu DAI configuration */
++ ret = cpu_set_dai_fmt(cpu_dai, SND_SOC_DAIFMT_I2S |
++ SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS);
++ if (ret < 0)
++ return ret;
++
++ /* set the codec system clock for DAC and ADC */
++ ret = codec_set_dai_sysclk(codec_dai, WM8750_SYSCLK, clk,
++ SND_SOC_CLOCK_IN);
++ if (ret < 0)
++ return ret;
++
++// ret = cpu_set_dai_clkdiv(cpu_dai, S3C24XX_DIV_MCLK, div.fs_div);
++// if (ret < 0)
++// return ret;
++
++ ret = cpu_set_dai_clkdiv(cpu_dai, S3C24XX_DIV_PRESCALER, div.clk_div - 1);
++ if (ret < 0)
++ return ret;
++
++ return 0;
++
++
++#endif
++
++}
++
++static struct snd_soc_ops m8050_ops = {
++ .startup = m8050_startup,
++ .hw_params = m8050_hw_params,
++};
++
++static const struct snd_kcontrol_new wm8750_m8050_controls[] = {
++
++};
++
++static int m8050_wm8750_init(struct snd_soc_codec *codec)
++{
++ int i, err;
++
++// snd_soc_dapm_set_endpoint(codec, "Headphone Jack", 1);
++ snd_soc_dapm_set_endpoint(codec, "Internal Speaker", 1);
++ snd_soc_dapm_set_endpoint(codec, "Line In", 0);
++
++ /* These endpoints are not being used. */
++ snd_soc_dapm_set_endpoint(codec, "ROUT1", 0);
++ snd_soc_dapm_set_endpoint(codec, "LOUT1", 0);
++
++ snd_soc_dapm_set_endpoint(codec, "LINPUT1", 0);
++ snd_soc_dapm_set_endpoint(codec, "LINPUT2", 0);
++ snd_soc_dapm_set_endpoint(codec, "LINPUT3", 0);
++ snd_soc_dapm_set_endpoint(codec, "RINPUT2", 0);
++ snd_soc_dapm_set_endpoint(codec, "RINPUT3", 0);
++ snd_soc_dapm_set_endpoint(codec, "OUT3", 0);
++ snd_soc_dapm_set_endpoint(codec, "MONO", 0);
++
++ /* Add m8050 specific controls */
++ for (i = 0; i < ARRAY_SIZE(wm8750_m8050_controls); i++) {
++ err = snd_ctl_add(codec->card,
++ snd_soc_cnew(&wm8750_m8050_controls[i], codec, NULL));
++ if (err < 0)
++ return err;
++ }
++
++ /* Add m8050 specific widgets */
++ for (i = 0; i < ARRAY_SIZE(wm8750_dapm_widgets); i++) {
++ snd_soc_dapm_new_control(codec, &wm8750_dapm_widgets[i]);
++ }
++
++ /* Set up m8050 specific audio path audio_map */
++ for (i = 0; audio_map[i][0] != NULL; i++) {
++ printk(KERN_INFO "mapping %s => %s\n", audio_map[i][0], audio_map[i][1]);
++ snd_soc_dapm_connect_input(codec, audio_map[i][0], NULL,
++ audio_map[i][1]);
++ }
++
++ snd_soc_dapm_sync_endpoints(codec);
++ return 0;
++}
++
++static struct snd_soc_dai_link m8050_dai = {
++ .name = "wm8750",
++ .stream_name = "WM8750",
++ .cpu_dai = &s3c24xx_i2s_dai,
++ .codec_dai = &wm8750_dai,
++ .init = m8050_wm8750_init,
++ .ops = &m8050_ops,
++};
++
++/* m8050 audio machine driver */
++static struct snd_soc_machine snd_soc_machine_m8050 = {
++ .name = "M8050",
++ .dai_link = &m8050_dai,
++ .num_links = 1,
++};
++
++/* m8050 audio private data */
++static struct wm8750_setup_data m8050_wm8750_setup = {
++ .i2c_address = 0x1a,
++};
++
++/* m8050 audio subsystem */
++static struct snd_soc_device m8050_snd_devdata = {
++ .machine = &snd_soc_machine_m8050,
++ .platform = &s3c24xx_soc_platform,
++ .codec_dev = &soc_codec_dev_wm8750,
++ .codec_data = &m8050_wm8750_setup,
++};
++
++static struct platform_device *m8050_snd_device;
++
++static int __init m8050_init(void)
++{
++ int ret;
++
++ printk("M8050 WM8750 Audio support\n");
++
++ if (!machine_is_aml_m8050())
++ return 0;
++
++ m8050_snd_device = platform_device_alloc("soc-audio", -1);
++ if (!m8050_snd_device)
++ return -ENOMEM;
++
++ platform_set_drvdata(m8050_snd_device, &m8050_snd_devdata);
++ m8050_snd_devdata.dev = &m8050_snd_device->dev;
++ ret = platform_device_add(m8050_snd_device);
++
++ if (ret)
++ platform_device_put(m8050_snd_device);
++
++ return ret;
++}
++
++static void __exit m8050_exit(void)
++{
++ platform_device_unregister(m8050_snd_device);
++}
++
++module_init(m8050_init);
++module_exit(m8050_exit);
++
++MODULE_AUTHOR("David Anders");
++MODULE_DESCRIPTION("ALSA SoC M8050");
++MODULE_LICENSE("GPL");
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/sound/soc/s3c24xx/m8050_wm8750.x.c linux-2.6.25-m8050/sound/soc/s3c24xx/m8050_wm8750.x.c
+--- linux-git/sound/soc/s3c24xx/m8050_wm8750.x.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.25-m8050/sound/soc/s3c24xx/m8050_wm8750.x.c 2008-10-15 12:18:47.000000000 +0200
+@@ -0,0 +1,310 @@
++/* sound/soc/s3c24xx/m8050_wm8750.c
++ *
++ * Based on sound/soc/s3c24xx/jive_wm8750.c
++ * Copyright 2007 Simtec Electronics
++ * Author: Ben Dooks
++ *
++ * Based on sound/soc/pxa/spitz.c
++ * Copyright 2005 Wolfson Microelectronics PLC.
++ * Copyright 2005 Openedhand Ltd.
++ *
++ * 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 <linux/clk.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/plat-s3c24xx/regs-iis.h>
++
++#include "s3c24xx-pcm.h"
++#include "s3c24xx-i2s.h"
++
++#include "../codecs/wm8750.h"
++
++static const char *audio_map[][2] = {
++// [0] = { "Internal Speaker", "LOUT2" },
++// [1] = { "Internal Speaker", "ROUT2" },
++// [2] = { NULL, NULL },
++
++
++ [0] = { "Headphone Jack", "LOUT1" },
++ [1] = { "Headphone Jack", "ROUT1" },
++ [2] = { "Internal Speaker", "LOUT2" },
++ [3] = { "Internal Speaker", "ROUT2" },
++ [4] = { "LINPUT1", "Line Input" },
++ [5] = { "RINPUT1", "Line Input" },
++ [6] = { NULL, NULL },
++
++};
++
++static const struct snd_soc_dapm_widget wm8750_dapm_widgets[] = {
++ SND_SOC_DAPM_HP("Headphone Jack", NULL),
++ SND_SOC_DAPM_SPK("Internal Speaker", NULL),
++ SND_SOC_DAPM_LINE("Line In", NULL),
++};
++
++static int m8050_startup(struct snd_pcm_substream *substream)
++{
++ struct snd_soc_pcm_runtime *rtd = substream->private_data;
++ struct snd_soc_codec *codec = rtd->socdev->codec;
++
++
++ snd_soc_dapm_sync_endpoints(codec);
++
++ return 0;
++}
++
++static inline int codec_set_dai_fmt(struct snd_soc_codec_dai *dai,
++ unsigned int format)
++{
++ return dai->dai_ops.set_fmt(dai, format);
++}
++
++static inline int codec_set_dai_sysclk(struct snd_soc_codec_dai *dai,
++ unsigned int clk,
++ unsigned int arg,
++ unsigned int arg2)
++{
++ return dai->dai_ops.set_sysclk(dai, clk, arg, arg2);
++}
++
++static inline int cpu_set_dai_fmt(struct snd_soc_cpu_dai *dai,
++ unsigned int format)
++{
++ return dai->dai_ops.set_fmt(dai, format);
++}
++
++static inline int cpu_set_dai_sysclk(struct snd_soc_cpu_dai *dai,
++ unsigned int clk,
++ unsigned int arg,
++ unsigned int arg2)
++{
++ return dai->dai_ops.set_sysclk(dai, clk, arg, arg2);
++}
++
++static inline int cpu_set_dai_clkdiv(struct snd_soc_cpu_dai *dai,
++ unsigned int clk,
++ unsigned int arg)
++{
++ return dai->dai_ops.set_clkdiv(dai, clk, arg);
++}
++
++
++
++static int m8050_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;
++ struct s3c24xx_rate_calc div;
++ unsigned int clk = 0;
++ unsigned int pll_out = 0, bclk = 0;
++ int ret = 0;
++ unsigned long iis_clkrate;
++
++// iis_clkrate = s3c24xx_i2s_get_clockrate();
++
++ switch (params_rate(params)) {
++ case 8000:
++ case 16000:
++ case 48000:
++ case 96000:
++ clk = 12288000;
++ break;
++ case 11025:
++ case 22050:
++ case 44100:
++ clk = 11289600;
++ break;
++ }
++
++ /* set codec DAI configuration */
++ ret = codec_set_dai_fmt(codec_dai, SND_SOC_DAIFMT_I2S |
++ SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM);
++ if (ret < 0)
++ return ret;
++
++ /* set cpu DAI configuration */
++ ret = cpu_set_dai_fmt(cpu_dai, SND_SOC_DAIFMT_I2S |
++ SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM);
++ if (ret < 0)
++ return ret;
++
++
++ /* section for master */
++ /* set codec DAI configuration */
++// ret = codec_set_dai_fmt(codec_dai, SND_SOC_DAIFMT_I2S |
++// SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS);
++// if (ret < 0)
++// return ret;
++//
++ /* set cpu DAI configuration */
++// ret = cpu_set_dai_fmt(cpu_dai, SND_SOC_DAIFMT_I2S |
++// SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBS_CFS);
++// if (ret < 0)
++// return ret;
++
++ /* set the codec system clock for DAC and ADC */
++ ret = codec_set_dai_sysclk(codec_dai, WM8750_SYSCLK, clk,
++ SND_SOC_CLOCK_IN);
++ if (ret < 0)
++ return ret;
++
++// /* set MCLK division for sample rate */
++// ret = cpu_dai->dai_ops.set_clkdiv(cpu_dai, S3C24XX_DIV_MCLK,
++// S3C2410_IISMOD_16FS );
++// if (ret < 0)
++// return ret;
++
++ /* set prescaler division for sample rate */
++// ret = cpu_dai->dai_ops.set_clkdiv(cpu_dai, S3C24XX_DIV_PRESCALER,
++// S3C24XX_PRESCALE(3,3));
++// if (ret < 0)
++// return ret;
++
++ s3c24xx_iis_calc_rate(&div, NULL, params_rate(params),
++ s3c24xx_get_iisclk());
++
++ ret = cpu_set_dai_clkdiv(cpu_dai, S3C24XX_DIV_BCLK, div.fs_div);
++ if (ret < 0)
++ return ret;
++
++ ret = cpu_set_dai_clkdiv(cpu_dai, S3C24XX_DIV_MCLK, div.clk_div - 1);
++ if (ret < 0)
++ return ret;
++
++ return 0;
++}
++
++static struct snd_soc_ops m8050_ops = {
++ .startup = m8050_startup,
++ .hw_params = m8050_hw_params,
++};
++
++static const struct snd_kcontrol_new wm8750_m8050_controls[] = {
++
++};
++
++static int m8050_wm8750_init(struct snd_soc_codec *codec)
++{
++ int i, err;
++
++ snd_soc_dapm_set_endpoint(codec, "Headphone Jack", 1);
++ snd_soc_dapm_set_endpoint(codec, "Internal Speaker", 1);
++ snd_soc_dapm_set_endpoint(codec, "Line In", 0);
++
++ /* These endpoints are not being used. */
++// snd_soc_dapm_set_endpoint(codec, "ROUT1", 0);
++// snd_soc_dapm_set_endpoint(codec, "LOUT1", 0);
++
++ snd_soc_dapm_set_endpoint(codec, "LINPUT1", 0);
++ snd_soc_dapm_set_endpoint(codec, "LINPUT2", 0);
++ snd_soc_dapm_set_endpoint(codec, "LINPUT3", 0);
++ snd_soc_dapm_set_endpoint(codec, "RINPUT2", 0);
++ snd_soc_dapm_set_endpoint(codec, "RINPUT3", 0);
++ snd_soc_dapm_set_endpoint(codec, "OUT3", 0);
++ snd_soc_dapm_set_endpoint(codec, "MONO", 0);
++
++ /* Add m8050 specific controls */
++ for (i = 0; i < ARRAY_SIZE(wm8750_m8050_controls); i++) {
++ err = snd_ctl_add(codec->card,
++ snd_soc_cnew(&wm8750_m8050_controls[i], codec, NULL));
++ if (err < 0)
++ return err;
++ }
++
++ /* Add m8050 specific widgets */
++ for (i = 0; i < ARRAY_SIZE(wm8750_dapm_widgets); i++) {
++ snd_soc_dapm_new_control(codec, &wm8750_dapm_widgets[i]);
++ }
++
++ /* Set up m8050 specific audio path audio_map */
++ for (i = 0; audio_map[i][0] != NULL; i++) {
++ printk(KERN_INFO "mapping %s => %s\n", audio_map[i][0], audio_map[i][1]);
++ snd_soc_dapm_connect_input(codec, audio_map[i][0], NULL,
++ audio_map[i][1]);
++ }
++
++ snd_soc_dapm_sync_endpoints(codec);
++ return 0;
++}
++
++static struct snd_soc_dai_link m8050_dai = {
++ .name = "wm8750",
++ .stream_name = "WM8750",
++ .cpu_dai = &s3c24xx_i2s_dai,
++ .codec_dai = &wm8750_dai,
++ .init = m8050_wm8750_init,
++ .ops = &m8050_ops,
++};
++
++/* m8050 audio machine driver */
++static struct snd_soc_machine snd_soc_machine_m8050 = {
++ .name = "M8050",
++ .dai_link = &m8050_dai,
++ .num_links = 1,
++};
++
++/* m8050 audio private data */
++static struct wm8750_setup_data m8050_wm8750_setup = {
++ .i2c_address = 0x1a,
++};
++
++/* m8050 audio subsystem */
++static struct snd_soc_device m8050_snd_devdata = {
++ .machine = &snd_soc_machine_m8050,
++ .platform = &s3c24xx_soc_platform,
++ .codec_dev = &soc_codec_dev_wm8750,
++ .codec_data = &m8050_wm8750_setup,
++};
++
++static struct platform_device *m8050_snd_device;
++
++static int __init m8050_init(void)
++{
++ int ret;
++
++ printk("M8050 WM8750 Audio support\n");
++
++ if (!machine_is_aml_m8050())
++ return 0;
++
++ m8050_snd_device = platform_device_alloc("soc-audio", -1);
++ if (!m8050_snd_device)
++ return -ENOMEM;
++
++ platform_set_drvdata(m8050_snd_device, &m8050_snd_devdata);
++ m8050_snd_devdata.dev = &m8050_snd_device->dev;
++ ret = platform_device_add(m8050_snd_device);
++
++ if (ret)
++ platform_device_put(m8050_snd_device);
++
++ return ret;
++}
++
++static void __exit m8050_exit(void)
++{
++ platform_device_unregister(m8050_snd_device);
++}
++
++module_init(m8050_init);
++module_exit(m8050_exit);
++
++MODULE_AUTHOR("David Anders");
++MODULE_DESCRIPTION("ALSA SoC M8050");
++MODULE_LICENSE("GPL");
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/sound/soc/s3c24xx/Makefile linux-2.6.25-m8050/sound/soc/s3c24xx/Makefile
+--- linux-git/sound/soc/s3c24xx/Makefile 2008-11-10 12:19:41.000000000 +0100
++++ linux-2.6.25-m8050/sound/soc/s3c24xx/Makefile 2008-08-04 11:51:00.000000000 +0200
+@@ -10,10 +10,12 @@
+ obj-$(CONFIG_SND_S3C2412_SOC_I2S) += snd-soc-s3c2412-i2s.o
+
+ # S3C24XX Machine Support
++snd-soc-m8050-wm8750-objs := m8050_wm8750.o
+ snd-soc-neo1973-wm8753-objs := neo1973_wm8753.o
+ snd-soc-smdk2443-wm9710-objs := smdk2443_wm9710.o
+ snd-soc-ln2440sbc-alc650-objs := ln2440sbc_alc650.o
+
++obj-$(CONFIG_SND_S3C24XX_SOC_M8050_WM8750) += snd-soc-m8050-wm8750.o
+ obj-$(CONFIG_SND_S3C24XX_SOC_NEO1973_WM8753) += snd-soc-neo1973-wm8753.o
+ obj-$(CONFIG_SND_S3C24XX_SOC_SMDK2443_WM9710) += snd-soc-smdk2443-wm9710.o
+ obj-$(CONFIG_SND_S3C24XX_SOC_LN2440SBC_ALC650) += snd-soc-ln2440sbc-alc650.o
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/sound/soc/s3c24xx/s3c2412-i2s.c linux-2.6.25-m8050/sound/soc/s3c24xx/s3c2412-i2s.c
+--- linux-git/sound/soc/s3c24xx/s3c2412-i2s.c 2008-11-10 12:20:38.000000000 +0100
++++ linux-2.6.25-m8050/sound/soc/s3c24xx/s3c2412-i2s.c 2008-08-08 16:42:54.000000000 +0200
+@@ -361,11 +361,15 @@
+
+ switch (params_format(params)) {
+ case SNDRV_PCM_FORMAT_S8:
++ printk("setting for S8 format!\n");
+ iismod |= S3C2412_IISMOD_8BIT;
+ break;
+ case SNDRV_PCM_FORMAT_S16_LE:
++ printk("setting for S16_LE format!\n");
+ iismod &= ~S3C2412_IISMOD_8BIT;
+ break;
++ default:
++ printk("unknown data format!\n");
+ }
+
+ writel(iismod, s3c2412_i2s.regs + S3C2412_IISMOD);
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/sound/soc/s3c24xx/s3c24xx-i2s.c linux-2.6.25-m8050/sound/soc/s3c24xx/s3c24xx-i2s.c
+--- linux-git/sound/soc/s3c24xx/s3c24xx-i2s.c 2008-11-10 12:20:38.000000000 +0100
++++ linux-2.6.25-m8050/sound/soc/s3c24xx/s3c24xx-i2s.c 2008-10-28 16:53:07.000000000 +0100
+@@ -46,7 +46,7 @@
+
+ #define S3C24XX_I2S_DEBUG 0
+ #if S3C24XX_I2S_DEBUG
+-#define DBG(x...) printk(KERN_DEBUG x)
++#define DBG(x...) printk(x)
+ #else
+ #define DBG(x...)
+ #endif
+@@ -184,15 +184,15 @@
+
+ DBG("Entered %s\n", __FUNCTION__);
+
+- while (1) {
+- iiscon = readl(s3c24xx_i2s.regs + S3C2410_IISCON);
+- if (iiscon & S3C2410_IISCON_LRINDEX)
+- break;
+-
+- if (time_after(jiffies, timeout))
+- return -ETIMEDOUT;
+- }
+-
++// while (1) {
++// iiscon = readl(s3c24xx_i2s.regs + S3C2410_IISCON);
++// if (iiscon & S3C2410_IISCON_LRINDEX)
++// break;
++//
++// if (time_after(jiffies, timeout))
++// return -ETIMEDOUT;
++// }
++// udelay(500);
+ return 0;
+ }
+
+@@ -221,19 +221,24 @@
+
+ switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
+ case SND_SOC_DAIFMT_CBM_CFM:
++// printk("set for CFM!!\n");
+ iismod |= S3C2410_IISMOD_SLAVE;
+ break;
+ case SND_SOC_DAIFMT_CBS_CFS:
++// printk("set for CFS!!\n");
++ iismod &= ~S3C2410_IISMOD_SLAVE;
+ break;
+ default:
+ return -EINVAL;
+ }
++ DBG("hw_params t: IISMOD: %lx \n", iismod);
+
+ switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
+ case SND_SOC_DAIFMT_LEFT_J:
+ iismod |= S3C2410_IISMOD_MSB;
+ break;
+ case SND_SOC_DAIFMT_I2S:
++ iismod &= ~S3C2410_IISMOD_MSB;
+ break;
+ default:
+ return -EINVAL;
+@@ -263,10 +268,15 @@
+
+ switch (params_format(params)) {
+ case SNDRV_PCM_FORMAT_S8:
++// printk("setting for S8 format!\n");
+ break;
+ case SNDRV_PCM_FORMAT_S16_LE:
+ iismod |= S3C2410_IISMOD_16BIT;
++// printk("setting for S16_LE format!\n");
+ break;
++ default:
++ printk("unknown data format!\n");
++
+ }
+
+ writel(iismod, s3c24xx_i2s.regs + S3C2410_IISMOD);
+@@ -284,11 +294,11 @@
+ case SNDRV_PCM_TRIGGER_START:
+ case SNDRV_PCM_TRIGGER_RESUME:
+ case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
+- if (!s3c24xx_snd_is_clkmaster()) {
++// if (!s3c24xx_snd_is_clkmaster()) {
+ ret = s3c24xx_snd_lrsync();
+ if (ret)
+ goto exit_err;
+- }
++// }
+
+ if (substream->stream == SNDRV_PCM_STREAM_CAPTURE)
+ s3c24xx_snd_rxctrl(1);
+@@ -312,6 +322,78 @@
+ return ret;
+ }
+
++/* default table of all avaialable root fs divisors */
++static unsigned int s3c24xx_iis_fs[] = { 256, 384, 0 };
++//static unsigned int s3c24xx_iis_fs[] = { 256, 512, 384, 768, 0 };
++
++int s3c24xx_iis_calc_rate(struct s3c24xx_rate_calc *info,
++ unsigned int *fstab,
++ unsigned int rate, struct clk *clk)
++{
++ unsigned long clkrate = clk_get_rate(clk);
++ unsigned int div;
++ unsigned int fsclk;
++ unsigned int actual;
++ unsigned int fs;
++ unsigned int fsdiv;
++ signed int deviation = 0;
++ unsigned int best_fs = 0;
++ unsigned int best_div = 0;
++ unsigned int best_rate = 0;
++ unsigned int best_deviation = INT_MAX;
++
++
++ if (fstab == NULL)
++ fstab = s3c24xx_iis_fs;
++
++ for (fs = 0;; fs++) {
++ fsdiv = s3c24xx_iis_fs[fs];
++
++ if (fsdiv == 0)
++ break;
++
++ fsclk = clkrate / fsdiv;
++ div = fsclk / rate;
++
++ if ((fsclk % rate) > (rate / 2))
++ div++;
++
++ if (div <= 1)
++ continue;
++
++ actual = clkrate / (fsdiv * div);
++ deviation = actual - rate;
++
++// printk(KERN_DEBUG "%dfs: div %d => result %d, deviation %d\n",
++// fsdiv, div, actual, deviation);
++// printk("%dfs: div %d => result %d, deviation %d\n",
++// fsdiv, div, actual, deviation);
++
++ deviation = abs(deviation);
++
++ if (deviation < best_deviation) {
++ best_fs = fsdiv;
++ best_div = div;
++ best_rate = actual;
++ best_deviation = deviation;
++ }
++
++ if (deviation == 0)
++ break;
++ }
++
++// printk(KERN_DEBUG "best: fs=%d, div=%d, rate=%d\n",
++// best_fs, best_div, best_rate);
++// printk("best: fs=%d, div=%d, rate=%d\n",
++// best_fs, best_div, best_rate);
++
++ info->fs_div = best_fs;
++ info->clk_div = best_div;
++
++ return 0;
++}
++EXPORT_SYMBOL_GPL(s3c24xx_iis_calc_rate);
++
+ /*
+ * Set S3C24xx Clock source
+ */
+@@ -347,17 +429,31 @@
+ u32 reg;
+
+ DBG("Entered %s\n", __FUNCTION__);
+-
++ DBG("started with 0x%x\n",readl(s3c24xx_i2s.regs + S3C2410_IISMOD));
+ switch (div_id) {
+ case S3C24XX_DIV_BCLK:
++ DBG("setting bclk with div=0x%x\n",div);
+ reg = readl(s3c24xx_i2s.regs + S3C2410_IISMOD) & ~S3C2410_IISMOD_FS_MASK;
++ DBG("before reg=0x%x\n",reg);
++ switch (div) {
++ case 256:
++ div = 0x00;
++ break;
++ case 384:
++ div = 0x04;
++ break;
++ }
++
+ writel(reg | div, s3c24xx_i2s.regs + S3C2410_IISMOD);
++ DBG("afterreg=0x%x\n",reg|div);
+ break;
+ case S3C24XX_DIV_MCLK:
++ DBG("setting mclk\n");
+ reg = readl(s3c24xx_i2s.regs + S3C2410_IISMOD) & ~(S3C2410_IISMOD_384FS);
+ writel(reg | div, s3c24xx_i2s.regs + S3C2410_IISMOD);
+ break;
+ case S3C24XX_DIV_PRESCALER:
++ DBG("setting prescaler\n");
+ writel(div, s3c24xx_i2s.regs + S3C2410_IISPSR);
+ reg = readl(s3c24xx_i2s.regs + S3C2410_IISCON);
+ writel(reg | S3C2410_IISCON_PSCEN, s3c24xx_i2s.regs + S3C2410_IISCON);
+@@ -365,10 +461,17 @@
+ default:
+ return -EINVAL;
+ }
++ DBG("left with 0x%x\n",readl(s3c24xx_i2s.regs + S3C2410_IISMOD));
+
+ return 0;
+ }
+
++struct clk *s3c24xx_get_iisclk(void)
++{
++ return s3c24xx_i2s.iis_clk;
++}
++EXPORT_SYMBOL_GPL(s3c24xx_get_iisclk);
++
+ /*
+ * To avoid duplicating clock code, allow machine driver to
+ * get the clockrate from here.
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/sound/soc/s3c24xx/s3c24xx-i2s.h linux-2.6.25-m8050/sound/soc/s3c24xx/s3c24xx-i2s.h
+--- linux-git/sound/soc/s3c24xx/s3c24xx-i2s.h 2008-11-10 12:20:38.000000000 +0100
++++ linux-2.6.25-m8050/sound/soc/s3c24xx/s3c24xx-i2s.h 2008-08-11 18:17:34.000000000 +0200
+@@ -34,4 +34,15 @@
+
+ extern struct snd_soc_cpu_dai s3c24xx_i2s_dai;
+
++struct s3c24xx_rate_calc {
++ unsigned int clk_div; /* for prescaler */
++ unsigned int fs_div; /* for root frame clock */
++};
++
++extern int s3c24xx_iis_calc_rate(struct s3c24xx_rate_calc *info,
++ unsigned int *fstab,
++ unsigned int rate, struct clk *clk);
++
++extern struct clk *s3c24xx_get_iisclk(void);
++
+ #endif /*S3C24XXI2S_H_*/
+diff -X linux-git/Documentation/dontdiff -Naur linux-git/sound/soc/s3c24xx/s3c24xx-pcm.c linux-2.6.25-m8050/sound/soc/s3c24xx/s3c24xx-pcm.c
+--- linux-git/sound/soc/s3c24xx/s3c24xx-pcm.c 2008-11-10 12:20:38.000000000 +0100
++++ linux-2.6.25-m8050/sound/soc/s3c24xx/s3c24xx-pcm.c 2008-10-28 18:10:26.000000000 +0100
+@@ -23,6 +23,8 @@
+ #include <linux/platform_device.h>
+ #include <linux/slab.h>
+ #include <linux/dma-mapping.h>
++#include <linux/interrupt.h>
++#include <linux/delay.h>
+
+ #include <sound/core.h>
+ #include <sound/pcm.h>
+@@ -37,13 +39,14 @@
+
+ #include "s3c24xx-pcm.h"
+
+-#define S3C24XX_PCM_DEBUG 0
++#define S3C24XX_PCM_DEBUG 1
+ #if S3C24XX_PCM_DEBUG
+-#define DBG(x...) printk(KERN_DEBUG x)
++#define DBG(x...) printk(x)
+ #else
+ #define DBG(x...)
+ #endif
+
++
+ static const struct snd_pcm_hardware s3c24xx_pcm_hardware = {
+ .info = SNDRV_PCM_INFO_INTERLEAVED |
+ SNDRV_PCM_INFO_BLOCK_TRANSFER |
+@@ -77,6 +80,7 @@
+ struct s3c24xx_pcm_dma_params *params;
+ };
+
++
+ /* s3c24xx_pcm_enqueue
+ *
+ * place a dma buffer onto the queue for the dma system
+@@ -87,13 +91,29 @@
+ struct s3c24xx_runtime_data *prtd = substream->runtime->private_data;
+ dma_addr_t pos = prtd->dma_pos;
+ int ret;
++ int dmalimit;
+
+ DBG("Entered %s\n", __FUNCTION__);
++ DBG("dma limit: %x\n",prtd->dma_limit);
+
+- while (prtd->dma_loaded < prtd->dma_limit) {
++ if (prtd->dma_loaded == 0){
++ printk("setting dma limit to 1\n");
++ dmalimit=1;
++ }
++ else {
++ printk("setting dma limit to %d\n",prtd->dma_limit);
++ dmalimit=prtd->dma_limit;
++ }
++
++ while (prtd->dma_loaded < dmalimit) {
+ unsigned long len = prtd->dma_period;
+
+ DBG("dma_loaded: %d\n",prtd->dma_loaded);
++ DBG("dma start: %x\n",prtd->dma_start);
++ DBG("period len: %x\n",prtd->dma_period);
++ DBG("dma pos: %x\n",prtd->dma_pos);
++ DBG("dma end: %x\n",prtd->dma_end);
++ DBG("dma limit: %x\n",prtd->dma_limit);
+
+ if ((pos + len) > prtd->dma_end) {
+ len = prtd->dma_end - pos;
+@@ -106,16 +126,43 @@
+
+ if (ret == 0) {
+ prtd->dma_loaded++;
++// printk("added 1 to dma_loaded: 0x%d\n",prtd->dma_loaded);
+ pos += prtd->dma_period;
+- if (pos >= prtd->dma_end)
++ if (pos >= prtd->dma_end) {
++// printk("length of dma excedded reseting to start of 0x%x\n",prtd->dma_start);
+ pos = prtd->dma_start;
++ }
++
+ } else
+ break;
+ }
+
++ DBG("setting dma_pos=%x\n",pos);
+ prtd->dma_pos = pos;
+ }
+
++static void pcm_enqueue_tasklet(unsigned long data){
++ struct snd_pcm_substream *substream = (struct snd_pcm_substream *) data;
++ struct s3c24xx_runtime_data *prtd = substream->runtime->private_data;
++ dma_addr_t src, dst;
++
++ printk("tasklet ran!!\n");
++ while (1) {
++ s3c2410_dma_getposition(prtd->params->channel, &src, &dst);
++ printk("tasklet reports 0x%x , 0x%x\n",src,dst);
++ if (prtd->dma_start != src){
++ printk("tasklet pcm_enqueue!\n");
++ s3c24xx_pcm_enqueue(substream);
++ return;
++ }
++ else {
++ udelay(5);
++ }
++ }
++}
++
++DECLARE_TASKLET_DISABLED(enqueue_tasklet, pcm_enqueue_tasklet, 0);
++
+ static void s3c24xx_audio_buffdone(struct s3c2410_dma_chan *channel,
+ void *dev_id, int size,
+ enum s3c2410_dma_buffresult result)
+@@ -171,7 +218,7 @@
+ ret = s3c2410_dma_request(prtd->params->channel,
+ prtd->params->client, NULL);
+
+- if (ret) {
++ if (ret < 0) {
+ DBG(KERN_ERR "failed to get dma channel\n");
+ return ret;
+ }
+@@ -182,8 +229,12 @@
+
+ snd_pcm_set_runtime_buffer(substream, &substream->dma_buffer);
+
++// printk("total bytes=0x%x",totbytes);
++
+ runtime->dma_bytes = totbytes;
+
++ printk("total bytes=0x%x\n",runtime->dma_bytes);
++
+ spin_lock_irq(&prtd->lock);
+ prtd->dma_loaded = 0;
+ prtd->dma_limit = runtime->hw.periods_min;
+@@ -269,16 +320,42 @@
+
+ switch (cmd) {
+ case SNDRV_PCM_TRIGGER_START:
++ printk("PCM Start!\n");
++ prtd->state |= ST_RUNNING;
++ s3c2410_dma_ctrl(prtd->params->channel, S3C2410_DMAOP_START);
++ s3c2410_dma_ctrl(prtd->params->channel, S3C2410_DMAOP_STARTED);
++ tasklet_enable(&enqueue_tasklet);
++ enqueue_tasklet.data = (unsigned long) substream;
++ tasklet_schedule(&enqueue_tasklet);
++// s3c24xx_pcm_enqueue(substream);
++ break;
+ case SNDRV_PCM_TRIGGER_RESUME:
++// printk("PCM Resume!\n");
++ prtd->state |= ST_RUNNING;
++ s3c2410_dma_ctrl(prtd->params->channel, S3C2410_DMAOP_START);
++ s3c2410_dma_ctrl(prtd->params->channel, S3C2410_DMAOP_STARTED);
++ break;
+ case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
++// printk("PCM Pause Release!\n");
+ prtd->state |= ST_RUNNING;
+ s3c2410_dma_ctrl(prtd->params->channel, S3C2410_DMAOP_START);
+ s3c2410_dma_ctrl(prtd->params->channel, S3C2410_DMAOP_STARTED);
+ break;
+
+ case SNDRV_PCM_TRIGGER_STOP:
++ printk("PCM Stop!\n");
++ prtd->state &= ~ST_RUNNING;
++ s3c2410_dma_ctrl(prtd->params->channel, S3C2410_DMAOP_STOP);
++ tasklet_disable(&enqueue_tasklet);
++// tasklet_kill(&kp_tasklet);
++ break;
+ case SNDRV_PCM_TRIGGER_SUSPEND:
++// printk("PCM Suspend!\n");
++ prtd->state &= ~ST_RUNNING;
++ s3c2410_dma_ctrl(prtd->params->channel, S3C2410_DMAOP_STOP);
++ break;
+ case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
++// printk("PCM Pause Push!\n");
+ prtd->state &= ~ST_RUNNING;
+ s3c2410_dma_ctrl(prtd->params->channel, S3C2410_DMAOP_STOP);
+ break;
+@@ -313,7 +390,8 @@
+
+ spin_unlock(&prtd->lock);
+
+- DBG("Pointer %x %x\n",src,dst);
++ DBG("Pointer %x %x %x\n",src,dst,prtd->dma_start);
++// printk("Pointer %x %x %x\n",src,dst,prtd->dma_start);
+
+ /* we seem to be getting the odd error from the pcm library due
+ * to out-of-bounds pointers. this is maybe due to the dma engine
+@@ -322,10 +400,14 @@
+ */
+
+ if (res >= snd_pcm_lib_buffer_bytes(substream)) {
+- if (res == snd_pcm_lib_buffer_bytes(substream))
++ DBG("res>= snd_pcm_lib_buffer\n");
++ if (res == snd_pcm_lib_buffer_bytes(substream)){
++ DBG("res == snd_pcm_lib_buffer\n");
+ res = 0;
++ }
+ }
+
++ printk("pcm_pointer returns: %d\n",bytes_to_frames(substream->runtime,res));
+ return bytes_to_frames(substream->runtime, res);
+ }
+
diff --git a/packages/linux/linux-2.6.25/m8050/update-mach-types.diff b/packages/linux/linux-2.6.25/m8050/update-mach-types.diff
new file mode 100644
index 0000000000..7e950ad453
--- /dev/null
+++ b/packages/linux/linux-2.6.25/m8050/update-mach-types.diff
@@ -0,0 +1,13 @@
+---
+ arch/arm/tools/mach-types | 1 +
+ 2 files changed, 2 insertions(+)
+
+--- linux-2.6.25.orig/arch/arm/tools/mach-types
++++ linux-2.6.25/arch/arm/tools/mach-types
+@@ -1609,5 +1609,6 @@ tnb MACH_TNB TNB 1610
+ toepath MACH_TOEPATH TOEPATH 1611
+ kb9263 MACH_KB9263 KB9263 1612
+ mt7108 MACH_MT7108 MT7108 1613
+ smtr2440 MACH_SMTR2440 SMTR2440 1614
+ manao MACH_MANAO MANAO 1615
++aml_m8050 MACH_AML_M8050 AML_M8050 1644
diff --git a/packages/linux/linux-hackndev-2.6_git.bb b/packages/linux/linux-hackndev-2.6_git.bb
index 387a1da89c..71e1235b46 100644
--- a/packages/linux/linux-hackndev-2.6_git.bb
+++ b/packages/linux/linux-hackndev-2.6_git.bb
@@ -6,15 +6,10 @@ PR = "r14"
COMPATIBLE_MACHINE = "(palmld|palmtc|palmtt3|palmtt5|palmtx|palmz31|palmz72|palmt650)"
-SRC_URI = "git://git.hackndev.com/linux-hnd;protocol=git \
+SRC_URI = "git://git.hackndev.com/linux-hnd;protocol=git;tag=master \
file://defconfig"
-SRC_URI_append_palmtx += "http://www.busybox.net/downloads/busybox-1.1.0.tar.bz2 \
- file://init \
- file://initramfs_list \
- file://busybox-config"
-
-S = "${WORKDIR}/trunk"
+S = "${WORKDIR}/git"
K_MAJOR = "2"
K_MINOR = "6"
diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/gcc4x-limits.patch b/packages/linux/linux-handhelds-2.6-2.6.21/gcc4x-limits.patch
new file mode 100644
index 0000000000..02f3a5da09
--- /dev/null
+++ b/packages/linux/linux-handhelds-2.6-2.6.21/gcc4x-limits.patch
@@ -0,0 +1,10 @@
+--- linux/scripts/mod/sumversion.c.orig 2008-11-15 12:22:04.000000000 +0000
++++ linux/scripts/mod/sumversion.c 2008-11-15 12:22:21.000000000 +0000
+@@ -7,6 +7,7 @@
+ #include <ctype.h>
+ #include <errno.h>
+ #include <string.h>
++#include <linux/limits.h>
+ #include "modpost.h"
+
+ /*
diff --git a/packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb b/packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb
index 3df1102761..7fbc286774 100644
--- a/packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb
+++ b/packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb
@@ -1,7 +1,7 @@
SECTION = "kernel"
DESCRIPTION = "handhelds.org Linux kernel 2.6 for PocketPCs and other consumer handheld devices."
LICENSE = "GPL"
-PR = "r20"
+PR = "r21"
DEFAULT_PREFERENCE = "-1"
@@ -12,6 +12,7 @@ FILESPATH = "${FILE_DIRNAME}/linux-handhelds-2.6-2.6.21/${MACHINE}:${FILE_DIRNAM
SRC_URI = "${HANDHELDS_CVS};module=linux/kernel26;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \
file://linux-2.6.git-9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a.patch;patch=1 \
http://www.rpsys.net/openzaurus/patches/archive/export_atags-r0a.patch;patch=1 \
+ file://gcc4x-limits.patch;patch=1 \
file://defconfig"
require linux-handhelds-2.6.inc
diff --git a/packages/linux/linux-omap/0001-Implement-downsampling-with-debugs.patch b/packages/linux/linux-omap/0001-Implement-downsampling-with-debugs.patch
new file mode 100644
index 0000000000..d3608df9cb
--- /dev/null
+++ b/packages/linux/linux-omap/0001-Implement-downsampling-with-debugs.patch
@@ -0,0 +1,138 @@
+From 1ef94095e9399a9a387b7b457b48f6c5de7013d8 Mon Sep 17 00:00:00 2001
+From: Tuomas Kulve <tuomas.kulve@movial.com>
+Date: Fri, 31 Oct 2008 14:23:57 +0200
+Subject: [PATCH] Implement downsampling (with debugs).
+
+---
+ drivers/video/omap/dispc.c | 75 +++++++++++++++++++++++++++++++++++++-------
+ 1 files changed, 63 insertions(+), 12 deletions(-)
+
+diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
+index 68bc887..3640dbe 100644
+--- a/drivers/video/omap/dispc.c
++++ b/drivers/video/omap/dispc.c
+@@ -18,6 +18,8 @@
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
++#define DEBUG
++#define VERBOSE_DEBUG
+ #include <linux/kernel.h>
+ #include <linux/dma-mapping.h>
+ #include <linux/mm.h>
+@@ -545,6 +547,17 @@ static void write_firhv_reg(int plane, int reg, u32 value)
+ dispc_write_reg(base + reg * 8, value);
+ }
+
++static void write_firv_reg(int plane, int reg, u32 value)
++{
++ u32 base;
++
++ if (plane == 1)
++ base = 0x1E0;
++ else
++ base = 0x1E0 + 0x20;
++ dispc_write_reg(base + reg * 4, value);
++}
++
+ static void set_upsampling_coef_table(int plane)
+ {
+ const u32 coef[][2] = {
+@@ -565,6 +578,27 @@ static void set_upsampling_coef_table(int plane)
+ }
+ }
+
++static void set_downsampling_coef_table(int plane)
++{
++ const u32 coef[][3] = {
++ { 0x24382400, 0x24382400, 0x00000000 },
++ { 0x28371FFE, 0x28391F04, 0x000004FE },
++ { 0x2C361BFB, 0x2D381B08, 0x000008FB },
++ { 0x303516F9, 0x3237170C, 0x00000CF9 },
++ { 0x11343311, 0x123737F7, 0x0000F711 },
++ { 0x1635300C, 0x173732F9, 0x0000F90C },
++ { 0x1B362C08, 0x1B382DFB, 0x0000FB08 },
++ { 0x1F372804, 0x1F3928FE, 0x0000FE04 },
++ };
++ int i;
++
++ for (i = 0; i < 8; i++) {
++ write_firh_reg(plane, i, coef[i][0]);
++ write_firhv_reg(plane, i, coef[i][1]);
++ write_firv_reg(plane, i, coef[i][2]);
++ }
++}
++
+ static int omap_dispc_set_scale(int plane,
+ int orig_width, int orig_height,
+ int out_width, int out_height)
+@@ -592,25 +626,47 @@ static int omap_dispc_set_scale(int plane,
+ if (orig_height > out_height ||
+ orig_width * 8 < out_width ||
+ orig_height * 8 < out_height) {
++ dev_dbg(dispc.fbdev->dev,
++ "Max upsampling is 8x, "
++ "tried: %dx%d -> %dx%d\n",
++ orig_width, orig_height,
++ out_width, out_height);
+ enable_lcd_clocks(0);
+ return -EINVAL;
+ }
+ set_upsampling_coef_table(plane);
+ } else if (orig_width > out_width) {
+- /* Downsampling not yet supported
+- */
+-
+- enable_lcd_clocks(0);
+- return -EINVAL;
++ /*
++ * Downsampling.
++ * Currently you can only scale both dimensions in one way.
++ */
++ if (orig_height < out_height ||
++ orig_width > out_width * 4||
++ orig_height > out_height * 4) {
++ dev_dbg(dispc.fbdev->dev,
++ "Max downsampling is 4x, "
++ "tried: %dx%d -> %dx%d\n",
++ orig_width, orig_height,
++ out_width, out_height);
++ enable_lcd_clocks(0);
++ return -EINVAL;
++ }
++ set_downsampling_coef_table(plane);
+ }
+ if (!orig_width || orig_width == out_width)
+ fir_hinc = 0;
+ else
+- fir_hinc = 1024 * orig_width / out_width;
++ fir_hinc = 1024 * (orig_width -1)/ (out_width -1);
+ if (!orig_height || orig_height == out_height)
+ fir_vinc = 0;
+ else
+- fir_vinc = 1024 * orig_height / out_height;
++ fir_vinc = 1024 * (orig_height-1) / (out_height -1 );
++
++ dev_dbg(dispc.fbdev->dev, "out_width %d out_height %d orig_width %d "
++ "orig_height %d fir_hinc %d fir_vinc %d\n",
++ out_width, out_height, orig_width, orig_height,
++ fir_hinc, fir_vinc);
++
+ dispc.fir_hinc[plane] = fir_hinc;
+ dispc.fir_vinc[plane] = fir_vinc;
+
+@@ -619,11 +675,6 @@ static int omap_dispc_set_scale(int plane,
+ ((fir_vinc & 4095) << 16) |
+ (fir_hinc & 4095));
+
+- dev_dbg(dispc.fbdev->dev, "out_width %d out_height %d orig_width %d "
+- "orig_height %d fir_hinc %d fir_vinc %d\n",
+- out_width, out_height, orig_width, orig_height,
+- fir_hinc, fir_vinc);
+-
+ MOD_REG_FLD(vs_reg[plane],
+ FLD_MASK(16, 11) | FLD_MASK(0, 11),
+ ((out_height - 1) << 16) | (out_width - 1));
+--
+1.5.6.5
+
diff --git a/packages/linux/linux-omap/0001-Removed-resolution-check-that-prevents-scaling-when.patch b/packages/linux/linux-omap/0001-Removed-resolution-check-that-prevents-scaling-when.patch
new file mode 100644
index 0000000000..636203ef32
--- /dev/null
+++ b/packages/linux/linux-omap/0001-Removed-resolution-check-that-prevents-scaling-when.patch
@@ -0,0 +1,26 @@
+From 3227bd5c412e7eb0d4370b2834e71723f6b4be48 Mon Sep 17 00:00:00 2001
+From: Tuomas Kulve <tuomas.kulve@movial.fi>
+Date: Mon, 27 Oct 2008 18:55:59 +0200
+Subject: [PATCH] Removed resolution check that prevents scaling when output resolution doesn't match the original resolution.
+
+---
+ drivers/video/omap/dispc.c | 3 ---
+ 1 files changed, 0 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
+index 0f0b2e5..1df0c1e 100644
+--- a/drivers/video/omap/dispc.c
++++ b/drivers/video/omap/dispc.c
+@@ -579,9 +579,6 @@ static int omap_dispc_set_scale(int plane,
+ if ((unsigned)plane > OMAPFB_PLANE_NUM)
+ return -ENODEV;
+
+- if (out_width != orig_width || out_height != orig_height)
+- return -EINVAL;
+-
+ enable_lcd_clocks(1);
+ if (orig_width < out_width) {
+ /*
+--
+1.5.6.5
+
diff --git a/packages/linux/linux-omap/0003-DSS-Documentation-for-OMAP2-3-display-subsystem.patch b/packages/linux/linux-omap/0003-DSS-Documentation-for-OMAP2-3-display-subsystem.patch
new file mode 100644
index 0000000000..6cc8ce12c6
--- /dev/null
+++ b/packages/linux/linux-omap/0003-DSS-Documentation-for-OMAP2-3-display-subsystem.patch
@@ -0,0 +1,259 @@
+From e8cc995ace5ef4c8e920ccac6bacc1a0129ad2c4 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Tue, 4 Nov 2008 15:08:07 +0200
+Subject: [PATCH] DSS: Documentation for OMAP2/3 display subsystem
+
+Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+---
+ Documentation/arm/OMAP/DSS | 239 ++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 239 insertions(+), 0 deletions(-)
+ create mode 100644 Documentation/arm/OMAP/DSS
+
+diff --git a/Documentation/arm/OMAP/DSS b/Documentation/arm/OMAP/DSS
+new file mode 100644
+index 0000000..387bb73
+--- /dev/null
++++ b/Documentation/arm/OMAP/DSS
+@@ -0,0 +1,239 @@
++OMAP2/3 Display Subsystem
++-------------------------
++
++This is an almost total rewrite of the OMAP FB driver in drivers/video/omap
++(let's call it DSS1). The main differences between DSS1 and DSS2 are DSI,
++TV-out and multiple display support.
++
++The DSS2 driver (omap-dss module) is in arch/arm/plat-omap/dss/, and the FB,
++panel and controller drivers are in drivers/video/omap2/. DSS1 and DSS2 live
++currently side by side, you can choose which one to use.
++
++Features
++--------
++
++Working and tested features include:
++
++- MIPI DPI (parallel) output
++- MIPI DSI output in command mode
++- MIPI DBI (RFBI) output (not tested for a while, might've gotten broken)
++- SDI output
++- TV output
++- All pieces can be compiled as a module or inside kernel
++- Use DISPC to update any of the outputs
++- Use CPU to update RFBI or DSI output
++- OMAP DISPC planes
++- RGB16, RGB24 packed, RGB24 unpacked
++- YUV2, UYVY
++- Scaling
++- Adjusting DSS FCK to find a good pixel clock
++- Use DSI DPLL to create DSS FCK
++
++omap-dss driver
++------------
++
++The DSS driver does not itself have any support for Linux framebuffer, V4L or
++such like the current ones, but it has an internal kernel API that upper level
++drivers can use.
++
++The DSS driver models OMAP's overlays, overlay managers and displays in a
++flexible way to enable non-common multi-display configuration. In addition to
++modelling the hardware overlays, omap-dss supports virtual overlays and overlay
++managers. These can be used when updating a display with CPU or system DMA.
++
++Panel and controller drivers
++----------------------------
++
++The drivers implement panel or controller specific functionality and are not
++visible to users except through omapfb driver. They register themselves to the
++DSS driver.
++
++omapfb driver
++-------------
++
++The omapfb driver implements arbitrary number of standard linux framebuffers.
++These framebuffers can be routed flexibly to any overlays, thus allowing very
++dynamic display architecture.
++
++The driver exports some omapfb specific ioctls, which are compatible with the
++ioctls in the old driver.
++
++The rest of the non standard features are exported via sysfs. Whether the final
++implementation will use sysfs, or ioctls, is still open.
++
++V4L2 drivers
++------------
++
++Currently there are no V4L2 display drivers planned, but it is possible to
++implement such either to omapfb driver, or as a separate one. From omap-dss
++point of view the V4L2 drivers should be similar to framebuffer driver.
++
++Architecture
++--------------------
++
++Some clarification what the different components do:
++
++ - Framebuffer is a memory area inside OMAP's SDRAM that contains the pixel
++ data for the image. Framebuffer has width and height and color depth.
++ - Overlay defines where the pixels are read from and where they go on the
++ screen. The overlay may be smaller than framebuffer, thus displaying only
++ part of the framebuffer. The position of the overlay may be changed if
++ the overlay is smaller than the display.
++ - Overlay manager combines the overlays in to one image and feeds them to
++ display.
++ - Display is the actual physical display device.
++
++A framebuffer can be connected to multiple overlays to show the same pixel data
++on all of the overlays. Note that in this case the overlay input sizes must be
++the same, but, in case of video overlays, the output size can be different. Any
++framebuffer can be connected to any overlay.
++
++An overlay can be connected to one overlay manager. Also DISPC overlays can be
++connected only to DISPC overlay managers, and virtual overlays can be only
++connected to virtual overlays.
++
++An overlay manager can be connected to one display. There are certain
++restrictions which kinds of displays an overlay manager can be connected:
++
++ - DISPC TV overlay manager can be only connected to TV display.
++ - Virtual overlay managers can only be connected to DBI or DSI displays.
++ - DISPC LCD overlay manager can be connected to all displays, except TV
++ display.
++
++Sysfs
++-----
++The sysfs interface is a hack, but works for testing. I don't think sysfs
++interface is the best for this in the final version, but I don't quite know
++what would be the best interfaces for these things.
++
++In /sys/devices/platform/omapfb we have four files: framebuffers,
++overlays, managers and displays. You can read them so see the current
++setup, and change them by writing to it in the form of
++"<item-id> <opt1>:<val1> <opt2>:<val2>..."
++
++"framebuffers" lists all framebuffers. Its format is:
++ <fb number>
++ t:<target overlay>
++
++"overlays" lists all overlays. Its format is:
++ <overlay name>
++ t:<target manager>
++ x:<xpos>
++ y:<ypos>
++ iw:<input width, read only>
++ ih:<input height, read only>
++ w:<output width>
++ h:<output height>
++ e:<enabled>
++
++"managers" lists all overlay managers. Its format is:
++ <manager name>
++ t:<target display>
++
++"displays" lists all displays. Its format is:
++ <display name>
++ w:<width>
++ h:<height>
++ e:<enabled>
++ u:<update mode>
++ t:<tear sync on/off>
++
++There is also a debug sysfs file at /sys/devices/platform/omap-dss/clk which
++shows how DSS has configured the clocks.
++
++Examples
++--------
++
++In the example scripts "omapfb" is a symlink to /sys/devices/platform/omapfb/.
++
++Default setup on OMAP3 SDP
++--------------------------
++
++Here's the default setup on OMAP3 SDP board. All planes go to LCD. DVI
++and TV-out are not in use. The columns from left to right are:
++framebuffers, overlays, overlay managers, displays. Framebuffers are
++handled by omapfb, and the rest by the DSS.
++
++FB0 --- GFX -\ DVI
++FB1 --- VID1 --+- LCD ---- LCD
++FB2 --- VID2 -/ TV ----- TV
++
++Switch from LCD to DVI
++----------------------
++
++dviline=`cat omapfb/displays |grep dvi`
++w=`echo $dviline | cut -d " " -f 2 | cut -d ":" -f 2`
++h=`echo $dviline | cut -d " " -f 3 | cut -d ":" -f 2`
++
++echo "lcd e:0" > omapfb/displays
++echo "lcd t:none" > omapfb/managers
++fbset -fb /dev/fb0 -xres $w -yres $h
++# at this point you have to switch the dvi/lcd dip-switch from the omap board
++echo "lcd t:dvi" > omapfb/managers
++echo "dvi e:1" > omapfb/displays
++
++After this the configuration looks like:
++
++FB0 --- GFX -\ -- DVI
++FB1 --- VID1 --+- LCD -/ LCD
++FB2 --- VID2 -/ TV ----- TV
++
++Clone GFX overlay to LCD and TV
++-------------------------------
++
++tvline=`cat /sys/devices/platform/omapfb/displays |grep tv`
++w=`echo $tvline | cut -d " " -f 2 | cut -d ":" -f 2`
++h=`echo $tvline | cut -d " " -f 3 | cut -d ":" -f 2`
++
++echo "1 t:none" > omapfb/framebuffers
++echo "0 t:gfx,vid1" > omapfb/framebuffers
++echo "gfx e:1" > omapfb/overlays
++echo "vid1 t:tv w:$w h:$h e:1" > omapfb/overlays
++echo "tv e:1" > omapfb/displays
++
++After this the configuration looks like (only relevant parts shown):
++
++FB0 +-- GFX ---- LCD ---- LCD
++ \- VID1 ---- TV ---- TV
++
++Misc notes
++----------
++
++OMAP FB allocates the framebuffer memory when it starts using
++dma_alloc_writecombine(). This requires large continuous physical memory areas
++and you can pre-reserve that area with "Consistent DMA memory size" Kconfig
++option.
++
++Using DSI DPLL to generate pixel clock it is possible produce the pixel clock
++of 86.5MHz (max possible), and with that you get 1280x1024@57 output from DVI.
++
++TODO
++----
++
++OMAP2 not tested for some time
++- DSS2 did work on OMAP2, but I haven't been able to test it for some time.
++
++DSS locking
++
++Error checking
++- Lots of checks are missing or implemented just as BUG()
++
++Rotate (external FB)
++Rotate (VRFB)
++Rotate (SMS)
++
++System DMA update for DSI
++- Can be used for RGB16 and RGB24P modes. Probably not for RGB24U (how
++ to skip the empty byte?)
++
++Power management
++- Context saving
++
++Resolution change
++- The x/y res of the framebuffer are not display resolutions, but the size
++ of the overlay.
++- The display resolution affects all planes on the display.
++
++OMAP1 support
++- Not sure if needed
++
+--
+1.5.6.3
+
diff --git a/packages/linux/linux-omap/0004-DSS-New-display-subsystem-driver-for-OMAP2-3.patch b/packages/linux/linux-omap/0004-DSS-New-display-subsystem-driver-for-OMAP2-3.patch
new file mode 100644
index 0000000000..e7beec7898
--- /dev/null
+++ b/packages/linux/linux-omap/0004-DSS-New-display-subsystem-driver-for-OMAP2-3.patch
@@ -0,0 +1,9217 @@
+From 6bec28d7c3d7cf97d644c610beadfef354fa596e Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Thu, 13 Nov 2008 15:38:15 +0200
+Subject: [PATCH] DSS: New display subsystem driver for OMAP2/3
+
+Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+---
+ arch/arm/plat-omap/Kconfig | 2 +
+ arch/arm/plat-omap/Makefile | 2 +
+ arch/arm/plat-omap/dss/Kconfig | 66 +
+ arch/arm/plat-omap/dss/Makefile | 6 +
+ arch/arm/plat-omap/dss/dispc.c | 1722 ++++++++++++++++
+ arch/arm/plat-omap/dss/display.c | 775 ++++++++
+ arch/arm/plat-omap/dss/dpi.c | 323 +++
+ arch/arm/plat-omap/dss/dsi.c | 3020 +++++++++++++++++++++++++++++
+ arch/arm/plat-omap/dss/dss.c | 554 ++++++
+ arch/arm/plat-omap/dss/dss.h | 254 +++
+ arch/arm/plat-omap/dss/rfbi.c | 1234 ++++++++++++
+ arch/arm/plat-omap/dss/sdi.c | 157 ++
+ arch/arm/plat-omap/dss/venc.c | 515 +++++
+ arch/arm/plat-omap/include/mach/display.h | 458 +++++
+ 14 files changed, 9088 insertions(+), 0 deletions(-)
+ create mode 100644 arch/arm/plat-omap/dss/Kconfig
+ create mode 100644 arch/arm/plat-omap/dss/Makefile
+ create mode 100644 arch/arm/plat-omap/dss/dispc.c
+ create mode 100644 arch/arm/plat-omap/dss/display.c
+ create mode 100644 arch/arm/plat-omap/dss/dpi.c
+ create mode 100644 arch/arm/plat-omap/dss/dsi.c
+ create mode 100644 arch/arm/plat-omap/dss/dss.c
+ create mode 100644 arch/arm/plat-omap/dss/dss.h
+ create mode 100644 arch/arm/plat-omap/dss/rfbi.c
+ create mode 100644 arch/arm/plat-omap/dss/sdi.c
+ create mode 100644 arch/arm/plat-omap/dss/venc.c
+ create mode 100644 arch/arm/plat-omap/include/mach/display.h
+
+diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig
+index 960c13f..4e90667 100644
+--- a/arch/arm/plat-omap/Kconfig
++++ b/arch/arm/plat-omap/Kconfig
+@@ -245,6 +245,8 @@ config OMAP_SERIAL_WAKE
+ to data on the serial RX line. This allows you to wake the
+ system from serial console.
+
++source "arch/arm/plat-omap/dss/Kconfig"
++
+ endmenu
+
+ endif
+diff --git a/arch/arm/plat-omap/Makefile b/arch/arm/plat-omap/Makefile
+index 1259846..2740497 100644
+--- a/arch/arm/plat-omap/Makefile
++++ b/arch/arm/plat-omap/Makefile
+@@ -29,3 +29,5 @@ obj-$(CONFIG_OMAP_MMU_FWK) += mmu.o
+ # OMAP mailbox framework
+ obj-$(CONFIG_OMAP_MBOX_FWK) += mailbox.o
+
++# OMAP2/3 Display Subsystem
++obj-y += dss/
+diff --git a/arch/arm/plat-omap/dss/Kconfig b/arch/arm/plat-omap/dss/Kconfig
+new file mode 100644
+index 0000000..ef0b5d9
+--- /dev/null
++++ b/arch/arm/plat-omap/dss/Kconfig
+@@ -0,0 +1,66 @@
++config OMAP2_DSS
++ tristate "OMAP2/3 Display Subsystem support (EXPERIMENTAL)"
++ depends on ARCH_OMAP2 || ARCH_OMAP3
++ help
++ OMAP2/3 Display Subsystem support.
++
++if OMAP2_DSS
++
++config OMAP2_DSS_DEBUG
++ bool "Debug output"
++ default n
++
++config OMAP2_DSS_RFBI
++ bool "RFBI support"
++ default y
++
++config OMAP2_DSS_VENC
++ bool "VENC support"
++ default y
++
++if ARCH_OMAP3
++
++config OMAP2_DSS_SDI
++ bool "SDI support"
++ default y
++
++config OMAP2_DSS_DSI
++ bool "DSI support"
++ default y
++
++endif
++
++config OMAP2_DSS_USE_DSI_PLL
++ bool "Use DSI PLL for PCLK (EXPERIMENTAL)"
++ default n
++ depends on OMAP2_DSS_DSI
++ help
++ Use DSI PLL to generate pixel clock.
++ Currently only for DPI output.
++
++config OMAP2_DSS_FAKE_VSYNC
++ bool "Fake VSYNC irq from manual update displays"
++ default n
++ help
++ If this is selected, DSI will fake a DISPC VSYNC interrupt
++ when DSI has sent a frame.
++
++config OMAP2_DSS_MIN_FCK_PER_PCK
++ int "Minimum FCK/PCK ratio (for scaling)"
++ range 0 32
++ default 0
++ help
++ This can be used to adjust the minimum FCK/PCK ratio.
++
++ With this you can make sure that DISPC FCK is at least
++ n x PCK. Video plane scaling requires higher FCK than
++ normally.
++
++ If this is set to 0, there's no extra constraint on the
++ DISPC FCK. However, the FCK will at minimum be
++ 2xPCK (if active matrix) or 3xPCK (if passive matrix).
++
++ Max FCK is 173MHz, so this doesn't work if your PCK
++ is very high.
++
++endif
+diff --git a/arch/arm/plat-omap/dss/Makefile b/arch/arm/plat-omap/dss/Makefile
+new file mode 100644
+index 0000000..e98c6c1
+--- /dev/null
++++ b/arch/arm/plat-omap/dss/Makefile
+@@ -0,0 +1,6 @@
++obj-$(CONFIG_OMAP2_DSS) += omap-dss.o
++omap-dss-y := dss.o display.o dispc.o dpi.o
++omap-dss-$(CONFIG_OMAP2_DSS_RFBI) += rfbi.o
++omap-dss-$(CONFIG_OMAP2_DSS_VENC) += venc.o
++omap-dss-$(CONFIG_OMAP2_DSS_SDI) += sdi.o
++omap-dss-$(CONFIG_OMAP2_DSS_DSI) += dsi.o
+diff --git a/arch/arm/plat-omap/dss/dispc.c b/arch/arm/plat-omap/dss/dispc.c
+new file mode 100644
+index 0000000..3738cf3
+--- /dev/null
++++ b/arch/arm/plat-omap/dss/dispc.c
+@@ -0,0 +1,1722 @@
++/*
++ * linux/arch/arm/plat-omap/dss/dispc.c
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * Some code and ideas taken from drivers/video/omap/ driver
++ * by Imre Deak.
++ *
++ * 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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#define DSS_SUBSYS_NAME "DISPC"
++
++#include <linux/kernel.h>
++#include <linux/dma-mapping.h>
++#include <linux/vmalloc.h>
++#include <linux/clk.h>
++#include <linux/io.h>
++#include <linux/jiffies.h>
++
++#include <mach/sram.h>
++#include <mach/board.h>
++#include <mach/clock.h>
++
++#include <mach/display.h>
++
++#include "dss.h"
++
++/* DISPC */
++#define DISPC_BASE 0x48050400
++
++struct dispc_reg { u16 idx; };
++
++#define DISPC_REG(idx) ((const struct dispc_reg) { idx })
++
++/* DISPC common */
++#define DISPC_REVISION DISPC_REG(0x0000)
++#define DISPC_SYSCONFIG DISPC_REG(0x0010)
++#define DISPC_SYSSTATUS DISPC_REG(0x0014)
++#define DISPC_IRQSTATUS DISPC_REG(0x0018)
++#define DISPC_IRQENABLE DISPC_REG(0x001C)
++#define DISPC_CONTROL DISPC_REG(0x0040)
++#define DISPC_CONFIG DISPC_REG(0x0044)
++#define DISPC_CAPABLE DISPC_REG(0x0048)
++#define DISPC_DEFAULT_COLOR0 DISPC_REG(0x004C)
++#define DISPC_DEFAULT_COLOR1 DISPC_REG(0x0050)
++#define DISPC_TRANS_COLOR0 DISPC_REG(0x0054)
++#define DISPC_TRANS_COLOR1 DISPC_REG(0x0058)
++#define DISPC_LINE_STATUS DISPC_REG(0x005C)
++#define DISPC_LINE_NUMBER DISPC_REG(0x0060)
++#define DISPC_TIMING_H DISPC_REG(0x0064)
++#define DISPC_TIMING_V DISPC_REG(0x0068)
++#define DISPC_POL_FREQ DISPC_REG(0x006C)
++#define DISPC_DIVISOR DISPC_REG(0x0070)
++#define DISPC_SIZE_DIG DISPC_REG(0x0078)
++#define DISPC_SIZE_LCD DISPC_REG(0x007C)
++
++#define DISPC_DATA_CYCLE1 DISPC_REG(0x01D4)
++#define DISPC_DATA_CYCLE2 DISPC_REG(0x01D8)
++#define DISPC_DATA_CYCLE3 DISPC_REG(0x01DC)
++
++/* DISPC GFX plane */
++#define DISPC_GFX_BA0 DISPC_REG(0x0080)
++#define DISPC_GFX_BA1 DISPC_REG(0x0084)
++#define DISPC_GFX_POSITION DISPC_REG(0x0088)
++#define DISPC_GFX_SIZE DISPC_REG(0x008C)
++#define DISPC_GFX_ATTRIBUTES DISPC_REG(0x00A0)
++#define DISPC_GFX_FIFO_THRESHOLD DISPC_REG(0x00A4)
++#define DISPC_GFX_FIFO_SIZE_STATUS DISPC_REG(0x00A8)
++#define DISPC_GFX_ROW_INC DISPC_REG(0x00AC)
++#define DISPC_GFX_PIXEL_INC DISPC_REG(0x00B0)
++#define DISPC_GFX_WINDOW_SKIP DISPC_REG(0x00B4)
++#define DISPC_GFX_TABLE_BA DISPC_REG(0x00B8)
++
++/* DISPC Video plane, n = 0 for VID1 and n = 1 for VID2 */
++#define DISPC_VID_REG(n, idx) DISPC_REG(0x00BC + (n)*0x90 + idx)
++
++#define DISPC_VID_BA0(n) DISPC_VID_REG(n, 0x0000)
++#define DISPC_VID_BA1(n) DISPC_VID_REG(n, 0x0004)
++#define DISPC_VID_POSITION(n) DISPC_VID_REG(n, 0x0008)
++#define DISPC_VID_SIZE(n) DISPC_VID_REG(n, 0x000C)
++#define DISPC_VID_ATTRIBUTES(n) DISPC_VID_REG(n, 0x0010)
++#define DISPC_VID_FIFO_THRESHOLD(n) DISPC_VID_REG(n, 0x0014)
++#define DISPC_VID_FIFO_SIZE_STATUS(n) DISPC_VID_REG(n, 0x0018)
++#define DISPC_VID_ROW_INC(n) DISPC_VID_REG(n, 0x001C)
++#define DISPC_VID_PIXEL_INC(n) DISPC_VID_REG(n, 0x0020)
++#define DISPC_VID_FIR(n) DISPC_VID_REG(n, 0x0024)
++#define DISPC_VID_PICTURE_SIZE(n) DISPC_VID_REG(n, 0x0028)
++#define DISPC_VID_ACCU0(n) DISPC_VID_REG(n, 0x002C)
++#define DISPC_VID_ACCU1(n) DISPC_VID_REG(n, 0x0030)
++
++/* coef index i = {0, 1, 2, 3, 4, 5, 6, 7} */
++#define DISPC_VID_FIR_COEF_H(n, i) DISPC_REG(0x00F0 + (n)*0x90 + (i)*0x8)
++/* coef index i = {0, 1, 2, 3, 4, 5, 6, 7} */
++#define DISPC_VID_FIR_COEF_HV(n, i) DISPC_REG(0x00F4 + (n)*0x90 + (i)*0x8)
++/* coef index i = {0, 1, 2, 3, 4} */
++#define DISPC_VID_CONV_COEF(n, i) DISPC_REG(0x0130 + (n)*0x90 + (i)*0x4)
++
++#define DISPC_IRQ_MASK_ERROR (DISPC_IRQ_GFX_FIFO_UNDERFLOW | \
++ DISPC_IRQ_OCP_ERR | \
++ DISPC_IRQ_VID1_FIFO_UNDERFLOW | \
++ DISPC_IRQ_VID2_FIFO_UNDERFLOW | \
++ DISPC_IRQ_SYNC_LOST | \
++ DISPC_IRQ_SYNC_LOST_DIGIT)
++
++#define DISPC_MAX_NR_ISRS 8
++
++static struct {
++ omap_dispc_isr_t isr;
++ void *arg;
++ u32 mask;
++} registered_isr[DISPC_MAX_NR_ISRS];
++
++#define REG_GET(idx, start, end) \
++ FLD_GET(dispc_read_reg(idx), start, end)
++
++#define REG_FLD_MOD(idx, val, start, end) \
++ dispc_write_reg(idx, FLD_MOD(dispc_read_reg(idx), val, start, end))
++
++static const struct dispc_reg dispc_reg_att[] = { DISPC_GFX_ATTRIBUTES,
++ DISPC_VID_ATTRIBUTES(0),
++ DISPC_VID_ATTRIBUTES(1) };
++
++static struct {
++ void __iomem *base;
++
++ struct clk *dss_ick;
++ struct clk *dss1_fck;
++ struct clk *dss_54m_fck;
++ struct clk *dpll4_m4_ck;
++} dispc;
++
++static spinlock_t dss_lock;
++
++static inline void enable_clocks(int enable)
++{
++ if (enable) {
++ clk_enable(dispc.dss_ick);
++ clk_enable(dispc.dss1_fck);
++ } else {
++ clk_disable(dispc.dss1_fck);
++ clk_disable(dispc.dss_ick);
++ }
++}
++
++static inline void dispc_write_reg(const struct dispc_reg idx, u32 val)
++{
++ __raw_writel(val, dispc.base + idx.idx);
++}
++
++static inline u32 dispc_read_reg(const struct dispc_reg idx)
++{
++ return __raw_readl(dispc.base + idx.idx);
++}
++
++void dispc_go(enum omap_channel channel)
++{
++ int bit;
++ unsigned long tmo;
++
++ enable_clocks(1);
++
++ if (channel == OMAP_DSS_CHANNEL_LCD)
++ bit = 0; /* LCDENABLE */
++ else
++ bit = 1; /* DIGITALENABLE */
++
++ /* if the channel is not enabled, we don't need GO */
++ if (REG_GET(DISPC_CONTROL, bit, bit) == 0)
++ goto end;
++
++ if (channel == OMAP_DSS_CHANNEL_LCD)
++ bit = 5; /* GOLCD */
++ else
++ bit = 6; /* GODIGIT */
++
++ tmo = jiffies + msecs_to_jiffies(200);
++ while (REG_GET(DISPC_CONTROL, bit, bit) == 1) {
++ if (time_after(jiffies, tmo)) {
++ DSSERR("timeout waiting GO flag\n");
++ goto end;
++ }
++ cpu_relax();
++ }
++
++ DSSDBG("GO %s\n", channel == OMAP_DSS_CHANNEL_LCD ? "LCD" : "DIGIT");
++
++ REG_FLD_MOD(DISPC_CONTROL, 1, bit, bit);
++end:
++ enable_clocks(0);
++}
++
++static void _dispc_write_firh_reg(enum omap_plane plane, int reg, u32 value)
++{
++ BUG_ON(plane == OMAP_DSS_GFX);
++
++ dispc_write_reg(DISPC_VID_FIR_COEF_H(plane-1, reg), value);
++}
++
++static void _dispc_write_firhv_reg(enum omap_plane plane, int reg, u32 value)
++{
++ BUG_ON(plane == OMAP_DSS_GFX);
++
++ dispc_write_reg(DISPC_VID_FIR_COEF_HV(plane-1, reg), value);
++}
++
++
++static void _dispc_set_scale_coef(enum omap_plane plane, int hscaleup,
++ int vscaleup)
++{
++ /* Coefficients for horizontal up-sampling */
++ const u32 coef_hup[8] = {
++ 0x00800000,
++ 0x0D7CF800,
++ 0x1E70F5FF,
++ 0x335FF5FE,
++ 0xF74949F7,
++ 0xF55F33FB,
++ 0xF5701EFE,
++ 0xF87C0DFF,
++ };
++
++ /* Coefficients for horizontal down-sampling */
++ const u32 coef_hdown[8] = {
++ 0x24382400,
++ 0x28371FFE,
++ 0x2C361BFB,
++ 0x303516F9,
++ 0x11343311,
++ 0x1635300C,
++ 0x1B362C08,
++ 0x1F372804,
++ };
++
++ /* Coefficients for horizontal and vertical up-sampling */
++ const u32 coef_hvup[8] = {
++ 0x00800000,
++ 0x037B02FF,
++ 0x0C6F05FE,
++ 0x205907FB,
++ 0x00404000,
++ 0x075920FE,
++ 0x056F0CFF,
++ 0x027B0300,
++ };
++
++ /* Coefficients for horizontal and vertical down-sampling */
++ const u32 coef_hvdown[8] = {
++ 0x24382400,
++ 0x28391F04,
++ 0x2D381B08,
++ 0x3237170C,
++ 0x123737F7,
++ 0x173732F9,
++ 0x1B382DFB,
++ 0x1F3928FE,
++ };
++
++ const u32 *h_coef;
++ const u32 *hv_coef;
++ const u32 *hv_coef_mod;
++ int i;
++
++ if (hscaleup)
++ h_coef = coef_hup;
++ else
++ h_coef = coef_hdown;
++
++ if (vscaleup) {
++ hv_coef = coef_hvup;
++
++ if (hscaleup)
++ hv_coef_mod = NULL;
++ else
++ hv_coef_mod = coef_hvdown;
++ } else {
++ hv_coef = coef_hvdown;
++
++ if (hscaleup)
++ hv_coef_mod = coef_hvup;
++ else
++ hv_coef_mod = NULL;
++ }
++
++ for (i = 0; i < 8; i++) {
++ u32 h, hv;
++
++ h = h_coef[i];
++
++ hv = hv_coef[i];
++
++ if (hv_coef_mod) {
++ hv &= 0xffffff00;
++ hv |= (hv_coef_mod[i] & 0xff);
++ }
++
++ _dispc_write_firh_reg(plane, i, h);
++ _dispc_write_firhv_reg(plane, i, hv);
++ }
++}
++
++static void _dispc_setup_color_conv_coef(void)
++{
++ const struct color_conv_coef {
++ int ry, rcr, rcb, gy, gcr, gcb, by, bcr, bcb;
++ int full_range;
++ } ctbl_bt601_5 = {
++ 298, 409, 0, 298, -208, -100, 298, 0, 517, 0,
++ };
++
++ const struct color_conv_coef *ct;
++
++#define CVAL(x, y) (FLD_VAL(x, 26, 16) | FLD_VAL(y, 10, 0))
++
++ ct = &ctbl_bt601_5;
++
++ dispc_write_reg(DISPC_VID_CONV_COEF(0, 0), CVAL(ct->rcr, ct->ry));
++ dispc_write_reg(DISPC_VID_CONV_COEF(0, 1), CVAL(ct->gy, ct->rcb));
++ dispc_write_reg(DISPC_VID_CONV_COEF(0, 2), CVAL(ct->gcb, ct->gcr));
++ dispc_write_reg(DISPC_VID_CONV_COEF(0, 3), CVAL(ct->bcr, ct->by));
++ dispc_write_reg(DISPC_VID_CONV_COEF(0, 4), CVAL(0, ct->bcb));
++
++ dispc_write_reg(DISPC_VID_CONV_COEF(1, 0), CVAL(ct->rcr, ct->ry));
++ dispc_write_reg(DISPC_VID_CONV_COEF(1, 1), CVAL(ct->gy, ct->rcb));
++ dispc_write_reg(DISPC_VID_CONV_COEF(1, 2), CVAL(ct->gcb, ct->gcr));
++ dispc_write_reg(DISPC_VID_CONV_COEF(1, 3), CVAL(ct->bcr, ct->by));
++ dispc_write_reg(DISPC_VID_CONV_COEF(1, 4), CVAL(0, ct->bcb));
++
++#undef CVAL
++
++ REG_FLD_MOD(DISPC_VID_ATTRIBUTES(0), ct->full_range, 11, 11);
++ REG_FLD_MOD(DISPC_VID_ATTRIBUTES(1), ct->full_range, 11, 11);
++}
++
++
++static void _dispc_set_plane_ba0(enum omap_plane plane, u32 paddr)
++{
++ const struct dispc_reg ba0_reg[] = { DISPC_GFX_BA0,
++ DISPC_VID_BA0(0),
++ DISPC_VID_BA0(1) };
++
++ dispc_write_reg(ba0_reg[plane], paddr);
++}
++
++static void _dispc_set_plane_ba1(enum omap_plane plane, u32 paddr)
++{
++ const struct dispc_reg ba1_reg[] = { DISPC_GFX_BA1,
++ DISPC_VID_BA1(0),
++ DISPC_VID_BA1(1) };
++
++ dispc_write_reg(ba1_reg[plane], paddr);
++}
++
++static void _dispc_set_plane_pos(enum omap_plane plane, int x, int y)
++{
++ const struct dispc_reg pos_reg[] = { DISPC_GFX_POSITION,
++ DISPC_VID_POSITION(0),
++ DISPC_VID_POSITION(1) };
++
++ u32 val = FLD_VAL(y, 26, 16) | FLD_VAL(x, 10, 0);
++ dispc_write_reg(pos_reg[plane], val);
++}
++
++static void _dispc_set_pic_size(enum omap_plane plane, int width, int height)
++{
++ const struct dispc_reg siz_reg[] = { DISPC_GFX_SIZE,
++ DISPC_VID_PICTURE_SIZE(0),
++ DISPC_VID_PICTURE_SIZE(1) };
++ u32 val = FLD_VAL(height - 1, 26, 16) | FLD_VAL(width - 1, 10, 0);
++ dispc_write_reg(siz_reg[plane], val);
++}
++
++static void _dispc_set_vid_size(enum omap_plane plane, int width, int height)
++{
++ u32 val;
++ const struct dispc_reg vsi_reg[] = { DISPC_VID_SIZE(0),
++ DISPC_VID_SIZE(1) };
++
++ BUG_ON(plane == OMAP_DSS_GFX);
++
++ val = FLD_VAL(height - 1, 26, 16) | FLD_VAL(width - 1, 10, 0);
++ dispc_write_reg(vsi_reg[plane-1], val);
++}
++
++static void _dispc_set_row_inc(enum omap_plane plane, int inc)
++{
++ const struct dispc_reg ri_reg[] = { DISPC_GFX_ROW_INC,
++ DISPC_VID_ROW_INC(0),
++ DISPC_VID_ROW_INC(1) };
++
++ dispc_write_reg(ri_reg[plane], inc);
++}
++
++static void _dispc_set_color_mode(enum omap_plane plane,
++ enum omap_color_mode color_mode)
++{
++ u32 m = 0;
++
++ switch (color_mode) {
++ case OMAP_DSS_COLOR_CLUT1:
++ m = 0x0; break;
++ case OMAP_DSS_COLOR_CLUT2:
++ m = 0x1; break;
++ case OMAP_DSS_COLOR_CLUT4:
++ m = 0x2; break;
++ case OMAP_DSS_COLOR_CLUT8:
++ m = 0x3; break;
++ case OMAP_DSS_COLOR_RGB12U:
++ m = 0x4; break;
++ case OMAP_DSS_COLOR_ARGB16:
++ m = 0x5; break;
++ case OMAP_DSS_COLOR_RGB16:
++ m = 0x6; break;
++ case OMAP_DSS_COLOR_RGB24U:
++ m = 0x8; break;
++ case OMAP_DSS_COLOR_RGB24P:
++ m = 0x9; break;
++ case OMAP_DSS_COLOR_YUV2:
++ m = 0xa; break;
++ case OMAP_DSS_COLOR_UYVY:
++ m = 0xb; break;
++ case OMAP_DSS_COLOR_ARGB32:
++ m = 0xc; break;
++ case OMAP_DSS_COLOR_RGBA32:
++ m = 0xd; break;
++ case OMAP_DSS_COLOR_RGBX32:
++ m = 0xe; break;
++ default:
++ BUG(); break;
++ }
++
++ REG_FLD_MOD(dispc_reg_att[plane], m, 4, 1);
++}
++
++static void _dispc_set_channel_out(enum omap_plane plane,
++ enum omap_channel channel)
++{
++ int shift;
++ u32 val;
++
++ switch (plane) {
++ case OMAP_DSS_GFX:
++ shift = 8;
++ break;
++ case OMAP_DSS_VIDEO1:
++ case OMAP_DSS_VIDEO2:
++ shift = 16;
++ break;
++ default:
++ BUG();
++ return;
++ }
++
++ val = dispc_read_reg(dispc_reg_att[plane]);
++ val = FLD_MOD(val, channel, shift, shift);
++ dispc_write_reg(dispc_reg_att[plane], val);
++}
++
++static void _dispc_set_burst_size(enum omap_plane plane,
++ enum omap_burst_size burst_size)
++{
++ int shift;
++ u32 val;
++
++ switch (plane) {
++ case OMAP_DSS_GFX:
++ shift = 6;
++ break;
++ case OMAP_DSS_VIDEO1:
++ case OMAP_DSS_VIDEO2:
++ shift = 14;
++ break;
++ default:
++ BUG();
++ return;
++ }
++
++ val = dispc_read_reg(dispc_reg_att[plane]);
++ val = FLD_MOD(val, burst_size, shift+1, shift);
++ dispc_write_reg(dispc_reg_att[plane], val);
++}
++
++static void _dispc_set_vid_color_conv(enum omap_plane plane, int enable)
++{
++ u32 val;
++
++ BUG_ON(plane == OMAP_DSS_GFX);
++
++ val = dispc_read_reg(dispc_reg_att[plane]);
++ val = FLD_MOD(val, enable, 9, 9);
++ dispc_write_reg(dispc_reg_att[plane], val);
++}
++
++void dispc_set_lcd_size(int width, int height)
++{
++ u32 val;
++ BUG_ON((width > (1 << 11)) || (height > (1 << 11)));
++ val = FLD_VAL(height - 1, 26, 16) | FLD_VAL(width - 1, 10, 0);
++ enable_clocks(1);
++ dispc_write_reg(DISPC_SIZE_LCD, val);
++ enable_clocks(0);
++}
++
++void dispc_set_digit_size(int width, int height)
++{
++ u32 val;
++ BUG_ON((width > (1 << 11)) || (height > (1 << 11)));
++ val = FLD_VAL(height - 1, 26, 16) | FLD_VAL(width - 1, 10, 0);
++ enable_clocks(1);
++ dispc_write_reg(DISPC_SIZE_DIG, val);
++ enable_clocks(0);
++}
++
++void dispc_setup_plane_fifo(enum omap_plane plane, int ext_mode)
++{
++ const struct dispc_reg ftrs_reg[] = { DISPC_GFX_FIFO_THRESHOLD,
++ DISPC_VID_FIFO_THRESHOLD(0),
++ DISPC_VID_FIFO_THRESHOLD(1) };
++ const struct dispc_reg fsz_reg[] = { DISPC_GFX_FIFO_SIZE_STATUS,
++ DISPC_VID_FIFO_SIZE_STATUS(0),
++ DISPC_VID_FIFO_SIZE_STATUS(1) };
++ int low, high;
++ u32 size;
++
++ enable_clocks(1);
++
++ if (cpu_is_omap24xx())
++ size = FLD_GET(dispc_read_reg(fsz_reg[plane]), 8, 0);
++ else if (cpu_is_omap34xx())
++ size = FLD_GET(dispc_read_reg(fsz_reg[plane]), 10, 0);
++ else
++ BUG();
++
++ if (ext_mode) {
++ low = size * 3 / 4;
++ high = size;
++ } else {
++ low = size / 4;
++ high = size * 3 / 4;
++ }
++
++ if (cpu_is_omap24xx())
++ dispc_write_reg(ftrs_reg[plane],
++ FLD_VAL(high, 24, 16) | FLD_VAL(low, 8, 0));
++ else
++ dispc_write_reg(ftrs_reg[plane],
++ FLD_VAL(high, 27, 16) | FLD_VAL(low, 11, 0));
++
++ enable_clocks(0);
++}
++
++static void _dispc_set_fir(enum omap_plane plane, int hinc, int vinc)
++{
++ u32 val;
++ const struct dispc_reg fir_reg[] = { DISPC_VID_FIR(0),
++ DISPC_VID_FIR(1) };
++
++ BUG_ON(plane == OMAP_DSS_GFX);
++
++ val = FLD_VAL(vinc, 27, 16) | FLD_VAL(hinc, 11, 0);
++ dispc_write_reg(fir_reg[plane-1], val);
++}
++
++static void _dispc_set_vid_accu0(enum omap_plane plane, int haccu, int vaccu)
++{
++ u32 val;
++ const struct dispc_reg ac0_reg[] = { DISPC_VID_ACCU0(0),
++ DISPC_VID_ACCU0(1) };
++
++ BUG_ON(plane == OMAP_DSS_GFX);
++
++ val = FLD_VAL(vaccu, 25, 16) | FLD_VAL(haccu, 9, 0);
++ dispc_write_reg(ac0_reg[plane-1], val);
++}
++
++static void _dispc_set_vid_accu1(enum omap_plane plane, int haccu, int vaccu)
++{
++ u32 val;
++ const struct dispc_reg ac1_reg[] = { DISPC_VID_ACCU1(0),
++ DISPC_VID_ACCU1(1) };
++
++ BUG_ON(plane == OMAP_DSS_GFX);
++
++ val = FLD_VAL(vaccu, 25, 16) | FLD_VAL(haccu, 9, 0);
++ dispc_write_reg(ac1_reg[plane-1], val);
++}
++
++
++static void _dispc_set_scaling(enum omap_plane plane,
++ int orig_width, int orig_height,
++ int out_width, int out_height,
++ int ilace)
++{
++ int fir_hinc;
++ int fir_vinc;
++ int hscaleup, vscaleup;
++ int fieldmode = 0;
++ int accu0 = 0;
++ int accu1 = 0;
++ u32 l;
++
++ BUG_ON(plane == OMAP_DSS_GFX);
++
++ hscaleup = orig_width <= out_width;
++ vscaleup = orig_height <= out_height;
++
++ _dispc_set_scale_coef(plane, hscaleup, vscaleup);
++
++ if (!orig_width || orig_width == out_width)
++ fir_hinc = 0;
++ else
++ fir_hinc = 1024 * orig_width / out_width;
++
++ if (!orig_height || orig_height == out_height)
++ fir_vinc = 0;
++ else
++ fir_vinc = 1024 * orig_height / out_height;
++
++ _dispc_set_fir(plane, fir_hinc, fir_vinc);
++
++ l = dispc_read_reg(dispc_reg_att[plane]);
++ l &= ~(0x0f << 5);
++
++ l |= fir_hinc ? (1 << 5) : 0;
++ l |= fir_vinc ? (1 << 6) : 0;
++
++ l |= hscaleup ? 0 : (1 << 7);
++ l |= vscaleup ? 0 : (1 << 8);
++
++ dispc_write_reg(dispc_reg_att[plane], l);
++
++ if (ilace) {
++ if (fieldmode) {
++ accu0 = fir_vinc / 2;
++ accu1 = 0;
++ } else {
++ accu0 = 0;
++ accu1 = fir_vinc / 2;
++ if (accu1 >= 1024/2) {
++ accu0 = 1024/2;
++ accu1 -= accu0;
++ }
++ }
++ }
++
++ _dispc_set_vid_accu0(plane, 0, accu0);
++ _dispc_set_vid_accu1(plane, 0, accu1);
++}
++
++static int _dispc_setup_plane(enum omap_plane plane,
++ enum omap_channel channel_out,
++ u32 paddr, int screen_width,
++ int pos_x, int pos_y,
++ int width, int height,
++ int out_width, int out_height,
++ enum omap_color_mode color_mode,
++ int ilace)
++{
++ int fieldmode = 0;
++ int bpp;
++ int cconv;
++ int scaling = 0;
++
++ if (plane == OMAP_DSS_GFX) {
++ if (width != out_width || height != out_height)
++ return -EINVAL;
++ } else {
++ /* video plane */
++ if (width != out_width || height != out_height)
++ scaling = 1;
++
++ if (out_width < width/2 ||
++ out_width > width*8)
++ return -EINVAL;
++
++ if (out_height < height/2 ||
++ out_height > height*8)
++ return -EINVAL;
++ }
++
++
++ switch (color_mode) {
++ case OMAP_DSS_COLOR_RGB16:
++ bpp = 16;
++ cconv = 0;
++ break;
++
++ case OMAP_DSS_COLOR_RGB24P:
++ bpp = 24;
++ cconv = 0;
++ break;
++
++ case OMAP_DSS_COLOR_RGB24U:
++ bpp = 32;
++ cconv = 0;
++ break;
++
++ case OMAP_DSS_COLOR_YUV2:
++ case OMAP_DSS_COLOR_UYVY:
++ BUG_ON(plane == OMAP_DSS_GFX);
++ bpp = 16;
++ cconv = 1;
++ break;
++
++ default:
++ BUG();
++ return 1;
++ }
++
++ if (ilace) {
++ if (height == out_height || height > out_height)
++ fieldmode = 1;
++ }
++
++ if (fieldmode)
++ height /= 2;
++
++ if (ilace)
++ out_height /= 2;
++
++ if (plane != OMAP_DSS_GFX)
++ _dispc_set_scaling(plane, width, height,
++ out_width, out_height,
++ ilace);
++
++ /* attributes */
++ _dispc_set_channel_out(plane, channel_out);
++ _dispc_set_color_mode(plane, color_mode);
++ if (plane != OMAP_DSS_GFX)
++ _dispc_set_vid_color_conv(plane, cconv);
++
++ /* */
++
++ _dispc_set_plane_ba0(plane, paddr);
++
++ if (fieldmode)
++ _dispc_set_plane_ba1(plane, paddr + screen_width * bpp/8);
++ else
++ _dispc_set_plane_ba1(plane, paddr);
++
++
++ _dispc_set_plane_pos(plane, pos_x, pos_y);
++
++ _dispc_set_pic_size(plane, width, height);
++
++ if (plane != OMAP_DSS_GFX)
++ _dispc_set_vid_size(plane, out_width, out_height);
++
++ _dispc_set_row_inc(plane,
++ (screen_width - width) * bpp / 8 +
++ (fieldmode ? screen_width * bpp / 8 : 0) +
++ 1);
++
++ return 0;
++}
++
++static void _dispc_enable_plane(enum omap_plane plane, int enable)
++{
++ REG_FLD_MOD(dispc_reg_att[plane], enable ? 1 : 0, 0, 0);
++}
++
++
++void dispc_enable_lcd_out(int enable)
++{
++ enable_clocks(1);
++ REG_FLD_MOD(DISPC_CONTROL, enable ? 1 : 0, 0, 0);
++ enable_clocks(0);
++}
++
++void dispc_enable_digit_out(int enable)
++{
++ enable_clocks(1);
++ REG_FLD_MOD(DISPC_CONTROL, enable ? 1 : 0, 1, 1);
++ enable_clocks(0);
++}
++
++void dispc_lcd_enable_signal_polarity(int act_high)
++{
++ enable_clocks(1);
++ REG_FLD_MOD(DISPC_CONTROL, act_high ? 1 : 0, 29, 29);
++ enable_clocks(0);
++}
++
++void dispc_lcd_enable_signal(int enable)
++{
++ enable_clocks(1);
++ REG_FLD_MOD(DISPC_CONTROL, enable ? 1 : 0, 28, 28);
++ enable_clocks(0);
++}
++
++void dispc_pck_free_enable(int enable)
++{
++ enable_clocks(1);
++ REG_FLD_MOD(DISPC_CONTROL, enable ? 1 : 0, 27, 27);
++ enable_clocks(0);
++}
++
++void dispc_enable_fifohandcheck(int enable)
++{
++ enable_clocks(1);
++ REG_FLD_MOD(DISPC_CONFIG, enable ? 1 : 0, 16, 16);
++ enable_clocks(0);
++}
++
++
++static inline void get_dss_clocks(void)
++{
++ dispc.dss_ick = get_dss_ick();
++ dispc.dss1_fck = get_dss1_fck();
++ dispc.dss_54m_fck = get_tv_fck();
++}
++
++void dispc_set_lcd_display_type(enum omap_lcd_display_type type)
++{
++ int mode;
++
++ switch (type) {
++ case OMAP_DSS_LCD_DISPLAY_STN:
++ mode = 0;
++ break;
++
++ case OMAP_DSS_LCD_DISPLAY_TFT:
++ mode = 1;
++ break;
++
++ default:
++ BUG();
++ return;
++ }
++
++ enable_clocks(1);
++ REG_FLD_MOD(DISPC_CONTROL, mode, 3, 3);
++ enable_clocks(0);
++}
++
++void dispc_set_loadmode(enum omap_dss_load_mode mode)
++{
++ enable_clocks(1);
++ REG_FLD_MOD(DISPC_CONFIG, mode, 2, 1);
++ enable_clocks(0);
++}
++
++
++void omap_dispc_set_default_color(enum omap_channel channel, u32 color)
++{
++ const struct dispc_reg def_reg[] = { DISPC_DEFAULT_COLOR0,
++ DISPC_DEFAULT_COLOR1 };
++
++ enable_clocks(1);
++ dispc_write_reg(def_reg[channel], color);
++ enable_clocks(0);
++}
++
++void omap_dispc_set_trans_key(enum omap_channel ch,
++ enum omap_dss_color_key_type type,
++ u32 trans_key)
++{
++ const struct dispc_reg tr_reg[] = {
++ DISPC_TRANS_COLOR0, DISPC_TRANS_COLOR1 };
++
++ enable_clocks(1);
++ if (ch == OMAP_DSS_CHANNEL_LCD)
++ REG_FLD_MOD(DISPC_CONFIG, type, 11, 11);
++ else /* OMAP_DSS_CHANNEL_DIGIT */
++ REG_FLD_MOD(DISPC_CONFIG, type, 13, 13);
++
++ dispc_write_reg(tr_reg[ch], trans_key);
++ enable_clocks(0);
++}
++
++void omap_dispc_enable_trans_key(enum omap_channel ch, int enable)
++{
++ enable_clocks(1);
++ if (ch == OMAP_DSS_CHANNEL_LCD)
++ REG_FLD_MOD(DISPC_CONFIG, enable, 10, 10);
++ else /* OMAP_DSS_CHANNEL_DIGIT */
++ REG_FLD_MOD(DISPC_CONFIG, enable, 12, 12);
++ enable_clocks(0);
++}
++
++void dispc_set_tft_data_lines(int data_lines)
++{
++ int code;
++
++ switch (data_lines) {
++ case 12:
++ code = 0;
++ break;
++ case 16:
++ code = 1;
++ break;
++ case 18:
++ code = 2;
++ break;
++ case 24:
++ code = 3;
++ break;
++ default:
++ BUG();
++ return;
++ }
++
++ enable_clocks(1);
++ REG_FLD_MOD(DISPC_CONTROL, code, 9, 8);
++ enable_clocks(0);
++}
++
++void dispc_set_parallel_interface_mode(enum omap_parallel_interface_mode mode)
++{
++ u32 l;
++ int stallmode;
++ int gpout0 = 1;
++ int gpout1;
++
++ switch (mode) {
++ case OMAP_DSS_PARALLELMODE_BYPASS:
++ stallmode = 0;
++ gpout1 = 1;
++ break;
++
++ case OMAP_DSS_PARALLELMODE_RFBI:
++ stallmode = 1;
++ gpout1 = 0;
++ break;
++
++ case OMAP_DSS_PARALLELMODE_DSI:
++ stallmode = 1;
++ gpout1 = 1;
++ break;
++
++ default:
++ BUG();
++ return;
++ }
++
++ enable_clocks(1);
++
++ l = dispc_read_reg(DISPC_CONTROL);
++
++ l = FLD_MOD(l, stallmode, 11, 11);
++ l = FLD_MOD(l, gpout0, 15, 15);
++ l = FLD_MOD(l, gpout1, 16, 16);
++
++ dispc_write_reg(DISPC_CONTROL, l);
++
++ enable_clocks(0);
++}
++
++static void _dispc_set_lcd_timings(int hsw, int hfp, int hbp,
++ int vsw, int vfp, int vbp)
++{
++ u32 timing_h, timing_v;
++
++ BUG_ON(hsw < 1 || hsw > 64);
++ BUG_ON(hfp < 1 || hfp > 256);
++ BUG_ON(hbp < 1 || hbp > 256);
++
++ BUG_ON(vsw < 1 || vsw > 64);
++ BUG_ON(vfp < 0 || vfp > 255);
++ BUG_ON(vbp < 0 || vbp > 255);
++
++ timing_h = FLD_VAL(hsw-1, 5, 0) | FLD_VAL(hfp-1, 15, 8) |
++ FLD_VAL(hbp-1, 27, 20);
++
++ timing_v = FLD_VAL(vsw-1, 5, 0) | FLD_VAL(vfp, 15, 8) |
++ FLD_VAL(vbp, 27, 20);
++
++ enable_clocks(1);
++ dispc_write_reg(DISPC_TIMING_H, timing_h);
++ dispc_write_reg(DISPC_TIMING_V, timing_v);
++ enable_clocks(0);
++}
++
++void dispc_set_lcd_timings(struct omap_video_timings *timings)
++{
++ _dispc_set_lcd_timings(timings->hsw, timings->hfp, timings->hbp,
++ timings->vsw, timings->vfp, timings->vbp);
++}
++
++void dispc_set_lcd_divisor(int lck_div, int pck_div)
++{
++ BUG_ON(lck_div < 1);
++ BUG_ON(pck_div < 2);
++
++ enable_clocks(1);
++ dispc_write_reg(DISPC_DIVISOR,
++ FLD_VAL(lck_div, 23, 16) | FLD_VAL(pck_div, 7, 0));
++ enable_clocks(0);
++}
++
++static void dispc_get_lcd_divisor(int *lck_div, int *pck_div)
++{
++ u32 l;
++ l = dispc_read_reg(DISPC_DIVISOR);
++ *lck_div = FLD_GET(l, 23, 16);
++ *pck_div = FLD_GET(l, 7, 0);
++}
++
++unsigned long dispc_fclk_rate(void)
++{
++ unsigned long r = 0;
++
++ if (dss_get_dispc_clk_source() == 0)
++ r = clk_get_rate(dispc.dss1_fck);
++ else
++#ifdef CONFIG_OMAP2_DSS_DSI
++ r = dsi_get_dsi1_pll_rate();
++#else
++ BUG();
++#endif
++ return r;
++}
++
++unsigned long dispc_pclk_rate(void)
++{
++ int lcd, pcd;
++ unsigned long r;
++ u32 l;
++
++ l = dispc_read_reg(DISPC_DIVISOR);
++
++ lcd = FLD_GET(l, 23, 16);
++ pcd = FLD_GET(l, 7, 0);
++
++ r = dispc_fclk_rate();
++
++ return r / lcd / pcd;
++}
++
++ssize_t dispc_print_clocks(char *buf, ssize_t size)
++{
++ ssize_t l = 0;
++ int lcd, pcd;
++
++ enable_clocks(1);
++
++ dispc_get_lcd_divisor(&lcd, &pcd);
++
++ l += snprintf(buf + l, size - l, "- dispc -\n");
++
++ l += snprintf(buf + l, size - l, "dispc fclk source = %s\n",
++ dss_get_dispc_clk_source() == 0 ?
++ "dss1_alwon_fclk" : "dsi1_pll_fclk");
++
++ l += snprintf(buf + l, size - l,
++ "pixel clk = %lu / %d / %d = %lu\n",
++ dispc_fclk_rate(),
++ lcd, pcd,
++ dispc_pclk_rate());
++
++ enable_clocks(0);
++
++ return l;
++}
++
++static void _dispc_set_pol_freq(int onoff, int rf, int ieo, int ipc,
++ int ihs, int ivs, int acbi, int acb)
++{
++ u32 l = 0;
++
++ DSSDBG("polfreq ihs %d, ivs %d, acb %d\n", ihs, ivs, acb);
++
++ l |= FLD_VAL(onoff, 17, 17);
++ l |= FLD_VAL(rf, 16, 16);
++ l |= FLD_VAL(ieo, 15, 15);
++ l |= FLD_VAL(ipc, 14, 14);
++ l |= FLD_VAL(ihs, 13, 13);
++ l |= FLD_VAL(ivs, 12, 12);
++ l |= FLD_VAL(acbi, 11, 8);
++ l |= FLD_VAL(acb, 7, 0);
++
++ enable_clocks(1);
++ dispc_write_reg(DISPC_POL_FREQ, l);
++ enable_clocks(0);
++}
++
++void dispc_set_pol_freq(struct omap_panel *panel)
++{
++ _dispc_set_pol_freq((panel->config & OMAP_DSS_LCD_ONOFF) != 0,
++ (panel->config & OMAP_DSS_LCD_RF) != 0,
++ (panel->config & OMAP_DSS_LCD_IEO) != 0,
++ (panel->config & OMAP_DSS_LCD_IPC) != 0,
++ (panel->config & OMAP_DSS_LCD_IHS) != 0,
++ (panel->config & OMAP_DSS_LCD_IVS) != 0,
++ panel->acbi, panel->acb);
++}
++
++void find_lck_pck_divs(int is_tft, unsigned long req_pck, unsigned long fck,
++ int *lck_div, int *pck_div)
++{
++ int pcd_min = is_tft ? 2 : 3;
++ unsigned long best_pck;
++ int best_ld, cur_ld;
++ int best_pd, cur_pd;
++
++ best_pck = 0;
++ best_ld = 0;
++ best_pd = 0;
++
++ for (cur_ld = 1; cur_ld <= 255; ++cur_ld) {
++ unsigned long lck = fck / cur_ld;
++
++ for (cur_pd = pcd_min; cur_pd <= 255; ++cur_pd) {
++ unsigned long pck = lck / cur_pd;
++ long old_delta = abs(best_pck - req_pck);
++ long new_delta = abs(pck - req_pck);
++
++ if (best_pck == 0 || new_delta < old_delta) {
++ best_pck = pck;
++ best_ld = cur_ld;
++ best_pd = cur_pd;
++
++ if (pck == req_pck)
++ goto found;
++ }
++
++ if (pck < req_pck)
++ break;
++ }
++
++ if (lck / pcd_min < req_pck)
++ break;
++ }
++
++found:
++ *lck_div = best_ld;
++ *pck_div = best_pd;
++}
++
++int dispc_calc_clock_div(int is_tft, unsigned long req_pck,
++ struct dispc_clock_info *cinfo)
++{
++ unsigned long prate = clk_get_rate(clk_get_parent(dispc.dpll4_m4_ck));
++ struct dispc_clock_info cur, best;
++ int match = 0;
++ int min_fck_per_pck;
++
++ min_fck_per_pck = CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK;
++
++ if (min_fck_per_pck &&
++ req_pck * min_fck_per_pck > DISPC_MAX_FCK) {
++ DSSERR("Requested pixel clock not possible with the current "
++ "OMAP2_DSS_MIN_FCK_PER_PCK setting. Turning "
++ "the constraint off.\n");
++ min_fck_per_pck = 0;
++ }
++
++retry:
++ memset(&cur, 0, sizeof(cur));
++ memset(&best, 0, sizeof(best));
++
++ for (cur.fck_div = 16; cur.fck_div > 0; --cur.fck_div) {
++ cur.fck = prate / cur.fck_div * 2;
++
++ if (cur.fck > DISPC_MAX_FCK)
++ continue;
++
++ if (min_fck_per_pck &&
++ cur.fck < req_pck * min_fck_per_pck)
++ continue;
++
++ match = 1;
++
++ find_lck_pck_divs(is_tft, req_pck, cur.fck,
++ &cur.lck_div, &cur.pck_div);
++
++ cur.lck = cur.fck / cur.lck_div;
++ cur.pck = cur.lck / cur.pck_div;
++
++ if (abs(cur.pck - req_pck) < abs(best.pck - req_pck)) {
++ best = cur;
++
++ if (cur.pck == req_pck)
++ goto found;
++ }
++ }
++
++found:
++ if (!match) {
++ if (min_fck_per_pck) {
++ DSSERR("Could not find suitable clock settings.\n"
++ "Turning FCK/PCK constraint off and"
++ "trying again.\n");
++ min_fck_per_pck = 0;
++ goto retry;
++ }
++
++ DSSERR("Could not find suitable clock settings.\n");
++
++ return -EINVAL;
++ }
++
++ if (cinfo)
++ *cinfo = best;
++
++ return 0;
++}
++
++int dispc_set_clock_div(struct dispc_clock_info *cinfo)
++{
++ unsigned long prate;
++ int r;
++
++ prate = clk_get_rate(clk_get_parent(dispc.dpll4_m4_ck));
++
++ r = clk_set_rate(dispc.dpll4_m4_ck, prate / cinfo->fck_div);
++
++ if (r)
++ return r;
++
++ dispc_set_lcd_divisor(cinfo->lck_div, cinfo->pck_div);
++
++ DSSDBG("dpll4_m4 = %ld\n", prate);
++ DSSDBG("fck = %ld (%d)\n", cinfo->fck, cinfo->fck_div);
++ DSSDBG("lck = %ld (%d)\n", cinfo->lck, cinfo->lck_div);
++ DSSDBG("pck = %ld (%d)\n", cinfo->pck, cinfo->pck_div);
++
++ return 0;
++}
++
++int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask)
++{
++ int i;
++ int ret = -EBUSY;
++ unsigned long flags;
++ u32 new_mask = 0;
++
++ if (isr == NULL)
++ return -EINVAL;
++
++ spin_lock_irqsave(&dss_lock, flags);
++
++ for (i = 0; i < DISPC_MAX_NR_ISRS; i++) {
++ if (registered_isr[i].isr == isr) {
++ ret = -EINVAL;
++ break;
++ }
++
++ if (registered_isr[i].isr != NULL)
++ continue;
++
++ registered_isr[i].isr = isr;
++ registered_isr[i].arg = arg;
++ registered_isr[i].mask = mask;
++
++ enable_clocks(1);
++ new_mask = dispc_read_reg(DISPC_IRQENABLE);
++ new_mask |= mask;
++ dispc_write_reg(DISPC_IRQENABLE, new_mask);
++ enable_clocks(0);
++
++ ret = 0;
++ break;
++ }
++
++ spin_unlock_irqrestore(&dss_lock, flags);
++
++ return ret;
++}
++EXPORT_SYMBOL(omap_dispc_register_isr);
++
++int omap_dispc_unregister_isr(omap_dispc_isr_t isr)
++{
++ int i, j;
++ unsigned long flags;
++ u32 new_mask = DISPC_IRQ_MASK_ERROR;
++ int ret = -EINVAL;
++
++ spin_lock_irqsave(&dss_lock, flags);
++
++ for (i = 0; i < DISPC_MAX_NR_ISRS; i++) {
++ if (registered_isr[i].isr != isr)
++ continue;
++
++ registered_isr[i].isr = NULL;
++ registered_isr[i].arg = NULL;
++ registered_isr[i].mask = 0;
++
++ for (j = 0; j < DISPC_MAX_NR_ISRS; j++)
++ new_mask |= registered_isr[j].mask;
++
++ enable_clocks(1);
++ dispc_write_reg(DISPC_IRQENABLE, new_mask);
++ enable_clocks(0);
++
++ ret = 0;
++ break;
++ }
++
++ spin_unlock_irqrestore(&dss_lock, flags);
++
++ return ret;
++}
++EXPORT_SYMBOL(omap_dispc_unregister_isr);
++
++#ifdef DEBUG
++static void print_irq_status(u32 status)
++{
++ if ((status & DISPC_IRQ_MASK_ERROR) == 0)
++ return;
++
++ printk(KERN_DEBUG "DISPC IRQ: 0x%x: ", status);
++
++#define PIS(x) \
++ if (status & DISPC_IRQ_##x) \
++ printk(#x " ");
++ PIS(GFX_FIFO_UNDERFLOW);
++ PIS(OCP_ERR);
++ PIS(VID1_FIFO_UNDERFLOW);
++ PIS(VID2_FIFO_UNDERFLOW);
++ PIS(SYNC_LOST);
++ PIS(SYNC_LOST_DIGIT);
++#undef PIS
++
++ printk("\n");
++}
++#endif
++
++/* called from dss */
++void dispc_irq_handler(void)
++{
++ int i;
++ u32 irqstatus = dispc_read_reg(DISPC_IRQSTATUS);
++ static int errors;
++ u32 handledirqs = 0;
++
++#ifdef DEBUG
++ print_irq_status(irqstatus);
++#endif
++
++ for (i = 0; i < DISPC_MAX_NR_ISRS; i++) {
++ if (!registered_isr[i].isr)
++ continue;
++ if (registered_isr[i].mask & irqstatus) {
++ registered_isr[i].isr(registered_isr[i].arg,
++ irqstatus);
++ handledirqs |= registered_isr[i].mask;
++ }
++ }
++
++ if (irqstatus & ~handledirqs & DISPC_IRQ_MASK_ERROR) {
++ if (printk_ratelimit()) {
++ DSSERR("dispc irq error status %04x\n",
++ irqstatus);
++ }
++ if (errors++ > 100) {
++ DSSERR("Excessive DISPC errors\n"
++ "Turning off lcd and digit\n");
++ dispc_enable_lcd_out(0);
++ dispc_enable_digit_out(0);
++ }
++ }
++
++ /* ack the interrupt */
++ dispc_write_reg(DISPC_IRQSTATUS, irqstatus);
++}
++
++#ifdef CONFIG_OMAP2_DSS_FAKE_VSYNC
++void dispc_fake_vsync_irq(void)
++{
++ u32 irqstatus = DISPC_IRQ_VSYNC;
++ int i;
++
++ for (i = 0; i < DISPC_MAX_NR_ISRS; i++) {
++ if (!registered_isr[i].isr)
++ continue;
++ if (registered_isr[i].mask & irqstatus)
++ registered_isr[i].isr(registered_isr[i].arg,
++ irqstatus);
++ }
++}
++#endif
++
++static void _omap_dispc_initialize_irq(void)
++{
++ memset(registered_isr, 0, sizeof(registered_isr));
++
++ /* there's SYNC_LOST_DIGIT waiting after enabling the DSS,
++ * so clear it */
++ dispc_write_reg(DISPC_IRQSTATUS,
++ dispc_read_reg(DISPC_IRQSTATUS));
++
++ /* We'll handle these always */
++ dispc_write_reg(DISPC_IRQENABLE, DISPC_IRQ_MASK_ERROR);
++}
++
++static void _omap_dispc_initial_config(void)
++{
++ u32 l;
++
++ l = dispc_read_reg(DISPC_SYSCONFIG);
++ l = FLD_MOD(l, 2, 13, 12); /* MIDLEMODE: smart standby */
++ l = FLD_MOD(l, 2, 4, 3); /* SIDLEMODE: smart idle */
++ l = FLD_MOD(l, 1, 2, 2); /* ENWAKEUP */
++ l = FLD_MOD(l, 1, 1, 1); /* AUTOIDLE */
++ dispc_write_reg(DISPC_SYSCONFIG, l);
++
++ /* FUNCGATED */
++ REG_FLD_MOD(DISPC_CONFIG, 1, 9, 9);
++
++ /* L3 firewall setting: enable access to OCM RAM */
++ __raw_writel(0x402000b0, IO_ADDRESS(0x680050a0));
++
++ _dispc_set_burst_size(OMAP_DSS_GFX, OMAP_DSS_BURST_16x32);
++ _dispc_set_burst_size(OMAP_DSS_VIDEO1, OMAP_DSS_BURST_16x32);
++ _dispc_set_burst_size(OMAP_DSS_VIDEO2, OMAP_DSS_BURST_16x32);
++
++ _dispc_setup_color_conv_coef();
++
++ dispc_set_loadmode(OMAP_DSS_LOAD_FRAME_ONLY);
++
++ /* Set logic clock to fck, pixel clock to fck/2 for now */
++ dispc_set_lcd_divisor(1, 2);
++}
++
++int dispc_init(void)
++{
++ u32 rev;
++
++ spin_lock_init(&dss_lock);
++
++ dispc.base = ioremap(DISPC_BASE, SZ_1K);
++ if (!dispc.base) {
++ DSSERR("can't ioremap DISPC\n");
++ return -ENOMEM;
++ }
++
++ get_dss_clocks();
++ dispc.dpll4_m4_ck = clk_get(NULL, "dpll4_m4_ck");
++ if (IS_ERR(dispc.dpll4_m4_ck))
++ DSSERR("Failed to get dpll4_m4_ck\n");
++
++ enable_clocks(1);
++
++ _omap_dispc_initial_config();
++
++ _omap_dispc_initialize_irq();
++
++ rev = dispc_read_reg(DISPC_REVISION);
++ printk(KERN_INFO "OMAP DISPC rev %d.%d\n",
++ FLD_GET(rev, 7, 4), FLD_GET(rev, 3, 0));
++
++ enable_clocks(0);
++
++ return 0;
++}
++
++void dispc_exit(void)
++{
++ clk_put(dispc.dpll4_m4_ck);
++ iounmap(dispc.base);
++}
++
++int dispc_enable_plane(enum omap_plane plane, int enable)
++{
++ DSSDBG("dispc_enable_plane %d, %d\n", plane, enable);
++
++ enable_clocks(1);
++ _dispc_enable_plane(plane, enable);
++ enable_clocks(0);
++
++ return 0;
++}
++
++int dispc_setup_plane(enum omap_plane plane, enum omap_channel channel_out,
++ u32 paddr, int screen_width,
++ int pos_x, int pos_y,
++ int width, int height,
++ int out_width, int out_height,
++ enum omap_color_mode color_mode,
++ int ilace)
++{
++ int r = 0;
++
++ DSSDBG("dispc_setup_plane %d, %x, sw %d, %d,%d, %dx%d -> "
++ "%dx%d, (ilace %d)\n",
++ plane, paddr, screen_width, pos_x, pos_y,
++ width, height,
++ out_width, out_height,
++ ilace);
++
++ enable_clocks(1);
++
++ r = _dispc_setup_plane(plane, channel_out,
++ paddr, screen_width,
++ pos_x, pos_y,
++ width, height,
++ out_width, out_height,
++ color_mode, ilace);
++
++ enable_clocks(0);
++
++ return r;
++}
++
++static int dispc_is_intersecting(int x1, int y1, int w1, int h1,
++ int x2, int y2, int w2, int h2)
++{
++ if (x1 >= (x2+w2))
++ return 0;
++
++ if ((x1+w1) <= x2)
++ return 0;
++
++ if (y1 >= (y2+h2))
++ return 0;
++
++ if ((y1+h1) <= y2)
++ return 0;
++
++ return 1;
++}
++
++static int dispc_is_overlay_scaled(struct omap_overlay_info *pi)
++{
++ if (pi->width != pi->out_width)
++ return 1;
++
++ if (pi->height != pi->out_height)
++ return 1;
++
++ return 0;
++}
++
++/* returns the area that needs updating */
++void dispc_setup_partial_planes(struct omap_display *display,
++ int *xi, int *yi, int *wi, int *hi)
++{
++ struct omap_overlay_manager *mgr;
++ int i;
++
++ int x, y, w, h;
++
++ x = *xi;
++ y = *yi;
++ w = *wi;
++ h = *hi;
++
++ DSSDBG("dispc_setup_partial_planes %d,%d %dx%d\n",
++ *xi, *yi, *wi, *hi);
++
++
++ mgr = display->manager;
++
++ if (!mgr) {
++ DSSDBG("no manager\n");
++ return;
++ }
++
++ for (i = 0; i < mgr->num_overlays; i++) {
++ struct omap_overlay *ovl;
++ struct omap_overlay_info *pi;
++ ovl = &mgr->overlays[i];
++
++ if (ovl->manager != mgr)
++ continue;
++
++ if ((ovl->caps & OMAP_DSS_OVL_CAP_SCALE) == 0)
++ continue;
++
++ pi = &ovl->info;
++
++ if (!pi->enabled)
++ continue;
++ /*
++ * If the plane is intersecting and scaled, we
++ * enlarge the update region to accomodate the
++ * whole area
++ */
++
++ if (dispc_is_intersecting(x, y, w, h,
++ pi->pos_x, pi->pos_y,
++ pi->out_width, pi->out_height)) {
++ if (dispc_is_overlay_scaled(pi)) {
++
++ int x1, y1, x2, y2;
++
++ if (x > pi->pos_x)
++ x1 = pi->pos_x;
++ else
++ x1 = x;
++
++ if (y > pi->pos_y)
++ y1 = pi->pos_y;
++ else
++ y1 = y;
++
++ if ((x + w) < (pi->pos_x + pi->out_width))
++ x2 = pi->pos_x + pi->out_width;
++ else
++ x2 = x + w;
++
++ if ((y + h) < (pi->pos_y + pi->out_height))
++ y2 = pi->pos_y + pi->out_height;
++ else
++ y2 = y + h;
++
++ x = x1;
++ y = y1;
++ w = x2 - x1;
++ h = y2 - y1;
++
++ DSSDBG("Update area after enlarge due to "
++ "scaling %d, %d %dx%d\n",
++ x, y, w, h);
++ }
++ }
++ }
++
++ for (i = 0; i < mgr->num_overlays; i++) {
++ struct omap_overlay *ovl = &mgr->overlays[i];
++ struct omap_overlay_info *pi = &ovl->info;
++
++ int px = pi->pos_x;
++ int py = pi->pos_y;
++ int pw = pi->width;
++ int ph = pi->height;
++ int pow = pi->out_width;
++ int poh = pi->out_height;
++ u32 pa = pi->paddr;
++ int psw = pi->screen_width;
++ int bpp;
++
++ if (ovl->manager != mgr)
++ continue;
++
++ /*
++ * If plane is not enabled or the update region
++ * does not intersect with the plane in question,
++ * we really disable the plane from hardware
++ */
++
++ if (!pi->enabled ||
++ !dispc_is_intersecting(x, y, w, h,
++ px, py, pow, poh)) {
++ dispc_enable_plane(ovl->id, 0);
++ continue;
++ }
++
++ switch (pi->color_mode) {
++ case OMAP_DSS_COLOR_RGB16:
++ bpp = 16;
++ break;
++
++ case OMAP_DSS_COLOR_RGB24P:
++ bpp = 24;
++ break;
++
++ case OMAP_DSS_COLOR_RGB24U:
++ bpp = 32;
++ break;
++
++ case OMAP_DSS_COLOR_YUV2:
++ case OMAP_DSS_COLOR_UYVY:
++ bpp = 16;
++ break;
++
++ default:
++ BUG();
++ return;
++ }
++
++ if (x > pi->pos_x) {
++ px = 0;
++ pw -= (x - pi->pos_x);
++ pa += (x - pi->pos_x) * bpp / 8;
++ } else {
++ px = pi->pos_x - x;
++ }
++
++ if (y > pi->pos_y) {
++ py = 0;
++ ph -= (y - pi->pos_y);
++ pa += (y - pi->pos_y) * psw * bpp / 8;
++ } else {
++ py = pi->pos_y - y;
++ }
++
++ if (w < (px+pw))
++ pw -= (px+pw) - (w);
++
++ if (h < (py+ph))
++ ph -= (py+ph) - (h);
++
++ /* Can't scale the GFX plane */
++ if ((ovl->caps & OMAP_DSS_OVL_CAP_SCALE) == 0 ||
++ dispc_is_overlay_scaled(pi) == 0) {
++ pow = pw;
++ poh = ph;
++ }
++
++ DSSDBG("calc plane %d, %x, sw %d, %d,%d, %dx%d -> %dx%d\n",
++ ovl->id, pa, psw, px, py, pw, ph, pow, poh);
++
++ dispc_setup_plane(ovl->id, mgr->id,
++ pa, psw,
++ px, py,
++ pw, ph,
++ pow, poh,
++ pi->color_mode, 0);
++
++ dispc_enable_plane(ovl->id, 1);
++ }
++
++ *xi = x;
++ *yi = y;
++ *wi = w;
++ *hi = h;
++
++}
++
+diff --git a/arch/arm/plat-omap/dss/display.c b/arch/arm/plat-omap/dss/display.c
+new file mode 100644
+index 0000000..4d7238f
+--- /dev/null
++++ b/arch/arm/plat-omap/dss/display.c
+@@ -0,0 +1,775 @@
++/*
++ * linux/arch/arm/plat-omap/dss/display.c
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * Some code and ideas taken from drivers/video/omap/ driver
++ * by Imre Deak.
++ *
++ * 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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#define DSS_SUBSYS_NAME "DISPLAY"
++
++#include <linux/kernel.h>
++#include <linux/io.h>
++#include <linux/device.h>
++#include <linux/err.h>
++#include <linux/sysfs.h>
++#include <linux/clk.h>
++
++#include <mach/display.h>
++#include <mach/clock.h>
++#include "dss.h"
++
++#define DSS_MAX_DISPLAYS 8
++
++static int num_displays;
++static struct omap_display displays[DSS_MAX_DISPLAYS];
++
++static ssize_t show_clk(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ struct clk *clocks[5];
++ int i;
++ ssize_t l, size = PAGE_SIZE;
++
++ clocks[0] = get_dss_ick();
++ clocks[1] = get_dss1_fck();
++ clocks[2] = get_dss2_fck();
++ clocks[3] = get_tv_fck();
++ clocks[4] = get_96m_fck();
++
++ l = 0;
++
++ l += snprintf(buf + l, size - l, "- dss -\n");
++
++ for (i = 0; i < 5; i++) {
++ l += snprintf(buf + l, size - l, "%-15s\t%lu\t%d\n",
++ clocks[i]->name,
++ clk_get_rate(clocks[i]),
++ clk_get_usecount(clocks[i]));
++ }
++
++ l += dispc_print_clocks(buf + l, size - l);
++#ifdef CONFIG_OMAP2_DSS_DSI
++ l += dsi_print_clocks(buf + l, size - l);
++#endif
++ return l;
++}
++
++static DEVICE_ATTR(clk, S_IRUGO, show_clk, NULL);
++
++int initialize_sysfs(struct device *dev)
++{
++ int r;
++
++ r = device_create_file(dev, &dev_attr_clk);
++ if (r)
++ DSSERR("failed to create sysfs clk file\n");
++
++ return r;
++}
++
++void uninitialize_sysfs(struct device *dev)
++{
++ device_remove_file(dev, &dev_attr_clk);
++}
++
++void initialize_displays(struct omap_dss_platform_data *pdata)
++{
++ int i;
++
++ num_displays = 0;
++
++ BUG_ON(pdata->num_displays > DSS_MAX_DISPLAYS);
++
++ for (i = 0; i < pdata->num_displays; ++i) {
++ struct omap_display *display = &displays[i];
++
++ /*atomic_set(&display->ref_count, 0);*/
++ display->ref_count = 0;
++
++ display->hw_config = *pdata->displays[i];
++ display->type = pdata->displays[i]->type;
++ display->name = pdata->displays[i]->name;
++
++ switch (display->type) {
++
++ case OMAP_DISPLAY_TYPE_DPI:
++ dpi_init_display(display);
++ break;
++#ifdef CONFIG_OMAP2_DSS_RFBI
++ case OMAP_DISPLAY_TYPE_DBI:
++ rfbi_init_display(display);
++ break;
++#endif
++#ifdef CONFIG_OMAP2_DSS_VENC
++ case OMAP_DISPLAY_TYPE_VENC:
++ venc_init_display(display);
++ break;
++#endif
++#ifdef CONFIG_OMAP2_DSS_SDI
++ case OMAP_DISPLAY_TYPE_SDI:
++ sdi_init_display(display);
++ break;
++#endif
++#ifdef CONFIG_OMAP2_DSS_DSI
++ case OMAP_DISPLAY_TYPE_DSI:
++ dsi_init_display(display);
++ break;
++#endif
++
++ default:
++ DSSERR("Support for display '%s' not compiled in.\n",
++ display->name);
++ continue;
++ }
++
++ num_displays++;
++ }
++}
++
++static int check_overlay(struct omap_overlay *ovl,
++ struct omap_display *display)
++{
++ struct omap_overlay_info *info;
++ int outw, outh;
++
++ if (!display)
++ return 0;
++
++ if (!ovl->info.enabled)
++ return 0;
++
++ info = &ovl->info;
++
++ if ((ovl->caps & OMAP_DSS_OVL_CAP_SCALE) == 0) {
++ outw = info->width;
++ outh = info->height;
++ } else {
++ if (info->out_width == 0)
++ outw = info->width;
++ else
++ outw = info->out_width;
++
++ if (info->out_height == 0)
++ outh = info->height;
++ else
++ outh = info->out_height;
++ }
++
++ if (display->x_res < info->pos_x + outw)
++ return -EINVAL;
++
++ if (display->y_res < info->pos_y + outh)
++ return -EINVAL;
++
++ return 0;
++}
++
++
++static int omap_dss_set_manager(struct omap_overlay *ovl,
++ struct omap_overlay_manager *mgr)
++{
++ int r;
++
++ if (ovl->manager) {
++ DSSERR("overlay '%s' already has a manager '%s'\n",
++ ovl->name, ovl->manager->name);
++ }
++
++ r = check_overlay(ovl, mgr->display);
++ if (r)
++ return r;
++
++ ovl->manager = mgr;
++
++ return 0;
++}
++
++static int omap_dss_unset_manager(struct omap_overlay *ovl)
++{
++ if (!ovl->manager) {
++ DSSERR("failed to detach overlay: manager not set\n");
++ return -EINVAL;
++ }
++
++ ovl->manager = NULL;
++
++ return 0;
++}
++
++static int omap_dss_set_display(struct omap_overlay_manager *mgr,
++ struct omap_display *display)
++{
++ int i;
++ int r;
++
++ if (display->manager) {
++ DSSERR("display '%s' already has a manager '%s'\n",
++ display->name, display->manager->name);
++ return -EINVAL;
++ }
++
++ if ((mgr->supported_displays & display->type) == 0) {
++ DSSERR("display '%s' does not support manager '%s'\n",
++ display->name, mgr->name);
++ return -EINVAL;
++ }
++
++ for (i = 0; i < mgr->num_overlays; i++) {
++ struct omap_overlay *ovl = &mgr->overlays[i];
++
++ if (ovl->manager != mgr || !ovl->info.enabled)
++ continue;
++
++ r = check_overlay(ovl, display);
++ if (r)
++ return r;
++ }
++
++ display->manager = mgr;
++ mgr->display = display;
++
++ return 0;
++}
++
++static int omap_dss_unset_display(struct omap_overlay_manager *mgr)
++{
++ if (!mgr->display) {
++ DSSERR("failed to unset display, display not set.\n");
++ return -EINVAL;
++ }
++
++ mgr->display->manager = NULL;
++ mgr->display = NULL;
++
++ return 0;
++}
++
++static int omap_dss_setup_overlay_input(struct omap_overlay *ovl,
++ u32 paddr, void *vaddr, int screen_width,
++ int width, int height,
++ enum omap_color_mode color_mode)
++{
++ int r;
++ struct omap_overlay_info old_info;
++
++ if ((ovl->supported_modes & color_mode) == 0) {
++ DSSERR("overlay doesn't support mode %d\n", color_mode);
++ return -EINVAL;
++ }
++
++ old_info = ovl->info;
++
++ ovl->info.paddr = paddr;
++ ovl->info.vaddr = vaddr;
++ ovl->info.screen_width = screen_width;
++
++ ovl->info.width = width;
++ ovl->info.height = height;
++ ovl->info.color_mode = color_mode;
++
++ if (ovl->manager) {
++ r = check_overlay(ovl, ovl->manager->display);
++ if (r) {
++ ovl->info = old_info;
++ return r;
++ }
++ }
++
++ return 0;
++}
++
++static int omap_dss_setup_overlay_output(struct omap_overlay *ovl,
++ int pos_x, int pos_y,
++ int out_width, int out_height)
++{
++ int r;
++ struct omap_overlay_info old_info;
++
++ old_info = ovl->info;
++
++ ovl->info.pos_x = pos_x;
++ ovl->info.pos_y = pos_y;
++ ovl->info.out_width = out_width;
++ ovl->info.out_height = out_height;
++
++ if (ovl->manager) {
++ r = check_overlay(ovl, ovl->manager->display);
++ if (r) {
++ ovl->info = old_info;
++ return r;
++ }
++ }
++
++ return 0;
++}
++
++static int omap_dss_enable_overlay(struct omap_overlay *ovl, int enable)
++{
++ struct omap_overlay_info old_info;
++ int r;
++
++ old_info = ovl->info;
++
++ ovl->info.enabled = enable ? 1 : 0;
++
++ if (ovl->manager) {
++ r = check_overlay(ovl, ovl->manager->display);
++ if (r) {
++ ovl->info = old_info;
++ return r;
++ }
++ }
++
++ return 0;
++}
++
++
++static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
++{
++ int i;
++ int r;
++
++ DSSDBG("omap_dss_mgr_apply(%s)\n", mgr->name);
++
++ if (!mgr->display) {
++ DSSDBG("no display, aborting apply\n");
++ return 0;
++ }
++
++ /* on a manual update display update() handles configuring
++ * planes */
++ if (mgr->display->get_update_mode) {
++ enum omap_dss_update_mode mode;
++ mode = mgr->display->get_update_mode(mgr->display);
++ if (mode == OMAP_DSS_UPDATE_MANUAL)
++ return 0;
++ }
++
++ for (i = 0; i < mgr->num_overlays; i++) {
++ int ilace = 0;
++ int outw, outh;
++
++ struct omap_overlay *ovl = &mgr->overlays[i];
++
++ if (!ovl->manager) {
++ dispc_enable_plane(ovl->id, 0);
++ continue;
++ }
++
++ if (ovl->manager != mgr)
++ continue;
++
++ if (!ovl->info.enabled) {
++ dispc_enable_plane(ovl->id, 0);
++ continue;
++ }
++
++ if (mgr->display->type == OMAP_DISPLAY_TYPE_VENC)
++ ilace = 1;
++
++ if (ovl->info.out_width == 0)
++ outw = ovl->info.width;
++ else
++ outw = ovl->info.out_width;
++
++ if (ovl->info.out_height == 0)
++ outh = ovl->info.height;
++ else
++ outh = ovl->info.out_height;
++
++ r = dispc_setup_plane(ovl->id, ovl->manager->id,
++ ovl->info.paddr,
++ ovl->info.screen_width,
++ ovl->info.pos_x,
++ ovl->info.pos_y,
++ ovl->info.width,
++ ovl->info.height,
++ outw,
++ outh,
++ ovl->info.color_mode,
++ ilace);
++
++ if (r) {
++ DSSERR("dispc_setup_plane failed\n");
++ return r;
++ }
++
++ dispc_enable_plane(ovl->id, 1);
++ }
++
++ dispc_go(mgr->id);
++
++ return 0;
++}
++
++static struct omap_overlay dispc_overlays[] = {
++ {
++ .name = "gfx",
++ .id = OMAP_DSS_GFX,
++ .set_manager = &omap_dss_set_manager,
++ .unset_manager = &omap_dss_unset_manager,
++ .setup_input = &omap_dss_setup_overlay_input,
++ .setup_output = &omap_dss_setup_overlay_output,
++ .enable = &omap_dss_enable_overlay,
++ .supported_modes = OMAP_DSS_COLOR_GFX_OMAP3,
++ },
++ {
++ .name = "vid1",
++ .id = OMAP_DSS_VIDEO1,
++ .set_manager = &omap_dss_set_manager,
++ .unset_manager = &omap_dss_unset_manager,
++ .setup_input = &omap_dss_setup_overlay_input,
++ .setup_output = &omap_dss_setup_overlay_output,
++ .enable = &omap_dss_enable_overlay,
++ .supported_modes = OMAP_DSS_COLOR_VID_OMAP3,
++ .caps = OMAP_DSS_OVL_CAP_SCALE,
++ },
++ {
++ .name = "vid2",
++ .id = OMAP_DSS_VIDEO2,
++ .set_manager = &omap_dss_set_manager,
++ .unset_manager = &omap_dss_unset_manager,
++ .setup_input = &omap_dss_setup_overlay_input,
++ .setup_output = &omap_dss_setup_overlay_output,
++ .enable = &omap_dss_enable_overlay,
++ .supported_modes = OMAP_DSS_COLOR_VID_OMAP3,
++ .caps = OMAP_DSS_OVL_CAP_SCALE,
++ },
++};
++
++static struct omap_overlay_manager dispc_overlay_managers[] =
++{
++ [OMAP_DSS_OVL_MGR_LCD] = {
++ .name = "lcd",
++ .id = OMAP_DSS_CHANNEL_LCD,
++ .num_overlays = 3,
++ .overlays = dispc_overlays,
++ .set_display = &omap_dss_set_display,
++ .unset_display = &omap_dss_unset_display,
++ .apply = &omap_dss_mgr_apply,
++ .caps = OMAP_DSS_OVL_MGR_CAP_DISPC,
++ .supported_displays =
++ OMAP_DISPLAY_TYPE_DPI | OMAP_DISPLAY_TYPE_DBI |
++ OMAP_DISPLAY_TYPE_SDI | OMAP_DISPLAY_TYPE_DSI,
++ },
++ [OMAP_DSS_OVL_MGR_TV] = {
++ .name = "tv",
++ .id = OMAP_DSS_CHANNEL_DIGIT,
++ .num_overlays = 3,
++ .overlays = dispc_overlays,
++ .set_display = &omap_dss_set_display,
++ .unset_display = &omap_dss_unset_display,
++ .apply = &omap_dss_mgr_apply,
++ .caps = OMAP_DSS_OVL_MGR_CAP_DISPC,
++ .supported_displays = OMAP_DISPLAY_TYPE_VENC,
++ },
++};
++
++static int num_overlays = 3;
++
++static struct omap_overlay *omap_dss_overlays[10] = {
++ &dispc_overlays[0],
++ &dispc_overlays[1],
++ &dispc_overlays[2],
++};
++
++static int num_overlay_managers = 2;
++
++static struct omap_overlay_manager *omap_dss_overlay_managers[10] = {
++ &dispc_overlay_managers[0],
++ &dispc_overlay_managers[1],
++};
++
++
++static void omap_dss_add_overlay(struct omap_overlay *overlay)
++{
++ int i = num_overlays++;
++
++ omap_dss_overlays[i] = overlay;
++}
++
++static void omap_dss_add_overlay_manager(struct omap_overlay_manager *manager)
++{
++ int i = num_overlay_managers++;
++ omap_dss_overlay_managers[i] = manager;
++}
++
++int omap_dss_get_num_overlays(void)
++{
++ return num_overlays;
++}
++EXPORT_SYMBOL(omap_dss_get_num_overlays);
++
++struct omap_overlay *omap_dss_get_overlay(int num)
++{
++ BUG_ON(num >= num_overlays);
++ return omap_dss_overlays[num];
++}
++EXPORT_SYMBOL(omap_dss_get_overlay);
++
++int omap_dss_get_num_overlay_managers(void)
++{
++ return num_overlay_managers;
++}
++EXPORT_SYMBOL(omap_dss_get_num_overlay_managers);
++
++struct omap_overlay_manager *omap_dss_get_overlay_manager(int num)
++{
++ BUG_ON(num >= num_overlay_managers);
++ return omap_dss_overlay_managers[num];
++}
++EXPORT_SYMBOL(omap_dss_get_overlay_manager);
++
++static int ovl_mgr_apply_l4(struct omap_overlay_manager *mgr)
++{
++ DSSDBG("omap_dss_mgr_apply_l4(%s)\n", mgr->name);
++
++ return 0;
++}
++
++void initialize_overlays(void)
++{
++ int i;
++ struct omap_overlay_manager *lcd_mgr;
++ struct omap_overlay_manager *tv_mgr;
++ struct omap_overlay_manager *def_mgr = NULL;
++
++ lcd_mgr = omap_dss_get_overlay_manager(OMAP_DSS_OVL_MGR_LCD);
++ tv_mgr = omap_dss_get_overlay_manager(OMAP_DSS_OVL_MGR_TV);
++
++ /* connect lcd manager to first non-VENC display found */
++ for (i = 0; i < num_displays; i++) {
++ if (displays[i].type != OMAP_DISPLAY_TYPE_VENC) {
++ struct omap_display *display = &displays[i];
++ omap_dss_set_display(lcd_mgr, display);
++
++ def_mgr = lcd_mgr;
++
++ break;
++ }
++ }
++
++ /* connect tv manager to first VENC display found */
++ for (i = 0; i < num_displays; i++) {
++ if (displays[i].type == OMAP_DISPLAY_TYPE_VENC) {
++ struct omap_display *display = &displays[i];
++ omap_dss_set_display(tv_mgr, display);
++
++ if (!def_mgr)
++ def_mgr = tv_mgr;
++
++ break;
++ }
++ }
++
++ /* connect all dispc overlays to def_mgr */
++ if (def_mgr) {
++ for (i = 0; i < 3; i++) {
++ struct omap_overlay *ovl;
++ ovl = omap_dss_get_overlay(i);
++ omap_dss_set_manager(ovl, def_mgr);
++ }
++ }
++
++ /* setup L4 overlay as an example */
++ {
++ static struct omap_overlay ovl = {
++ .name = "l4-ovl",
++ .supported_modes = OMAP_DSS_COLOR_RGB24U,
++ .set_manager = &omap_dss_set_manager,
++ .unset_manager = &omap_dss_unset_manager,
++ .setup_input = &omap_dss_setup_overlay_input,
++ .setup_output = &omap_dss_setup_overlay_output,
++ .enable = &omap_dss_enable_overlay,
++ };
++
++ static struct omap_overlay_manager mgr = {
++ .name = "l4",
++ .num_overlays = 1,
++ .overlays = &ovl,
++ .set_display = &omap_dss_set_display,
++ .unset_display = &omap_dss_unset_display,
++ .apply = &ovl_mgr_apply_l4,
++ .supported_displays =
++ OMAP_DISPLAY_TYPE_DBI | OMAP_DISPLAY_TYPE_DSI,
++ };
++
++ omap_dss_add_overlay(&ovl);
++ omap_dss_add_overlay_manager(&mgr);
++ omap_dss_set_manager(&ovl, &mgr);
++ }
++
++}
++
++
++int omap_dss_get_num_displays(void)
++{
++ return num_displays;
++}
++EXPORT_SYMBOL(omap_dss_get_num_displays);
++
++struct omap_display *omap_dss_get_display(int no)
++{
++ struct omap_display *display;
++
++ if (no >= num_displays)
++ return NULL;
++
++ display = &displays[no];
++
++ switch (display->type) {
++ case OMAP_DISPLAY_TYPE_VENC:
++ break;
++
++ case OMAP_DISPLAY_TYPE_DPI:
++ case OMAP_DISPLAY_TYPE_SDI:
++ if (display->panel == NULL)
++ return NULL;
++ break;
++
++ case OMAP_DISPLAY_TYPE_DBI:
++ case OMAP_DISPLAY_TYPE_DSI:
++ if (display->panel == NULL || display->ctrl == NULL)
++ return NULL;
++ break;
++
++ default:
++ return NULL;
++ }
++
++ if (display->panel) {
++ if (!try_module_get(display->panel->owner))
++ goto err0;
++
++ if (display->panel->init)
++ if (display->panel->init(display) != 0)
++ goto err1;
++ }
++
++ if (display->ctrl) {
++ if (!try_module_get(display->ctrl->owner))
++ goto err2;
++
++ if (display->ctrl->init)
++ if (display->ctrl->init(display) != 0)
++ goto err3;
++ }
++
++ display->ref_count++;
++ /*
++ if (atomic_cmpxchg(&display->ref_count, 0, 1) != 0)
++ return 0;
++*/
++ if (display->panel) {
++ display->x_res = display->panel->x_res;
++ display->y_res = display->panel->y_res;
++ display->bpp = display->panel->bpp;
++ }
++
++ return display;
++err3:
++ if (display->ctrl)
++ module_put(display->ctrl->owner);
++err2:
++ if (display->panel && display->panel->init)
++ display->panel->cleanup(display);
++err1:
++ if (display->panel)
++ module_put(display->panel->owner);
++err0:
++ return NULL;
++}
++EXPORT_SYMBOL(omap_dss_get_display);
++
++void omap_dss_put_display(struct omap_display *display)
++{
++ if (--display->ref_count > 0)
++ return;
++/*
++ if (atomic_cmpxchg(&display->ref_count, 1, 0) != 1)
++ return;
++*/
++ if (display->ctrl) {
++ if (display->ctrl->cleanup)
++ display->ctrl->cleanup(display);
++ module_put(display->ctrl->owner);
++ }
++
++ if (display->panel) {
++ if (display->panel->cleanup)
++ display->panel->cleanup(display);
++ module_put(display->panel->owner);
++ }
++}
++EXPORT_SYMBOL(omap_dss_put_display);
++
++void omap_dss_register_ctrl(struct omap_ctrl *ctrl)
++{
++ int i;
++
++ for (i = 0; i < num_displays; i++) {
++ struct omap_display *display = &displays[i];
++ if (display->hw_config.ctrl_name &&
++ strcmp(display->hw_config.ctrl_name, ctrl->name) == 0) {
++ display->ctrl = ctrl;
++ DSSDBG("ctrl '%s' registered\n", ctrl->name);
++ }
++ }
++}
++EXPORT_SYMBOL(omap_dss_register_ctrl);
++
++void omap_dss_register_panel(struct omap_panel *panel)
++{
++ int i;
++
++ for (i = 0; i < num_displays; i++) {
++ struct omap_display *display = &displays[i];
++ if (display->hw_config.panel_name &&
++ strcmp(display->hw_config.panel_name, panel->name) == 0) {
++ display->panel = panel;
++ DSSDBG("panel '%s' registered\n", panel->name);
++ }
++ }
++}
++EXPORT_SYMBOL(omap_dss_register_panel);
++
++void omap_dss_unregister_ctrl(struct omap_ctrl *ctrl)
++{
++ int i;
++
++ for (i = 0; i < num_displays; i++) {
++ struct omap_display *display = &displays[i];
++ if (display->hw_config.ctrl_name &&
++ strcmp(display->hw_config.ctrl_name, ctrl->name) == 0)
++ display->ctrl = NULL;
++ }
++}
++EXPORT_SYMBOL(omap_dss_unregister_ctrl);
++
++void omap_dss_unregister_panel(struct omap_panel *panel)
++{
++ int i;
++
++ for (i = 0; i < num_displays; i++) {
++ struct omap_display *display = &displays[i];
++ if (display->hw_config.panel_name &&
++ strcmp(display->hw_config.panel_name, panel->name) == 0)
++ display->panel = NULL;
++ }
++}
++EXPORT_SYMBOL(omap_dss_unregister_panel);
+diff --git a/arch/arm/plat-omap/dss/dpi.c b/arch/arm/plat-omap/dss/dpi.c
+new file mode 100644
+index 0000000..2261288
+--- /dev/null
++++ b/arch/arm/plat-omap/dss/dpi.c
+@@ -0,0 +1,323 @@
++/*
++ * linux/arch/arm/plat-omap/dss/dpi.c
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * Some code and ideas taken from drivers/video/omap/ driver
++ * by Imre Deak.
++ *
++ * 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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <linux/kernel.h>
++#include <linux/clk.h>
++#include <linux/delay.h>
++#include <linux/errno.h>
++
++#include <mach/board.h>
++#include <mach/display.h>
++#include "dss.h"
++
++
++static struct {
++ struct clk *dss_ick;
++ struct clk *dss1_fck;
++ int update_enabled;
++} dpi;
++
++static void dpi_set_mode(struct omap_display *display)
++{
++ struct omap_panel *panel = display->panel;
++ int lck_div, pck_div;
++ unsigned long fck;
++ unsigned long pck;
++ int is_tft;
++
++ dispc_set_lcd_size(display->x_res, display->y_res);
++
++ dispc_set_lcd_timings(&panel->timings);
++ dispc_set_pol_freq(panel);
++
++ is_tft = (display->panel->config & OMAP_DSS_LCD_TFT) != 0;
++
++#ifdef CONFIG_OMAP2_DSS_USE_DSI_PLL
++ {
++ struct dsi_clock_info cinfo;
++ dsi_pll_calc_pck(is_tft,
++ display->panel->timings.pixel_clock*1000,
++ &cinfo);
++
++ dsi_pll_program(&cinfo);
++
++ dss_select_clk_source(0, 1);
++
++ dispc_set_lcd_divisor(cinfo.lck_div, cinfo.pck_div);
++
++ fck = cinfo.dispc_fck;
++ lck_div = cinfo.lck_div;
++ pck_div = cinfo.pck_div;
++ }
++#else
++ {
++ struct dispc_clock_info cinfo;
++ dispc_calc_clock_div(is_tft, panel->timings.pixel_clock*1000,
++ &cinfo);
++
++ if (dispc_set_clock_div(&cinfo)) {
++ DSSERR("Failed to set DSS clocks\n");
++ return;
++ }
++
++ fck = cinfo.fck;
++ lck_div = cinfo.lck_div;
++ pck_div = cinfo.pck_div;
++ }
++#endif
++
++ pck = fck / lck_div / pck_div / 1000;
++
++ if (pck != panel->timings.pixel_clock) {
++ DSSWARN("Could not find exact pixel clock. Requested %d KHz, "
++ "got %lu KHz.\n",
++ panel->timings.pixel_clock,
++ pck);
++
++ panel->timings.pixel_clock = pck;
++ }
++
++ DSSDBG("fck %lu, lck_div %d, pck_div %d\n", fck, lck_div, pck_div);
++#ifdef DEBUG
++ {
++ struct omap_video_timings *t;
++ int xtot, ytot;
++ unsigned long ht, vt;
++
++ t = &display->panel->timings;
++ xtot = display->panel->x_res + t->hfp + t->hsw + t->hbp;
++ ytot = display->panel->y_res + t->vfp + t->vsw + t->vbp;
++
++ ht = (pck * 1000) / xtot;
++ vt = (pck * 1000) / xtot / ytot;
++
++ DSSDBG("hsync %ldHz, vsync %ldHz\n", ht, vt);
++
++ }
++#endif
++ DSSDBG("pixel clock changed to %d\n", panel->timings.pixel_clock);
++}
++
++
++static int dpi_display_enable(struct omap_display *display)
++{
++ struct omap_panel *panel = display->panel;
++ int r;
++ int is_tft;
++
++ if (display->state != OMAP_DSS_DISPLAY_DISABLED) {
++ DSSERR("display already enabled\n");
++ return -EINVAL;
++ }
++
++ r = panel->enable(display);
++ if (r)
++ return r;
++
++ clk_enable(dpi.dss_ick);
++ clk_enable(dpi.dss1_fck);
++
++#ifdef CONFIG_OMAP2_DSS_USE_DSI_PLL
++ dsi_pll_init(0, 1);
++#endif
++ is_tft = (display->panel->config & OMAP_DSS_LCD_TFT) != 0;
++
++ dispc_set_parallel_interface_mode(OMAP_DSS_PARALLELMODE_BYPASS);
++ dispc_set_lcd_display_type(is_tft ? OMAP_DSS_LCD_DISPLAY_TFT :
++ OMAP_DSS_LCD_DISPLAY_STN);
++ dispc_set_tft_data_lines(display->hw_config.u.dpi.data_lines);
++
++ dpi_set_mode(display);
++
++ mdelay(2);
++
++ dispc_enable_lcd_out(1);
++
++ display->state = OMAP_DSS_DISPLAY_ACTIVE;
++
++ return 0;
++}
++
++static int dpi_display_resume(struct omap_display *display);
++
++static void dpi_display_disable(struct omap_display *display)
++{
++ if (display->state == OMAP_DSS_DISPLAY_DISABLED)
++ return;
++
++ if (display->state == OMAP_DSS_DISPLAY_SUSPENDED)
++ dpi_display_resume(display);
++
++ display->panel->disable(display);
++ dispc_enable_lcd_out(0);
++
++#ifdef CONFIG_OMAP2_DSS_USE_DSI_PLL
++ dss_select_clk_source(0, 0);
++ dsi_pll_uninit();
++#endif
++
++ clk_disable(dpi.dss_ick);
++ clk_disable(dpi.dss1_fck);
++
++ display->state = OMAP_DSS_DISPLAY_DISABLED;
++}
++
++static int dpi_display_suspend(struct omap_display *display)
++{
++ if (display->state != OMAP_DSS_DISPLAY_ACTIVE)
++ return -EINVAL;
++
++ if (display->panel->suspend)
++ display->panel->suspend(display);
++
++ dispc_enable_lcd_out(0);
++
++ clk_disable(dpi.dss_ick);
++ clk_disable(dpi.dss1_fck);
++
++ display->state = OMAP_DSS_DISPLAY_SUSPENDED;
++
++ return 0;
++}
++
++static int dpi_display_resume(struct omap_display *display)
++{
++ if (display->state != OMAP_DSS_DISPLAY_SUSPENDED)
++ return -EINVAL;
++
++ dispc_enable_lcd_out(1);
++
++ clk_enable(dpi.dss_ick);
++ clk_enable(dpi.dss1_fck);
++
++ if (display->panel->resume)
++ display->panel->resume(display);
++
++ display->state = OMAP_DSS_DISPLAY_ACTIVE;
++
++ return 0;
++}
++
++static void dpi_display_set_mode(struct omap_display *display,
++ int x_res, int y_res, int bpp)
++{
++ if (display->panel && display->panel->set_mode)
++ display->panel->set_mode(display, x_res, y_res, bpp);
++}
++
++static void dpi_set_timings(struct omap_display *display,
++ struct omap_video_timings *timings)
++{
++ DSSDBG("dpi_set_timings\n");
++ display->panel->timings = *timings;
++ dpi_set_mode(display);
++}
++
++static int dpi_check_timings(struct omap_display *display,
++ struct omap_video_timings *timings)
++{
++ int is_tft;
++ int r;
++
++ if (timings->hsw < 1 || timings->hsw > 64 ||
++ timings->hfp < 1 || timings->hfp > 256 ||
++ timings->hbp < 1 || timings->hbp > 256) {
++ return -EINVAL;
++ }
++
++ if (timings->vsw < 1 || timings->vsw > 64 ||
++ timings->vfp > 256 || timings->vbp > 256) {
++ return -EINVAL;
++ }
++
++
++ is_tft = (display->panel->config & OMAP_DSS_LCD_TFT) != 0;
++
++#ifdef CONFIG_OMAP2_DSS_USE_DSI_PLL
++ r = dsi_pll_calc_pck(is_tft, timings->pixel_clock * 1000, 0);
++#else
++ r = dispc_calc_clock_div(is_tft, timings->pixel_clock * 1000, 0);
++#endif
++ if (r)
++ return r;
++
++ return 0;
++}
++
++static void dpi_get_timings(struct omap_display *display,
++ struct omap_video_timings *timings)
++{
++ *timings = display->panel->timings;
++}
++
++static int dpi_display_set_update_mode(struct omap_display *display,
++ enum omap_dss_update_mode mode)
++{
++ if (mode == OMAP_DSS_UPDATE_MANUAL)
++ return -EINVAL;
++
++ if (mode == OMAP_DSS_UPDATE_DISABLED) {
++ dispc_enable_lcd_out(0);
++ dpi.update_enabled = 0;
++ } else {
++ dispc_enable_lcd_out(1);
++ dpi.update_enabled = 1;
++ }
++
++ return 0;
++}
++
++static enum omap_dss_update_mode dpi_display_get_update_mode(
++ struct omap_display *display)
++{
++ return dpi.update_enabled ? OMAP_DSS_UPDATE_AUTO :
++ OMAP_DSS_UPDATE_DISABLED;
++}
++
++void dpi_init_display(struct omap_display *display)
++{
++ DSSDBG("DPI init_display\n");
++
++ display->enable = dpi_display_enable;
++ display->disable = dpi_display_disable;
++ display->suspend = dpi_display_suspend;
++ display->resume = dpi_display_resume;
++ display->set_mode = dpi_display_set_mode;
++ display->set_timings = dpi_set_timings;
++ display->check_timings = dpi_check_timings;
++ display->get_timings = dpi_get_timings;
++ display->set_update_mode = dpi_display_set_update_mode;
++ display->get_update_mode = dpi_display_get_update_mode;
++}
++
++int dpi_init(void)
++{
++ dpi.dss_ick = get_dss_ick();
++ dpi.dss1_fck = get_dss1_fck();
++
++ return 0;
++}
++
++void dpi_exit(void)
++{
++}
++
+diff --git a/arch/arm/plat-omap/dss/dsi.c b/arch/arm/plat-omap/dss/dsi.c
+new file mode 100644
+index 0000000..9f31ac3
+--- /dev/null
++++ b/arch/arm/plat-omap/dss/dsi.c
+@@ -0,0 +1,3020 @@
++/*
++ * linux/arch/arm/plat-omap/dss/dsi.c
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#define DSS_SUBSYS_NAME "DSI"
++
++#include <linux/kernel.h>
++#include <linux/io.h>
++#include <linux/clk.h>
++#include <linux/device.h>
++#include <linux/err.h>
++#include <linux/interrupt.h>
++#include <linux/delay.h>
++#include <linux/workqueue.h>
++#include <linux/mutex.h>
++
++#include <mach/board.h>
++#include <mach/display.h>
++
++#include "dss.h"
++
++/*#define VERBOSE*/
++/*#define VERBOSE_IRQ*/
++/*#define MEASURE_PERF*/
++
++#define DSI_BASE 0x4804FC00
++
++struct dsi_reg { u16 idx; };
++
++#define DSI_REG(idx) ((const struct dsi_reg) { idx })
++
++/* DSI Protocol Engine */
++
++#define DSI_REVISION DSI_REG(0x0000)
++#define DSI_SYSCONFIG DSI_REG(0x0010)
++#define DSI_SYSSTATUS DSI_REG(0x0014)
++#define DSI_IRQSTATUS DSI_REG(0x0018)
++#define DSI_IRQENABLE DSI_REG(0x001C)
++#define DSI_CTRL DSI_REG(0x0040)
++#define DSI_COMPLEXIO_CFG1 DSI_REG(0x0048)
++#define DSI_COMPLEXIO_IRQ_STATUS DSI_REG(0x004C)
++#define DSI_COMPLEXIO_IRQ_ENABLE DSI_REG(0x0050)
++#define DSI_CLK_CTRL DSI_REG(0x0054)
++#define DSI_TIMING1 DSI_REG(0x0058)
++#define DSI_TIMING2 DSI_REG(0x005C)
++#define DSI_VM_TIMING1 DSI_REG(0x0060)
++#define DSI_VM_TIMING2 DSI_REG(0x0064)
++#define DSI_VM_TIMING3 DSI_REG(0x0068)
++#define DSI_CLK_TIMING DSI_REG(0x006C)
++#define DSI_TX_FIFO_VC_SIZE DSI_REG(0x0070)
++#define DSI_RX_FIFO_VC_SIZE DSI_REG(0x0074)
++#define DSI_COMPLEXIO_CFG2 DSI_REG(0x0078)
++#define DSI_RX_FIFO_VC_FULLNESS DSI_REG(0x007C)
++#define DSI_VM_TIMING4 DSI_REG(0x0080)
++#define DSI_TX_FIFO_VC_EMPTINESS DSI_REG(0x0084)
++#define DSI_VM_TIMING5 DSI_REG(0x0088)
++#define DSI_VM_TIMING6 DSI_REG(0x008C)
++#define DSI_VM_TIMING7 DSI_REG(0x0090)
++#define DSI_STOPCLK_TIMING DSI_REG(0x0094)
++#define DSI_VC_CTRL(n) DSI_REG(0x0100 + (n * 0x20))
++#define DSI_VC_TE(n) DSI_REG(0x0104 + (n * 0x20))
++#define DSI_VC_LONG_PACKET_HEADER(n) DSI_REG(0x0108 + (n * 0x20))
++#define DSI_VC_LONG_PACKET_PAYLOAD(n) DSI_REG(0x010C + (n * 0x20))
++#define DSI_VC_SHORT_PACKET_HEADER(n) DSI_REG(0x0110 + (n * 0x20))
++#define DSI_VC_IRQSTATUS(n) DSI_REG(0x0118 + (n * 0x20))
++#define DSI_VC_IRQENABLE(n) DSI_REG(0x011C + (n * 0x20))
++
++/* DSIPHY_SCP */
++
++#define DSIPHY_CFG0 DSI_REG(0x200 + 0x0000)
++#define DSIPHY_CFG1 DSI_REG(0x200 + 0x0004)
++#define DSIPHY_CFG2 DSI_REG(0x200 + 0x0008)
++#define DSIPHY_CFG5 DSI_REG(0x200 + 0x0014)
++
++/* DSI_PLL_CTRL_SCP */
++
++#define DSI_PLL_CONTROL DSI_REG(0x300 + 0x0000)
++#define DSI_PLL_STATUS DSI_REG(0x300 + 0x0004)
++#define DSI_PLL_GO DSI_REG(0x300 + 0x0008)
++#define DSI_PLL_CONFIGURATION1 DSI_REG(0x300 + 0x000C)
++#define DSI_PLL_CONFIGURATION2 DSI_REG(0x300 + 0x0010)
++
++#define REG_GET(idx, start, end) \
++ FLD_GET(dsi_read_reg(idx), start, end)
++
++#define REG_FLD_MOD(idx, val, start, end) \
++ dsi_write_reg(idx, FLD_MOD(dsi_read_reg(idx), val, start, end))
++
++/* Global interrupts */
++#define DSI_IRQ_VC0 (1 << 0)
++#define DSI_IRQ_VC1 (1 << 1)
++#define DSI_IRQ_VC2 (1 << 2)
++#define DSI_IRQ_VC3 (1 << 3)
++#define DSI_IRQ_WAKEUP (1 << 4)
++#define DSI_IRQ_RESYNC (1 << 5)
++#define DSI_IRQ_PLL_LOCK (1 << 7)
++#define DSI_IRQ_PLL_UNLOCK (1 << 8)
++#define DSI_IRQ_PLL_RECALL (1 << 9)
++#define DSI_IRQ_COMPLEXIO_ERR (1 << 10)
++#define DSI_IRQ_HS_TX_TIMEOUT (1 << 14)
++#define DSI_IRQ_LP_RX_TIMEOUT (1 << 15)
++#define DSI_IRQ_TE_TRIGGER (1 << 16)
++#define DSI_IRQ_ACK_TRIGGER (1 << 17)
++#define DSI_IRQ_SYNC_LOST (1 << 18)
++#define DSI_IRQ_LDO_POWER_GOOD (1 << 19)
++#define DSI_IRQ_TA_TIMEOUT (1 << 20)
++#define DSI_IRQ_ERROR_MASK \
++ (DSI_IRQ_HS_TX_TIMEOUT | DSI_IRQ_LP_RX_TIMEOUT | DSI_IRQ_SYNC_LOST | \
++ DSI_IRQ_TA_TIMEOUT)
++#define DSI_IRQ_CHANNEL_MASK 0xf
++
++/* Virtual channel interrupts */
++#define DSI_VC_IRQ_CS (1 << 0)
++#define DSI_VC_IRQ_ECC_CORR (1 << 1)
++#define DSI_VC_IRQ_PACKET_SENT (1 << 2)
++#define DSI_VC_IRQ_FIFO_TX_OVF (1 << 3)
++#define DSI_VC_IRQ_FIFO_RX_OVF (1 << 4)
++#define DSI_VC_IRQ_BTA (1 << 5)
++#define DSI_VC_IRQ_ECC_NO_CORR (1 << 6)
++#define DSI_VC_IRQ_FIFO_TX_UDF (1 << 7)
++#define DSI_VC_IRQ_PP_BUSY_CHANGE (1 << 8)
++#define DSI_VC_IRQ_ERROR_MASK \
++ (DSI_VC_IRQ_CS | DSI_VC_IRQ_ECC_CORR | DSI_VC_IRQ_FIFO_TX_OVF | \
++ DSI_VC_IRQ_FIFO_RX_OVF | DSI_VC_IRQ_ECC_NO_CORR | \
++ DSI_VC_IRQ_FIFO_TX_UDF)
++
++/* ComplexIO interrupts */
++#define DSI_CIO_IRQ_ERRSYNCESC1 (1 << 0)
++#define DSI_CIO_IRQ_ERRSYNCESC2 (1 << 1)
++#define DSI_CIO_IRQ_ERRSYNCESC3 (1 << 2)
++#define DSI_CIO_IRQ_ERRESC1 (1 << 5)
++#define DSI_CIO_IRQ_ERRESC2 (1 << 6)
++#define DSI_CIO_IRQ_ERRESC3 (1 << 7)
++#define DSI_CIO_IRQ_ERRCONTROL1 (1 << 10)
++#define DSI_CIO_IRQ_ERRCONTROL2 (1 << 11)
++#define DSI_CIO_IRQ_ERRCONTROL3 (1 << 12)
++#define DSI_CIO_IRQ_STATEULPS1 (1 << 15)
++#define DSI_CIO_IRQ_STATEULPS2 (1 << 16)
++#define DSI_CIO_IRQ_STATEULPS3 (1 << 17)
++#define DSI_CIO_IRQ_ERRCONTENTIONLP0_1 (1 << 20)
++#define DSI_CIO_IRQ_ERRCONTENTIONLP1_1 (1 << 21)
++#define DSI_CIO_IRQ_ERRCONTENTIONLP0_2 (1 << 22)
++#define DSI_CIO_IRQ_ERRCONTENTIONLP1_2 (1 << 23)
++#define DSI_CIO_IRQ_ERRCONTENTIONLP0_3 (1 << 24)
++#define DSI_CIO_IRQ_ERRCONTENTIONLP1_3 (1 << 25)
++#define DSI_CIO_IRQ_ULPSACTIVENOT_ALL0 (1 << 30)
++#define DSI_CIO_IRQ_ULPSACTIVENOT_ALL1 (1 << 31)
++
++#define DSI_DT_DCS_SHORT_WRITE_0 0x05
++#define DSI_DT_DCS_SHORT_WRITE_1 0x15
++#define DSI_DT_DCS_READ 0x06
++#define DSI_DT_SET_MAX_RET_PKG_SIZE 0x37
++#define DSI_DT_NULL_PACKET 0x09
++#define DSI_DT_DCS_LONG_WRITE 0x39
++
++#define DSI_DT_RX_ACK_WITH_ERR 0x02
++#define DSI_DT_RX_DCS_LONG_READ 0x1c
++#define DSI_DT_RX_SHORT_READ_1 0x21
++#define DSI_DT_RX_SHORT_READ_2 0x22
++
++#define FINT_MAX 2100000
++#define FINT_MIN 750000
++#define REGN_MAX (1 << 7)
++#define REGM_MAX ((1 << 11) - 1)
++#define REGM3_MAX (1 << 4)
++#define REGM4_MAX (1 << 4)
++
++enum fifo_size {
++ DSI_FIFO_SIZE_0 = 0,
++ DSI_FIFO_SIZE_32 = 1,
++ DSI_FIFO_SIZE_64 = 2,
++ DSI_FIFO_SIZE_96 = 3,
++ DSI_FIFO_SIZE_128 = 4,
++};
++
++static struct
++{
++ void __iomem *base;
++
++ struct clk *dss_ick;
++ struct clk *dss1_fck;
++ struct clk *dss2_fck;
++
++ unsigned long dsi1_pll_fclk; /* Hz */
++ unsigned long dsi2_pll_fclk; /* Hz */
++ unsigned long dsiphy; /* Hz */
++ unsigned long ddr_clk; /* Hz */
++
++ struct {
++ enum fifo_size fifo_size;
++ int dest_per; /* destination peripheral 0-3 */
++ } vc[4];
++
++ struct mutex lock;
++
++ struct completion bta_completion;
++
++ spinlock_t update_lock;
++ int update_ongoing;
++ int update_syncers;
++ struct completion update_completion;
++ struct work_struct framedone_work;
++
++ enum omap_dss_update_mode update_mode;
++ int use_te;
++ int framedone_scheduled; /* helps to catch strange framedone bugs */
++
++ struct {
++ struct omap_display *display;
++ int x, y, w, h;
++ int bytespp;
++ } update_region;
++
++#ifdef MEASURE_PERF
++ ktime_t measure_time;
++ int measure_frames;
++#endif
++} dsi;
++
++
++static inline void dsi_write_reg(const struct dsi_reg idx, u32 val)
++{
++ __raw_writel(val, dsi.base + idx.idx);
++}
++
++static inline u32 dsi_read_reg(const struct dsi_reg idx)
++{
++ return __raw_readl(dsi.base + idx.idx);
++}
++
++static inline int wait_for_bit_change(const struct dsi_reg idx, int bitnum,
++ int value)
++{
++ int t = 1000;
++
++ while (REG_GET(idx, bitnum, bitnum) != value) {
++ if (--t == 0)
++ return !value;
++ }
++
++ return value;
++}
++
++
++#ifdef MEASURE_PERF
++static void start_measuring(void)
++{
++ dsi.measure_time = ktime_get();
++}
++
++static void end_measuring(const char *name)
++{
++ ktime_t t;
++ u32 total_bytes;
++ u32 us;
++ const int numframes = 100;
++
++ if (dsi.update_mode == OMAP_DSS_UPDATE_DISABLED)
++ return;
++
++ if (dsi.update_mode == OMAP_DSS_UPDATE_AUTO) {
++ dsi.measure_frames++;
++ if (dsi.measure_frames < numframes)
++ return;
++ dsi.measure_frames = 0;
++ }
++
++ t = ktime_get();
++ t = ktime_sub(t, dsi.measure_time);
++ us = (u32)ktime_to_us(t);
++ if (us == 0)
++ us = 1;
++
++ total_bytes = dsi.update_region.w *
++ dsi.update_region.h *
++ dsi.update_region.bytespp;
++
++ if (dsi.update_mode == OMAP_DSS_UPDATE_AUTO) {
++ DSSINFO("%s update: %d frames in %u us, %u frames/sec\n",
++ name, numframes,
++ us,
++ 1000*1000 / us);
++ } else {
++ DSSINFO("%s update in %u us (%u Hz), %u bytes, %u kbytes/sec\n",
++ name,
++ us,
++ 1000*1000 / us,
++ total_bytes,
++ total_bytes * 1000 / us);
++ }
++}
++#else
++#define start_measuring()
++#define end_measuring(x)
++#endif
++
++
++
++
++static void print_irq_status(u32 status)
++{
++#ifndef VERBOSE_IRQ
++ if ((status & ~DSI_IRQ_CHANNEL_MASK) == 0)
++ return;
++#endif
++ printk(KERN_DEBUG "DSI IRQ: 0x%x: ", status);
++
++#define PIS(x) \
++ if (status & DSI_IRQ_##x) \
++ printk(#x " ");
++#ifdef VERBOSE_IRQ
++ PIS(VC0);
++ PIS(VC1);
++ PIS(VC2);
++ PIS(VC3);
++#endif
++ PIS(WAKEUP);
++ PIS(RESYNC);
++ PIS(PLL_LOCK);
++ PIS(PLL_UNLOCK);
++ PIS(PLL_RECALL);
++ PIS(COMPLEXIO_ERR);
++ PIS(HS_TX_TIMEOUT);
++ PIS(LP_RX_TIMEOUT);
++ PIS(TE_TRIGGER);
++ PIS(ACK_TRIGGER);
++ PIS(SYNC_LOST);
++ PIS(LDO_POWER_GOOD);
++ PIS(TA_TIMEOUT);
++#undef PIS
++
++ printk("\n");
++}
++
++static void print_irq_status_vc(int channel, u32 status)
++{
++#ifndef VERBOSE_IRQ
++ if ((status & ~DSI_VC_IRQ_PACKET_SENT) == 0)
++ return;
++#endif
++ printk(KERN_DEBUG "DSI VC(%d) IRQ 0x%x: ", channel, status);
++
++#define PIS(x) \
++ if (status & DSI_VC_IRQ_##x) \
++ printk(#x " ");
++ PIS(CS);
++ PIS(ECC_CORR);
++#ifdef VERBOSE_IRQ
++ PIS(PACKET_SENT);
++#endif
++ PIS(FIFO_TX_OVF);
++ PIS(FIFO_RX_OVF);
++ PIS(BTA);
++ PIS(ECC_NO_CORR);
++ PIS(FIFO_TX_UDF);
++ PIS(PP_BUSY_CHANGE);
++#undef PIS
++ printk("\n");
++}
++
++static void print_irq_status_cio(u32 status)
++{
++ printk(KERN_DEBUG "DSI CIO IRQ 0x%x: ", status);
++
++#define PIS(x) \
++ if (status & DSI_CIO_IRQ_##x) \
++ printk(#x " ");
++ PIS(ERRSYNCESC1);
++ PIS(ERRSYNCESC2);
++ PIS(ERRSYNCESC3);
++ PIS(ERRESC1);
++ PIS(ERRESC2);
++ PIS(ERRESC3);
++ PIS(ERRCONTROL1);
++ PIS(ERRCONTROL2);
++ PIS(ERRCONTROL3);
++ PIS(STATEULPS1);
++ PIS(STATEULPS2);
++ PIS(STATEULPS3);
++ PIS(ERRCONTENTIONLP0_1);
++ PIS(ERRCONTENTIONLP1_1);
++ PIS(ERRCONTENTIONLP0_2);
++ PIS(ERRCONTENTIONLP1_2);
++ PIS(ERRCONTENTIONLP0_3);
++ PIS(ERRCONTENTIONLP1_3);
++ PIS(ULPSACTIVENOT_ALL0);
++ PIS(ULPSACTIVENOT_ALL1);
++#undef PIS
++
++ printk("\n");
++}
++
++static int debug_irq;
++
++/* called from dss */
++void dsi_irq_handler(void)
++{
++ u32 irqstatus, vcstatus, ciostatus;
++ int i;
++
++ irqstatus = dsi_read_reg(DSI_IRQSTATUS);
++
++ if (irqstatus & DSI_IRQ_ERROR_MASK) {
++ DSSERR("DSI error, irqstatus %x\n", irqstatus);
++ print_irq_status(irqstatus);
++ } else if (debug_irq) {
++ print_irq_status(irqstatus);
++ }
++
++ for (i = 0; i < 4; ++i) {
++ if ((irqstatus & (1<<i)) == 0)
++ continue;
++
++ vcstatus = dsi_read_reg(DSI_VC_IRQSTATUS(i));
++
++ if (vcstatus & DSI_VC_IRQ_BTA)
++ complete(&dsi.bta_completion);
++
++ if (vcstatus & DSI_VC_IRQ_ERROR_MASK) {
++ DSSERR("DSI VC(%d) error, vc irqstatus %x\n",
++ i, vcstatus);
++ print_irq_status_vc(i, vcstatus);
++ } else if (debug_irq) {
++ print_irq_status_vc(i, vcstatus);
++ }
++
++ dsi_write_reg(DSI_VC_IRQSTATUS(i), vcstatus);
++ }
++
++ if (irqstatus & DSI_IRQ_COMPLEXIO_ERR) {
++ ciostatus = dsi_read_reg(DSI_COMPLEXIO_IRQ_STATUS);
++
++ dsi_write_reg(DSI_COMPLEXIO_IRQ_STATUS, ciostatus);
++
++ DSSERR("DSI CIO error, cio irqstatus %x\n", ciostatus);
++ print_irq_status_cio(ciostatus);
++ }
++
++ dsi_write_reg(DSI_IRQSTATUS, irqstatus & ~DSI_IRQ_CHANNEL_MASK);
++}
++
++
++static void _dsi_initialize_irq(void)
++{
++ u32 l;
++ int i;
++
++ /* disable all interrupts */
++ dsi_write_reg(DSI_IRQENABLE, 0);
++ for (i = 0; i < 4; ++i)
++ dsi_write_reg(DSI_VC_IRQENABLE(i), 0);
++ dsi_write_reg(DSI_COMPLEXIO_IRQ_ENABLE, 0);
++
++ /* clear interrupt status */
++ l = dsi_read_reg(DSI_IRQSTATUS);
++ dsi_write_reg(DSI_IRQSTATUS, l & ~DSI_IRQ_CHANNEL_MASK);
++
++ for (i = 0; i < 4; ++i) {
++ l = dsi_read_reg(DSI_VC_IRQSTATUS(i));
++ dsi_write_reg(DSI_VC_IRQSTATUS(i), l);
++ }
++
++ l = dsi_read_reg(DSI_COMPLEXIO_IRQ_STATUS);
++ dsi_write_reg(DSI_COMPLEXIO_IRQ_STATUS, l);
++
++ /* enable error irqs */
++ l = DSI_IRQ_ERROR_MASK;
++ dsi_write_reg(DSI_IRQENABLE, l);
++
++ l = DSI_VC_IRQ_ERROR_MASK;
++ for (i = 0; i < 4; ++i)
++ dsi_write_reg(DSI_VC_IRQENABLE(i), l);
++
++ /* XXX zonda responds incorrectly, causing control error:
++ Exit from LP-ESC mode to LP11 uses wrong transition states on the
++ data lines LP0 and LN0. */
++ dsi_write_reg(DSI_COMPLEXIO_IRQ_ENABLE,
++ -1 & (~DSI_CIO_IRQ_ERRCONTROL2));
++}
++
++static void dsi_vc_enable_bta_irq(int channel)
++{
++ u32 l;
++
++ l = dsi_read_reg(DSI_VC_IRQENABLE(channel));
++ l |= DSI_VC_IRQ_BTA;
++ dsi_write_reg(DSI_VC_IRQENABLE(channel), l);
++}
++
++static void dsi_vc_disable_bta_irq(int channel)
++{
++ u32 l;
++
++ l = dsi_read_reg(DSI_VC_IRQENABLE(channel));
++ l &= ~DSI_VC_IRQ_BTA;
++ dsi_write_reg(DSI_VC_IRQENABLE(channel), l);
++}
++
++/* DSI func clock. this could also be DSI2_PLL_FCLK */
++static inline void enable_clocks(int enable)
++{
++ if (enable) {
++ clk_enable(dsi.dss_ick);
++ clk_enable(dsi.dss1_fck);
++ } else {
++ clk_disable(dsi.dss1_fck);
++ clk_disable(dsi.dss_ick);
++ }
++}
++
++/* source clock for DSI PLL. this could also be PCLKFREE */
++static inline void dsi_enable_pll_clock(int enable)
++{
++ if (enable)
++ clk_enable(dsi.dss2_fck);
++ else
++ clk_disable(dsi.dss2_fck);
++}
++
++#if 1
++
++#ifdef DEBUG
++static void _dsi_print_reset_status(void)
++{
++ u32 l;
++
++ /* A dummy read using the SCP interface to any DSIPHY register is
++ * required after DSIPHY reset to complete the reset of the DSI complex
++ * I/O. */
++ l = dsi_read_reg(DSIPHY_CFG5);
++
++ printk(KERN_DEBUG "DSI resets: ");
++
++ l = dsi_read_reg(DSI_PLL_STATUS);
++ printk("PLL (%d) ", FLD_GET(l, 0, 0));
++
++ l = dsi_read_reg(DSI_COMPLEXIO_CFG1);
++ printk("CIO (%d) ", FLD_GET(l, 29, 29));
++
++ l = dsi_read_reg(DSIPHY_CFG5);
++ printk("PHY (%x, %d, %d, %d)\n",
++ FLD_GET(l, 28, 26),
++ FLD_GET(l, 29, 29),
++ FLD_GET(l, 30, 30),
++ FLD_GET(l, 31, 31));
++}
++#else
++#define _dsi_print_reset_status()
++#endif
++
++static int _dsi_reset(void)
++{
++ int r = 0;
++
++ /* Soft reset */
++ REG_FLD_MOD(DSI_SYSCONFIG, 1, 1, 1);
++
++ if (wait_for_bit_change(DSI_SYSSTATUS, 0, 1) != 1) {
++ DSSERR("soft reset failed\n");
++ r = -ENODEV;
++ }
++
++ /* A dummy read using the SCP interface to any DSIPHY register is
++ * required after DSIPHY reset to complete the reset of the DSI complex
++ * I/O. */
++ dsi_read_reg(DSIPHY_CFG5);
++
++ _dsi_print_reset_status();
++
++ return r;
++}
++#endif
++
++static inline int dsi_if_enable(int enable)
++{
++ DSSDBG("dsi_if_enable(%d)\n", enable);
++
++ enable = enable ? 1 : 0;
++ REG_FLD_MOD(DSI_CTRL, enable, 0, 0); /* IF_EN */
++
++ if (wait_for_bit_change(DSI_CTRL, 0, enable) != enable) {
++ DSSERR("Failed to set dsi_if_enable to %d\n", enable);
++ return -EIO;
++ }
++
++ return 0;
++}
++
++static unsigned long dsi_fclk_rate(void)
++{
++ unsigned long r;
++
++ if (dss_get_dsi_clk_source() == 0) {
++ /* DSI FCLK source is DSS1_ALWON_FCK, which is dss1_fck */
++ r = clk_get_rate(dsi.dss1_fck);
++ } else {
++ /* DSI FCLK source is DSI2_PLL_FCLK */
++ r = dsi.dsi2_pll_fclk;
++ }
++
++ return r;
++}
++
++static int dsi_set_lp_clk_divisor(void)
++{
++ int n;
++ unsigned long dsi_fclk;
++ unsigned long mhz;
++
++ /* LP_CLK_DIVISOR, DSI fclk/n, should be 20MHz - 32kHz */
++
++ dsi_fclk = dsi_fclk_rate();
++
++ for (n = 1; n < (1 << 13) - 1; ++n) {
++ mhz = dsi_fclk / n;
++ if (mhz <= 20*1000*1000)
++ break;
++ }
++
++ if (n == (1 << 13) - 1) {
++ DSSERR("DSI: Failed to find LP_CLK_DIVISOR\n");
++ return -EINVAL;
++ }
++
++ DSSDBG("LP_CLK_DIV %d, LP_CLK %ld\n", n, mhz);
++
++ REG_FLD_MOD(DSI_CLK_CTRL, n, 12, 0); /* LP_CLK_DIVISOR */
++ if (dsi_fclk > 30*1000*1000)
++ REG_FLD_MOD(DSI_CLK_CTRL, 1, 21, 21); /* LP_RX_SYNCHRO_ENABLE */
++
++ return 0;
++}
++
++
++enum dsi_pll_power_state {
++ DSI_PLL_POWER_OFF = 0x0,
++ DSI_PLL_POWER_ON_HSCLK = 0x1,
++ DSI_PLL_POWER_ON_ALL = 0x2,
++ DSI_PLL_POWER_ON_DIV = 0x3,
++};
++
++static int dsi_pll_power(enum dsi_pll_power_state state)
++{
++ int t = 0;
++
++ REG_FLD_MOD(DSI_CLK_CTRL, state, 31, 30); /* PLL_PWR_CMD */
++
++ /* PLL_PWR_STATUS */
++ while (FLD_GET(dsi_read_reg(DSI_CLK_CTRL), 29, 28) != state) {
++ udelay(1);
++ if (t++ > 1000) {
++ DSSERR("DSI: Failed to set DSI PLL power mode to %d\n",
++ state);
++ return -ENODEV;
++ }
++ }
++
++ return 0;
++}
++
++int dsi_pll_calc_pck(int is_tft, unsigned long req_pck,
++ struct dsi_clock_info *cinfo)
++{
++ struct dsi_clock_info cur, best;
++ int min_fck_per_pck;
++ int match = 0;
++
++ min_fck_per_pck = CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK;
++
++ if (min_fck_per_pck &&
++ req_pck * min_fck_per_pck > DISPC_MAX_FCK) {
++ DSSERR("Requested pixel clock not possible with the current "
++ "OMAP2_DSS_MIN_FCK_PER_PCK setting. Turning "
++ "the constraint off.\n");
++ min_fck_per_pck = 0;
++ }
++
++ DSSDBG("dsi_pll_calc\n");
++
++retry:
++ memset(&best, 0, sizeof(best));
++
++ memset(&cur, 0, sizeof(cur));
++ cur.clkin = clk_get_rate(dsi.dss2_fck);
++ cur.use_dss2_fck = 1;
++ cur.highfreq = 0;
++
++ /* no highfreq: 0.75MHz < Fint = clkin / regn < 2.1MHz */
++ /* highfreq: 0.75MHz < Fint = clkin / (2*regn) < 2.1MHz */
++ /* To reduce PLL lock time, keep Fint high (around 2 MHz) */
++ for (cur.regn = 1; cur.regn < REGN_MAX; ++cur.regn) {
++ if (cur.highfreq == 0)
++ cur.fint = cur.clkin / cur.regn;
++ else
++ cur.fint = cur.clkin / (2 * cur.regn);
++
++ if (cur.fint > FINT_MAX || cur.fint < FINT_MIN)
++ continue;
++
++ /* DSIPHY(MHz) = (2 * regm / regn) * (clkin / (highfreq + 1)) */
++ for (cur.regm = 1; cur.regm < REGM_MAX; ++cur.regm) {
++ unsigned long a, b;
++
++ a = 2 * cur.regm * (cur.clkin/1000);
++ b = cur.regn * (cur.highfreq + 1);
++ cur.dsiphy = a / b * 1000;
++
++ if (cur.dsiphy > 1800 * 1000 * 1000)
++ break;
++
++ /* DSI1_PLL_FCLK(MHz) = DSIPHY(MHz) / regm3 < 173MHz */
++ for (cur.regm3 = 1; cur.regm3 < REGM3_MAX;
++ ++cur.regm3) {
++ cur.dispc_fck = cur.dsiphy / cur.regm3;
++
++ /* this will narrow down the search a bit,
++ * but still give pixclocks below what was
++ * requested */
++ if (cur.dispc_fck < req_pck)
++ break;
++
++ if (cur.dispc_fck > DISPC_MAX_FCK)
++ continue;
++
++ if (min_fck_per_pck &&
++ cur.dispc_fck <
++ req_pck * min_fck_per_pck)
++ continue;
++
++ match = 1;
++
++ find_lck_pck_divs(is_tft, req_pck,
++ cur.dispc_fck,
++ &cur.lck_div,
++ &cur.pck_div);
++
++ cur.lck = cur.dispc_fck / cur.lck_div;
++ cur.pck = cur.lck / cur.pck_div;
++
++ if (abs(cur.pck - req_pck) <
++ abs(best.pck - req_pck)) {
++ best = cur;
++
++ if (cur.pck == req_pck)
++ goto found;
++ }
++ }
++ }
++ }
++found:
++ if (!match) {
++ if (min_fck_per_pck) {
++ DSSERR("Could not find suitable clock settings.\n"
++ "Turning FCK/PCK constraint off and"
++ "trying again.\n");
++ min_fck_per_pck = 0;
++ goto retry;
++ }
++
++ DSSERR("Could not find suitable clock settings.\n");
++
++ return -EINVAL;
++ }
++
++ /* DSI2_PLL_FCLK(MHz) = DSIPHY(MHz) / regm4 < 173MHz */
++ /* hardcoded 48MHz for now. what should it be? */
++ best.regm4 = best.dsiphy / 48000000;
++ if (best.regm4 > REGM4_MAX)
++ best.regm4 = REGM4_MAX;
++ best.dsi_fck = best.dsiphy / best.regm4;
++
++ if (cinfo)
++ *cinfo = best;
++
++ return 0;
++}
++
++static int dsi_pll_calc_datafreq(unsigned long datafreq,
++ struct dsi_clock_info *cinfo)
++{
++ struct dsi_clock_info cur, best;
++ const int use_dss2_fck = 1;
++
++ DSSDBG("dsi_pll_calc_datarate\n");
++
++ memset(&best, 0, sizeof(best));
++
++ memset(&cur, 0, sizeof(cur));
++ cur.use_dss2_fck = use_dss2_fck;
++ if (use_dss2_fck) {
++ cur.clkin = clk_get_rate(dsi.dss2_fck);
++ cur.highfreq = 0;
++ } else {
++ cur.clkin = dispc_pclk_rate();
++ if (cur.clkin < 32000000)
++ cur.highfreq = 0;
++ else
++ cur.highfreq = 1;
++ }
++
++ /* no highfreq: 0.75MHz < Fint = clkin / regn < 2.1MHz */
++ /* highfreq: 0.75MHz < Fint = clkin / (2*regn) < 2.1MHz */
++ /* To reduce PLL lock time, keep Fint high (around 2 MHz) */
++ for (cur.regn = 1; cur.regn < REGN_MAX; ++cur.regn) {
++ if (cur.highfreq == 0)
++ cur.fint = cur.clkin / cur.regn;
++ else
++ cur.fint = cur.clkin / (2 * cur.regn);
++
++ if (cur.fint > FINT_MAX || cur.fint < FINT_MIN)
++ continue;
++
++ /* DSIPHY(MHz) = (2 * regm / regn) * (clkin / (highfreq + 1)) */
++ for (cur.regm = 1; cur.regm < REGM_MAX; ++cur.regm) {
++ unsigned long a, b;
++
++ a = 2 * cur.regm * (cur.clkin/1000);
++ b = cur.regn * (cur.highfreq + 1);
++ cur.dsiphy = a / b * 1000;
++
++ if (cur.dsiphy > 1800 * 1000 * 1000)
++ break;
++
++ if (abs(cur.dsiphy - datafreq) <
++ abs(best.dsiphy - datafreq)) {
++ best = cur;
++ /* DSSDBG("best %ld\n", best.dsiphy); */
++ }
++
++ if (cur.dsiphy == datafreq)
++ goto found;
++ }
++ }
++found:
++ /* DSI1_PLL_FCLK(MHz) = DSIPHY(MHz) / regm3 < 173MHz */
++ /* hardcoded 48MHz for now. what should it be? */
++ best.regm3 = best.dsiphy / (48000000);
++ if (best.regm3 > REGM3_MAX)
++ best.regm3 = REGM3_MAX;
++ best.dispc_fck = best.dsiphy / best.regm3;
++
++ /* DSI2_PLL_FCLK(MHz) = DSIPHY(MHz) / regm4 < 173MHz */
++ /* hardcoded 48MHz for now. what should it be? */
++ best.regm4 = best.dsiphy / (48000000);
++ if (best.regm4 > REGM4_MAX)
++ best.regm4 = REGM4_MAX;
++ best.dsi_fck = best.dsiphy / best.regm4;
++
++ if (cinfo)
++ *cinfo = best;
++
++ return 0;
++}
++
++int dsi_pll_program(struct dsi_clock_info *cinfo)
++{
++ int r = 0;
++ u32 l;
++
++ DSSDBG("dsi_pll_program\n");
++
++ enable_clocks(1);
++
++ dsi.dsiphy = cinfo->dsiphy;
++ dsi.ddr_clk = dsi.dsiphy / 4;
++ dsi.dsi1_pll_fclk = cinfo->dispc_fck;
++ dsi.dsi2_pll_fclk = cinfo->dsi_fck;
++
++ DSSDBG("DSI Fint %ld\n", cinfo->fint);
++
++ DSSDBG("clkin (%s) rate %ld, highfreq %d\n",
++ cinfo->use_dss2_fck ? "dss2_fck" : "pclkfree",
++ cinfo->clkin,
++ cinfo->highfreq);
++
++ /* DSIPHY == CLKIN4DDR */
++ DSSDBG("DSIPHY = 2 * %d / %d * %lu / %d = %lu\n",
++ cinfo->regm,
++ cinfo->regn,
++ cinfo->clkin,
++ cinfo->highfreq + 1,
++ cinfo->dsiphy);
++
++ DSSDBG("Data rate on 1 DSI lane %ld Mbps\n",
++ dsi.dsiphy / 1000 / 1000 / 2);
++
++ DSSDBG("Clock lane freq %ld Hz\n", dsi.ddr_clk);
++
++ DSSDBG("regm3 = %d, dsi1_pll_fclk = %lu\n",
++ cinfo->regm3, cinfo->dispc_fck);
++ DSSDBG("regm4 = %d, dsi2_pll_fclk = %lu\n",
++ cinfo->regm4, cinfo->dsi_fck);
++
++ REG_FLD_MOD(DSI_PLL_CONTROL, 0, 0, 0); /* DSI_PLL_AUTOMODE = manual */
++
++ l = dsi_read_reg(DSI_PLL_CONFIGURATION1);
++ l = FLD_MOD(l, 1, 0, 0); /* DSI_PLL_STOPMODE */
++ l = FLD_MOD(l, cinfo->regn - 1, 7, 1); /* DSI_PLL_REGN */
++ l = FLD_MOD(l, cinfo->regm, 18, 8); /* DSI_PLL_REGM */
++ l = FLD_MOD(l, cinfo->regm3 - 1, 22, 19); /* DSI_CLOCK_DIV */
++ l = FLD_MOD(l, cinfo->regm4 - 1, 26, 23); /* DSIPROTO_CLOCK_DIV */
++ dsi_write_reg(DSI_PLL_CONFIGURATION1, l);
++
++ l = dsi_read_reg(DSI_PLL_CONFIGURATION2);
++ l = FLD_MOD(l, 7, 4, 1); /* DSI_PLL_FREQSEL */
++ /* DSI_PLL_CLKSEL */
++ l = FLD_MOD(l, cinfo->use_dss2_fck ? 0 : 1, 11, 11);
++ l = FLD_MOD(l, cinfo->highfreq, 12, 12); /* DSI_PLL_HIGHFREQ */
++ l = FLD_MOD(l, 1, 13, 13); /* DSI_PLL_REFEN */
++ l = FLD_MOD(l, 0, 14, 14); /* DSIPHY_CLKINEN */
++ l = FLD_MOD(l, 1, 20, 20); /* DSI_HSDIVBYPASS */
++ dsi_write_reg(DSI_PLL_CONFIGURATION2, l);
++
++ REG_FLD_MOD(DSI_PLL_GO, 1, 0, 0); /* DSI_PLL_GO */
++
++ if (wait_for_bit_change(DSI_PLL_GO, 0, 0) != 0) {
++ DSSERR("dsi pll go bit not going down.\n");
++ r = -EIO;
++ goto err;
++ }
++
++ if (wait_for_bit_change(DSI_PLL_STATUS, 1, 1) != 1) {
++ DSSERR("DSI: cannot lock PLL\n");
++ r = -EIO;
++ goto err;
++ }
++
++ l = dsi_read_reg(DSI_PLL_CONFIGURATION2);
++ l = FLD_MOD(l, 0, 0, 0); /* DSI_PLL_IDLE */
++ l = FLD_MOD(l, 0, 5, 5); /* DSI_PLL_PLLLPMODE */
++ l = FLD_MOD(l, 0, 6, 6); /* DSI_PLL_LOWCURRSTBY */
++ l = FLD_MOD(l, 0, 7, 7); /* DSI_PLL_TIGHTPHASELOCK */
++ l = FLD_MOD(l, 0, 8, 8); /* DSI_PLL_DRIFTGUARDEN */
++ l = FLD_MOD(l, 0, 10, 9); /* DSI_PLL_LOCKSEL */
++ l = FLD_MOD(l, 1, 13, 13); /* DSI_PLL_REFEN */
++ l = FLD_MOD(l, 1, 14, 14); /* DSIPHY_CLKINEN */
++ l = FLD_MOD(l, 0, 15, 15); /* DSI_BYPASSEN */
++ l = FLD_MOD(l, 1, 16, 16); /* DSS_CLOCK_EN */
++ l = FLD_MOD(l, 0, 17, 17); /* DSS_CLOCK_PWDN */
++ l = FLD_MOD(l, 1, 18, 18); /* DSI_PROTO_CLOCK_EN */
++ l = FLD_MOD(l, 0, 19, 19); /* DSI_PROTO_CLOCK_PWDN */
++ l = FLD_MOD(l, 0, 20, 20); /* DSI_HSDIVBYPASS */
++ dsi_write_reg(DSI_PLL_CONFIGURATION2, l);
++
++ DSSDBG("PLL config done\n");
++err:
++ enable_clocks(0);
++
++ return r;
++}
++
++int dsi_pll_init(int enable_hsclk, int enable_hsdiv)
++{
++ int r = 0;
++ enum dsi_pll_power_state pwstate;
++ struct dispc_clock_info cinfo;
++
++ DSSDBG("PLL init\n");
++
++ enable_clocks(1);
++ dsi_enable_pll_clock(1);
++
++ /* configure dispc fck and pixel clock to something sane */
++ r = dispc_calc_clock_div(1, 48 * 1000 * 1000, &cinfo);
++ if (r)
++ return r;
++
++ r = dispc_set_clock_div(&cinfo);
++ if (r)
++ return r;
++
++ /* PLL does not come out of reset without this... */
++ dispc_pck_free_enable(1);
++
++ if (wait_for_bit_change(DSI_PLL_STATUS, 0, 1) != 1) {
++ DSSERR("DSI: PLL not coming out of reset.\n");
++ r = -ENODEV;
++ goto err;
++ }
++
++ /* ... but if left on, we get problems when planes do not
++ * fill the whole display. No idea about this XXX */
++ dispc_pck_free_enable(0);
++
++ if (enable_hsclk && enable_hsdiv)
++ pwstate = DSI_PLL_POWER_ON_ALL;
++ else if (enable_hsclk)
++ pwstate = DSI_PLL_POWER_ON_HSCLK;
++ else if (enable_hsdiv)
++ pwstate = DSI_PLL_POWER_ON_DIV;
++ else
++ pwstate = DSI_PLL_POWER_OFF;
++
++ r = dsi_pll_power(pwstate);
++
++ if (r)
++ goto err;
++
++ enable_clocks(0);
++
++ DSSDBG("PLL init done\n");
++
++ return 0;
++err:
++ enable_clocks(0);
++ dsi_enable_pll_clock(0);
++ return r;
++}
++
++void dsi_pll_uninit(void)
++{
++ dsi_pll_power(DSI_PLL_POWER_OFF);
++ dsi_enable_pll_clock(0);
++ DSSDBG("PLL uninit done\n");
++}
++
++unsigned long dsi_get_dsi1_pll_rate(void)
++{
++ return dsi.dsi1_pll_fclk;
++}
++
++unsigned long dsi_get_dsi2_pll_rate(void)
++{
++ return dsi.dsi2_pll_fclk;
++}
++
++ssize_t dsi_print_clocks(char *buf, ssize_t size)
++{
++ ssize_t l = 0;
++ int clksel;
++
++ enable_clocks(1);
++
++ clksel = REG_GET(DSI_PLL_CONFIGURATION2, 11, 11);
++
++ l += snprintf(buf + l, size - l, "- dsi -\n");
++
++ l += snprintf(buf + l, size - l, "dsi fclk source = %s\n",
++ dss_get_dsi_clk_source() == 0 ?
++ "dss1_alwon_fclk" : "dsi2_pll_fclk");
++
++ l += snprintf(buf + l, size - l, "dsi pll source = %s\n",
++ clksel == 0 ?
++ "dss2_alwon_fclk" : "pclkfree");
++
++ l += snprintf(buf + l, size - l,
++ "DSIPHY\t\t%lu\nDDR_CLK\t\t%lu\n",
++ dsi.dsiphy, dsi.ddr_clk);
++
++ l += snprintf(buf + l, size - l,
++ "dsi1_pll_fck\t%lu (%s)\n"
++ "dsi2_pll_fck\t%lu (%s)\n",
++ dsi.dsi1_pll_fclk,
++ dss_get_dispc_clk_source() == 0 ? "off" : "on",
++ dsi.dsi2_pll_fclk,
++ dss_get_dsi_clk_source() == 0 ? "off" : "on");
++
++ enable_clocks(0);
++
++ return l;
++}
++
++
++enum dsi_complexio_power_state {
++ DSI_COMPLEXIO_POWER_OFF = 0x0,
++ DSI_COMPLEXIO_POWER_ON = 0x1,
++ DSI_COMPLEXIO_POWER_ULPS = 0x2,
++};
++
++static int dsi_complexio_power(enum dsi_complexio_power_state state)
++{
++ int t = 0;
++
++ /* PWR_CMD */
++ REG_FLD_MOD(DSI_COMPLEXIO_CFG1, state, 28, 27);
++
++ /* PWR_STATUS */
++ while (FLD_GET(dsi_read_reg(DSI_COMPLEXIO_CFG1), 26, 25) != state) {
++ udelay(1);
++ if (t++ > 1000) {
++ DSSERR("DSI: failed to set complexio power state to "
++ "%d\n", state);
++ return -ENODEV;
++ }
++ }
++
++ return 0;
++}
++
++static void dsi_complexio_config(struct omap_display *display)
++{
++ u32 r;
++
++ int clk_lane = display->hw_config.u.dsi.clk_lane;
++ int data1_lane = display->hw_config.u.dsi.data1_lane;
++ int data2_lane = display->hw_config.u.dsi.data2_lane;
++ int clk_pol = display->hw_config.u.dsi.clk_pol;
++ int data1_pol = display->hw_config.u.dsi.data1_pol;
++ int data2_pol = display->hw_config.u.dsi.data2_pol;
++
++ r = dsi_read_reg(DSI_COMPLEXIO_CFG1);
++ r = FLD_MOD(r, clk_lane, 2, 0);
++ r = FLD_MOD(r, clk_pol, 3, 3);
++ r = FLD_MOD(r, data1_lane, 6, 4);
++ r = FLD_MOD(r, data1_pol, 7, 7);
++ r = FLD_MOD(r, data2_lane, 10, 8);
++ r = FLD_MOD(r, data2_pol, 11, 11);
++ dsi_write_reg(DSI_COMPLEXIO_CFG1, r);
++
++ /* The configuration of the DSI complex I/O (number of data lanes,
++ position, differential order) should not be changed while
++ DSS.DSI_CLK_CRTRL[20] LP_CLK_ENABLE bit is set to 1. In order for
++ the hardware to take into account a new configuration of the complex
++ I/O (done in DSS.DSI_COMPLEXIO_CFG1 register), it is recommended to
++ follow this sequence: First set the DSS.DSI_CTRL[0] IF_EN bit to 1,
++ then reset the DSS.DSI_CTRL[0] IF_EN to 0, then set
++ DSS.DSI_CLK_CTRL[20] LP_CLK_ENABLE to 1 and finally set again the
++ DSS.DSI_CTRL[0] IF_EN bit to 1. If the sequence is not followed, the
++ DSI complex I/O configuration is unknown. */
++
++ /*
++ REG_FLD_MOD(DSI_CTRL, 1, 0, 0);
++ REG_FLD_MOD(DSI_CTRL, 0, 0, 0);
++ REG_FLD_MOD(DSI_CLK_CTRL, 1, 20, 20);
++ REG_FLD_MOD(DSI_CTRL, 1, 0, 0);
++ */
++}
++
++static inline int ns2ddr(int ns)
++{
++ /* convert time in ns to ddr ticks, rounding up */
++ return (ns * (dsi.ddr_clk/1000/1000) + 999) / 1000;
++}
++
++static void dsi_complexio_timings(void)
++{
++ u32 r;
++ u32 ths_prepare, ths_prepare_ths_zero, ths_trail, ths_exit;
++ u32 tlpx_half, tclk_trail, tclk_zero;
++ u32 tclk_prepare;
++
++ /* calculate timings */
++
++ /* 1 * DDR_CLK = 2 * UI */
++
++ /* min 40ns + 4*UI max 85ns + 6*UI */
++ ths_prepare = ns2ddr(59) + 2;
++
++ /* min 145ns + 10*UI */
++ ths_prepare_ths_zero = ns2ddr(145) + 5;
++
++ /* min max(8*UI, 60ns+4*UI) */
++ ths_trail = max(4, ns2ddr(60) + 2);
++
++ /* min 100ns */
++ ths_exit = ns2ddr(100);
++
++ /* tlpx min 50n */
++ tlpx_half = ns2ddr(25);
++
++ /* min 60ns */
++ tclk_trail = ns2ddr(60);
++
++ /* min 38ns, max 95ns */
++ tclk_prepare = ns2ddr(38);
++
++ /* min tclk-prepare + tclk-zero = 300ns */
++ tclk_zero = ns2ddr(300 - 38);
++
++#ifdef VERBOSE
++ DSSDBG("ths_prepare %d, ths_prepare_ths_zero %d\n",
++ ths_prepare, ths_prepare_ths_zero);
++ DSSDBG("ths_trail %d, ths_exit %d\n", ths_trail, ths_exit);
++
++
++ DSSDBG("tlpx_half %d, tclk_trail %d, tclk_zero %d\n", tlpx_half,
++ tclk_trail, tclk_zero);
++ DSSDBG("tclk_prepare %d\n", tclk_prepare);
++#endif
++
++ /* program timings */
++
++ r = dsi_read_reg(DSIPHY_CFG0);
++ r = FLD_MOD(r, ths_prepare, 31, 24);
++ r = FLD_MOD(r, ths_prepare_ths_zero, 23, 16);
++ r = FLD_MOD(r, ths_trail, 15, 8);
++ r = FLD_MOD(r, ths_exit, 7, 0);
++ dsi_write_reg(DSIPHY_CFG0, r);
++
++ r = dsi_read_reg(DSIPHY_CFG1);
++ r = FLD_MOD(r, tlpx_half, 22, 16);
++ r = FLD_MOD(r, tclk_trail, 15, 8);
++ r = FLD_MOD(r, tclk_zero, 7, 0);
++ dsi_write_reg(DSIPHY_CFG1, r);
++
++ r = dsi_read_reg(DSIPHY_CFG2);
++ r = FLD_MOD(r, tclk_prepare, 7, 0);
++ dsi_write_reg(DSIPHY_CFG2, r);
++}
++
++
++static int dsi_complexio_init(struct omap_display *display)
++{
++ int r = 0;
++
++ DSSDBG("dsi_complexio_init\n");
++
++ /* CIO_CLK_ICG, enable L3 clk to CIO */
++ REG_FLD_MOD(DSI_CLK_CTRL, 1, 14, 14);
++
++ if (wait_for_bit_change(DSIPHY_CFG5, 30, 1) != 1) {
++ DSSERR("DSI: ComplexIO PHY not coming out of reset.\n");
++ r = -ENODEV;
++ goto err;
++ }
++
++ dsi_complexio_config(display);
++
++ r = dsi_complexio_power(DSI_COMPLEXIO_POWER_ON);
++
++ if (r)
++ goto err;
++
++ if (wait_for_bit_change(DSI_COMPLEXIO_CFG1, 29, 1) != 1) {
++ DSSERR("DSI: ComplexIO not coming out of reset.\n");
++ r = -ENODEV;
++ goto err;
++ }
++
++ if (wait_for_bit_change(DSI_COMPLEXIO_CFG1, 21, 1) != 1) {
++ DSSERR("DSI: ComplexIO LDO power down.\n");
++ r = -ENODEV;
++ goto err;
++ }
++
++ dsi_complexio_timings();
++
++ /*
++ The configuration of the DSI complex I/O (number of data lanes,
++ position, differential order) should not be changed while
++ DSS.DSI_CLK_CRTRL[20] LP_CLK_ENABLE bit is set to 1. For the
++ hardware to recognize a new configuration of the complex I/O (done
++ in DSS.DSI_COMPLEXIO_CFG1 register), it is recommended to follow
++ this sequence: First set the DSS.DSI_CTRL[0] IF_EN bit to 1, next
++ reset the DSS.DSI_CTRL[0] IF_EN to 0, then set DSS.DSI_CLK_CTRL[20]
++ LP_CLK_ENABLE to 1, and finally, set again the DSS.DSI_CTRL[0] IF_EN
++ bit to 1. If the sequence is not followed, the DSi complex I/O
++ configuration is undetermined.
++ */
++ dsi_if_enable(1);
++ dsi_if_enable(0);
++ REG_FLD_MOD(DSI_CLK_CTRL, 1, 20, 20); /* LP_CLK_ENABLE */
++ dsi_if_enable(1);
++ dsi_if_enable(0);
++
++ DSSDBG("CIO init done\n");
++err:
++ return r;
++}
++
++static void dsi_complexio_uninit(void)
++{
++ dsi_complexio_power(DSI_COMPLEXIO_POWER_OFF);
++}
++
++
++
++static void dsi_config_tx_fifo(enum fifo_size size1, enum fifo_size size2,
++ enum fifo_size size3, enum fifo_size size4)
++{
++ u32 r = 0;
++ int add = 0;
++ int i;
++
++ dsi.vc[0].fifo_size = size1;
++ dsi.vc[1].fifo_size = size2;
++ dsi.vc[2].fifo_size = size3;
++ dsi.vc[3].fifo_size = size4;
++
++ for (i = 0; i < 4; i++) {
++ u8 v;
++ int size = dsi.vc[i].fifo_size;
++
++ if (add + size > 4) {
++ DSSERR("DSI: Illegal FIFO configuration\n");
++ BUG();
++ }
++
++ v = FLD_VAL(add, 2, 0) | FLD_VAL(size, 7, 4);
++ r |= v << (8 * i);
++ /*DSSDBG("TX FIFO vc %d: size %d, add %d\n", i, size, add); */
++ add += size;
++ }
++
++ dsi_write_reg(DSI_TX_FIFO_VC_SIZE, r);
++}
++
++static void dsi_config_rx_fifo(enum fifo_size size1, enum fifo_size size2,
++ enum fifo_size size3, enum fifo_size size4)
++{
++ u32 r = 0;
++ int add = 0;
++ int i;
++
++ dsi.vc[0].fifo_size = size1;
++ dsi.vc[1].fifo_size = size2;
++ dsi.vc[2].fifo_size = size3;
++ dsi.vc[3].fifo_size = size4;
++
++ for (i = 0; i < 4; i++) {
++ u8 v;
++ int size = dsi.vc[i].fifo_size;
++
++ if (add + size > 4) {
++ DSSERR("DSI: Illegal FIFO configuration\n");
++ BUG();
++ }
++
++ v = FLD_VAL(add, 2, 0) | FLD_VAL(size, 7, 4);
++ r |= v << (8 * i);
++ /*DSSDBG("RX FIFO vc %d: size %d, add %d\n", i, size, add); */
++ add += size;
++ }
++
++ dsi_write_reg(DSI_RX_FIFO_VC_SIZE, r);
++}
++
++static int dsi_force_tx_stop_mode_io(void)
++{
++ u32 r;
++
++ r = dsi_read_reg(DSI_TIMING1);
++ r = FLD_MOD(r, 1, 15, 15); /* FORCE_TX_STOP_MODE_IO */
++ dsi_write_reg(DSI_TIMING1, r);
++
++ if (wait_for_bit_change(DSI_TIMING1, 15, 0) != 0) {
++ DSSERR("TX_STOP bit not going down\n");
++ return -EIO;
++ }
++
++ return 0;
++}
++
++static void dsi_vc_print_status(int channel)
++{
++ u32 r;
++
++ r = dsi_read_reg(DSI_VC_CTRL(channel));
++ DSSDBG("vc %d: TX_FIFO_NOT_EMPTY %d, BTA_EN %d, VC_BUSY %d, "
++ "TX_FIFO_FULL %d, RX_FIFO_NOT_EMPTY %d, ",
++ channel,
++ FLD_GET(r, 5, 5),
++ FLD_GET(r, 6, 6),
++ FLD_GET(r, 15, 15),
++ FLD_GET(r, 16, 16),
++ FLD_GET(r, 20, 20));
++
++ r = dsi_read_reg(DSI_TX_FIFO_VC_EMPTINESS);
++ DSSDBG("EMPTINESS %d\n", (r >> (8 * channel)) & 0xff);
++}
++
++static void dsi_vc_config(int channel)
++{
++ u32 r;
++
++ DSSDBG("dsi_vc_config %d\n", channel);
++
++ r = dsi_read_reg(DSI_VC_CTRL(channel));
++
++ r = FLD_MOD(r, 0, 1, 1); /* SOURCE, 0 = L4 */
++ r = FLD_MOD(r, 0, 2, 2); /* BTA_SHORT_EN */
++ r = FLD_MOD(r, 0, 3, 3); /* BTA_LONG_EN */
++ r = FLD_MOD(r, 0, 4, 4); /* MODE, 0 = command */
++ r = FLD_MOD(r, 1, 7, 7); /* CS_TX_EN */
++ r = FLD_MOD(r, 1, 8, 8); /* ECC_TX_EN */
++ r = FLD_MOD(r, 0, 9, 9); /* MODE_SPEED, high speed on/off */
++
++ r = FLD_MOD(r, 4, 29, 27); /* DMA_RX_REQ_NB = no dma */
++ r = FLD_MOD(r, 4, 23, 21); /* DMA_TX_REQ_NB = no dma */
++
++ dsi_write_reg(DSI_VC_CTRL(channel), r);
++}
++
++static void dsi_vc_config_vp(int channel)
++{
++ u32 r;
++
++ DSSDBG("dsi_vc_config_vp\n");
++
++ r = dsi_read_reg(DSI_VC_CTRL(channel));
++
++ r = FLD_MOD(r, 1, 1, 1); /* SOURCE, 1 = video port */
++ r = FLD_MOD(r, 0, 2, 2); /* BTA_SHORT_EN */
++ r = FLD_MOD(r, 0, 3, 3); /* BTA_LONG_EN */
++ r = FLD_MOD(r, 0, 4, 4); /* MODE, 0 = command */
++ r = FLD_MOD(r, 1, 7, 7); /* CS_TX_EN */
++ r = FLD_MOD(r, 1, 8, 8); /* ECC_TX_EN */
++ r = FLD_MOD(r, 1, 9, 9); /* MODE_SPEED, high speed on/off */
++
++ r = FLD_MOD(r, 4, 29, 27); /* DMA_RX_REQ_NB = no dma */
++ r = FLD_MOD(r, 4, 23, 21); /* DMA_TX_REQ_NB = no dma */
++
++ dsi_write_reg(DSI_VC_CTRL(channel), r);
++}
++
++
++static int dsi_vc_enable(int channel, int enable)
++{
++ DSSDBG("dsi_vc_enable channel %d, enable %d\n", channel, enable);
++
++ enable = enable ? 1 : 0;
++
++ REG_FLD_MOD(DSI_VC_CTRL(channel), enable, 0, 0);
++
++ if (wait_for_bit_change(DSI_VC_CTRL(channel), 0, enable) != enable) {
++ DSSERR("Failed to set dsi_vc_enable to %d\n", enable);
++ return -EIO;
++ }
++
++ return 0;
++}
++
++static void dsi_vc_enable_hs(int channel, int enable)
++{
++ DSSDBG("dsi_vc_enable_hs(%d, %d)\n", channel, enable);
++
++ dsi_vc_enable(channel, 0);
++ dsi_if_enable(0);
++
++ REG_FLD_MOD(DSI_VC_CTRL(channel), enable, 9, 9);
++
++ dsi_vc_enable(channel, 1);
++ dsi_if_enable(1);
++
++ dsi_force_tx_stop_mode_io();
++}
++
++static void dsi_vc_flush_long_data(int channel)
++{
++ while (REG_GET(DSI_VC_CTRL(channel), 20, 20)) {
++ u32 val;
++ val = dsi_read_reg(DSI_VC_SHORT_PACKET_HEADER(channel));
++ DSSDBG("\t\tb1 %#02x b2 %#02x b3 %#02x b4 %#02x\n",
++ (val >> 0) & 0xff,
++ (val >> 8) & 0xff,
++ (val >> 16) & 0xff,
++ (val >> 24) & 0xff);
++ }
++}
++
++static u16 dsi_vc_flush_receive_data(int channel)
++{
++ /* RX_FIFO_NOT_EMPTY */
++ while (REG_GET(DSI_VC_CTRL(channel), 20, 20)) {
++ u32 val;
++ u8 dt;
++ val = dsi_read_reg(DSI_VC_SHORT_PACKET_HEADER(channel));
++ DSSDBG("\trawval %#08x\n", val);
++ dt = FLD_GET(val, 7, 0);
++ if (dt == DSI_DT_RX_ACK_WITH_ERR) {
++ u16 err = FLD_GET(val, 23, 8);
++ DSSERR("\tACK with ERROR: %#x\n", err);
++ if (err & (1 << 9))
++ DSSERR("\t\tECC multibit\n");
++ if (err & (1 << 11))
++ DSSERR("\t\tData type not recognized\n");
++ if (err & (1 << 12))
++ DSSERR("\t\tInvalid VC ID\n");
++
++ } else if (dt == DSI_DT_RX_SHORT_READ_1) {
++ DSSDBG("\tDCS short response, 1 byte: %#x\n",
++ FLD_GET(val, 23, 8));
++ return FLD_GET(val, 23, 8);
++ } else if (dt == DSI_DT_RX_SHORT_READ_2) {
++ DSSDBG("\tDCS short response, 2 byte: %#x\n",
++ FLD_GET(val, 23, 8));
++ return FLD_GET(val, 23, 8);
++ } else if (dt == DSI_DT_RX_DCS_LONG_READ) {
++ DSSDBG("\tDCS long response, len %d\n",
++ FLD_GET(val, 23, 8));
++ dsi_vc_flush_long_data(channel);
++ } else {
++ DSSERR("\tunknown datatype\n");
++ }
++ }
++ return 0;
++}
++
++static int dsi_vc_send_bta(int channel)
++{
++ unsigned long tmo;
++
++ /*DSSDBG("dsi_vc_send_bta_sync %d\n", channel); */
++
++ if (REG_GET(DSI_VC_CTRL(channel), 20, 20)) { /* RX_FIFO_NOT_EMPTY */
++ DSSERR("rx fifo not empty when sending BTA, dumping data:\n");
++ dsi_vc_flush_receive_data(channel);
++ }
++
++ REG_FLD_MOD(DSI_VC_CTRL(channel), 1, 6, 6); /* BTA_EN */
++
++ tmo = jiffies + msecs_to_jiffies(10);
++ while (REG_GET(DSI_VC_CTRL(channel), 6, 6) == 1) {
++ if (time_after(jiffies, tmo)) {
++ DSSERR("Failed to send BTA\n");
++ return -EIO;
++ }
++ }
++
++ return 0;
++}
++
++static int dsi_vc_send_bta_sync(int channel)
++{
++ int r = 0;
++
++ init_completion(&dsi.bta_completion);
++
++ dsi_vc_enable_bta_irq(channel);
++
++ r = dsi_vc_send_bta(channel);
++ if (r)
++ goto err;
++
++ if (wait_for_completion_timeout(&dsi.bta_completion,
++ msecs_to_jiffies(500)) == 0) {
++ DSSERR("Failed to receive BTA\n");
++ r = -EIO;
++ goto err;
++ }
++err:
++ dsi_vc_disable_bta_irq(channel);
++
++ return r;
++}
++
++static inline void dsi_vc_write_long_header(int channel, u8 data_type,
++ u16 len, u8 ecc)
++{
++ u32 val;
++ u8 data_id;
++
++ /*data_id = data_type | channel << 6; */
++ data_id = data_type | dsi.vc[channel].dest_per << 6;
++
++ val = FLD_VAL(data_id, 7, 0) | FLD_VAL(len, 23, 8) |
++ FLD_VAL(ecc, 31, 24);
++
++ dsi_write_reg(DSI_VC_LONG_PACKET_HEADER(channel), val);
++}
++
++static inline void dsi_vc_write_long_payload(int channel,
++ u8 b1, u8 b2, u8 b3, u8 b4)
++{
++ u32 val;
++
++ val = b4 << 24 | b3 << 16 | b2 << 8 | b1 << 0;
++
++/* DSSDBG("\twriting %02x, %02x, %02x, %02x (%#010x)\n",
++ b1, b2, b3, b4, val); */
++
++ dsi_write_reg(DSI_VC_LONG_PACKET_PAYLOAD(channel), val);
++}
++
++static int dsi_vc_send_long(int channel, u8 data_type, u8 *data, u16 len,
++ u8 ecc)
++{
++ /*u32 val; */
++ int i;
++ u8 *p;
++ int r = 0;
++ u8 b1, b2, b3, b4;
++
++ /*DSSDBG("dsi_vc_send_long, %d bytes\n", len); */
++
++ /* len + header */
++ if (dsi.vc[channel].fifo_size * 32 * 4 < len + 4) {
++ DSSERR("DSI: unable to send long packet: packet too long.\n");
++ return -EINVAL;
++ }
++
++ dsi_vc_write_long_header(channel, data_type, len, ecc);
++
++ /*dsi_vc_print_status(0); */
++
++ p = data;
++ for (i = 0; i < len >> 2; i++) {
++ /*DSSDBG("\tsending full packet %d\n", i); */
++ /*dsi_vc_print_status(0); */
++
++ b1 = *p++;
++ b2 = *p++;
++ b3 = *p++;
++ b4 = *p++;
++
++ dsi_vc_write_long_payload(channel, b1, b2, b3, b4);
++ }
++
++ i = len % 4;
++ if (i) {
++ b1 = 0; b2 = 0; b3 = 0;
++
++ /*DSSDBG("\tsending remainder bytes %d\n", i); */
++
++ switch (i) {
++ case 3:
++ b1 = *p++;
++ b2 = *p++;
++ b3 = *p++;
++ break;
++ case 2:
++ b1 = *p++;
++ b2 = *p++;
++ break;
++ case 1:
++ b1 = *p++;
++ break;
++ }
++
++ dsi_vc_write_long_payload(channel, b1, b2, b3, 0);
++ }
++
++ return r;
++}
++
++static int dsi_vc_send_short(int channel, u8 data_type, u16 data, u8 ecc)
++{
++ u32 r;
++ u8 data_id;
++/*
++ DSSDBG("dsi_vc_send_short(ch%d, dt %#x, b1 %#x, b2 %#x)\n",
++ channel,
++ data_type, data & 0xff, (data >> 8) & 0xff);
++*/
++ if (FLD_GET(dsi_read_reg(DSI_VC_CTRL(channel)), 16, 16)) {
++ DSSERR("ERROR FIFO FULL, aborting transfer\n");
++ return -EINVAL;
++ }
++
++ data_id = data_type | channel << 6;
++
++ r = (data_id << 0) | (data << 8) | (ecc << 24);
++
++ dsi_write_reg(DSI_VC_SHORT_PACKET_HEADER(channel), r);
++
++ return 0;
++}
++
++int dsi_vc_send_null(int channel)
++{
++ u8 nullpkg[] = {0, 0, 0, 0};
++ return dsi_vc_send_long(0, DSI_DT_NULL_PACKET, nullpkg, 4, 0);
++}
++EXPORT_SYMBOL(dsi_vc_send_null);
++
++int dsi_vc_dcs_write_nosync(int channel, u8 *data, int len)
++{
++ int r;
++
++ BUG_ON(len == 0);
++
++ if (len == 1) {
++ r = dsi_vc_send_short(channel, DSI_DT_DCS_SHORT_WRITE_0,
++ data[0], 0);
++ } else if (len == 2) {
++ r = dsi_vc_send_short(channel, DSI_DT_DCS_SHORT_WRITE_1,
++ data[0] | (data[1] << 8), 0);
++ } else {
++ /* 0x39 = DCS Long Write */
++ r = dsi_vc_send_long(channel, DSI_DT_DCS_LONG_WRITE,
++ data, len, 0);
++ }
++
++ return r;
++}
++EXPORT_SYMBOL(dsi_vc_dcs_write_nosync);
++
++int dsi_vc_dcs_write(int channel, u8 *data, int len)
++{
++ int r;
++
++ r = dsi_vc_dcs_write_nosync(channel, data, len);
++ if (r)
++ return r;
++
++ /* Some devices need time to process the msg in low power mode.
++ This also makes the write synchronous, and checks that
++ the peripheral is still alive */
++ r = dsi_vc_send_bta_sync(channel);
++
++ return r;
++}
++EXPORT_SYMBOL(dsi_vc_dcs_write);
++
++int dsi_vc_dcs_read(int channel, u8 dcs_cmd, u8 *buf, int buflen)
++{
++ u32 val;
++ u8 dt;
++ int debug = 0;
++
++ if (debug)
++ DSSDBG("dsi_vc_dcs_read\n");
++
++ dsi_vc_send_short(channel, DSI_DT_DCS_READ, dcs_cmd, 0);
++
++ dsi_vc_send_bta_sync(channel);
++
++ val = dsi_read_reg(DSI_VC_SHORT_PACKET_HEADER(channel));
++ if (debug)
++ DSSDBG("\trawval %#08x\n", val);
++ dt = FLD_GET(val, 7, 0);
++ if (dt == DSI_DT_RX_ACK_WITH_ERR) {
++ u16 err = FLD_GET(val, 23, 8);
++ DSSERR("\tACK with ERROR: %#x\n", err);
++ if (err & (1 << 9))
++ DSSERR("\t\tECC multibit\n");
++ if (err & (1 << 11))
++ DSSERR("\t\tData type not recognized\n");
++ if (err & (1 << 12))
++ DSSERR("\t\tInvalid VC ID\n");
++ return -1;
++
++ } else if (dt == DSI_DT_RX_SHORT_READ_1) {
++ u8 data = FLD_GET(val, 15, 8);
++ if (debug)
++ DSSDBG("\tDCS short response, 1 byte: %#x\n", data);
++
++ if (buflen < 1)
++ return -1;
++
++ buf[0] = data;
++
++ return 1;
++ } else if (dt == DSI_DT_RX_SHORT_READ_2) {
++ u16 data = FLD_GET(val, 23, 8);
++ if (debug)
++ DSSDBG("\tDCS short response, 2 byte: %#x\n", data);
++
++ if (buflen < 2)
++ return -1;
++
++ buf[0] = data & 0xff;
++ buf[1] = (data >> 8) & 0xff;
++
++ return 2;
++ } else if (dt == DSI_DT_RX_DCS_LONG_READ) {
++ int x;
++ int len = FLD_GET(val, 23, 8);
++ if (debug)
++ DSSDBG("\tDCS long response, len %d\n", len);
++
++ if (len > buflen)
++ return -1;
++
++ x = 0;
++ while (x < len) {
++ val = dsi_read_reg(DSI_VC_SHORT_PACKET_HEADER(channel));
++ if (debug)
++ DSSDBG("\t\tb1 %#02x b2 %#02x b3 %#02x b4 "
++ "%#02x\n",
++ (val >> 0) & 0xff,
++ (val >> 8) & 0xff,
++ (val >> 16) & 0xff,
++ (val >> 24) & 0xff);
++
++ if (x < len)
++ buf[x++] = (val >> 0) & 0xff;
++ if (x < len)
++ buf[x++] = (val >> 8) & 0xff;
++ if (x < len)
++ buf[x++] = (val >> 16) & 0xff;
++ if (x < len)
++ buf[x++] = (val >> 24) & 0xff;
++ }
++
++ return len;
++ } else {
++ DSSERR("\tunknown datatype\n");
++ return -1;
++ }
++}
++EXPORT_SYMBOL(dsi_vc_dcs_read);
++
++
++int dsi_vc_set_max_rx_packet_size(int channel, u16 len)
++{
++ return dsi_vc_send_short(channel, DSI_DT_SET_MAX_RET_PKG_SIZE,
++ len, 0);
++}
++EXPORT_SYMBOL(dsi_vc_set_max_rx_packet_size);
++
++
++static int dsi_set_lp_rx_timeout(int ns, int x4, int x16)
++{
++ u32 r;
++ unsigned long fck;
++ int ticks;
++
++ /* ticks in DSI_FCK */
++
++ fck = dsi_fclk_rate();
++ ticks = (fck / 1000 / 1000) * ns / 1000;
++
++ if (ticks > 0x1fff) {
++ DSSERR("LP_TX_TO too high\n");
++ return -EINVAL;
++ }
++
++ r = dsi_read_reg(DSI_TIMING2);
++ r = FLD_MOD(r, 1, 15, 15); /* LP_RX_TO */
++ r = FLD_MOD(r, x16, 14, 14); /* LP_RX_TO_X16 */
++ r = FLD_MOD(r, x4, 13, 13); /* LP_RX_TO_X4 */
++ r = FLD_MOD(r, ticks, 12, 0); /* LP_RX_COUNTER */
++ dsi_write_reg(DSI_TIMING2, r);
++
++ DSSDBG("LP_RX_TO %ld ns (%#x ticks)\n",
++ (ticks * (x16 ? 16 : 1) * (x4 ? 4 : 1) * 1000) /
++ (fck / 1000 / 1000),
++ ticks);
++
++ return 0;
++}
++
++static int dsi_set_ta_timeout(int ns, int x8, int x16)
++{
++ u32 r;
++ unsigned long fck;
++ int ticks;
++
++ /* ticks in DSI_FCK */
++
++ fck = dsi_fclk_rate();
++ ticks = (fck / 1000 / 1000) * ns / 1000;
++
++ if (ticks > 0x1fff) {
++ DSSERR("TA_TO too high\n");
++ return -EINVAL;
++ }
++
++ r = dsi_read_reg(DSI_TIMING1);
++ r = FLD_MOD(r, 1, 31, 31); /* TA_TO */
++ r = FLD_MOD(r, x16, 30, 30); /* TA_TO_X16 */
++ r = FLD_MOD(r, x8, 29, 29); /* TA_TO_X8 */
++ r = FLD_MOD(r, ticks, 28, 16); /* TA_TO_COUNTER */
++ dsi_write_reg(DSI_TIMING1, r);
++
++ DSSDBG("TA_TO %ld ns (%#x ticks)\n",
++ (ticks * (x16 ? 16 : 1) * (x8 ? 8 : 1) * 1000) /
++ (fck / 1000 / 1000),
++ ticks);
++
++ return 0;
++}
++
++static int dsi_set_stop_state_counter(int ns, int x4, int x16)
++{
++ u32 r;
++ unsigned long fck;
++ int ticks;
++
++ /* ticks in DSI_FCK */
++
++ fck = dsi_fclk_rate();
++ ticks = (fck / 1000 / 1000) * ns / 1000;
++
++ if (ticks > 0x1fff) {
++ DSSERR("STOP_STATE_COUNTER_IO too high\n");
++ return -EINVAL;
++ }
++
++ r = dsi_read_reg(DSI_TIMING1);
++ r = FLD_MOD(r, 1, 15, 15); /* FORCE_TX_STOP_MODE_IO */
++ r = FLD_MOD(r, x16, 14, 14); /* STOP_STATE_X16_IO */
++ r = FLD_MOD(r, x4, 13, 13); /* STOP_STATE_X4_IO */
++ r = FLD_MOD(r, ticks, 12, 0); /* STOP_STATE_COUNTER_IO */
++ dsi_write_reg(DSI_TIMING1, r);
++
++ DSSDBG("STOP_STATE_COUNTER %ld ns (%#x ticks)\n",
++ (ticks * (x16 ? 16 : 1) * (x4 ? 4 : 1) * 1000) /
++ (fck / 1000 / 1000),
++ ticks);
++
++ return 0;
++}
++
++static int dsi_set_hs_tx_timeout(int ns, int x4, int x16)
++{
++ u32 r;
++ unsigned long fck;
++ int ticks;
++
++ /* ticks in TxByteClkHS */
++
++ fck = dsi.ddr_clk / 4;
++ ticks = (fck / 1000 / 1000) * ns / 1000;
++
++ if (ticks > 0x1fff) {
++ DSSERR("HS_TX_TO too high\n");
++ return -EINVAL;
++ }
++
++ r = dsi_read_reg(DSI_TIMING2);
++ r = FLD_MOD(r, 1, 31, 31); /* HS_TX_TO */
++ r = FLD_MOD(r, x16, 30, 30); /* HS_TX_TO_X16 */
++ r = FLD_MOD(r, x4, 29, 29); /* HS_TX_TO_X8 (4 really) */
++ r = FLD_MOD(r, ticks, 28, 16); /* HS_TX_TO_COUNTER */
++ dsi_write_reg(DSI_TIMING2, r);
++
++ DSSDBG("HS_TX_TO %ld ns (%#x ticks)\n",
++ (ticks * (x16 ? 16 : 1) * (x4 ? 4 : 1) * 1000) /
++ (fck / 1000 / 1000),
++ ticks);
++
++ return 0;
++}
++static int dsi_proto_config(struct omap_display *display)
++{
++ u32 r;
++ int buswidth = 0;
++
++ dsi_config_tx_fifo(DSI_FIFO_SIZE_128,
++ DSI_FIFO_SIZE_0,
++ DSI_FIFO_SIZE_0,
++ DSI_FIFO_SIZE_0);
++
++ dsi_config_rx_fifo(DSI_FIFO_SIZE_128,
++ DSI_FIFO_SIZE_0,
++ DSI_FIFO_SIZE_0,
++ DSI_FIFO_SIZE_0);
++
++ /* XXX what values for the timeouts? */
++ dsi_set_stop_state_counter(1000, 0, 0);
++
++ dsi_set_ta_timeout(50000, 1, 1);
++
++ /* 3000ns * 16 */
++ dsi_set_lp_rx_timeout(3000, 0, 1);
++
++ /* 10000ns * 4 */
++ dsi_set_hs_tx_timeout(10000, 1, 0);
++
++ switch (display->bpp) {
++ case 16:
++ buswidth = 0;
++ break;
++ case 18:
++ buswidth = 1;
++ break;
++ case 24:
++ buswidth = 2;
++ break;
++ default:
++ BUG();
++ }
++
++ r = dsi_read_reg(DSI_CTRL);
++ r = FLD_MOD(r, 1, 1, 1); /* CS_RX_EN */
++ r = FLD_MOD(r, 1, 2, 2); /* ECC_RX_EN */
++ r = FLD_MOD(r, 1, 3, 3); /* TX_FIFO_ARBITRATION */
++ /* XXX what should the ratio be */
++ r = FLD_MOD(r, 0, 4, 4); /* VP_CLK_RATIO, VP_PCLK = VP_CLK/2 */
++ r = FLD_MOD(r, buswidth, 7, 6); /* VP_DATA_BUS_WIDTH */
++ r = FLD_MOD(r, 0, 8, 8); /* VP_CLK_POL */
++ r = FLD_MOD(r, 2, 13, 12); /* LINE_BUFFER, 2 lines */
++ r = FLD_MOD(r, 1, 14, 14); /* TRIGGER_RESET_MODE */
++ r = FLD_MOD(r, 1, 19, 19); /* EOT_ENABLE */
++ r = FLD_MOD(r, 1, 24, 24); /* DCS_CMD_ENABLE */
++ r = FLD_MOD(r, 0, 25, 25); /* DCS_CMD_CODE, 1=start, 0=continue */
++
++ dsi_write_reg(DSI_CTRL, r);
++
++ /* we configure vc0 for L4 communication, and
++ * vc1 for dispc */
++ dsi_vc_config(0);
++ dsi_vc_config_vp(1);
++
++ /* set all vc targets to peripheral 0 */
++ dsi.vc[0].dest_per = 0;
++ dsi.vc[1].dest_per = 0;
++ dsi.vc[2].dest_per = 0;
++ dsi.vc[3].dest_per = 0;
++
++ return 0;
++}
++
++static void dsi_proto_timings(void)
++{
++ int tlpx_half, tclk_zero, tclk_prepare, tclk_trail;
++ int tclk_pre, tclk_post;
++ int ddr_clk_pre, ddr_clk_post;
++ u32 r;
++
++ r = dsi_read_reg(DSIPHY_CFG1);
++ tlpx_half = FLD_GET(r, 22, 16);
++ tclk_trail = FLD_GET(r, 15, 8);
++ tclk_zero = FLD_GET(r, 7, 0);
++
++ r = dsi_read_reg(DSIPHY_CFG2);
++ tclk_prepare = FLD_GET(r, 7, 0);
++
++ /* min 8*UI */
++ tclk_pre = 4;
++ /* min 60ns + 52*UI */
++ tclk_post = ns2ddr(60) + 26;
++
++ ddr_clk_pre = (tclk_pre + tlpx_half*2 + tclk_zero + tclk_prepare) / 4;
++ ddr_clk_post = (tclk_post + tclk_trail) / 4;
++
++ r = dsi_read_reg(DSI_CLK_TIMING);
++ r = FLD_MOD(r, ddr_clk_pre, 15, 8);
++ r = FLD_MOD(r, ddr_clk_post, 7, 0);
++ dsi_write_reg(DSI_CLK_TIMING, r);
++
++#ifdef VERBOSE
++ DSSDBG("ddr_clk_pre %d, ddr_clk_post %d\n",
++ ddr_clk_pre,
++ ddr_clk_post);
++#endif
++}
++
++
++#define DSI_DECL_VARS \
++ int __dsi_cb = 0; u32 __dsi_cv = 0;
++
++#define DSI_FLUSH(ch) \
++ if (__dsi_cb > 0) { \
++ /*DSSDBG("sending long packet %#010x\n", __dsi_cv);*/ \
++ dsi_write_reg(DSI_VC_LONG_PACKET_PAYLOAD(ch), __dsi_cv); \
++ __dsi_cb = __dsi_cv = 0; \
++ }
++
++#define DSI_PUSH(ch, data) \
++ do { \
++ __dsi_cv |= (data) << (__dsi_cb * 8); \
++ /*DSSDBG("cv = %#010x, cb = %d\n", __dsi_cv, __dsi_cb);*/ \
++ if (++__dsi_cb > 3) \
++ DSI_FLUSH(ch); \
++ } while (0)
++
++static int dsi_update_screen_l4(struct omap_display *display,
++ int x, int y, int w, int h)
++{
++ /* Note: supports only 24bit colors in 32bit container */
++ int first = 1;
++ int fifo_stalls = 0;
++ int max_dsi_packet_size;
++ int max_data_per_packet;
++ int max_pixels_per_packet;
++ int pixels_left;
++ int bytespp = 3;
++ int scr_width;
++ u32 *data;
++ int start_offset;
++ int horiz_inc;
++ int current_x;
++ struct omap_overlay *ovl;
++
++ debug_irq = 0;
++
++ DSSDBG("dsi_update_screen_l4 (%d,%d %dx%d)\n",
++ x, y, w, h);
++
++ ovl = &display->manager->overlays[0];
++
++ if (ovl->info.color_mode != OMAP_DSS_COLOR_RGB24U)
++ return -EINVAL;
++
++ if (display->ctrl->bpp != 24)
++ return -EINVAL;
++
++ enable_clocks(1);
++
++ scr_width = ovl->info.screen_width;
++ data = ovl->info.vaddr;
++
++ start_offset = scr_width * y + x;
++ horiz_inc = scr_width - w;
++ current_x = x;
++
++ /* We need header(4) + DCSCMD(1) + pixels(numpix*bytespp) bytes
++ * in fifo */
++
++ /* When using CPU, max long packet size is TX buffer size */
++ max_dsi_packet_size = dsi.vc[0].fifo_size * 32 * 4;
++
++ /* we seem to get better perf if we divide the tx fifo to half,
++ and while the other half is being sent, we fill the other half
++ max_dsi_packet_size /= 2; */
++
++ max_data_per_packet = max_dsi_packet_size - 4 - 1;
++
++ max_pixels_per_packet = max_data_per_packet / bytespp;
++
++ DSSDBG("max_pixels_per_packet %d\n", max_pixels_per_packet);
++
++ display->ctrl->setup_update(display, x, y, w, h);
++
++ pixels_left = w * h;
++
++ DSSDBG("total pixels %d\n", pixels_left);
++
++ data += start_offset;
++
++ dsi.update_region.x = x;
++ dsi.update_region.y = y;
++ dsi.update_region.w = w;
++ dsi.update_region.h = h;
++ dsi.update_region.bytespp = bytespp;
++
++ start_measuring();
++
++ while (pixels_left > 0) {
++ /* 0x2c = write_memory_start */
++ /* 0x3c = write_memory_continue */
++ u8 dcs_cmd = first ? 0x2c : 0x3c;
++ int pixels;
++ DSI_DECL_VARS;
++ first = 0;
++
++#if 1
++ /* using fifo not empty */
++ /* TX_FIFO_NOT_EMPTY */
++ while (FLD_GET(dsi_read_reg(DSI_VC_CTRL(0)), 5, 5)) {
++ udelay(1);
++ fifo_stalls++;
++ if (fifo_stalls > 0xfffff) {
++ DSSERR("fifo stalls overflow, pixels left %d\n",
++ pixels_left);
++ dsi_if_enable(0);
++ enable_clocks(0);
++ return -EIO;
++ }
++ }
++#elif 1
++ /* using fifo emptiness */
++ while ((REG_GET(DSI_TX_FIFO_VC_EMPTINESS, 7, 0)+1)*4 <
++ max_dsi_packet_size) {
++ fifo_stalls++;
++ if (fifo_stalls > 0xfffff) {
++ DSSERR("fifo stalls overflow, pixels left %d\n",
++ pixels_left);
++ dsi_if_enable(0);
++ enable_clocks(0);
++ return -EIO;
++ }
++ }
++#else
++ while ((REG_GET(DSI_TX_FIFO_VC_EMPTINESS, 7, 0)+1)*4 == 0) {
++ fifo_stalls++;
++ if (fifo_stalls > 0xfffff) {
++ DSSERR("fifo stalls overflow, pixels left %d\n",
++ pixels_left);
++ dsi_if_enable(0);
++ enable_clocks(0);
++ return -EIO;
++ }
++ }
++#endif
++ pixels = min(max_pixels_per_packet, pixels_left);
++
++ pixels_left -= pixels;
++
++ dsi_vc_write_long_header(0, DSI_DT_DCS_LONG_WRITE,
++ 1 + pixels * bytespp, 0);
++
++ DSI_PUSH(0, dcs_cmd);
++
++ while (pixels-- > 0) {
++ u32 pix = *data++;
++
++ DSI_PUSH(0, (pix >> 16) & 0xff);
++ DSI_PUSH(0, (pix >> 8) & 0xff);
++ DSI_PUSH(0, (pix >> 0) & 0xff);
++
++ current_x++;
++ if (current_x == x+w) {
++ current_x = x;
++ data += horiz_inc;
++ }
++ }
++
++ DSI_FLUSH(0);
++ }
++
++ end_measuring("L4");
++
++ enable_clocks(0);
++
++ return 0;
++}
++
++#if 0
++static void dsi_clear_screen_l4(struct omap_display *display,
++ int x, int y, int w, int h)
++{
++ int first = 1;
++ int fifo_stalls = 0;
++ int max_dsi_packet_size;
++ int max_data_per_packet;
++ int max_pixels_per_packet;
++ int pixels_left;
++ int bytespp = 3;
++ int pixnum;
++
++ debug_irq = 0;
++
++ DSSDBG("dsi_clear_screen_l4 (%d,%d %dx%d)\n",
++ x, y, w, h);
++
++ if (display->ctrl->bpp != 24)
++ return -EINVAL;
++
++ /* We need header(4) + DCSCMD(1) + pixels(numpix*bytespp)
++ * bytes in fifo */
++
++ /* When using CPU, max long packet size is TX buffer size */
++ max_dsi_packet_size = dsi.vc[0].fifo_size * 32 * 4;
++
++ max_data_per_packet = max_dsi_packet_size - 4 - 1;
++
++ max_pixels_per_packet = max_data_per_packet / bytespp;
++
++ enable_clocks(1);
++
++ display->ctrl->setup_update(display, x, y, w, h);
++
++ pixels_left = w * h;
++
++ dsi.update_region.x = x;
++ dsi.update_region.y = y;
++ dsi.update_region.w = w;
++ dsi.update_region.h = h;
++ dsi.update_region.bytespp = bytespp;
++
++ start_measuring();
++
++ pixnum = 0;
++
++ while (pixels_left > 0) {
++ /* 0x2c = write_memory_start */
++ /* 0x3c = write_memory_continue */
++ u8 dcs_cmd = first ? 0x2c : 0x3c;
++ int pixels;
++ DSI_DECL_VARS;
++ first = 0;
++
++ /* TX_FIFO_NOT_EMPTY */
++ while (FLD_GET(dsi_read_reg(DSI_VC_CTRL(0)), 5, 5)) {
++ fifo_stalls++;
++ if (fifo_stalls > 0xfffff) {
++ DSSERR("fifo stalls overflow\n");
++ dsi_if_enable(0);
++ enable_clocks(0);
++ return;
++ }
++ }
++
++ pixels = min(max_pixels_per_packet, pixels_left);
++
++ pixels_left -= pixels;
++
++ dsi_vc_write_long_header(0, DSI_DT_DCS_LONG_WRITE,
++ 1 + pixels * bytespp, 0);
++
++ DSI_PUSH(0, dcs_cmd);
++
++ while (pixels-- > 0) {
++ u32 pix;
++
++ pix = 0x000000;
++
++ DSI_PUSH(0, (pix >> 16) & 0xff);
++ DSI_PUSH(0, (pix >> 8) & 0xff);
++ DSI_PUSH(0, (pix >> 0) & 0xff);
++ }
++
++ DSI_FLUSH(0);
++ }
++
++ enable_clocks(0);
++
++ end_measuring("L4 CLEAR");
++}
++#endif
++
++static int dsi_wait_for_framedone(void)
++{
++ unsigned long flags;
++
++ spin_lock_irqsave(&dsi.update_lock, flags);
++ if (dsi.update_ongoing) {
++ long wait = msecs_to_jiffies(1000);
++ dsi.update_syncers++;
++ spin_unlock_irqrestore(&dsi.update_lock, flags);
++ wait = wait_for_completion_timeout(&dsi.update_completion,
++ wait);
++ if (wait == 0) {
++ DSSERR("timeout waiting sync\n");
++ return -ETIME;
++ }
++ } else {
++ spin_unlock_irqrestore(&dsi.update_lock, flags);
++ }
++
++ return 0;
++}
++
++static void dsi_setup_update_dispc(struct omap_display *display,
++ int x, int y, int w, int h)
++{
++ int bytespp = 3;
++
++ DSSDBG("dsi_setup_update_dispc(%d,%d %dx%d)\n",
++ x, y, w, h);
++
++ dsi.update_region.display = display;
++ dsi.update_region.x = x;
++ dsi.update_region.y = y;
++ dsi.update_region.w = w;
++ dsi.update_region.h = h;
++ dsi.update_region.bytespp = bytespp;
++
++ enable_clocks(1);
++
++ dispc_setup_partial_planes(display, &x, &y, &w, &h);
++
++ dispc_set_lcd_size(w, h);
++
++ enable_clocks(0);
++}
++
++static void dsi_update_screen_dispc(struct omap_display *display)
++{
++ int bytespp = 3;
++ int total_len;
++ int line_packet_len;
++ int x, y, w, h;
++ u32 l;
++
++ x = dsi.update_region.x;
++ y = dsi.update_region.y;
++ w = dsi.update_region.w;
++ h = dsi.update_region.h;
++
++ DSSDBG("dsi_update_screen_dispc(%d,%d %dx%d)\n",
++ x, y, w, h);
++
++ enable_clocks(1);
++
++ /* TODO: one packet could be longer, I think? Max is the line buffer */
++ line_packet_len = w * bytespp + 1; /* 1 byte for DCS cmd */
++ total_len = line_packet_len * h;
++
++ display->ctrl->setup_update(display, x, y, w, h);
++
++ if (0)
++ dsi_vc_print_status(1);
++
++ start_measuring();
++
++ l = FLD_VAL(total_len, 23, 0); /* TE_SIZE */
++ dsi_write_reg(DSI_VC_TE(1), l);
++
++ dsi_vc_write_long_header(1, DSI_DT_DCS_LONG_WRITE, line_packet_len, 0);
++
++ if (dsi.use_te)
++ l = FLD_MOD(l, 1, 30, 30); /* TE_EN */
++ else
++ l = FLD_MOD(l, 1, 31, 31); /* TE_START */
++ dsi_write_reg(DSI_VC_TE(1), l);
++
++ dispc_enable_lcd_out(1);
++
++ if (dsi.use_te)
++ dsi_vc_send_bta(1);
++}
++
++static void framedone_callback(void *data, u32 mask)
++{
++ if (dsi.framedone_scheduled) {
++ DSSERR("Framedone already scheduled. Bogus FRAMEDONE IRQ?\n");
++ return;
++ }
++
++ dsi.framedone_scheduled = 1;
++
++ /* We get FRAMEDONE when DISPC has finished sending pixels and turns
++ * itself off. However, DSI still has the pixels in its buffers, and
++ * is sending the data. Thus we have to wait until we can do a new
++ * transfer or turn the clocks off. We do that in a separate work
++ * func. */
++ schedule_work(&dsi.framedone_work);
++}
++
++static void framedone_worker(struct work_struct *work)
++{
++ unsigned long flags;
++ u32 l;
++ unsigned long tmo;
++ int i = 0;
++
++ l = REG_GET(DSI_VC_TE(1), 23, 0); /* TE_SIZE */
++
++ /* There shouldn't be much stuff in DSI buffers, if any, so we'll
++ * just busyloop */
++ if (l > 0) {
++ tmo = jiffies + msecs_to_jiffies(50);
++ while (REG_GET(DSI_VC_TE(1), 23, 0) > 0) { /* TE_SIZE */
++ i++;
++ if (time_after(jiffies, tmo)) {
++ DSSERR("timeout waiting TE_SIZE to zero\n");
++ break;
++ }
++ cpu_relax();
++ }
++ }
++
++ if (REG_GET(DSI_VC_TE(1), 30, 30))
++ DSSERR("TE_EN not zero\n");
++
++ if (REG_GET(DSI_VC_TE(1), 31, 31))
++ DSSERR("TE_START not zero\n");
++
++ spin_lock_irqsave(&dsi.update_lock, flags);
++ if (dsi.update_ongoing == 0) {
++ spin_unlock_irqrestore(&dsi.update_lock, flags);
++ DSSERR("framedone irq without update request\n");
++ return;
++ }
++ spin_unlock_irqrestore(&dsi.update_lock, flags);
++
++ end_measuring("DISPC");
++
++ DSSDBG("FRAMEDONE\n");
++
++#if 0
++ if (l)
++ DSSWARN("FRAMEDONE irq too early, %d bytes, %d loops\n", l, i);
++#else
++ if (l > 1024*3)
++ DSSWARN("FRAMEDONE irq too early, %d bytes, %d loops\n", l, i);
++#endif
++
++ spin_lock_irqsave(&dsi.update_lock, flags);
++ dsi.update_ongoing = 0;
++ while (dsi.update_syncers > 0) {
++ complete(&dsi.update_completion);
++ --dsi.update_syncers;
++ }
++ spin_unlock_irqrestore(&dsi.update_lock, flags);
++
++#ifdef CONFIG_OMAP2_DSS_FAKE_VSYNC
++ dispc_fake_vsync_irq();
++#endif
++ enable_clocks(0);
++
++ dsi.framedone_scheduled = 0;
++
++ if (dsi.update_mode == OMAP_DSS_UPDATE_AUTO) {
++ spin_lock_irqsave(&dsi.update_lock, flags);
++ dsi.update_ongoing = 1;
++ spin_unlock_irqrestore(&dsi.update_lock, flags);
++ dsi_update_screen_dispc(dsi.update_region.display);
++ }
++}
++
++static void dsi_start_auto_update(struct omap_display *display)
++{
++ unsigned long flags;
++ int bytespp = 3;
++
++ DSSDBG("starting auto update\n");
++
++ dsi.update_region.display = display;
++ dsi.update_region.x = 0;
++ dsi.update_region.y = 0;
++ dsi.update_region.w = display->x_res;
++ dsi.update_region.h = display->y_res;
++ dsi.update_region.bytespp = bytespp;
++
++ enable_clocks(1);
++
++ dispc_set_lcd_size(display->x_res, display->y_res);
++
++ spin_lock_irqsave(&dsi.update_lock, flags);
++ dsi.update_ongoing = 1;
++ spin_unlock_irqrestore(&dsi.update_lock, flags);
++ dsi_update_screen_dispc(display);
++}
++
++static void dsi_stop_auto_update(void)
++{
++ dsi.update_mode = OMAP_DSS_UPDATE_DISABLED;
++
++ DSSDBG("waiting for display to finish.\n");
++ dsi_wait_for_framedone();
++ DSSDBG("done waiting\n");
++ enable_clocks(0);
++
++ dsi.update_mode = OMAP_DSS_UPDATE_MANUAL;
++}
++
++static int dsi_set_update_mode(struct omap_display *display,
++ enum omap_dss_update_mode mode)
++{
++ if (mode == dsi.update_mode)
++ return 0;
++
++ if (dsi.update_mode == OMAP_DSS_UPDATE_AUTO)
++ dsi_stop_auto_update();
++ else if (dsi.update_mode == OMAP_DSS_UPDATE_MANUAL)
++ dsi_wait_for_framedone();
++
++ dsi.update_mode = mode;
++
++ if (dsi.update_mode == OMAP_DSS_UPDATE_AUTO)
++ dsi_start_auto_update(display);
++
++ return 0;
++}
++
++/* Display funcs */
++
++static int dsi_display_enable(struct omap_display *display)
++{
++ int r = 0;
++ struct dsi_clock_info cinfo;
++
++ DSSDBG("dsi_display_enable\n");
++
++ mutex_lock(&dsi.lock);
++
++ if (display->state != OMAP_DSS_DISPLAY_DISABLED) {
++ DSSERR("display already enabled\n");
++ r = -EINVAL;
++ goto err0;
++ }
++
++ enable_clocks(1);
++
++ r = omap_dispc_register_isr(framedone_callback, NULL,
++ DISPC_IRQ_FRAMEDONE);
++ if (r) {
++ DSSERR("can't get FRAMEDONE irq\n");
++ goto err1;
++ }
++
++ dispc_set_lcd_display_type(OMAP_DSS_LCD_DISPLAY_TFT);
++
++ dispc_set_parallel_interface_mode(OMAP_DSS_PARALLELMODE_DSI);
++ dispc_enable_fifohandcheck(1);
++ dispc_setup_plane_fifo(OMAP_DSS_GFX, 0);
++ dispc_setup_plane_fifo(OMAP_DSS_VIDEO1, 0);
++ dispc_setup_plane_fifo(OMAP_DSS_VIDEO2, 0);
++ dispc_set_tft_data_lines(display->bpp);
++
++ {
++ struct omap_video_timings timings = {
++ .hsw = 1,
++ .hfp = 1,
++ .hbp = 1,
++ .vsw = 1,
++ .vfp = 0,
++ .vbp = 0,
++ };
++
++ dispc_set_lcd_timings(&timings);
++ }
++
++ _dsi_print_reset_status();
++
++ r = dsi_pll_init(1, 0);
++ if (r)
++ goto err2;
++
++ /* XXX hardcoded for 300Mbp/lane for now */
++ r = dsi_pll_calc_datafreq(600 * 1000 * 1000, &cinfo);
++ if (r)
++ goto err3;
++
++ r = dsi_pll_program(&cinfo);
++ if (r)
++ goto err3;
++
++ DSSDBG("PLL OK\n");
++
++ r = dsi_complexio_init(display);
++ if (r)
++ goto err3;
++
++ _dsi_print_reset_status();
++
++ dsi_proto_timings();
++ dsi_set_lp_clk_divisor();
++
++ if (1)
++ _dsi_print_reset_status();
++
++ r = dsi_proto_config(display);
++ if (r)
++ goto err4;
++
++ /* enable interface */
++ dsi_vc_enable(0, 1);
++ dsi_vc_enable(1, 1);
++ dsi_if_enable(1);
++ dsi_force_tx_stop_mode_io();
++
++
++ if (display->ctrl && display->ctrl->enable) {
++ r = display->ctrl->enable(display);
++ if (r)
++ goto err5;
++ }
++
++ if (display->panel && display->panel->enable) {
++ r = display->panel->enable(display);
++ if (r)
++ goto err6;
++ }
++
++ if (dsi.use_te) {
++ r = display->ctrl->enable_te(display, 1);
++ if (r)
++ goto err7;
++ }
++
++ /* enable high-speed after initial config */
++ dsi_vc_enable_hs(0, 1);
++
++ display->state = OMAP_DSS_DISPLAY_ACTIVE;
++
++ if (dsi.update_mode == OMAP_DSS_UPDATE_AUTO)
++ dsi_start_auto_update(display);
++
++ enable_clocks(0);
++ mutex_unlock(&dsi.lock);
++
++ return 0;
++err7:
++ if (display->panel && display->panel->disable)
++ display->panel->disable(display);
++err6:
++ if (display->ctrl && display->ctrl->disable)
++ display->ctrl->disable(display);
++err5:
++ dsi_if_enable(0);
++err4:
++ dsi_complexio_uninit();
++err3:
++ dsi_pll_uninit();
++err2:
++ omap_dispc_unregister_isr(framedone_callback);
++err1:
++ enable_clocks(0);
++err0:
++ mutex_unlock(&dsi.lock);
++ DSSDBG("dsi_display_enable FAILED\n");
++ return r;
++}
++
++static void dsi_display_disable(struct omap_display *display)
++{
++ DSSDBG("dsi_display_disable\n");
++
++ mutex_lock(&dsi.lock);
++
++ if (display->state == OMAP_DSS_DISPLAY_DISABLED)
++ goto end;
++
++ enable_clocks(1);
++
++ if (dsi.update_mode == OMAP_DSS_UPDATE_AUTO)
++ dsi_stop_auto_update();
++ else if (dsi.update_mode == OMAP_DSS_UPDATE_MANUAL)
++ dsi_wait_for_framedone();
++
++ display->state = OMAP_DSS_DISPLAY_DISABLED;
++
++ omap_dispc_unregister_isr(framedone_callback);
++
++ if (display->panel && display->panel->disable)
++ display->panel->disable(display);
++ if (display->ctrl && display->ctrl->disable)
++ display->ctrl->disable(display);
++
++ dsi_complexio_uninit();
++ dsi_pll_uninit();
++
++ enable_clocks(0);
++
++end:
++ mutex_unlock(&dsi.lock);
++}
++
++static int dsi_display_suspend(struct omap_display *display)
++{
++ if (display->state != OMAP_DSS_DISPLAY_ACTIVE)
++ return -EINVAL;
++
++ if (display->panel->suspend)
++ display->panel->suspend(display);
++
++ if (display->ctrl->suspend)
++ display->ctrl->suspend(display);
++
++ display->state = OMAP_DSS_DISPLAY_SUSPENDED;
++
++ return 0;
++}
++
++static int dsi_display_resume(struct omap_display *display)
++{
++ if (display->state != OMAP_DSS_DISPLAY_SUSPENDED)
++ return -EINVAL;
++
++ if (display->panel->resume)
++ display->panel->resume(display);
++
++ if (display->ctrl->resume)
++ display->ctrl->resume(display);
++
++ display->state = OMAP_DSS_DISPLAY_ACTIVE;
++
++ return 0;
++}
++
++static void dsi_display_set_mode(struct omap_display *display,
++ int x_res, int y_res, int bpp)
++{
++ DSSDBG("dsi_display_set_mode %dx%d, %dbpp\n", x_res, y_res, bpp);
++}
++
++static int dsi_display_update(struct omap_display *display,
++ int x, int y, int w, int h)
++{
++ unsigned long flags;
++ int r = 0;
++
++ DSSDBG("dsi_display_update(%d,%d %dx%d)\n", x, y, w, h);
++
++ if (w == 0 || h == 0)
++ return 0;
++
++ mutex_lock(&dsi.lock);
++
++ if (dsi.update_mode != OMAP_DSS_UPDATE_MANUAL)
++ goto end; /* XXX return error? */
++
++ spin_lock_irqsave(&dsi.update_lock, flags);
++
++ if (dsi.update_ongoing) {
++ spin_unlock_irqrestore(&dsi.update_lock, flags);
++ DSSERR("DSI is busy\n");
++ r = -EBUSY;
++ goto end;
++ }
++
++ dsi.update_ongoing = 1;
++
++ if (dsi.update_syncers > 0)
++ DSSERR("someone waiting for sync, and no update ongoing\n");
++
++ spin_unlock_irqrestore(&dsi.update_lock, flags);
++
++ if (display->manager->caps & OMAP_DSS_OVL_MGR_CAP_DISPC) {
++ dsi_setup_update_dispc(display, x, y, w, h);
++ dsi_update_screen_dispc(display);
++ } else {
++ r = dsi_update_screen_l4(display, x, y, w, h);
++ if (r)
++ goto end;
++
++ spin_lock_irqsave(&dsi.update_lock, flags);
++ dsi.update_ongoing = 0;
++ while (dsi.update_syncers > 0) {
++ complete(&dsi.update_completion);
++ --dsi.update_syncers;
++ }
++ spin_unlock_irqrestore(&dsi.update_lock, flags);
++ }
++
++end:
++ mutex_unlock(&dsi.lock);
++ return r;
++}
++
++static int dsi_display_sync(struct omap_display *display)
++{
++ int r = 0;
++
++ DSSDBG("dsi_display_sync\n");
++
++ mutex_lock(&dsi.lock);
++
++ if (dsi.update_mode != OMAP_DSS_UPDATE_MANUAL)
++ goto end;
++
++ r = dsi_wait_for_framedone();
++
++end:
++ mutex_unlock(&dsi.lock);
++ return r;
++}
++
++static int dsi_display_set_update_mode(struct omap_display *display,
++ enum omap_dss_update_mode mode)
++{
++ int r;
++
++ DSSDBG("dsi_display_set_update_mode\n");
++
++ mutex_lock(&dsi.lock);
++
++ r = dsi_set_update_mode(display, mode);
++
++ mutex_unlock(&dsi.lock);
++
++ return r;
++}
++
++static enum omap_dss_update_mode dsi_display_get_update_mode(
++ struct omap_display *display)
++{
++ return dsi.update_mode;
++}
++
++static int dsi_display_enable_te(struct omap_display *display, int enable)
++{
++ enum omap_dss_update_mode mode;
++
++ DSSDBG("dsi_display_enable_te\n");
++
++ mutex_lock(&dsi.lock);
++
++ enable_clocks(1);
++
++ mode = dsi.update_mode;
++
++ /* XXX perhaps suspend or something would be better here */
++ if (dsi.update_mode == OMAP_DSS_UPDATE_AUTO)
++ dsi_stop_auto_update();
++ else if (dsi.update_mode == OMAP_DSS_UPDATE_MANUAL)
++ dsi_wait_for_framedone();
++
++ dsi.use_te = enable;
++ display->ctrl->enable_te(display, enable);
++ if (enable) {
++ /* disable LP_RX_TO, so that we can receive TE.
++ * Time to wait for TE is longer than the timer allows */
++ REG_FLD_MOD(DSI_TIMING2, 0, 15, 15); /* LP_RX_TO */
++ } else {
++ REG_FLD_MOD(DSI_TIMING2, 1, 15, 15); /* LP_RX_TO */
++ }
++
++ /* restore the old update mode */
++ dsi_set_update_mode(display, mode);
++
++ enable_clocks(0);
++
++ mutex_unlock(&dsi.lock);
++
++ return 0;
++}
++
++static int dsi_display_get_te(struct omap_display *display)
++{
++ return dsi.use_te;
++}
++
++static int dsi_display_run_test(struct omap_display *display, int test_num)
++{
++ enum omap_dss_update_mode mode;
++ int r = 0;
++
++ DSSDBG("dsi_display_run_test %d\n", test_num);
++
++ mutex_lock(&dsi.lock);
++
++ enable_clocks(1);
++
++ mode = dsi.update_mode;
++
++ /* XXX perhaps suspend or something would be better here */
++ if (dsi.update_mode == OMAP_DSS_UPDATE_AUTO)
++ dsi_stop_auto_update();
++ else if (dsi.update_mode == OMAP_DSS_UPDATE_MANUAL)
++ dsi_wait_for_framedone();
++
++ /* run test first in low speed mode */
++ dsi_vc_enable_hs(0, 0);
++
++ if (display->ctrl->run_test) {
++ r = display->ctrl->run_test(display, test_num);
++ if (r)
++ goto fail;
++ }
++
++ if (display->panel->run_test) {
++ r = display->panel->run_test(display, test_num);
++ if (r)
++ goto fail;
++ }
++
++ /* then in high speed */
++ dsi_vc_enable_hs(0, 1);
++
++ if (display->ctrl->run_test) {
++ r = display->ctrl->run_test(display, test_num);
++ if (r)
++ goto fail;
++ }
++
++ if (display->panel->run_test)
++ r = display->panel->run_test(display, test_num);
++
++fail:
++ dsi_vc_enable_hs(0, 1);
++
++ /* restore the old update mode */
++ dsi_set_update_mode(display, mode);
++
++ enable_clocks(0);
++
++ mutex_unlock(&dsi.lock);
++
++ return r;
++}
++
++void dsi_init_display(struct omap_display *display)
++{
++ DSSDBG("DSI init\n");
++
++ display->enable = dsi_display_enable;
++ display->disable = dsi_display_disable;
++ display->suspend = dsi_display_suspend;
++ display->resume = dsi_display_resume;
++ display->set_mode = dsi_display_set_mode;
++ display->update = dsi_display_update;
++ display->sync = dsi_display_sync;
++ display->set_update_mode = dsi_display_set_update_mode;
++ display->get_update_mode = dsi_display_get_update_mode;
++ display->enable_te = dsi_display_enable_te;
++ display->get_te = dsi_display_get_te;
++ display->run_test = dsi_display_run_test;
++
++ display->caps = OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE;
++}
++
++int dsi_init(void)
++{
++ u32 rev;
++
++ init_completion(&dsi.bta_completion);
++ INIT_WORK(&dsi.framedone_work, framedone_worker);
++
++ init_completion(&dsi.update_completion);
++ spin_lock_init(&dsi.update_lock);
++ dsi.update_ongoing = 0;
++ dsi.update_syncers = 0;
++
++ mutex_init(&dsi.lock);
++
++ dsi.base = ioremap(DSI_BASE, SZ_1K);
++ if (!dsi.base) {
++ DSSERR("can't ioremap DSI\n");
++ return -ENOMEM;
++ }
++
++ dsi.dss_ick = get_dss_ick();
++ dsi.dss1_fck = get_dss1_fck();
++ dsi.dss2_fck = get_dss2_fck();
++
++ enable_clocks(1);
++
++ /* Autoidle */
++ REG_FLD_MOD(DSI_SYSCONFIG, 1, 0, 0);
++
++ /* ENWAKEUP */
++ REG_FLD_MOD(DSI_SYSCONFIG, 1, 2, 2);
++
++ /* SIDLEMODE smart-idle */
++ REG_FLD_MOD(DSI_SYSCONFIG, 2, 4, 3);
++
++ if (0)
++ _dsi_reset();
++
++ _dsi_initialize_irq();
++
++ rev = dsi_read_reg(DSI_REVISION);
++ printk(KERN_INFO "OMAP DSI rev %d.%d\n",
++ FLD_GET(rev, 7, 4), FLD_GET(rev, 3, 0));
++
++ enable_clocks(0);
++
++ return 0;
++}
++
++void dsi_exit(void)
++{
++ iounmap(dsi.base);
++
++ DSSDBG("omap_dsi_exit\n");
++}
++
+diff --git a/arch/arm/plat-omap/dss/dss.c b/arch/arm/plat-omap/dss/dss.c
+new file mode 100644
+index 0000000..8450ddd
+--- /dev/null
++++ b/arch/arm/plat-omap/dss/dss.c
+@@ -0,0 +1,554 @@
++/*
++ * linux/arch/arm/plat-omap/dss/dss.c
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * Some code and ideas taken from drivers/video/omap/ driver
++ * by Imre Deak.
++ *
++ * 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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#define DSS_SUBSYS_NAME "DSS"
++
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/io.h>
++#include <linux/clk.h>
++#include <linux/err.h>
++#include <linux/delay.h>
++#include <linux/interrupt.h>
++#include <linux/platform_device.h>
++
++#include <mach/display.h>
++#include <mach/clock.h>
++#include "dss.h"
++
++#define DSS_BASE 0x48050000
++
++struct dss_reg {
++ u16 idx;
++};
++
++#define DSS_REG(idx) ((const struct dss_reg) { idx })
++
++#define DSS_REVISION DSS_REG(0x0000)
++#define DSS_SYSCONFIG DSS_REG(0x0010)
++#define DSS_SYSSTATUS DSS_REG(0x0014)
++#define DSS_IRQSTATUS DSS_REG(0x0018)
++#define DSS_CONTROL DSS_REG(0x0040)
++#define DSS_SDI_CONTROL DSS_REG(0x0044)
++#define DSS_PLL_CONTROL DSS_REG(0x0048)
++#define DSS_SDI_STATUS DSS_REG(0x005C)
++
++#define REG_FLD_MOD(idx, val, start, end) \
++ dss_write_reg(idx, FLD_MOD(dss_read_reg(idx), val, start, end))
++
++static struct {
++ void __iomem *base;
++
++ struct clk *dss_ick;
++ struct clk *dss1_fck;
++ struct clk *dss2_fck;
++ struct clk *dss_54m_fck;
++ struct clk *dss_96m_fck;
++} dss;
++
++static inline void dss_write_reg(const struct dss_reg idx, u32 val)
++{
++ __raw_writel(val, dss.base + idx.idx);
++}
++
++static inline u32 dss_read_reg(const struct dss_reg idx)
++{
++ return __raw_readl(dss.base + idx.idx);
++}
++
++void dss_sdi_init(int datapairs)
++{
++ u32 l;
++
++ BUG_ON(datapairs > 3 || datapairs < 1);
++
++ l = dss_read_reg(DSS_SDI_CONTROL);
++ l = FLD_MOD(l, 0xf, 19, 15); /* SDI_PDIV */
++ l = FLD_MOD(l, datapairs-1, 3, 2); /* SDI_PRSEL */
++ l = FLD_MOD(l, 2, 1, 0); /* SDI_BWSEL */
++ dss_write_reg(DSS_SDI_CONTROL, l);
++
++ l = dss_read_reg(DSS_PLL_CONTROL);
++ l = FLD_MOD(l, 0x7, 25, 22); /* SDI_PLL_FREQSEL */
++ l = FLD_MOD(l, 0xb, 16, 11); /* SDI_PLL_REGN */
++ l = FLD_MOD(l, 0xb4, 10, 1); /* SDI_PLL_REGM */
++ dss_write_reg(DSS_PLL_CONTROL, l);
++
++ /* Reset SDI PLL */
++ REG_FLD_MOD(DSS_PLL_CONTROL, 1, 18, 18); /* SDI_PLL_SYSRESET */
++ udelay(1); /* wait 2x PCLK */
++
++ /* Lock SDI PLL */
++ REG_FLD_MOD(DSS_PLL_CONTROL, 1, 28, 28); /* SDI_PLL_GOBIT */
++
++ /* Waiting for PLL lock request to complete */
++ while (dss_read_reg(DSS_SDI_STATUS) & (1 << 6))
++ ;
++
++ /* Clearing PLL_GO bit */
++ REG_FLD_MOD(DSS_PLL_CONTROL, 0, 28, 28);
++
++ /* Waiting for PLL to lock */
++ while (!(dss_read_reg(DSS_SDI_STATUS) & (1 << 5)))
++ ;
++
++ dispc_lcd_enable_signal(1);
++
++ /* Waiting for SDI reset to complete */
++ while (!(dss_read_reg(DSS_SDI_STATUS) & (1 << 5)))
++ ;
++}
++
++static int get_dss_clocks(void)
++{
++ const struct {
++ struct clk **clock;
++ char *omap2_name;
++ char *omap3_name;
++ } clocks[5] = {
++ { &dss.dss_ick, "dss_ick", "dss_ick" }, /* L3 & L4 ick */
++ { &dss.dss1_fck, "dss1_fck", "dss1_alwon_fck" },
++ { &dss.dss2_fck, "dss2_fck", "dss2_alwon_fck" },
++ { &dss.dss_54m_fck, "dss_54m_fck", "dss_tv_fck" },
++ { &dss.dss_96m_fck, NULL, "dss_96m_fck" },
++ };
++
++ int r = 0;
++ int i;
++ const int num_clocks = 5;
++
++ for (i = 0; i < num_clocks; i++)
++ *clocks[i].clock = NULL;
++
++ for (i = 0; i < num_clocks; i++) {
++ struct clk *clk;
++ const char *clk_name;
++
++ clk_name = cpu_is_omap34xx() ? clocks[i].omap3_name
++ : clocks[i].omap2_name;
++
++ if (!clk_name)
++ continue;
++
++ clk = clk_get(NULL, clk_name);
++
++ if (IS_ERR(clk)) {
++ DSSERR("can't get clock %s", clk_name);
++ r = PTR_ERR(clk);
++ goto err;
++ }
++
++ DSSDBG("clk %s, rate %ld\n",
++ clk_name, clk_get_rate(clk));
++
++ *clocks[i].clock = clk;
++ }
++
++ return 0;
++
++err:
++ for (i = 0; i < num_clocks; i++) {
++ if (!IS_ERR(*clocks[i].clock))
++ clk_put(*clocks[i].clock);
++ }
++
++ return r;
++}
++
++static void put_dss_clocks(void)
++{
++ if (dss.dss_96m_fck)
++ clk_put(dss.dss_96m_fck);
++ clk_put(dss.dss_54m_fck);
++ clk_put(dss.dss1_fck);
++ clk_put(dss.dss2_fck);
++ clk_put(dss.dss_ick);
++}
++
++struct clk *get_dss_ick(void)
++{
++ return dss.dss_ick;
++}
++
++struct clk *get_dss1_fck(void)
++{
++ return dss.dss1_fck;
++}
++
++struct clk *get_dss2_fck(void)
++{
++ return dss.dss2_fck;
++}
++
++struct clk *get_tv_fck(void)
++{
++ return dss.dss_54m_fck;
++}
++
++struct clk *get_96m_fck(void)
++{
++ return dss.dss_96m_fck;
++}
++
++static void enable_dss_clocks(void)
++{
++ clk_enable(dss.dss_ick);
++ clk_enable(dss.dss1_fck);
++ clk_enable(dss.dss2_fck);
++ clk_enable(dss.dss_54m_fck);
++ if (dss.dss_96m_fck)
++ clk_enable(dss.dss_96m_fck);
++}
++
++static void disable_dss_clocks(void)
++{
++ clk_disable(dss.dss_ick);
++ clk_disable(dss.dss1_fck);
++ clk_disable(dss.dss2_fck);
++ clk_disable(dss.dss_54m_fck);
++ if (dss.dss_96m_fck)
++ clk_disable(dss.dss_96m_fck);
++}
++
++void dss_select_clk_source(int dsi, int dispc)
++{
++ u32 r;
++ r = dss_read_reg(DSS_CONTROL);
++ r = FLD_MOD(r, dsi, 1, 1); /* DSI_CLK_SWITCH */
++ r = FLD_MOD(r, dispc, 0, 0); /* DISPC_CLK_SWITCH */
++ dss_write_reg(DSS_CONTROL, r);
++}
++
++int dss_get_dsi_clk_source(void)
++{
++ return FLD_GET(dss_read_reg(DSS_CONTROL), 1, 1);
++}
++
++int dss_get_dispc_clk_source(void)
++{
++ return FLD_GET(dss_read_reg(DSS_CONTROL), 0, 0);
++}
++
++static irqreturn_t dss_irq_handler(int irq, void *arg)
++{
++#ifdef CONFIG_ARCH_OMAP3
++ u32 irqstatus;
++
++ clk_enable(dss.dss_ick);
++ clk_enable(dss.dss1_fck);
++
++ irqstatus = dss_read_reg(DSS_IRQSTATUS);
++
++ if (irqstatus & (1<<0)) /* DISPC_IRQ */
++ dispc_irq_handler();
++#ifdef CONFIG_OMAP2_DSS_DSI
++ if (irqstatus & (1<<1)) /* DSI_IRQ */
++ dsi_irq_handler();
++#endif
++#else /* OMAP2 */
++ dispc_irq_handler();
++#endif
++
++ clk_disable(dss.dss1_fck);
++ clk_disable(dss.dss_ick);
++
++ return IRQ_HANDLED;
++}
++
++
++static int _omap_dss_reset(void)
++{
++ int timeout = 10000;
++ int r = 0;
++
++ /* Soft reset */
++ REG_FLD_MOD(DSS_SYSCONFIG, 1, 1, 1);
++
++ while (!(dss_read_reg(DSS_SYSSTATUS) & 1)) {
++ if (!--timeout) {
++ DSSERR("soft reset failed\n");
++ r = -ENODEV;
++ break;
++ }
++ }
++
++ return r;
++}
++
++void dss_set_venc_output(enum omap_dss_venc_type type)
++{
++ int l = 0;
++
++ if (type == OMAP_DSS_VENC_TYPE_COMPOSITE)
++ l = 0;
++ else if (type == OMAP_DSS_VENC_TYPE_SVIDEO)
++ l = 1;
++ else
++ BUG();
++
++ /* venc out selection. 0 = comp, 1 = svideo */
++ REG_FLD_MOD(DSS_CONTROL, l, 6, 6);
++}
++
++void dss_set_dac_pwrdn_bgz(int enable)
++{
++ REG_FLD_MOD(DSS_CONTROL, enable, 5, 5); /* DAC Power-Down Control */
++}
++
++int dss_init(void)
++{
++ int r;
++ u32 rev;
++
++ dss.base = ioremap(DSS_BASE, SZ_512);
++ if (!dss.base) {
++ DSSERR("can't ioremap DSS\n");
++ r = -ENOMEM;
++ goto fail0;
++ }
++
++ r = get_dss_clocks();
++ if (r)
++ goto fail1;
++
++ enable_dss_clocks();
++
++ /* We need to wait here a bit, otherwise we sometimes start to get
++ * synclost errors. I believe we could wait for one framedone or
++ * perhaps vsync interrupt, but, because dispc is not initialized yet,
++ * we don't have access to the irq register.
++ */
++ msleep(40);
++
++ _omap_dss_reset();
++
++ /* autoidle */
++ REG_FLD_MOD(DSS_SYSCONFIG, 1, 0, 0);
++
++ /* Select DPLL */
++ REG_FLD_MOD(DSS_CONTROL, 0, 0, 0);
++
++#ifdef CONFIG_OMAP2_DSS_VENC
++ REG_FLD_MOD(DSS_CONTROL, 1, 4, 4); /* venc dac demen */
++ REG_FLD_MOD(DSS_CONTROL, 1, 3, 3); /* venc clock 4x enable */
++ REG_FLD_MOD(DSS_CONTROL, 0, 2, 2); /* venc clock mode = normal */
++#endif
++
++ r = request_irq(INT_24XX_DSS_IRQ, dss_irq_handler,
++ 0, "OMAP DSS", NULL);
++
++ if (r < 0) {
++ DSSERR("omap2 dss: request_irq failed\n");
++ goto fail2;
++ }
++
++ rev = dss_read_reg(DSS_REVISION);
++ printk(KERN_INFO "OMAP DSS rev %d.%d\n",
++ FLD_GET(rev, 7, 4), FLD_GET(rev, 3, 0));
++
++ disable_dss_clocks();
++ return 0;
++
++fail2:
++ disable_dss_clocks();
++ put_dss_clocks();
++fail1:
++ iounmap(dss.base);
++fail0:
++ return r;
++}
++
++void dss_exit(void)
++{
++ int c;
++
++ free_irq(INT_24XX_DSS_IRQ, NULL);
++
++ /* these should be removed at some point */
++ c = clk_get_usecount(dss.dss_ick);
++ if (c > 0) {
++ DSSERR("warning: dss_ick usecount %d, disabling\n", c);
++ while (c-- > 0)
++ clk_disable(dss.dss_ick);
++ }
++
++ c = clk_get_usecount(dss.dss1_fck);
++ if (c > 0) {
++ DSSERR("warning: dss1_fck usecount %d, disabling\n", c);
++ while (c-- > 0)
++ clk_disable(dss.dss1_fck);
++ }
++
++ c = clk_get_usecount(dss.dss2_fck);
++ if (c > 0) {
++ DSSERR("warning: dss2_fck usecount %d, disabling\n", c);
++ while (c-- > 0)
++ clk_disable(dss.dss2_fck);
++ }
++
++ c = clk_get_usecount(dss.dss_54m_fck);
++ if (c > 0) {
++ DSSERR("warning: dss_54m_fck usecount %d, disabling\n", c);
++ while (c-- > 0)
++ clk_disable(dss.dss_54m_fck);
++ }
++
++ if (dss.dss_96m_fck) {
++ c = clk_get_usecount(dss.dss_96m_fck);
++ if (c > 0) {
++ DSSERR("warning: dss_96m_fck usecount %d, disabling\n",
++ c);
++ while (c-- > 0)
++ clk_disable(dss.dss_96m_fck);
++ }
++ }
++
++ put_dss_clocks();
++
++ iounmap(dss.base);
++}
++
++
++
++static int omap_dss_probe(struct platform_device *pdev)
++{
++ struct omap_dss_platform_data *pdata = pdev->dev.platform_data;
++
++ int r;
++
++ r = dss_init();
++ if (r) {
++ DSSERR("Failed to initialize DSS\n");
++ goto fail0;
++ }
++
++#ifdef CONFIG_OMAP2_DSS_RFBI
++ r = rfbi_init();
++ if (r) {
++ DSSERR("Failed to initialize rfbi\n");
++ goto fail0;
++ }
++#endif
++
++ r = dpi_init();
++ if (r) {
++ DSSERR("Failed to initialize dpi\n");
++ goto fail0;
++ }
++
++ r = dispc_init();
++ if (r) {
++ DSSERR("Failed to initialize dispc\n");
++ goto fail0;
++ }
++#ifdef CONFIG_OMAP2_DSS_VENC
++ r = venc_init();
++ if (r) {
++ DSSERR("Failed to initialize venc\n");
++ goto fail0;
++ }
++#endif
++ if (cpu_is_omap34xx()) {
++#ifdef CONFIG_OMAP2_DSS_SDI
++ r = sdi_init();
++ if (r) {
++ DSSERR("Failed to initialize SDI\n");
++ goto fail0;
++ }
++#endif
++#ifdef CONFIG_OMAP2_DSS_DSI
++ r = dsi_init();
++ if (r) {
++ DSSERR("Failed to initialize DSI\n");
++ goto fail0;
++ }
++#endif
++ }
++
++ initialize_displays(pdata);
++
++ r = initialize_sysfs(&pdev->dev);
++ if (r)
++ goto fail0;
++
++ initialize_overlays();
++
++ return 0;
++
++fail0:
++ return r;
++}
++
++static int omap_dss_remove(struct platform_device *pdev)
++{
++ uninitialize_sysfs(&pdev->dev);
++
++#ifdef CONFIG_OMAP2_DSS_VENC
++ venc_exit();
++#endif
++ dispc_exit();
++ dpi_exit();
++#ifdef CONFIG_OMAP2_DSS_RFBI
++ rfbi_exit();
++#endif
++ if (cpu_is_omap34xx()) {
++#ifdef CONFIG_OMAP2_DSS_DSI
++ dsi_exit();
++#endif
++#ifdef CONFIG_OMAP2_DSS_SDI
++ sdi_exit();
++#endif
++ }
++
++ dss_exit();
++
++ return 0;
++}
++
++
++static struct platform_driver omap_dss_driver = {
++ .probe = omap_dss_probe,
++ .remove = omap_dss_remove,
++ .driver = {
++ .name = "omap-dss",
++ .owner = THIS_MODULE,
++ },
++};
++
++static int __init omap_dss_init(void)
++{
++ return platform_driver_register(&omap_dss_driver);
++}
++
++static void __exit omap_dss_exit(void)
++{
++ platform_driver_unregister(&omap_dss_driver);
++}
++
++subsys_initcall(omap_dss_init);
++module_exit(omap_dss_exit);
++
++
++MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@nokia.com>");
++MODULE_DESCRIPTION("OMAP2/3 Display Subsystem");
++MODULE_LICENSE("GPL v2");
++
+diff --git a/arch/arm/plat-omap/dss/dss.h b/arch/arm/plat-omap/dss/dss.h
+new file mode 100644
+index 0000000..28929b9
+--- /dev/null
++++ b/arch/arm/plat-omap/dss/dss.h
+@@ -0,0 +1,254 @@
++/*
++ * linux/arch/arm/plat-omap/dss/dss.h
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * Some code and ideas taken from drivers/video/omap/ driver
++ * by Imre Deak.
++ *
++ * 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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#ifndef __OMAP2_DSS_H
++#define __OMAP2_DSS_H
++
++#ifdef CONFIG_OMAP2_DSS_DEBUG
++#define DEBUG
++#endif
++
++#ifdef DEBUG
++#ifdef DSS_SUBSYS_NAME
++#define DSSDBG(format, ...) \
++ printk(KERN_DEBUG "omap-dss " DSS_SUBSYS_NAME ": " format, \
++ ## __VA_ARGS__)
++#else
++#define DSSDBG(format, ...) \
++ printk(KERN_DEBUG "omap-dss: " format, ## __VA_ARGS__)
++#endif
++#else
++#define DSSDBG(format, ...)
++#endif
++
++#ifdef DSS_SUBSYS_NAME
++#define DSSERR(format, ...) \
++ printk(KERN_ERR "omap-dss " DSS_SUBSYS_NAME " error: " format, \
++ ## __VA_ARGS__)
++#else
++#define DSSERR(format, ...) \
++ printk(KERN_ERR "omap-dss error: " format, ## __VA_ARGS__)
++#endif
++
++#ifdef DSS_SUBSYS_NAME
++#define DSSINFO(format, ...) \
++ printk(KERN_INFO "omap-dss " DSS_SUBSYS_NAME ": " format, \
++ ## __VA_ARGS__)
++#else
++#define DSSINFO(format, ...) \
++ printk(KERN_INFO "omap-dss: " format, ## __VA_ARGS__)
++#endif
++
++#ifdef DSS_SUBSYS_NAME
++#define DSSWARN(format, ...) \
++ printk(KERN_WARNING "omap-dss " DSS_SUBSYS_NAME ": " format, \
++ ## __VA_ARGS__)
++#else
++#define DSSWARN(format, ...) \
++ printk(KERN_WARNING "omap-dss: " format, ## __VA_ARGS__)
++#endif
++
++/* OMAP TRM gives bitfields as start:end, where start is the higher bit
++ number. For example 7:0 */
++#define FLD_MASK(start, end) (((1 << (start - end + 1)) - 1) << (end))
++#define FLD_VAL(val, start, end) (((val) << end) & FLD_MASK(start, end))
++#define FLD_GET(val, start, end) (((val) & FLD_MASK(start, end)) >> (end))
++#define FLD_MOD(orig, val, start, end) \
++ (((orig) & ~FLD_MASK(start, end)) | FLD_VAL(val, start, end))
++
++#define DISPC_MAX_FCK 173000000
++
++enum omap_burst_size {
++ OMAP_DSS_BURST_4x32 = 0,
++ OMAP_DSS_BURST_8x32 = 1,
++ OMAP_DSS_BURST_16x32 = 2,
++};
++
++enum omap_parallel_interface_mode {
++ OMAP_DSS_PARALLELMODE_BYPASS, /* MIPI DPI */
++ OMAP_DSS_PARALLELMODE_RFBI, /* MIPI DBI */
++ OMAP_DSS_PARALLELMODE_DSI,
++};
++
++struct dispc_clock_info {
++ /* rates that we get with dividers below */
++ unsigned long fck;
++ unsigned long lck;
++ unsigned long pck;
++
++ /* dividers */
++ int fck_div;
++ int lck_div;
++ int pck_div;
++};
++
++struct dsi_clock_info {
++ /* rates that we get with dividers below */
++ unsigned long fint;
++ unsigned long dsiphy;
++ unsigned long clkin; /* input clk for DSI PLL */
++ unsigned long dispc_fck; /* output clk, DSI1_PLL_FCLK */
++ unsigned long dsi_fck; /* output clk, DSI2_PLL_FCLK */
++ unsigned long lck;
++ unsigned long pck;
++
++ /* dividers */
++ int regn;
++ int regm;
++ int regm3;
++ int regm4;
++
++ int lck_div;
++ int pck_div;
++
++ int highfreq;
++ int use_dss2_fck;
++};
++
++int initialize_sysfs(struct device *dev);
++void uninitialize_sysfs(struct device *dev);
++void initialize_displays(struct omap_dss_platform_data *pdata);
++void initialize_overlays(void);
++
++/* DSS */
++int dss_init(void);
++void dss_exit(void);
++
++void dss_sdi_init(int datapairs);
++void dss_select_clk_source(int dsi, int dispc);
++int dss_get_dsi_clk_source(void);
++int dss_get_dispc_clk_source(void);
++void dss_set_venc_output(enum omap_dss_venc_type type);
++void dss_set_dac_pwrdn_bgz(int enable);
++
++struct clk *get_dss_ick(void);
++struct clk *get_dss1_fck(void);
++struct clk *get_dss2_fck(void);
++struct clk *get_tv_fck(void);
++struct clk *get_96m_fck(void);
++
++/* SDI */
++int sdi_init(void);
++void sdi_exit(void);
++void sdi_init_display(struct omap_display *display);
++
++
++/* DSI */
++int dsi_init(void);
++void dsi_exit(void);
++void dsi_init_display(struct omap_display *display);
++void dsi_irq_handler(void);
++unsigned long dsi_get_dsi1_pll_rate(void);
++unsigned long dsi_get_dsi2_pll_rate(void);
++int dsi_pll_calc_pck(int is_tft, unsigned long req_pck,
++ struct dsi_clock_info *cinfo);
++int dsi_pll_program(struct dsi_clock_info *cinfo);
++int dsi_pll_init(int enable_hsclk, int enable_hsdiv);
++void dsi_pll_uninit(void);
++ssize_t dsi_print_clocks(char *buf, ssize_t size);
++
++/* DPI */
++int dpi_init(void);
++void dpi_exit(void);
++void dpi_init_display(struct omap_display *display);
++
++/* DISPC */
++int dispc_init(void);
++void dispc_exit(void);
++void dispc_irq_handler(void);
++void dispc_fake_vsync_irq(void);
++
++void dispc_lcd_enable_signal_polarity(int act_high);
++void dispc_lcd_enable_signal(int enable);
++void dispc_pck_free_enable(int enable);
++void dispc_enable_fifohandcheck(int enable);
++
++void dispc_set_lcd_size(int width, int height);
++void dispc_set_digit_size(int width, int height);
++void dispc_setup_plane_fifo(enum omap_plane plane, int ext_mode);
++
++void dispc_set_plane_ba0(enum omap_plane plane, u32 paddr);
++void dispc_set_plane_ba1(enum omap_plane plane, u32 paddr);
++void dispc_set_plane_pos(enum omap_plane plane, int x, int y);
++void dispc_set_plane_size(enum omap_plane plane, int width, int height);
++void dispc_set_row_inc(enum omap_plane plane, int inc);
++
++int dispc_setup_plane(enum omap_plane plane, enum omap_channel channel_out,
++ u32 paddr, int screen_width,
++ int pos_x, int pos_y,
++ int width, int height,
++ int out_width, int out_height,
++ enum omap_color_mode color_mode,
++ int ilace);
++
++void dispc_go(enum omap_channel channel);
++void dispc_enable_lcd_out(int enable);
++void dispc_enable_digit_out(int enable);
++int dispc_enable_plane(enum omap_plane plane, int enable);
++
++void dispc_set_parallel_interface_mode(enum omap_parallel_interface_mode mode);
++void dispc_set_tft_data_lines(int data_lines);
++void dispc_set_lcd_display_type(enum omap_lcd_display_type type);
++void dispc_set_loadmode(enum omap_dss_load_mode mode);
++
++void dispc_set_default_color(enum omap_channel channel, u32 color);
++void dispc_set_trans_key(enum omap_channel ch,
++ enum omap_dss_color_key_type type,
++ u32 trans_key);
++void dispc_enable_trans_key(enum omap_channel ch, int enable);
++
++void dispc_set_lcd_timings(struct omap_video_timings *timings);
++unsigned long dispc_fclk_rate(void);
++unsigned long dispc_pclk_rate(void);
++void dispc_set_pol_freq(struct omap_panel *panel);
++void find_lck_pck_divs(int is_tft, unsigned long req_pck, unsigned long fck,
++ int *lck_div, int *pck_div);
++int dispc_calc_clock_div(int is_tft, unsigned long req_pck,
++ struct dispc_clock_info *cinfo);
++int dispc_set_clock_div(struct dispc_clock_info *cinfo);
++void dispc_set_lcd_divisor(int lck_div, int pck_div);
++
++void dispc_setup_partial_planes(struct omap_display *display,
++ int *x, int *y, int *w, int *h);
++void dispc_draw_partial_planes(struct omap_display *display);
++
++
++ssize_t dispc_print_clocks(char *buf, ssize_t size);
++
++/* VENC */
++int venc_init(void);
++void venc_exit(void);
++void venc_init_display(struct omap_display *display);
++
++/* RFBI */
++int rfbi_init(void);
++void rfbi_exit(void);
++
++int rfbi_configure(int rfbi_module, int bpp, int lines);
++void rfbi_enable_rfbi(int enable);
++void rfbi_transfer_area(int width, int height,
++ void (callback)(void *data), void *data);
++void rfbi_set_timings(int rfbi_module, struct rfbi_timings *t);
++unsigned long rfbi_get_max_tx_rate(void);
++void rfbi_init_display(struct omap_display *display);
++
++#endif
+diff --git a/arch/arm/plat-omap/dss/rfbi.c b/arch/arm/plat-omap/dss/rfbi.c
+new file mode 100644
+index 0000000..31ddd24
+--- /dev/null
++++ b/arch/arm/plat-omap/dss/rfbi.c
+@@ -0,0 +1,1234 @@
++/*
++ * linux/arch/arm/plat-omap/dss/rfbi.c
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * Some code and ideas taken from drivers/video/omap/ driver
++ * by Imre Deak.
++ *
++ * 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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#define DSS_SUBSYS_NAME "RFBI"
++
++#include <linux/kernel.h>
++#include <linux/dma-mapping.h>
++#include <linux/vmalloc.h>
++#include <linux/clk.h>
++#include <linux/io.h>
++#include <linux/delay.h>
++#include <linux/kfifo.h>
++#include <linux/ktime.h>
++
++#include <mach/board.h>
++#include <mach/display.h>
++#include "dss.h"
++
++/*#define MEASURE_PERF*/
++
++#define RFBI_BASE 0x48050800
++
++struct rfbi_reg { u16 idx; };
++
++#define RFBI_REG(idx) ((const struct rfbi_reg) { idx })
++
++#define RFBI_REVISION RFBI_REG(0x0000)
++#define RFBI_SYSCONFIG RFBI_REG(0x0010)
++#define RFBI_SYSSTATUS RFBI_REG(0x0014)
++#define RFBI_CONTROL RFBI_REG(0x0040)
++#define RFBI_PIXEL_CNT RFBI_REG(0x0044)
++#define RFBI_LINE_NUMBER RFBI_REG(0x0048)
++#define RFBI_CMD RFBI_REG(0x004c)
++#define RFBI_PARAM RFBI_REG(0x0050)
++#define RFBI_DATA RFBI_REG(0x0054)
++#define RFBI_READ RFBI_REG(0x0058)
++#define RFBI_STATUS RFBI_REG(0x005c)
++
++#define RFBI_CONFIG(n) RFBI_REG(0x0060 + (n)*0x18)
++#define RFBI_ONOFF_TIME(n) RFBI_REG(0x0064 + (n)*0x18)
++#define RFBI_CYCLE_TIME(n) RFBI_REG(0x0068 + (n)*0x18)
++#define RFBI_DATA_CYCLE1(n) RFBI_REG(0x006c + (n)*0x18)
++#define RFBI_DATA_CYCLE2(n) RFBI_REG(0x0070 + (n)*0x18)
++#define RFBI_DATA_CYCLE3(n) RFBI_REG(0x0074 + (n)*0x18)
++
++#define RFBI_VSYNC_WIDTH RFBI_REG(0x0090)
++#define RFBI_HSYNC_WIDTH RFBI_REG(0x0094)
++
++#define RFBI_CMD_FIFO_LEN_BYTES (16 * sizeof(struct update_param))
++
++#define REG_FLD_MOD(idx, val, start, end) \
++ rfbi_write_reg(idx, FLD_MOD(rfbi_read_reg(idx), val, start, end))
++
++/* To work around an RFBI transfer rate limitation */
++#define OMAP_RFBI_RATE_LIMIT 1
++
++enum omap_rfbi_cycleformat {
++ OMAP_DSS_RFBI_CYCLEFORMAT_1_1 = 0,
++ OMAP_DSS_RFBI_CYCLEFORMAT_2_1 = 1,
++ OMAP_DSS_RFBI_CYCLEFORMAT_3_1 = 2,
++ OMAP_DSS_RFBI_CYCLEFORMAT_3_2 = 3,
++};
++
++enum omap_rfbi_datatype {
++ OMAP_DSS_RFBI_DATATYPE_12 = 0,
++ OMAP_DSS_RFBI_DATATYPE_16 = 1,
++ OMAP_DSS_RFBI_DATATYPE_18 = 2,
++ OMAP_DSS_RFBI_DATATYPE_24 = 3,
++};
++
++enum omap_rfbi_parallelmode {
++ OMAP_DSS_RFBI_PARALLELMODE_8 = 0,
++ OMAP_DSS_RFBI_PARALLELMODE_9 = 1,
++ OMAP_DSS_RFBI_PARALLELMODE_12 = 2,
++ OMAP_DSS_RFBI_PARALLELMODE_16 = 3,
++};
++
++enum update_cmd {
++ RFBI_CMD_UPDATE = 0,
++ RFBI_CMD_SYNC = 1,
++};
++
++static int rfbi_convert_timings(struct rfbi_timings *t);
++static void rfbi_get_clk_info(u32 *clk_period, u32 *max_clk_div);
++static void process_cmd_fifo(void);
++
++static struct {
++ void __iomem *base;
++
++ struct clk *dss_ick;
++ struct clk *dss1_fck;
++
++ unsigned long l4_khz;
++
++ enum omap_rfbi_datatype datatype;
++ enum omap_rfbi_parallelmode parallelmode;
++
++ enum omap_rfbi_te_mode te_mode;
++ int te_enabled;
++
++ void (*framedone_callback)(void *data);
++ void *framedone_callback_data;
++
++ struct omap_display *display[2];
++
++ struct kfifo *cmd_fifo;
++ spinlock_t cmd_lock;
++ struct completion cmd_done;
++ atomic_t cmd_fifo_full;
++ atomic_t cmd_pending;
++#ifdef MEASURE_PERF
++ ktime_t perf_time;
++#endif
++} rfbi;
++
++struct update_region {
++ u16 x;
++ u16 y;
++ u16 w;
++ u16 h;
++};
++
++struct update_param {
++ u8 rfbi_module;
++ u8 cmd;
++
++ union {
++ struct update_region r;
++ struct completion *sync;
++ } par;
++};
++
++static inline void rfbi_write_reg(const struct rfbi_reg idx, u32 val)
++{
++ __raw_writel(val, rfbi.base + idx.idx);
++}
++
++static inline u32 rfbi_read_reg(const struct rfbi_reg idx)
++{
++ return __raw_readl(rfbi.base + idx.idx);
++}
++
++static void rfbi_enable_clocks(int enable)
++{
++ if (enable) {
++ clk_enable(rfbi.dss_ick);
++ clk_enable(rfbi.dss1_fck);
++ } else {
++ clk_disable(rfbi.dss1_fck);
++ clk_disable(rfbi.dss_ick);
++ }
++}
++
++void omap_rfbi_write_command(const void *buf, u32 len)
++{
++ rfbi_enable_clocks(1);
++ switch (rfbi.parallelmode) {
++ case OMAP_DSS_RFBI_PARALLELMODE_8:
++ {
++ const u8 *b = buf;
++ for (; len; len--)
++ rfbi_write_reg(RFBI_CMD, *b++);
++ break;
++ }
++
++ case OMAP_DSS_RFBI_PARALLELMODE_16:
++ {
++ const u16 *w = buf;
++ BUG_ON(len & 1);
++ for (; len; len -= 2)
++ rfbi_write_reg(RFBI_CMD, *w++);
++ break;
++ }
++
++ case OMAP_DSS_RFBI_PARALLELMODE_9:
++ case OMAP_DSS_RFBI_PARALLELMODE_12:
++ default:
++ BUG();
++ }
++ rfbi_enable_clocks(0);
++}
++EXPORT_SYMBOL(omap_rfbi_write_command);
++
++void omap_rfbi_read_data(void *buf, u32 len)
++{
++ rfbi_enable_clocks(1);
++ switch (rfbi.parallelmode) {
++ case OMAP_DSS_RFBI_PARALLELMODE_8:
++ {
++ u8 *b = buf;
++ for (; len; len--) {
++ rfbi_write_reg(RFBI_READ, 0);
++ *b++ = rfbi_read_reg(RFBI_READ);
++ }
++ break;
++ }
++
++ case OMAP_DSS_RFBI_PARALLELMODE_16:
++ {
++ u16 *w = buf;
++ BUG_ON(len & ~1);
++ for (; len; len -= 2) {
++ rfbi_write_reg(RFBI_READ, 0);
++ *w++ = rfbi_read_reg(RFBI_READ);
++ }
++ break;
++ }
++
++ case OMAP_DSS_RFBI_PARALLELMODE_9:
++ case OMAP_DSS_RFBI_PARALLELMODE_12:
++ default:
++ BUG();
++ }
++ rfbi_enable_clocks(0);
++}
++EXPORT_SYMBOL(omap_rfbi_read_data);
++
++void omap_rfbi_write_data(const void *buf, u32 len)
++{
++ rfbi_enable_clocks(1);
++ switch (rfbi.parallelmode) {
++ case OMAP_DSS_RFBI_PARALLELMODE_8:
++ {
++ const u8 *b = buf;
++ for (; len; len--)
++ rfbi_write_reg(RFBI_PARAM, *b++);
++ break;
++ }
++
++ case OMAP_DSS_RFBI_PARALLELMODE_16:
++ {
++ const u16 *w = buf;
++ BUG_ON(len & 1);
++ for (; len; len -= 2)
++ rfbi_write_reg(RFBI_PARAM, *w++);
++ break;
++ }
++
++ case OMAP_DSS_RFBI_PARALLELMODE_9:
++ case OMAP_DSS_RFBI_PARALLELMODE_12:
++ default:
++ BUG();
++
++ }
++ rfbi_enable_clocks(0);
++}
++EXPORT_SYMBOL(omap_rfbi_write_data);
++
++void omap_rfbi_write_pixels(const void *buf, int scr_width, int x, int y,
++ int w, int h)
++{
++ int start_offset = scr_width * y + x;
++ int horiz_offset = scr_width - w;
++ int i;
++
++ rfbi_enable_clocks(1);
++
++ if (rfbi.datatype == OMAP_DSS_RFBI_DATATYPE_16 &&
++ rfbi.parallelmode == OMAP_DSS_RFBI_PARALLELMODE_8) {
++ const u16 *pd = buf;
++ pd += start_offset;
++
++ for (; h; --h) {
++ for (i = 0; i < w; ++i) {
++ const u8 *b = (const u8 *)pd;
++ rfbi_write_reg(RFBI_PARAM, *(b+1));
++ rfbi_write_reg(RFBI_PARAM, *(b+0));
++ ++pd;
++ }
++ pd += horiz_offset;
++ }
++ } else if (rfbi.datatype == OMAP_DSS_RFBI_DATATYPE_24 &&
++ rfbi.parallelmode == OMAP_DSS_RFBI_PARALLELMODE_8) {
++ const u32 *pd = buf;
++ pd += start_offset;
++
++ for (; h; --h) {
++ for (i = 0; i < w; ++i) {
++ const u8 *b = (const u8 *)pd;
++ rfbi_write_reg(RFBI_PARAM, *(b+2));
++ rfbi_write_reg(RFBI_PARAM, *(b+1));
++ rfbi_write_reg(RFBI_PARAM, *(b+0));
++ ++pd;
++ }
++ pd += horiz_offset;
++ }
++ } else if (rfbi.datatype == OMAP_DSS_RFBI_DATATYPE_16 &&
++ rfbi.parallelmode == OMAP_DSS_RFBI_PARALLELMODE_16) {
++ const u16 *pd = buf;
++ pd += start_offset;
++
++ for (; h; --h) {
++ for (i = 0; i < w; ++i) {
++ rfbi_write_reg(RFBI_PARAM, *pd);
++ ++pd;
++ }
++ pd += horiz_offset;
++ }
++ } else {
++ BUG();
++ }
++
++ rfbi_enable_clocks(0);
++}
++EXPORT_SYMBOL(omap_rfbi_write_pixels);
++
++void rfbi_transfer_area(int width, int height,
++ void (callback)(void *data), void *data)
++{
++ u32 l;
++
++ /*BUG_ON(callback == 0);*/
++ BUG_ON(rfbi.framedone_callback != NULL);
++
++ DSSDBG("rfbi_transfer_area %dx%d\n", width, height);
++
++ dispc_set_lcd_size(width, height);
++
++ dispc_enable_lcd_out(1);
++
++ rfbi.framedone_callback = callback;
++ rfbi.framedone_callback_data = data;
++
++ rfbi_enable_clocks(1);
++
++#ifdef MEASURE_PERF
++ rfbi.perf_time = ktime_get();
++#endif
++ rfbi_write_reg(RFBI_PIXEL_CNT, width * height);
++
++ l = rfbi_read_reg(RFBI_CONTROL);
++ l = FLD_MOD(l, 1, 0, 0); /* enable */
++ if (!rfbi.te_enabled)
++ l = FLD_MOD(l, 1, 4, 4); /* ITE */
++
++ rfbi_write_reg(RFBI_CONTROL, l);
++}
++
++static void framedone_callback(void *data, u32 mask)
++{
++ void (*callback)(void *data);
++
++#ifdef MEASURE_PERF
++ {
++ ktime_t t = ktime_get();
++ t = ktime_sub(t, rfbi.perf_time);
++ DSSDBG("FRAMEDONE in %lld ns\n", ktime_to_ns(t));
++ }
++#else
++ DSSDBG("FRAMEDONE\n");
++#endif
++
++ REG_FLD_MOD(RFBI_CONTROL, 0, 0, 0);
++
++ rfbi_enable_clocks(0);
++
++ callback = rfbi.framedone_callback;
++ rfbi.framedone_callback = NULL;
++
++ /*callback(rfbi.framedone_callback_data);*/
++
++ atomic_set(&rfbi.cmd_pending, 0);
++
++ process_cmd_fifo();
++}
++
++#if 1 /* VERBOSE */
++static void rfbi_print_timings(void)
++{
++ u32 l;
++ u32 time;
++
++ l = rfbi_read_reg(RFBI_CONFIG(0));
++ time = 1000000000 / rfbi.l4_khz;
++ if (l & (1 << 4))
++ time *= 2;
++
++ DSSDBG("Tick time %u ps\n", time);
++ l = rfbi_read_reg(RFBI_ONOFF_TIME(0));
++ DSSDBG("CSONTIME %d, CSOFFTIME %d, WEONTIME %d, WEOFFTIME %d, "
++ "REONTIME %d, REOFFTIME %d\n",
++ l & 0x0f, (l >> 4) & 0x3f, (l >> 10) & 0x0f, (l >> 14) & 0x3f,
++ (l >> 20) & 0x0f, (l >> 24) & 0x3f);
++
++ l = rfbi_read_reg(RFBI_CYCLE_TIME(0));
++ DSSDBG("WECYCLETIME %d, RECYCLETIME %d, CSPULSEWIDTH %d, "
++ "ACCESSTIME %d\n",
++ (l & 0x3f), (l >> 6) & 0x3f, (l >> 12) & 0x3f,
++ (l >> 22) & 0x3f);
++}
++#else
++static void rfbi_print_timings(void) {}
++#endif
++
++
++
++
++static u32 extif_clk_period;
++
++static inline unsigned long round_to_extif_ticks(unsigned long ps, int div)
++{
++ int bus_tick = extif_clk_period * div;
++ return (ps + bus_tick - 1) / bus_tick * bus_tick;
++}
++
++static int calc_reg_timing(struct rfbi_timings *t, int div)
++{
++ t->clk_div = div;
++
++ t->cs_on_time = round_to_extif_ticks(t->cs_on_time, div);
++
++ t->we_on_time = round_to_extif_ticks(t->we_on_time, div);
++ t->we_off_time = round_to_extif_ticks(t->we_off_time, div);
++ t->we_cycle_time = round_to_extif_ticks(t->we_cycle_time, div);
++
++ t->re_on_time = round_to_extif_ticks(t->re_on_time, div);
++ t->re_off_time = round_to_extif_ticks(t->re_off_time, div);
++ t->re_cycle_time = round_to_extif_ticks(t->re_cycle_time, div);
++
++ t->access_time = round_to_extif_ticks(t->access_time, div);
++ t->cs_off_time = round_to_extif_ticks(t->cs_off_time, div);
++ t->cs_pulse_width = round_to_extif_ticks(t->cs_pulse_width, div);
++
++ DSSDBG("[reg]cson %d csoff %d reon %d reoff %d\n",
++ t->cs_on_time, t->cs_off_time, t->re_on_time, t->re_off_time);
++ DSSDBG("[reg]weon %d weoff %d recyc %d wecyc %d\n",
++ t->we_on_time, t->we_off_time, t->re_cycle_time,
++ t->we_cycle_time);
++ DSSDBG("[reg]rdaccess %d cspulse %d\n",
++ t->access_time, t->cs_pulse_width);
++
++ return rfbi_convert_timings(t);
++}
++
++static int calc_extif_timings(struct rfbi_timings *t)
++{
++ u32 max_clk_div;
++ int div;
++
++ rfbi_get_clk_info(&extif_clk_period, &max_clk_div);
++ for (div = 1; div <= max_clk_div; div++) {
++ if (calc_reg_timing(t, div) == 0)
++ break;
++ }
++
++ if (div <= max_clk_div)
++ return 0;
++
++ DSSERR("can't setup timings\n");
++ return -1;
++}
++
++
++void rfbi_set_timings(int rfbi_module, struct rfbi_timings *t)
++{
++ int r;
++
++ if (!t->converted) {
++ r = calc_extif_timings(t);
++ if (r < 0)
++ DSSERR("Failed to calc timings\n");
++ }
++
++ BUG_ON(!t->converted);
++
++ rfbi_enable_clocks(1);
++ rfbi_write_reg(RFBI_ONOFF_TIME(rfbi_module), t->tim[0]);
++ rfbi_write_reg(RFBI_CYCLE_TIME(rfbi_module), t->tim[1]);
++
++ /* TIMEGRANULARITY */
++ REG_FLD_MOD(RFBI_CONFIG(rfbi_module),
++ (t->tim[2] ? 1 : 0), 4, 4);
++
++ rfbi_print_timings();
++ rfbi_enable_clocks(0);
++}
++
++static int ps_to_rfbi_ticks(int time, int div)
++{
++ unsigned long tick_ps;
++ int ret;
++
++ /* Calculate in picosecs to yield more exact results */
++ tick_ps = 1000000000 / (rfbi.l4_khz) * div;
++
++ ret = (time + tick_ps - 1) / tick_ps;
++
++ return ret;
++}
++
++#ifdef OMAP_RFBI_RATE_LIMIT
++unsigned long rfbi_get_max_tx_rate(void)
++{
++ unsigned long l4_rate, dss1_rate;
++ int min_l4_ticks = 0;
++ int i;
++
++ /* According to TI this can't be calculated so make the
++ * adjustments for a couple of known frequencies and warn for
++ * others.
++ */
++ static const struct {
++ unsigned long l4_clk; /* HZ */
++ unsigned long dss1_clk; /* HZ */
++ unsigned long min_l4_ticks;
++ } ftab[] = {
++ { 55, 132, 7, }, /* 7.86 MPix/s */
++ { 110, 110, 12, }, /* 9.16 MPix/s */
++ { 110, 132, 10, }, /* 11 Mpix/s */
++ { 120, 120, 10, }, /* 12 Mpix/s */
++ { 133, 133, 10, }, /* 13.3 Mpix/s */
++ };
++
++ l4_rate = rfbi.l4_khz / 1000;
++ dss1_rate = clk_get_rate(rfbi.dss1_fck) / 1000000;
++
++ for (i = 0; i < ARRAY_SIZE(ftab); i++) {
++ /* Use a window instead of an exact match, to account
++ * for different DPLL multiplier / divider pairs.
++ */
++ if (abs(ftab[i].l4_clk - l4_rate) < 3 &&
++ abs(ftab[i].dss1_clk - dss1_rate) < 3) {
++ min_l4_ticks = ftab[i].min_l4_ticks;
++ break;
++ }
++ }
++ if (i == ARRAY_SIZE(ftab)) {
++ /* Can't be sure, return anyway the maximum not
++ * rate-limited. This might cause a problem only for the
++ * tearing synchronisation.
++ */
++ DSSERR("can't determine maximum RFBI transfer rate\n");
++ return rfbi.l4_khz * 1000;
++ }
++ return rfbi.l4_khz * 1000 / min_l4_ticks;
++}
++#else
++int rfbi_get_max_tx_rate(void)
++{
++ return rfbi.l4_khz * 1000;
++}
++#endif
++
++static void rfbi_get_clk_info(u32 *clk_period, u32 *max_clk_div)
++{
++ *clk_period = 1000000000 / rfbi.l4_khz;
++ *max_clk_div = 2;
++}
++
++static int rfbi_convert_timings(struct rfbi_timings *t)
++{
++ u32 l;
++ int reon, reoff, weon, weoff, cson, csoff, cs_pulse;
++ int actim, recyc, wecyc;
++ int div = t->clk_div;
++
++ if (div <= 0 || div > 2)
++ return -1;
++
++ /* Make sure that after conversion it still holds that:
++ * weoff > weon, reoff > reon, recyc >= reoff, wecyc >= weoff,
++ * csoff > cson, csoff >= max(weoff, reoff), actim > reon
++ */
++ weon = ps_to_rfbi_ticks(t->we_on_time, div);
++ weoff = ps_to_rfbi_ticks(t->we_off_time, div);
++ if (weoff <= weon)
++ weoff = weon + 1;
++ if (weon > 0x0f)
++ return -1;
++ if (weoff > 0x3f)
++ return -1;
++
++ reon = ps_to_rfbi_ticks(t->re_on_time, div);
++ reoff = ps_to_rfbi_ticks(t->re_off_time, div);
++ if (reoff <= reon)
++ reoff = reon + 1;
++ if (reon > 0x0f)
++ return -1;
++ if (reoff > 0x3f)
++ return -1;
++
++ cson = ps_to_rfbi_ticks(t->cs_on_time, div);
++ csoff = ps_to_rfbi_ticks(t->cs_off_time, div);
++ if (csoff <= cson)
++ csoff = cson + 1;
++ if (csoff < max(weoff, reoff))
++ csoff = max(weoff, reoff);
++ if (cson > 0x0f)
++ return -1;
++ if (csoff > 0x3f)
++ return -1;
++
++ l = cson;
++ l |= csoff << 4;
++ l |= weon << 10;
++ l |= weoff << 14;
++ l |= reon << 20;
++ l |= reoff << 24;
++
++ t->tim[0] = l;
++
++ actim = ps_to_rfbi_ticks(t->access_time, div);
++ if (actim <= reon)
++ actim = reon + 1;
++ if (actim > 0x3f)
++ return -1;
++
++ wecyc = ps_to_rfbi_ticks(t->we_cycle_time, div);
++ if (wecyc < weoff)
++ wecyc = weoff;
++ if (wecyc > 0x3f)
++ return -1;
++
++ recyc = ps_to_rfbi_ticks(t->re_cycle_time, div);
++ if (recyc < reoff)
++ recyc = reoff;
++ if (recyc > 0x3f)
++ return -1;
++
++ cs_pulse = ps_to_rfbi_ticks(t->cs_pulse_width, div);
++ if (cs_pulse > 0x3f)
++ return -1;
++
++ l = wecyc;
++ l |= recyc << 6;
++ l |= cs_pulse << 12;
++ l |= actim << 22;
++
++ t->tim[1] = l;
++
++ t->tim[2] = div - 1;
++
++ t->converted = 1;
++
++ return 0;
++}
++
++/* xxx FIX module selection missing */
++int omap_rfbi_setup_te(enum omap_rfbi_te_mode mode,
++ unsigned hs_pulse_time, unsigned vs_pulse_time,
++ int hs_pol_inv, int vs_pol_inv, int extif_div)
++{
++ int hs, vs;
++ int min;
++ u32 l;
++
++ hs = ps_to_rfbi_ticks(hs_pulse_time, 1);
++ vs = ps_to_rfbi_ticks(vs_pulse_time, 1);
++ if (hs < 2)
++ return -EDOM;
++ if (mode == OMAP_DSS_RFBI_TE_MODE_2)
++ min = 2;
++ else /* OMAP_DSS_RFBI_TE_MODE_1 */
++ min = 4;
++ if (vs < min)
++ return -EDOM;
++ if (vs == hs)
++ return -EINVAL;
++ rfbi.te_mode = mode;
++ DSSDBG("setup_te: mode %d hs %d vs %d hs_inv %d vs_inv %d\n",
++ mode, hs, vs, hs_pol_inv, vs_pol_inv);
++
++ rfbi_enable_clocks(1);
++ rfbi_write_reg(RFBI_HSYNC_WIDTH, hs);
++ rfbi_write_reg(RFBI_VSYNC_WIDTH, vs);
++
++ l = rfbi_read_reg(RFBI_CONFIG(0));
++ if (hs_pol_inv)
++ l &= ~(1 << 21);
++ else
++ l |= 1 << 21;
++ if (vs_pol_inv)
++ l &= ~(1 << 20);
++ else
++ l |= 1 << 20;
++ rfbi_enable_clocks(0);
++
++ return 0;
++}
++EXPORT_SYMBOL(omap_rfbi_setup_te);
++
++/* xxx FIX module selection missing */
++int omap_rfbi_enable_te(int enable, unsigned line)
++{
++ u32 l;
++
++ DSSDBG("te %d line %d mode %d\n", enable, line, rfbi.te_mode);
++ if (line > (1 << 11) - 1)
++ return -EINVAL;
++
++ rfbi_enable_clocks(1);
++ l = rfbi_read_reg(RFBI_CONFIG(0));
++ l &= ~(0x3 << 2);
++ if (enable) {
++ rfbi.te_enabled = 1;
++ l |= rfbi.te_mode << 2;
++ } else
++ rfbi.te_enabled = 0;
++ rfbi_write_reg(RFBI_CONFIG(0), l);
++ rfbi_write_reg(RFBI_LINE_NUMBER, line);
++ rfbi_enable_clocks(0);
++
++ return 0;
++}
++EXPORT_SYMBOL(omap_rfbi_enable_te);
++
++#if 0
++static void rfbi_enable_config(int enable1, int enable2)
++{
++ u32 l;
++ int cs = 0;
++
++ if (enable1)
++ cs |= 1<<0;
++ if (enable2)
++ cs |= 1<<1;
++
++ rfbi_enable_clocks(1);
++
++ l = rfbi_read_reg(RFBI_CONTROL);
++
++ l = FLD_MOD(l, cs, 3, 2);
++ l = FLD_MOD(l, 0, 1, 1);
++
++ rfbi_write_reg(RFBI_CONTROL, l);
++
++
++ l = rfbi_read_reg(RFBI_CONFIG(0));
++ l = FLD_MOD(l, 0, 3, 2); /* TRIGGERMODE: ITE */
++ /*l |= FLD_VAL(2, 8, 7); */ /* L4FORMAT, 2pix/L4 */
++ /*l |= FLD_VAL(0, 8, 7); */ /* L4FORMAT, 1pix/L4 */
++
++ l = FLD_MOD(l, 0, 16, 16); /* A0POLARITY */
++ l = FLD_MOD(l, 1, 20, 20); /* TE_VSYNC_POLARITY */
++ l = FLD_MOD(l, 1, 21, 21); /* HSYNCPOLARITY */
++
++ l = FLD_MOD(l, OMAP_DSS_RFBI_PARALLELMODE_8, 1, 0);
++ rfbi_write_reg(RFBI_CONFIG(0), l);
++
++ rfbi_enable_clocks(0);
++}
++#endif
++
++int rfbi_configure(int rfbi_module, int bpp, int lines)
++{
++ u32 l;
++ int cycle1 = 0, cycle2 = 0, cycle3 = 0;
++ enum omap_rfbi_cycleformat cycleformat;
++ enum omap_rfbi_datatype datatype;
++ enum omap_rfbi_parallelmode parallelmode;
++
++ switch (bpp) {
++ case 12:
++ datatype = OMAP_DSS_RFBI_DATATYPE_12;
++ break;
++ case 16:
++ datatype = OMAP_DSS_RFBI_DATATYPE_16;
++ break;
++ case 18:
++ datatype = OMAP_DSS_RFBI_DATATYPE_18;
++ break;
++ case 24:
++ datatype = OMAP_DSS_RFBI_DATATYPE_24;
++ break;
++ default:
++ BUG();
++ return 1;
++ }
++ rfbi.datatype = datatype;
++
++ switch (lines) {
++ case 8:
++ parallelmode = OMAP_DSS_RFBI_PARALLELMODE_8;
++ break;
++ case 9:
++ parallelmode = OMAP_DSS_RFBI_PARALLELMODE_9;
++ break;
++ case 12:
++ parallelmode = OMAP_DSS_RFBI_PARALLELMODE_12;
++ break;
++ case 16:
++ parallelmode = OMAP_DSS_RFBI_PARALLELMODE_16;
++ break;
++ default:
++ BUG();
++ return 1;
++ }
++ rfbi.parallelmode = parallelmode;
++
++ if ((bpp % lines) == 0) {
++ switch (bpp / lines) {
++ case 1:
++ cycleformat = OMAP_DSS_RFBI_CYCLEFORMAT_1_1;
++ break;
++ case 2:
++ cycleformat = OMAP_DSS_RFBI_CYCLEFORMAT_2_1;
++ break;
++ case 3:
++ cycleformat = OMAP_DSS_RFBI_CYCLEFORMAT_3_1;
++ break;
++ default:
++ BUG();
++ return 1;
++ }
++ } else if ((2 * bpp % lines) == 0) {
++ if ((2 * bpp / lines) == 3)
++ cycleformat = OMAP_DSS_RFBI_CYCLEFORMAT_3_2;
++ else {
++ BUG();
++ return 1;
++ }
++ } else {
++ BUG();
++ return 1;
++ }
++
++ switch (cycleformat) {
++ case OMAP_DSS_RFBI_CYCLEFORMAT_1_1:
++ cycle1 = lines;
++ break;
++
++ case OMAP_DSS_RFBI_CYCLEFORMAT_2_1:
++ cycle1 = lines;
++ cycle2 = lines;
++ break;
++
++ case OMAP_DSS_RFBI_CYCLEFORMAT_3_1:
++ cycle1 = lines;
++ cycle2 = lines;
++ cycle3 = lines;
++ break;
++
++ case OMAP_DSS_RFBI_CYCLEFORMAT_3_2:
++ cycle1 = lines;
++ cycle2 = (lines / 2) | ((lines / 2) << 16);
++ cycle3 = (lines << 16);
++ break;
++ }
++
++ rfbi_enable_clocks(1);
++
++ REG_FLD_MOD(RFBI_CONTROL, 0, 3, 2); /* clear CS */
++
++ l = 0;
++ l |= FLD_VAL(parallelmode, 1, 0);
++ l |= FLD_VAL(0, 3, 2); /* TRIGGERMODE: ITE */
++ l |= FLD_VAL(0, 4, 4); /* TIMEGRANULARITY */
++ l |= FLD_VAL(datatype, 6, 5);
++ /* l |= FLD_VAL(2, 8, 7); */ /* L4FORMAT, 2pix/L4 */
++ l |= FLD_VAL(0, 8, 7); /* L4FORMAT, 1pix/L4 */
++ l |= FLD_VAL(cycleformat, 10, 9);
++ l |= FLD_VAL(0, 12, 11); /* UNUSEDBITS */
++ l |= FLD_VAL(0, 16, 16); /* A0POLARITY */
++ l |= FLD_VAL(0, 17, 17); /* REPOLARITY */
++ l |= FLD_VAL(0, 18, 18); /* WEPOLARITY */
++ l |= FLD_VAL(0, 19, 19); /* CSPOLARITY */
++ l |= FLD_VAL(1, 20, 20); /* TE_VSYNC_POLARITY */
++ l |= FLD_VAL(1, 21, 21); /* HSYNCPOLARITY */
++ rfbi_write_reg(RFBI_CONFIG(rfbi_module), l);
++
++ rfbi_write_reg(RFBI_DATA_CYCLE1(rfbi_module), cycle1);
++ rfbi_write_reg(RFBI_DATA_CYCLE2(rfbi_module), cycle2);
++ rfbi_write_reg(RFBI_DATA_CYCLE3(rfbi_module), cycle3);
++
++
++ l = rfbi_read_reg(RFBI_CONTROL);
++ l = FLD_MOD(l, rfbi_module+1, 3, 2); /* Select CSx */
++ l = FLD_MOD(l, 0, 1, 1); /* clear bypass */
++ rfbi_write_reg(RFBI_CONTROL, l);
++
++
++ DSSDBG("RFBI config: bpp %d, lines %d, cycles: 0x%x 0x%x 0x%x\n",
++ bpp, lines, cycle1, cycle2, cycle3);
++
++ rfbi_enable_clocks(0);
++
++ return 0;
++}
++
++static int rfbi_find_display(struct omap_display *disp)
++{
++ if (disp == rfbi.display[0])
++ return 0;
++
++ if (disp == rfbi.display[1])
++ return 1;
++
++ BUG();
++ return -1;
++}
++
++
++static void signal_fifo_waiters(void)
++{
++ if (atomic_read(&rfbi.cmd_fifo_full) > 0) {
++ /* DSSDBG("SIGNALING: Fifo not full for waiter!\n"); */
++ complete(&rfbi.cmd_done);
++ atomic_dec(&rfbi.cmd_fifo_full);
++ }
++}
++
++/* returns 1 for async op, and 0 for sync op */
++static int do_update(struct omap_display *display, struct update_region *upd)
++{
++ int x = upd->x;
++ int y = upd->y;
++ int w = upd->w;
++ int h = upd->h;
++
++ if (display->manager->caps & OMAP_DSS_OVL_MGR_CAP_DISPC) {
++ /*display->ctrl->enable_te(display, 1); */
++
++ dispc_setup_partial_planes(display, &x, &y, &w, &h);
++
++ display->ctrl->setup_update(display, x, y, w, h);
++
++ rfbi_transfer_area(w, h, NULL, NULL);
++
++ return 1;
++ } else {
++ struct omap_overlay *ovl;
++ void *addr;
++ int scr_width;
++#ifdef MEASURE_PERF
++ ktime_t t1, t2;
++#endif
++ ovl = &display->manager->overlays[0];
++ scr_width = ovl->info.screen_width;
++ addr = ovl->info.vaddr;
++
++ display->ctrl->setup_update(display, x, y, w, h);
++
++#ifdef MEASURE_PERF
++ t1 = ktime_get();
++#endif
++ omap_rfbi_write_pixels(addr, scr_width,
++ x, y, w, h);
++#ifdef MEASURE_PERF
++ t2 = ktime_get();
++ t1 = ktime_sub(t2, t1);
++ DSSDBG("L4 FRAMEDONE in %lld ns\n",
++ ktime_to_ns(t1));
++#endif
++ return 0;
++ }
++}
++
++static void process_cmd_fifo(void)
++{
++ int len;
++ struct update_param p;
++ struct omap_display *display;
++ unsigned long flags;
++
++ if (atomic_inc_return(&rfbi.cmd_pending) != 1)
++ return;
++
++ while (true) {
++ spin_lock_irqsave(rfbi.cmd_fifo->lock, flags);
++
++ len = __kfifo_get(rfbi.cmd_fifo, (unsigned char *)&p,
++ sizeof(struct update_param));
++ if (len == 0) {
++ DSSDBG("nothing more in fifo\n");
++ atomic_set(&rfbi.cmd_pending, 0);
++ spin_unlock_irqrestore(rfbi.cmd_fifo->lock, flags);
++ break;
++ }
++
++ /* DSSDBG("fifo full %d\n", rfbi.cmd_fifo_full.counter);*/
++
++ spin_unlock_irqrestore(rfbi.cmd_fifo->lock, flags);
++
++ BUG_ON(len != sizeof(struct update_param));
++ BUG_ON(p.rfbi_module > 1);
++
++ display = rfbi.display[p.rfbi_module];
++
++ if (p.cmd == RFBI_CMD_UPDATE) {
++ if (do_update(display, &p.par.r))
++ break; /* async op */
++ } else if (p.cmd == RFBI_CMD_SYNC) {
++ DSSDBG("Signaling SYNC done!\n");
++ complete(p.par.sync);
++ } else
++ BUG();
++ }
++
++ signal_fifo_waiters();
++}
++
++static void rfbi_push_cmd(struct update_param *p)
++{
++ int ret;
++
++ while (1) {
++ unsigned long flags;
++ int available;
++
++ spin_lock_irqsave(rfbi.cmd_fifo->lock, flags);
++ available = RFBI_CMD_FIFO_LEN_BYTES -
++ __kfifo_len(rfbi.cmd_fifo);
++
++/* DSSDBG("%d bytes left in fifo\n", available); */
++ if (available < sizeof(struct update_param)) {
++ DSSDBG("Going to wait because FIFO FULL..\n");
++ spin_unlock_irqrestore(rfbi.cmd_fifo->lock, flags);
++ atomic_inc(&rfbi.cmd_fifo_full);
++ wait_for_completion(&rfbi.cmd_done);
++ /*DSSDBG("Woke up because fifo not full anymore\n");*/
++ continue;
++ }
++
++ ret = __kfifo_put(rfbi.cmd_fifo, (unsigned char *)p,
++ sizeof(struct update_param));
++/* DSSDBG("pushed %d bytes\n", ret);*/
++
++ spin_unlock_irqrestore(rfbi.cmd_fifo->lock, flags);
++
++ BUG_ON(ret != sizeof(struct update_param));
++
++ break;
++ }
++}
++
++static void rfbi_push_update(int rfbi_module, int x, int y, int w, int h)
++{
++ struct update_param p;
++
++ p.rfbi_module = rfbi_module;
++ p.cmd = RFBI_CMD_UPDATE;
++
++ p.par.r.x = x;
++ p.par.r.y = y;
++ p.par.r.w = w;
++ p.par.r.h = h;
++
++ DSSDBG("RFBI pushed %d,%d %dx%d\n", x, y, w, h);
++
++ rfbi_push_cmd(&p);
++
++ process_cmd_fifo();
++}
++
++static void rfbi_push_sync(int rfbi_module, struct completion *sync_comp)
++{
++ struct update_param p;
++
++ p.rfbi_module = rfbi_module;
++ p.cmd = RFBI_CMD_SYNC;
++ p.par.sync = sync_comp;
++
++ rfbi_push_cmd(&p);
++
++ DSSDBG("RFBI sync pushed to cmd fifo\n");
++
++ process_cmd_fifo();
++}
++
++int rfbi_init(void)
++{
++ u32 rev;
++ u32 l;
++
++ spin_lock_init(&rfbi.cmd_lock);
++ rfbi.cmd_fifo = kfifo_alloc(RFBI_CMD_FIFO_LEN_BYTES, GFP_KERNEL,
++ &rfbi.cmd_lock);
++ if (IS_ERR(rfbi.cmd_fifo))
++ return -ENOMEM;
++
++ init_completion(&rfbi.cmd_done);
++ atomic_set(&rfbi.cmd_fifo_full, 0);
++ atomic_set(&rfbi.cmd_pending, 0);
++
++ rfbi.base = ioremap(RFBI_BASE, SZ_256);
++ if (!rfbi.base) {
++ DSSERR("can't ioremap RFBI\n");
++ return -ENOMEM;
++ }
++
++ rfbi.dss_ick = get_dss_ick();
++ rfbi.dss1_fck = get_dss1_fck();
++
++ rfbi_enable_clocks(1);
++
++ msleep(10);
++
++ rfbi.l4_khz = clk_get_rate(rfbi.dss_ick) / 1000;
++
++ /* Enable autoidle and smart-idle */
++ l = rfbi_read_reg(RFBI_SYSCONFIG);
++ l |= (1 << 0) | (2 << 3);
++ rfbi_write_reg(RFBI_SYSCONFIG, l);
++
++ rev = rfbi_read_reg(RFBI_REVISION);
++ printk(KERN_INFO "OMAP RFBI rev %d.%d\n",
++ FLD_GET(rev, 7, 4), FLD_GET(rev, 3, 0));
++
++ rfbi_enable_clocks(0);
++
++ return 0;
++}
++
++void rfbi_exit(void)
++{
++ DSSDBG("rfbi_exit\n");
++
++ kfifo_free(rfbi.cmd_fifo);
++
++ iounmap(rfbi.base);
++}
++
++/* struct omap_display support */
++static void rfbi_display_set_mode(struct omap_display *display,
++ int x_res, int y_res, int bpp)
++{
++ display->bpp = bpp;
++
++ dispc_set_tft_data_lines(display->bpp);
++
++ if (rfbi_configure(display->hw_config.u.rfbi.channel,
++ display->bpp,
++ display->hw_config.u.rfbi.data_lines) != 0) {
++ DSSERR("can't configure rfbi\n");
++ }
++
++ display->ctrl->set_mode(display, x_res, y_res, bpp);
++}
++
++
++static int rfbi_display_update(struct omap_display *display,
++ int x, int y, int w, int h)
++{
++ int rfbi_module;
++
++ if (w == 0 || h == 0)
++ return 0;
++
++ rfbi_module = rfbi_find_display(display);
++
++ rfbi_push_update(rfbi_module, x, y, w, h);
++
++ return 0;
++}
++
++static int rfbi_display_sync(struct omap_display *display)
++{
++ struct completion sync_comp;
++ int rfbi_module;
++
++ rfbi_module = rfbi_find_display(display);
++
++ init_completion(&sync_comp);
++ rfbi_push_sync(rfbi_module, &sync_comp);
++ DSSDBG("Waiting for SYNC to happen...\n");
++ wait_for_completion(&sync_comp);
++ DSSDBG("Released from SYNC\n");
++ return 0;
++}
++
++static int rfbi_display_enable_te(struct omap_display *display, int enable)
++{
++ display->ctrl->enable_te(display, enable);
++ return 0;
++}
++
++static int rfbi_display_enable(struct omap_display *display)
++{
++ int r;
++
++ BUG_ON(display->panel == NULL || display->ctrl == NULL);
++
++ r = omap_dispc_register_isr(framedone_callback, NULL,
++ DISPC_IRQ_FRAMEDONE);
++ if (r) {
++ DSSERR("can't get FRAMEDONE irq\n");
++ return r;
++ }
++
++ dispc_set_lcd_display_type(OMAP_DSS_LCD_DISPLAY_TFT);
++
++ dispc_set_parallel_interface_mode(OMAP_DSS_PARALLELMODE_RFBI);
++
++ /* FIX select 16bpp as default */
++ rfbi_configure(display->hw_config.u.rfbi.channel,
++ 16,
++ display->hw_config.u.rfbi.data_lines);
++
++ rfbi_set_timings(display->hw_config.u.rfbi.channel,
++ &display->ctrl->timings);
++
++ display->ctrl->enable(display);
++
++ return 0;
++}
++
++static void rfbi_display_disable(struct omap_display *display)
++{
++ display->ctrl->disable(display);
++ omap_dispc_unregister_isr(framedone_callback);
++}
++
++void rfbi_init_display(struct omap_display *display)
++{
++ display->enable = rfbi_display_enable;
++ display->disable = rfbi_display_disable;
++ display->set_mode = rfbi_display_set_mode;
++ display->update = rfbi_display_update;
++ display->sync = rfbi_display_sync;
++ display->enable_te = rfbi_display_enable_te;
++
++ rfbi.display[display->hw_config.u.rfbi.channel] = display;
++
++ display->caps = OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE;
++}
+diff --git a/arch/arm/plat-omap/dss/sdi.c b/arch/arm/plat-omap/dss/sdi.c
+new file mode 100644
+index 0000000..de19d47
+--- /dev/null
++++ b/arch/arm/plat-omap/dss/sdi.c
+@@ -0,0 +1,157 @@
++/*
++ * linux/arch/arm/plat-omap/dss/sdi.c
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#define DSS_SUBSYS_NAME "SDI"
++
++#include <linux/kernel.h>
++#include <linux/clk.h>
++#include <linux/delay.h>
++#include <linux/err.h>
++
++#include <mach/board.h>
++#include <mach/display.h>
++#include "dss.h"
++
++
++static struct {
++ struct clk *dss_ick;
++ struct clk *dss1_fck;
++ int update_enabled;
++} sdi;
++
++static int sdi_display_enable(struct omap_display *display)
++{
++ struct dispc_clock_info cinfo;
++ int lck_div, pck_div;
++ unsigned long fck;
++
++ struct omap_panel *panel = display->panel;
++
++
++ panel->enable(display);
++
++ clk_enable(sdi.dss_ick);
++ clk_enable(sdi.dss1_fck);
++
++ dispc_set_parallel_interface_mode(OMAP_DSS_PARALLELMODE_BYPASS);
++ dispc_set_lcd_size(display->x_res, display->y_res);
++
++ /* 15.5.9.1.2 */
++ panel->config |= OMAP_DSS_LCD_RF | OMAP_DSS_LCD_ONOFF;
++
++ dispc_set_lcd_timings(&panel->timings);
++ dispc_set_pol_freq(panel);
++
++ dispc_calc_clock_div(1, panel->timings.pixel_clock * 1000,
++ &cinfo);
++
++ if (dispc_set_clock_div(&cinfo)) {
++ DSSERR("Failed to set DSS clocks\n");
++ return -EINVAL;
++ }
++
++ fck = cinfo.fck;
++ lck_div = cinfo.lck_div;
++ pck_div = cinfo.pck_div;
++
++ panel->timings.pixel_clock = fck / lck_div / pck_div / 1000;
++
++ DSSDBG("fck %lu, lck_div %d, pck_div %d\n", fck, lck_div, pck_div);
++ DSSDBG("pixel clock changed to %d\n", panel->timings.pixel_clock);
++
++
++ dispc_set_lcd_display_type(OMAP_DSS_LCD_DISPLAY_TFT);
++ dispc_set_tft_data_lines(24);
++ dispc_lcd_enable_signal_polarity(1);
++ dispc_pck_free_enable(1);
++
++ dss_sdi_init(display->hw_config.u.sdi.datapairs);
++
++ mdelay(2);
++
++ dispc_enable_lcd_out(1);
++
++ return 0;
++}
++
++static void sdi_display_disable(struct omap_display *display)
++{
++ display->panel->disable(display);
++ dispc_enable_lcd_out(0);
++
++ clk_disable(sdi.dss_ick);
++ clk_disable(sdi.dss1_fck);
++}
++
++static void sdi_display_set_mode(struct omap_display *display,
++ int x_res, int y_res, int bpp)
++{
++ if (display->ctrl && display->ctrl->set_mode)
++ display->ctrl->set_mode(display, x_res, y_res, bpp);
++ if (display->panel && display->panel->set_mode)
++ display->panel->set_mode(display, x_res, y_res, bpp);
++}
++
++static int sdi_display_set_update_mode(struct omap_display *display,
++ enum omap_dss_update_mode mode)
++{
++ if (mode == OMAP_DSS_UPDATE_MANUAL)
++ return -EINVAL;
++
++ if (mode == OMAP_DSS_UPDATE_DISABLED) {
++ dispc_enable_lcd_out(0);
++ sdi.update_enabled = 0;
++ } else {
++ dispc_enable_lcd_out(1);
++ sdi.update_enabled = 1;
++ }
++
++ return 0;
++}
++
++static enum omap_dss_update_mode sdi_display_get_update_mode(
++ struct omap_display *display)
++{
++ return sdi.update_enabled ? OMAP_DSS_UPDATE_AUTO :
++ OMAP_DSS_UPDATE_DISABLED;
++}
++
++
++void sdi_init_display(struct omap_display *display)
++{
++ DSSDBG("SDI init\n");
++
++ display->enable = sdi_display_enable;
++ display->disable = sdi_display_disable;
++ display->set_mode = sdi_display_set_mode;
++ display->set_update_mode = sdi_display_set_update_mode;
++ display->get_update_mode = sdi_display_get_update_mode;
++}
++
++int sdi_init(void)
++{
++ sdi.dss_ick = get_dss_ick();
++ sdi.dss1_fck = get_dss1_fck();
++
++ return 0;
++}
++
++void sdi_exit(void)
++{
++}
+diff --git a/arch/arm/plat-omap/dss/venc.c b/arch/arm/plat-omap/dss/venc.c
+new file mode 100644
+index 0000000..2ed68b5
+--- /dev/null
++++ b/arch/arm/plat-omap/dss/venc.c
+@@ -0,0 +1,515 @@
++/*
++ * linux/arch/arm/plat-omap/dss/venc.c
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * VENC settings from TI's DSS driver
++ *
++ * 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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#define DSS_SUBSYS_NAME "VENC"
++
++#include <linux/kernel.h>
++#include <linux/clk.h>
++#include <linux/err.h>
++#include <linux/io.h>
++#include <linux/mutex.h>
++#include <linux/completion.h>
++#include <linux/delay.h>
++
++#include <mach/display.h>
++#include <mach/cpu.h>
++
++#include "dss.h"
++
++#define VENC_BASE 0x48050C00
++
++/* Venc registers */
++#define VENC_REV_ID 0x00
++#define VENC_STATUS 0x04
++#define VENC_F_CONTROL 0x08
++#define VENC_VIDOUT_CTRL 0x10
++#define VENC_SYNC_CTRL 0x14
++#define VENC_LLEN 0x1C
++#define VENC_FLENS 0x20
++#define VENC_HFLTR_CTRL 0x24
++#define VENC_CC_CARR_WSS_CARR 0x28
++#define VENC_C_PHASE 0x2C
++#define VENC_GAIN_U 0x30
++#define VENC_GAIN_V 0x34
++#define VENC_GAIN_Y 0x38
++#define VENC_BLACK_LEVEL 0x3C
++#define VENC_BLANK_LEVEL 0x40
++#define VENC_X_COLOR 0x44
++#define VENC_M_CONTROL 0x48
++#define VENC_BSTAMP_WSS_DATA 0x4C
++#define VENC_S_CARR 0x50
++#define VENC_LINE21 0x54
++#define VENC_LN_SEL 0x58
++#define VENC_L21__WC_CTL 0x5C
++#define VENC_HTRIGGER_VTRIGGER 0x60
++#define VENC_SAVID__EAVID 0x64
++#define VENC_FLEN__FAL 0x68
++#define VENC_LAL__PHASE_RESET 0x6C
++#define VENC_HS_INT_START_STOP_X 0x70
++#define VENC_HS_EXT_START_STOP_X 0x74
++#define VENC_VS_INT_START_X 0x78
++#define VENC_VS_INT_STOP_X__VS_INT_START_Y 0x7C
++#define VENC_VS_INT_STOP_Y__VS_EXT_START_X 0x80
++#define VENC_VS_EXT_STOP_X__VS_EXT_START_Y 0x84
++#define VENC_VS_EXT_STOP_Y 0x88
++#define VENC_AVID_START_STOP_X 0x90
++#define VENC_AVID_START_STOP_Y 0x94
++#define VENC_FID_INT_START_X__FID_INT_START_Y 0xA0
++#define VENC_FID_INT_OFFSET_Y__FID_EXT_START_X 0xA4
++#define VENC_FID_EXT_START_Y__FID_EXT_OFFSET_Y 0xA8
++#define VENC_TVDETGP_INT_START_STOP_X 0xB0
++#define VENC_TVDETGP_INT_START_STOP_Y 0xB4
++#define VENC_GEN_CTRL 0xB8
++#define VENC_OUTPUT_CONTROL 0xC4
++#define VENC_DAC_B__DAC_C 0xC8
++
++struct venc_config {
++ u32 f_control;
++ u32 vidout_ctrl;
++ u32 sync_ctrl;
++ u32 llen;
++ u32 flens;
++ u32 hfltr_ctrl;
++ u32 cc_carr_wss_carr;
++ u32 c_phase;
++ u32 gain_u;
++ u32 gain_v;
++ u32 gain_y;
++ u32 black_level;
++ u32 blank_level;
++ u32 x_color;
++ u32 m_control;
++ u32 bstamp_wss_data;
++ u32 s_carr;
++ u32 line21;
++ u32 ln_sel;
++ u32 l21__wc_ctl;
++ u32 htrigger_vtrigger;
++ u32 savid__eavid;
++ u32 flen__fal;
++ u32 lal__phase_reset;
++ u32 hs_int_start_stop_x;
++ u32 hs_ext_start_stop_x;
++ u32 vs_int_start_x;
++ u32 vs_int_stop_x__vs_int_start_y;
++ u32 vs_int_stop_y__vs_ext_start_x;
++ u32 vs_ext_stop_x__vs_ext_start_y;
++ u32 vs_ext_stop_y;
++ u32 avid_start_stop_x;
++ u32 avid_start_stop_y;
++ u32 fid_int_start_x__fid_int_start_y;
++ u32 fid_int_offset_y__fid_ext_start_x;
++ u32 fid_ext_start_y__fid_ext_offset_y;
++ u32 tvdetgp_int_start_stop_x;
++ u32 tvdetgp_int_start_stop_y;
++ u32 gen_ctrl;
++
++ int width;
++ int height;
++};
++
++/* from TRM */
++static const struct venc_config venc_config_pal_trm = {
++ .f_control = 0,
++ .vidout_ctrl = 1,
++ .sync_ctrl = 0x40,
++ .llen = 0x35F, /* 863 */
++ .flens = 0x270, /* 624 */
++ .hfltr_ctrl = 0,
++ .cc_carr_wss_carr = 0x2F7225ED,
++ .c_phase = 0,
++ .gain_u = 0x111,
++ .gain_v = 0x181,
++ .gain_y = 0x140,
++ .black_level = 0x3B,
++ .blank_level = 0x3B,
++ .x_color = 0x7,
++ .m_control = 0x2,
++ .bstamp_wss_data = 0x3F,
++ .s_carr = 0x2A098ACB,
++ .line21 = 0,
++ .ln_sel = 0x01290015,
++ .l21__wc_ctl = 0x0000F603,
++ .htrigger_vtrigger = 0,
++
++ .savid__eavid = 0x06A70108,
++ .flen__fal = 0x00180270,
++ .lal__phase_reset = 0x00180270,
++ .hs_int_start_stop_x = 0x00880358,
++ .hs_ext_start_stop_x = 0x000F035F,
++ .vs_int_start_x = 0x01A70000,
++ .vs_int_stop_x__vs_int_start_y = 0x000001A7,
++ .vs_int_stop_y__vs_ext_start_x = 0x01AF0000,
++ .vs_ext_stop_x__vs_ext_start_y = 0x000101AF,
++ .vs_ext_stop_y = 0x00000025,
++ .avid_start_stop_x = 0x03530083,
++ .avid_start_stop_y = 0x026C002E,
++ .fid_int_start_x__fid_int_start_y = 0x0001008A,
++ .fid_int_offset_y__fid_ext_start_x = 0x002E0138,
++ .fid_ext_start_y__fid_ext_offset_y = 0x01380001,
++
++ .tvdetgp_int_start_stop_x = 0x00140001,
++ .tvdetgp_int_start_stop_y = 0x00010001,
++ .gen_ctrl = 0x00FF0000,
++
++ .width = 720,
++ .height = 574, /* for some reason, this isn't 576 */
++};
++
++/* from TRM */
++static const struct venc_config venc_config_ntsc_trm = {
++ .f_control = 0,
++ .vidout_ctrl = 1,
++ .sync_ctrl = 0x8040,
++ .llen = 0x359,
++ .flens = 0x20C,
++ .hfltr_ctrl = 0,
++ .cc_carr_wss_carr = 0x043F2631,
++ .c_phase = 0,
++ .gain_u = 0x102,
++ .gain_v = 0x16C,
++ .gain_y = 0x12F,
++ .black_level = 0x43,
++ .blank_level = 0x38,
++ .x_color = 0x7,
++ .m_control = 0x1,
++ .bstamp_wss_data = 0x38,
++ .s_carr = 0x21F07C1F,
++ .line21 = 0,
++ .ln_sel = 0x01310011,
++ .l21__wc_ctl = 0x0000F003,
++ .htrigger_vtrigger = 0,
++
++ .savid__eavid = 0x069300F4,
++ .flen__fal = 0x0016020C,
++ .lal__phase_reset = 0x00060107,
++ .hs_int_start_stop_x = 0x008E0350,
++ .hs_ext_start_stop_x = 0x000F0359,
++ .vs_int_start_x = 0x01A00000,
++ .vs_int_stop_x__vs_int_start_y = 0x020701A0,
++ .vs_int_stop_y__vs_ext_start_x = 0x01AC0024,
++ .vs_ext_stop_x__vs_ext_start_y = 0x020D01AC,
++ .vs_ext_stop_y = 0x00000006,
++ .avid_start_stop_x = 0x03480078,
++ .avid_start_stop_y = 0x02060024,
++ .fid_int_start_x__fid_int_start_y = 0x0001008A,
++ .fid_int_offset_y__fid_ext_start_x = 0x01AC0106,
++ .fid_ext_start_y__fid_ext_offset_y = 0x01060006,
++
++ .tvdetgp_int_start_stop_x = 0x00140001,
++ .tvdetgp_int_start_stop_y = 0x00010001,
++ .gen_ctrl = 0x00F90000,
++
++ .width = 720,
++ .height = 482,
++};
++
++static const struct venc_config venc_config_pal_bdghi = {
++ .f_control = 0,
++ .vidout_ctrl = 0,
++ .sync_ctrl = 0,
++ .hfltr_ctrl = 0,
++ .x_color = 0,
++ .line21 = 0,
++ .ln_sel = 21,
++ .htrigger_vtrigger = 0,
++ .tvdetgp_int_start_stop_x = 0x00140001,
++ .tvdetgp_int_start_stop_y = 0x00010001,
++ .gen_ctrl = 0x00FB0000,
++
++ .llen = 864-1,
++ .flens = 625-1,
++ .cc_carr_wss_carr = 0x2F7625ED,
++ .c_phase = 0xDF,
++ .gain_u = 0x111,
++ .gain_v = 0x181,
++ .gain_y = 0x140,
++ .black_level = 0x3e,
++ .blank_level = 0x3e,
++ .m_control = 0<<2 | 1<<1,
++ .bstamp_wss_data = 0x42,
++ .s_carr = 0x2a098acb,
++ .l21__wc_ctl = 0<<13 | 0x16<<8 | 0<<0,
++ .savid__eavid = 0x06A70108,
++ .flen__fal = 23<<16 | 624<<0,
++ .lal__phase_reset = 2<<17 | 310<<0,
++ .hs_int_start_stop_x = 0x00920358,
++ .hs_ext_start_stop_x = 0x000F035F,
++ .vs_int_start_x = 0x1a7<<16,
++ .vs_int_stop_x__vs_int_start_y = 0x000601A7,
++ .vs_int_stop_y__vs_ext_start_x = 0x01AF0036,
++ .vs_ext_stop_x__vs_ext_start_y = 0x27101af,
++ .vs_ext_stop_y = 0x05,
++ .avid_start_stop_x = 0x03530082,
++ .avid_start_stop_y = 0x0270002E,
++ .fid_int_start_x__fid_int_start_y = 0x0005008A,
++ .fid_int_offset_y__fid_ext_start_x = 0x002E0138,
++ .fid_ext_start_y__fid_ext_offset_y = 0x01380005,
++
++ .width = 720,
++ .height = 576,
++};
++
++static struct {
++ void __iomem *base;
++ struct clk *dss_54m_fck;
++ struct clk *dss_96m_fck;
++ struct clk *dss_ick;
++ struct clk *dss1_fck;
++ const struct venc_config *config;
++ struct mutex venc_lock;
++} venc;
++
++static struct omap_panel venc_panel = {
++ .name = "tv-out",
++ .x_res = 0,
++ .y_res = 0,
++ .bpp = 24,
++};
++
++static inline void venc_write_reg(int idx, u32 val)
++{
++ __raw_writel(val, venc.base + idx);
++}
++
++static inline u32 venc_read_reg(int idx)
++{
++ u32 l = __raw_readl(venc.base + idx);
++ return l;
++}
++
++static void venc_write_config(const struct venc_config *config)
++{
++ DSSDBG("write venc conf\n");
++
++ venc_write_reg(VENC_LLEN, config->llen);
++ venc_write_reg(VENC_FLENS, config->flens);
++ venc_write_reg(VENC_CC_CARR_WSS_CARR, config->cc_carr_wss_carr);
++ venc_write_reg(VENC_C_PHASE, config->c_phase);
++ venc_write_reg(VENC_GAIN_U, config->gain_u);
++ venc_write_reg(VENC_GAIN_V, config->gain_v);
++ venc_write_reg(VENC_GAIN_Y, config->gain_y);
++ venc_write_reg(VENC_BLACK_LEVEL, config->black_level);
++ venc_write_reg(VENC_BLANK_LEVEL, config->blank_level);
++ venc_write_reg(VENC_M_CONTROL, config->m_control);
++ venc_write_reg(VENC_BSTAMP_WSS_DATA, config->bstamp_wss_data);
++ venc_write_reg(VENC_S_CARR, config->s_carr);
++ venc_write_reg(VENC_L21__WC_CTL, config->l21__wc_ctl);
++ venc_write_reg(VENC_SAVID__EAVID, config->savid__eavid);
++ venc_write_reg(VENC_FLEN__FAL, config->flen__fal);
++ venc_write_reg(VENC_LAL__PHASE_RESET, config->lal__phase_reset);
++ venc_write_reg(VENC_HS_INT_START_STOP_X, config->hs_int_start_stop_x);
++ venc_write_reg(VENC_HS_EXT_START_STOP_X, config->hs_ext_start_stop_x);
++ venc_write_reg(VENC_VS_INT_START_X, config->vs_int_start_x);
++ venc_write_reg(VENC_VS_INT_STOP_X__VS_INT_START_Y,
++ config->vs_int_stop_x__vs_int_start_y);
++ venc_write_reg(VENC_VS_INT_STOP_Y__VS_EXT_START_X,
++ config->vs_int_stop_y__vs_ext_start_x);
++ venc_write_reg(VENC_VS_EXT_STOP_X__VS_EXT_START_Y,
++ config->vs_ext_stop_x__vs_ext_start_y);
++ venc_write_reg(VENC_VS_EXT_STOP_Y, config->vs_ext_stop_y);
++ venc_write_reg(VENC_AVID_START_STOP_X, config->avid_start_stop_x);
++ venc_write_reg(VENC_AVID_START_STOP_Y, config->avid_start_stop_y);
++ venc_write_reg(VENC_FID_INT_START_X__FID_INT_START_Y,
++ config->fid_int_start_x__fid_int_start_y);
++ venc_write_reg(VENC_FID_INT_OFFSET_Y__FID_EXT_START_X,
++ config->fid_int_offset_y__fid_ext_start_x);
++ venc_write_reg(VENC_FID_EXT_START_Y__FID_EXT_OFFSET_Y,
++ config->fid_ext_start_y__fid_ext_offset_y);
++
++ venc_write_reg(VENC_DAC_B__DAC_C, venc_read_reg(VENC_DAC_B__DAC_C));
++ venc_write_reg(VENC_VIDOUT_CTRL, config->vidout_ctrl);
++ venc_write_reg(VENC_HFLTR_CTRL, config->hfltr_ctrl);
++ venc_write_reg(VENC_X_COLOR, config->x_color);
++ venc_write_reg(VENC_LINE21, config->line21);
++ venc_write_reg(VENC_LN_SEL, config->ln_sel);
++ venc_write_reg(VENC_HTRIGGER_VTRIGGER, config->htrigger_vtrigger);
++ venc_write_reg(VENC_TVDETGP_INT_START_STOP_X,
++ config->tvdetgp_int_start_stop_x);
++ venc_write_reg(VENC_TVDETGP_INT_START_STOP_Y,
++ config->tvdetgp_int_start_stop_y);
++ venc_write_reg(VENC_GEN_CTRL, config->gen_ctrl);
++ venc_write_reg(VENC_F_CONTROL, config->f_control);
++ venc_write_reg(VENC_SYNC_CTRL, config->sync_ctrl);
++}
++
++static void venc_reset(void)
++{
++ int t = 1000;
++
++ venc_write_reg(VENC_F_CONTROL, venc_read_reg(VENC_F_CONTROL) | (1<<8));
++ while (venc_read_reg(VENC_F_CONTROL) & (1<<8)) {
++ if (--t == 0) {
++ DSSERR("Failed to reset venc\n");
++ return;
++ }
++ }
++}
++
++static void venc_enable_clocks(int enable)
++{
++ if (enable) {
++ clk_enable(venc.dss_ick);
++ clk_enable(venc.dss1_fck);
++ clk_enable(venc.dss_54m_fck);
++ clk_enable(venc.dss_96m_fck);
++ } else {
++ clk_disable(venc.dss_96m_fck);
++ clk_disable(venc.dss_54m_fck);
++ clk_disable(venc.dss1_fck);
++ clk_disable(venc.dss_ick);
++ }
++}
++
++int venc_init(void)
++{
++ u8 rev_id;
++ int use_pal = 1; /* XXX */
++
++ mutex_init(&venc.venc_lock);
++
++ if (use_pal)
++ venc.config = &venc_config_pal_trm;
++ else
++ venc.config = &venc_config_ntsc_trm;
++
++ venc_panel.x_res = venc.config->width;
++ venc_panel.y_res = venc.config->height;
++
++ venc.base = ioremap(VENC_BASE, SZ_1K);
++ if (!venc.base) {
++ DSSERR("can't ioremap VENC\n");
++ return -ENOMEM;
++ }
++
++ venc.dss_ick = get_dss_ick();
++ venc.dss1_fck = get_dss1_fck();
++ venc.dss_54m_fck = get_tv_fck();
++ venc.dss_96m_fck = get_96m_fck();
++
++ /* enable clocks */
++ venc_enable_clocks(1);
++
++ /* configure venc */
++ venc_reset();
++ venc_write_config(venc.config);
++
++ rev_id = (u8)(venc_read_reg(VENC_REV_ID) & 0xff);
++ printk(KERN_INFO "OMAP VENC rev %d\n", rev_id);
++
++ venc_enable_clocks(0);
++
++ return 0;
++}
++
++void venc_exit(void)
++{
++ iounmap(venc.base);
++}
++
++static void venc_sync_lost_handler(void *arg, u32 mask)
++{
++ /* we just catch SYNC_LOST_DIGIT here so that
++ * dispc doesn't take it as an error */
++}
++
++static int venc_enable_display(struct omap_display *display)
++{
++ DSSDBG("venc_enable_display\n");
++
++ mutex_lock(&venc.venc_lock);
++
++ if (display->state != OMAP_DSS_DISPLAY_DISABLED) {
++ mutex_unlock(&venc.venc_lock);
++ return -EINVAL;
++ }
++
++ venc_enable_clocks(1);
++
++ dss_set_venc_output(display->hw_config.u.venc.type);
++ dss_set_dac_pwrdn_bgz(1);
++
++ if (display->hw_config.u.venc.type == OMAP_DSS_VENC_TYPE_COMPOSITE) {
++ if (cpu_is_omap24xx())
++ venc_write_reg(VENC_OUTPUT_CONTROL, 0x2);
++ else
++ venc_write_reg(VENC_OUTPUT_CONTROL, 0xa);
++ } else { /* S-Video */
++ venc_write_reg(VENC_OUTPUT_CONTROL, 0xd);
++ }
++
++ venc_write_config(venc.config);
++
++ dispc_set_digit_size(venc.config->width, venc.config->height/2);
++
++ if (display->hw_config.panel_enable)
++ display->hw_config.panel_enable(display);
++
++ dispc_go(OMAP_DSS_CHANNEL_DIGIT);
++
++ omap_dispc_register_isr(venc_sync_lost_handler, 0,
++ DISPC_IRQ_SYNC_LOST_DIGIT);
++
++ dispc_enable_digit_out(1);
++
++ mdelay(20);
++
++ omap_dispc_unregister_isr(venc_sync_lost_handler);
++
++ display->state = OMAP_DSS_DISPLAY_ACTIVE;
++
++ mutex_unlock(&venc.venc_lock);
++
++ return 0;
++}
++
++static void venc_disable_display(struct omap_display *display)
++{
++ DSSDBG("venc_disable_display\n");
++
++ mutex_lock(&venc.venc_lock);
++
++ if (display->state == OMAP_DSS_DISPLAY_DISABLED) {
++ mutex_unlock(&venc.venc_lock);
++ return;
++ }
++
++ venc_write_reg(VENC_OUTPUT_CONTROL, 0);
++ dss_set_dac_pwrdn_bgz(0);
++
++ dispc_enable_digit_out(0);
++
++ if (display->hw_config.panel_disable)
++ display->hw_config.panel_disable(display);
++
++ venc_enable_clocks(0);
++
++ display->state = OMAP_DSS_DISPLAY_DISABLED;
++
++ mutex_unlock(&venc.venc_lock);
++}
++
++void venc_init_display(struct omap_display *display)
++{
++ display->panel = &venc_panel;
++ display->enable = venc_enable_display;
++ display->disable = venc_disable_display;
++}
+diff --git a/arch/arm/plat-omap/include/mach/display.h b/arch/arm/plat-omap/include/mach/display.h
+new file mode 100644
+index 0000000..2e55fae
+--- /dev/null
++++ b/arch/arm/plat-omap/include/mach/display.h
+@@ -0,0 +1,458 @@
++/*
++ * linux/include/asm-arm/arch-omap/display.h
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#ifndef __ASM_ARCH_OMAP_DISPLAY_H
++#define __ASM_ARCH_OMAP_DISPLAY_H
++
++#include <asm/atomic.h>
++
++#define DISPC_IRQ_FRAMEDONE (1 << 0)
++#define DISPC_IRQ_VSYNC (1 << 1)
++#define DISPC_IRQ_EVSYNC_EVEN (1 << 2)
++#define DISPC_IRQ_EVSYNC_ODD (1 << 3)
++#define DISPC_IRQ_ACBIAS_COUNT_STAT (1 << 4)
++#define DISPC_IRQ_PROG_LINE_NUM (1 << 5)
++#define DISPC_IRQ_GFX_FIFO_UNDERFLOW (1 << 6)
++#define DISPC_IRQ_GFX_END_WIN (1 << 7)
++#define DISPC_IRQ_PAL_GAMMA_MASK (1 << 8)
++#define DISPC_IRQ_OCP_ERR (1 << 9)
++#define DISPC_IRQ_VID1_FIFO_UNDERFLOW (1 << 10)
++#define DISPC_IRQ_VID1_END_WIN (1 << 11)
++#define DISPC_IRQ_VID2_FIFO_UNDERFLOW (1 << 12)
++#define DISPC_IRQ_VID2_END_WIN (1 << 13)
++#define DISPC_IRQ_SYNC_LOST (1 << 14)
++#define DISPC_IRQ_SYNC_LOST_DIGIT (1 << 15)
++
++enum omap_display_type {
++ OMAP_DISPLAY_TYPE_NONE = 0,
++ OMAP_DISPLAY_TYPE_DPI = 1 << 0,
++ OMAP_DISPLAY_TYPE_DBI = 1 << 1,
++ OMAP_DISPLAY_TYPE_SDI = 1 << 2,
++ OMAP_DISPLAY_TYPE_DSI = 1 << 3,
++ OMAP_DISPLAY_TYPE_VENC = 1 << 4,
++};
++
++enum omap_plane {
++ OMAP_DSS_GFX = 0,
++ OMAP_DSS_VIDEO1 = 1,
++ OMAP_DSS_VIDEO2 = 2
++};
++
++enum omap_channel {
++ OMAP_DSS_CHANNEL_LCD = 0,
++ OMAP_DSS_CHANNEL_DIGIT = 1,
++};
++
++enum omap_color_mode {
++ OMAP_DSS_COLOR_CLUT1 = 1 << 0, /* BITMAP 1 */
++ OMAP_DSS_COLOR_CLUT2 = 1 << 1, /* BITMAP 2 */
++ OMAP_DSS_COLOR_CLUT4 = 1 << 2, /* BITMAP 4 */
++ OMAP_DSS_COLOR_CLUT8 = 1 << 3, /* BITMAP 8 */
++ OMAP_DSS_COLOR_RGB12U = 1 << 4, /* RGB12, 16-bit container */
++ OMAP_DSS_COLOR_ARGB16 = 1 << 5, /* ARGB16 */
++ OMAP_DSS_COLOR_RGB16 = 1 << 6, /* RGB16 */
++ OMAP_DSS_COLOR_RGB24U = 1 << 7, /* RGB24, 32-bit container */
++ OMAP_DSS_COLOR_RGB24P = 1 << 8, /* RGB24, 24-bit container */
++ OMAP_DSS_COLOR_YUV2 = 1 << 9, /* YUV2 4:2:2 co-sited */
++ OMAP_DSS_COLOR_UYVY = 1 << 10, /* UYVY 4:2:2 co-sited */
++ OMAP_DSS_COLOR_ARGB32 = 1 << 11, /* ARGB32 */
++ OMAP_DSS_COLOR_RGBA32 = 1 << 12, /* RGBA32 */
++ OMAP_DSS_COLOR_RGBX32 = 1 << 13, /* RGBx32 */
++
++ OMAP_DSS_COLOR_GFX_OMAP3 =
++ OMAP_DSS_COLOR_CLUT1 | OMAP_DSS_COLOR_CLUT2 |
++ OMAP_DSS_COLOR_CLUT4 | OMAP_DSS_COLOR_CLUT8 |
++ OMAP_DSS_COLOR_RGB12U | OMAP_DSS_COLOR_ARGB16 |
++ OMAP_DSS_COLOR_RGB16 | OMAP_DSS_COLOR_RGB24U |
++ OMAP_DSS_COLOR_RGB24P | OMAP_DSS_COLOR_ARGB32 |
++ OMAP_DSS_COLOR_RGBA32 | OMAP_DSS_COLOR_RGBX32,
++
++ OMAP_DSS_COLOR_VID_OMAP3 =
++ OMAP_DSS_COLOR_RGB12U | OMAP_DSS_COLOR_ARGB16 |
++ OMAP_DSS_COLOR_RGB16 | OMAP_DSS_COLOR_RGB24U |
++ OMAP_DSS_COLOR_RGB24P | OMAP_DSS_COLOR_ARGB32 |
++ OMAP_DSS_COLOR_RGBA32 | OMAP_DSS_COLOR_RGBX32 |
++ OMAP_DSS_COLOR_YUV2 | OMAP_DSS_COLOR_UYVY,
++};
++
++enum omap_lcd_display_type {
++ OMAP_DSS_LCD_DISPLAY_STN,
++ OMAP_DSS_LCD_DISPLAY_TFT,
++};
++
++enum omap_dss_load_mode {
++ OMAP_DSS_LOAD_CLUT_AND_FRAME = 0,
++ OMAP_DSS_LOAD_CLUT_ONLY = 1,
++ OMAP_DSS_LOAD_FRAME_ONLY = 2,
++ OMAP_DSS_LOAD_CLUT_ONCE_FRAME = 3,
++};
++
++enum omap_dss_color_key_type {
++ OMAP_DSS_COLOR_KEY_GFX_DST = 0,
++ OMAP_DSS_COLOR_KEY_VID_SRC = 1,
++};
++
++enum omap_rfbi_te_mode {
++ OMAP_DSS_RFBI_TE_MODE_1 = 1,
++ OMAP_DSS_RFBI_TE_MODE_2 = 2,
++};
++
++enum omap_panel_config {
++ OMAP_DSS_LCD_IVS = 1<<0,
++ OMAP_DSS_LCD_IHS = 1<<1,
++ OMAP_DSS_LCD_IPC = 1<<2,
++ OMAP_DSS_LCD_IEO = 1<<3,
++ OMAP_DSS_LCD_RF = 1<<4,
++ OMAP_DSS_LCD_ONOFF = 1<<5,
++
++ OMAP_DSS_LCD_TFT = 1<<20,
++};
++
++enum omap_dss_venc_type {
++ OMAP_DSS_VENC_TYPE_COMPOSITE,
++ OMAP_DSS_VENC_TYPE_SVIDEO,
++};
++
++struct omap_display;
++struct omap_panel;
++struct omap_ctrl;
++
++/* RFBI */
++
++struct rfbi_timings {
++ int cs_on_time;
++ int cs_off_time;
++ int we_on_time;
++ int we_off_time;
++ int re_on_time;
++ int re_off_time;
++ int we_cycle_time;
++ int re_cycle_time;
++ int cs_pulse_width;
++ int access_time;
++
++ int clk_div;
++
++ u32 tim[5]; /* set by rfbi_convert_timings() */
++
++ int converted;
++};
++
++void omap_rfbi_write_command(const void *buf, u32 len);
++void omap_rfbi_read_data(void *buf, u32 len);
++void omap_rfbi_write_data(const void *buf, u32 len);
++void omap_rfbi_write_pixels(const void *buf, int scr_width, int x, int y,
++ int w, int h);
++int omap_rfbi_enable_te(int enable, unsigned line);
++int omap_rfbi_setup_te(enum omap_rfbi_te_mode mode,
++ unsigned hs_pulse_time, unsigned vs_pulse_time,
++ int hs_pol_inv, int vs_pol_inv, int extif_div);
++
++/* DSI */
++int dsi_vc_dcs_write(int channel, u8 *data, int len);
++int dsi_vc_dcs_write_nosync(int channel, u8 *data, int len);
++int dsi_vc_dcs_read(int channel, u8 dcs_cmd, u8 *buf, int buflen);
++int dsi_vc_set_max_rx_packet_size(int channel, u16 len);
++int dsi_vc_send_null(int channel);
++
++/* Board specific data */
++struct omap_display_data {
++ enum omap_display_type type;
++
++ union {
++ struct {
++ int data_lines;
++ } dpi;
++
++ struct {
++ int channel;
++ int data_lines;
++ } rfbi;
++
++ struct {
++ int datapairs;
++ } sdi;
++
++ struct {
++ int clk_lane;
++ int clk_pol;
++ int data1_lane;
++ int data1_pol;
++ int data2_lane;
++ int data2_pol;
++ } dsi;
++
++ struct {
++ enum omap_dss_venc_type type;
++ } venc;
++ } u;
++
++ int panel_reset_gpio;
++ int ctrl_reset_gpio;
++
++ const char *name; /* for debug */
++ const char *ctrl_name;
++ const char *panel_name;
++
++ void *priv;
++
++ /* platform specific enable/disable */
++ int (*panel_enable)(struct omap_display *display);
++ void (*panel_disable)(struct omap_display *display);
++ int (*ctrl_enable)(struct omap_display *display);
++ void (*ctrl_disable)(struct omap_display *display);
++};
++
++/* Board specific data */
++struct omap_dss_platform_data {
++ int num_displays;
++ struct omap_display_data *displays[];
++};
++
++struct omap_ctrl {
++ struct module *owner;
++
++ const char *name;
++
++ int (*init)(struct omap_display *display);
++ void (*cleanup)(struct omap_display *display);
++ int (*enable)(struct omap_display *display);
++ void (*disable)(struct omap_display *display);
++ int (*suspend)(struct omap_display *display);
++ int (*resume)(struct omap_display *display);
++ void (*setup_update)(struct omap_display *display,
++ int x, int y, int w, int h);
++ void (*set_mode)(struct omap_display *display,
++ int x_res, int y_res, int bpp);
++
++ int (*enable_te)(struct omap_display *display, int enable);
++
++ int (*run_test)(struct omap_display *display, int test);
++
++ int bpp;
++
++ struct rfbi_timings timings;
++
++ void *priv;
++};
++
++struct omap_video_timings {
++ /* Unit: KHz */
++ u32 pixel_clock;
++ /* Unit: pixel clocks */
++ u16 hsw; /* Horizontal synchronization pulse width */
++ /* Unit: pixel clocks */
++ u16 hfp; /* Horizontal front porch */
++ /* Unit: pixel clocks */
++ u16 hbp; /* Horizontal back porch */
++ /* Unit: line clocks */
++ u16 vsw; /* Vertical synchronization pulse width */
++ /* Unit: line clocks */
++ u16 vfp; /* Vertical front porch */
++ /* Unit: line clocks */
++ u16 vbp; /* Vertical back porch */
++};
++
++struct omap_panel {
++ struct module *owner;
++
++ const char *name;
++
++ int (*init)(struct omap_display *display);
++ void (*cleanup)(struct omap_display *display);
++ int (*remove)(struct omap_display *display);
++ int (*enable)(struct omap_display *display);
++ void (*disable)(struct omap_display *display);
++ int (*suspend)(struct omap_display *display);
++ int (*resume)(struct omap_display *display);
++ void (*set_mode)(struct omap_display *display,
++ int x_res, int y_res, int bpp);
++ int (*run_test)(struct omap_display *display, int test);
++
++ struct omap_video_timings timings;
++
++ int acbi; /* ac-bias pin transitions per interrupt */
++ /* Unit: line clocks */
++ int acb; /* ac-bias pin frequency */
++
++ enum omap_panel_config config;
++
++ int x_res, y_res;
++ int bpp;
++
++ void *priv;
++};
++
++/* XXX perhaps this should be removed */
++enum omap_dss_overlay_managers {
++ OMAP_DSS_OVL_MGR_LCD,
++ OMAP_DSS_OVL_MGR_TV,
++};
++
++struct omap_overlay_manager;
++
++struct omap_overlay_info {
++ int enabled;
++ u32 paddr;
++ void *vaddr;
++ int screen_width;
++ int pos_x;
++ int pos_y;
++ int width;
++ int height;
++ int out_width; /* if 0, out_width == width */
++ int out_height; /* if 0, out_height == height */
++ enum omap_color_mode color_mode;
++};
++
++enum omap_overlay_caps {
++ OMAP_DSS_OVL_CAP_SCALE = 1 << 0,
++};
++
++struct omap_overlay {
++
++ const char *name;
++ int id;
++ struct omap_overlay_manager *manager;
++ enum omap_color_mode supported_modes;
++ struct omap_overlay_info info;
++ enum omap_overlay_caps caps;
++
++ int (*set_manager)(struct omap_overlay *ovl,
++ struct omap_overlay_manager *mgr);
++ int (*unset_manager)(struct omap_overlay *ovl);
++
++ int (*setup_input)(struct omap_overlay *ovl,
++ u32 paddr, void *vaddr,
++ int screen_width,
++ int width, int height,
++ enum omap_color_mode color_mode);
++ int (*setup_output)(struct omap_overlay *ovl,
++ int pos_x, int pos_y,
++ int out_width, int out_height);
++ int (*enable)(struct omap_overlay *ovl, int enable);
++};
++
++enum omap_overlay_manager_caps {
++ OMAP_DSS_OVL_MGR_CAP_DISPC = 1 << 0,
++};
++
++struct omap_overlay_manager {
++
++ const char *name;
++ int id;
++ enum omap_overlay_manager_caps caps;
++ struct omap_display *display;
++ int num_overlays;
++ struct omap_overlay *overlays;
++ enum omap_display_type supported_displays;
++
++ int (*set_display)(struct omap_overlay_manager *mgr,
++ struct omap_display *display);
++ int (*unset_display)(struct omap_overlay_manager *mgr);
++
++ int (*apply)(struct omap_overlay_manager *mgr);
++};
++
++enum omap_display_caps {
++ OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE = 1 << 0,
++};
++
++enum omap_dss_update_mode {
++ OMAP_DSS_UPDATE_DISABLED = 0,
++ OMAP_DSS_UPDATE_AUTO,
++ OMAP_DSS_UPDATE_MANUAL,
++};
++
++enum omap_dss_display_state {
++ OMAP_DSS_DISPLAY_DISABLED = 0,
++ OMAP_DSS_DISPLAY_ACTIVE,
++ OMAP_DSS_DISPLAY_SUSPENDED,
++};
++
++struct omap_display {
++ /*atomic_t ref_count;*/
++ int ref_count;
++
++ enum omap_display_type type;
++ const char *name;
++
++ enum omap_display_caps caps;
++
++ struct omap_overlay_manager *manager;
++
++ int x_res, y_res;
++ int bpp;
++
++ enum omap_dss_display_state state;
++
++ struct omap_display_data hw_config; /* board specific data */
++ struct omap_ctrl *ctrl; /* static common data */
++ struct omap_panel *panel; /* static common data */
++
++ int (*enable)(struct omap_display *display);
++ void (*disable)(struct omap_display *display);
++
++ int (*suspend)(struct omap_display *display);
++ int (*resume)(struct omap_display *display);
++
++ void (*set_mode)(struct omap_display *display,
++ int x_res, int y_res, int bpp);
++ int (*check_timings)(struct omap_display *display,
++ struct omap_video_timings *timings);
++ void (*set_timings)(struct omap_display *display,
++ struct omap_video_timings *timings);
++ void (*get_timings)(struct omap_display *display,
++ struct omap_video_timings *timings);
++ int (*update)(struct omap_display *display,
++ int x, int y, int w, int h);
++ int (*sync)(struct omap_display *display);
++
++ int (*set_update_mode)(struct omap_display *display,
++ enum omap_dss_update_mode);
++ enum omap_dss_update_mode (*get_update_mode)
++ (struct omap_display *display);
++
++ int (*enable_te)(struct omap_display *display, int enable);
++ int (*get_te)(struct omap_display *display);
++
++ int (*run_test)(struct omap_display *display, int test);
++};
++
++int omap_dss_get_num_displays(void);
++struct omap_display *omap_dss_get_display(int no);
++void omap_dss_put_display(struct omap_display *display);
++
++void omap_dss_register_ctrl(struct omap_ctrl *ctrl);
++void omap_dss_unregister_ctrl(struct omap_ctrl *ctrl);
++
++void omap_dss_register_panel(struct omap_panel *panel);
++void omap_dss_unregister_panel(struct omap_panel *panel);
++
++int omap_dss_get_num_overlay_managers(void);
++struct omap_overlay_manager *omap_dss_get_overlay_manager(int num);
++
++int omap_dss_get_num_overlays(void);
++struct omap_overlay *omap_dss_get_overlay(int num);
++
++typedef void (*omap_dispc_isr_t) (void *arg, u32 mask);
++int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask);
++int omap_dispc_unregister_isr(omap_dispc_isr_t isr);
++
++#endif
+--
+1.5.6.3
+
diff --git a/packages/linux/linux-omap/0005-DSS-OMAPFB-fb-driver-for-new-display-subsystem.patch b/packages/linux/linux-omap/0005-DSS-OMAPFB-fb-driver-for-new-display-subsystem.patch
new file mode 100644
index 0000000000..b9a56afcd9
--- /dev/null
+++ b/packages/linux/linux-omap/0005-DSS-OMAPFB-fb-driver-for-new-display-subsystem.patch
@@ -0,0 +1,2850 @@
+From 36ac3fa1184b392dc54024de6d98e4355f2baba8 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Tue, 4 Nov 2008 15:12:21 +0200
+Subject: [PATCH] DSS: OMAPFB: fb driver for new display subsystem
+
+Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+---
+ arch/arm/plat-omap/fb.c | 9 +-
+ arch/arm/plat-omap/include/mach/omapfb.h | 7 +
+ drivers/video/Kconfig | 1 +
+ drivers/video/Makefile | 1 +
+ drivers/video/omap/Kconfig | 5 +-
+ drivers/video/omap2/Kconfig | 29 +
+ drivers/video/omap2/Makefile | 2 +
+ drivers/video/omap2/omapfb-ioctl.c | 428 ++++++++++
+ drivers/video/omap2/omapfb-main.c | 1276 ++++++++++++++++++++++++++++++
+ drivers/video/omap2/omapfb-sysfs.c | 833 +++++++++++++++++++
+ drivers/video/omap2/omapfb.h | 104 +++
+ 11 files changed, 2692 insertions(+), 3 deletions(-)
+ create mode 100644 drivers/video/omap2/Kconfig
+ create mode 100644 drivers/video/omap2/Makefile
+ create mode 100644 drivers/video/omap2/omapfb-ioctl.c
+ create mode 100644 drivers/video/omap2/omapfb-main.c
+ create mode 100644 drivers/video/omap2/omapfb-sysfs.c
+ create mode 100644 drivers/video/omap2/omapfb.h
+
+diff --git a/arch/arm/plat-omap/fb.c b/arch/arm/plat-omap/fb.c
+index 3746222..0ba1603 100644
+--- a/arch/arm/plat-omap/fb.c
++++ b/arch/arm/plat-omap/fb.c
+@@ -36,7 +36,8 @@
+ #include <mach/sram.h>
+ #include <mach/omapfb.h>
+
+-#if defined(CONFIG_FB_OMAP) || defined(CONFIG_FB_OMAP_MODULE)
++#if defined(CONFIG_FB_OMAP) || defined(CONFIG_FB_OMAP_MODULE) \
++ || defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE)
+
+ static struct omapfb_platform_data omapfb_config;
+ static int config_invalid;
+@@ -298,14 +299,18 @@ unsigned long omapfb_reserve_sram(unsigned long sram_pstart,
+ return reserved;
+ }
+
++#if defined(CONFIG_FB_OMAP) || defined(CONFIG_FB_OMAP_MODULE)
+ void omapfb_set_ctrl_platform_data(void *data)
+ {
+ omapfb_config.ctrl_platform_data = data;
+ }
++#endif
+
+ static inline int omap_init_fb(void)
+ {
++#if defined(CONFIG_FB_OMAP) || defined(CONFIG_FB_OMAP_MODULE)
+ const struct omap_lcd_config *conf;
++#endif
+
+ if (config_invalid)
+ return 0;
+@@ -313,6 +318,7 @@ static inline int omap_init_fb(void)
+ printk(KERN_ERR "Invalid FB mem configuration entries\n");
+ return 0;
+ }
++#if defined(CONFIG_FB_OMAP) || defined(CONFIG_FB_OMAP_MODULE)
+ conf = omap_get_config(OMAP_TAG_LCD, struct omap_lcd_config);
+ if (conf == NULL) {
+ if (configured_regions)
+@@ -321,6 +327,7 @@ static inline int omap_init_fb(void)
+ return 0;
+ }
+ omapfb_config.lcd = *conf;
++#endif
+
+ return platform_device_register(&omap_fb_device);
+ }
+diff --git a/arch/arm/plat-omap/include/mach/omapfb.h b/arch/arm/plat-omap/include/mach/omapfb.h
+index 90d63c5..1e34304 100644
+--- a/arch/arm/plat-omap/include/mach/omapfb.h
++++ b/arch/arm/plat-omap/include/mach/omapfb.h
+@@ -90,6 +90,13 @@ enum omapfb_color_format {
+ OMAPFB_COLOR_CLUT_1BPP,
+ OMAPFB_COLOR_RGB444,
+ OMAPFB_COLOR_YUY422,
++
++ OMAPFB_COLOR_ARGB16,
++ OMAPFB_COLOR_RGB24U, /* RGB24, 32-bit container */
++ OMAPFB_COLOR_RGB24P, /* RGB24, 24-bit container */
++ OMAPFB_COLOR_ARGB32,
++ OMAPFB_COLOR_RGBA32,
++ OMAPFB_COLOR_RGBX32,
+ };
+
+ struct omapfb_update_window {
+diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
+index 3f3ce13..689a3b1 100644
+--- a/drivers/video/Kconfig
++++ b/drivers/video/Kconfig
+@@ -2116,6 +2116,7 @@ config FB_PRE_INIT_FB
+ the bootloader.
+
+ source "drivers/video/omap/Kconfig"
++source "drivers/video/omap2/Kconfig"
+
+ source "drivers/video/backlight/Kconfig"
+ source "drivers/video/display/Kconfig"
+diff --git a/drivers/video/Makefile b/drivers/video/Makefile
+index e39e33e..3d9d50e 100644
+--- a/drivers/video/Makefile
++++ b/drivers/video/Makefile
+@@ -120,6 +120,7 @@ obj-$(CONFIG_FB_SM501) += sm501fb.o
+ obj-$(CONFIG_FB_XILINX) += xilinxfb.o
+ obj-$(CONFIG_FB_SH_MOBILE_LCDC) += sh_mobile_lcdcfb.o
+ obj-$(CONFIG_FB_OMAP) += omap/
++obj-$(CONFIG_OMAP2_DSS) += omap2/
+ obj-$(CONFIG_XEN_FBDEV_FRONTEND) += xen-fbfront.o
+ obj-$(CONFIG_FB_CARMINE) += carminefb.o
+ obj-$(CONFIG_FB_MB862XX) += mb862xx/
+diff --git a/drivers/video/omap/Kconfig b/drivers/video/omap/Kconfig
+index c355b59..541fab3 100644
+--- a/drivers/video/omap/Kconfig
++++ b/drivers/video/omap/Kconfig
+@@ -1,6 +1,7 @@
+ config FB_OMAP
+ tristate "OMAP frame buffer support (EXPERIMENTAL)"
+- depends on FB && ARCH_OMAP
++ depends on FB && ARCH_OMAP && (OMAP2_DSS = "n")
++
+ select FB_CFB_FILLRECT
+ select FB_CFB_COPYAREA
+ select FB_CFB_IMAGEBLIT
+@@ -80,7 +81,7 @@ config FB_OMAP_BOOTLOADER_INIT
+
+ config FB_OMAP_CONSISTENT_DMA_SIZE
+ int "Consistent DMA memory size (MB)"
+- depends on FB_OMAP
++ depends on FB && ARCH_OMAP
+ range 1 14
+ default 2
+ help
+diff --git a/drivers/video/omap2/Kconfig b/drivers/video/omap2/Kconfig
+new file mode 100644
+index 0000000..4b72479
+--- /dev/null
++++ b/drivers/video/omap2/Kconfig
+@@ -0,0 +1,29 @@
++config FB_OMAP2
++ tristate "OMAP2/3 frame buffer support (EXPERIMENTAL)"
++ depends on FB && OMAP2_DSS
++
++ select FB_CFB_FILLRECT
++ select FB_CFB_COPYAREA
++ select FB_CFB_IMAGEBLIT
++ help
++ Frame buffer driver for OMAP2/3 based boards.
++
++config FB_OMAP2_DEBUG
++ bool "Debug output for OMAP2/3 FB"
++ depends on FB_OMAP2
++
++config FB_OMAP2_FORCE_AUTO_UPDATE
++ bool "Force main display to automatic update mode"
++ depends on FB_OMAP2
++ help
++ Forces main display to automatic update mode (if possible),
++ and also enables tearsync (if possible). By default
++ displays that support manual update are started in manual
++ update mode.
++
++menu "OMAP2/3 Display Device Drivers"
++ depends on OMAP2_DSS
++
++
++endmenu
++
+diff --git a/drivers/video/omap2/Makefile b/drivers/video/omap2/Makefile
+new file mode 100644
+index 0000000..51c2e00
+--- /dev/null
++++ b/drivers/video/omap2/Makefile
+@@ -0,0 +1,2 @@
++obj-$(CONFIG_FB_OMAP2) += omapfb.o
++omapfb-y := omapfb-main.o omapfb-sysfs.o omapfb-ioctl.o
+diff --git a/drivers/video/omap2/omapfb-ioctl.c b/drivers/video/omap2/omapfb-ioctl.c
+new file mode 100644
+index 0000000..1ceb6b9
+--- /dev/null
++++ b/drivers/video/omap2/omapfb-ioctl.c
+@@ -0,0 +1,428 @@
++/*
++ * linux/drivers/video/omap2/omapfb-ioctl.c
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * Some code and ideas taken from drivers/video/omap/ driver
++ * by Imre Deak.
++ *
++ * 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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <linux/fb.h>
++#include <linux/device.h>
++#include <linux/uaccess.h>
++#include <linux/platform_device.h>
++
++#include <mach/display.h>
++#include <mach/omapfb.h>
++
++#include "omapfb.h"
++
++static int omapfb_setup_plane(struct fb_info *fbi, struct omapfb_plane_info *pi)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omap_display *display = fb2display(fbi);
++ struct omap_overlay *ovl;
++ int r = 0;
++
++ DBG("omapfb_setup_plane\n");
++
++ if (ofbi->num_overlays != 1) {
++ r = -EINVAL;
++ goto out;
++ }
++
++ ovl = ofbi->overlays[0];
++
++ omapfb_lock(fbdev);
++
++ if (display) {
++ if (pi->pos_x + pi->out_width > display->x_res ||
++ pi->pos_y + pi->out_height > display->y_res) {
++ r = -EINVAL;
++ goto out;
++ }
++ }
++
++ if (pi->enabled && !ofbi->region.size) {
++ /*
++ * This plane's memory was freed, can't enable it
++ * until it's reallocated.
++ */
++ r = -EINVAL;
++ goto out;
++ }
++
++ if (!ovl) {
++ r = -EINVAL;
++ goto out;
++ }
++
++ r = omapfb_setup_overlay(fbi, ovl, pi->pos_x, pi->pos_y,
++ pi->out_width, pi->out_height);
++ if (r)
++ goto out;
++
++ ovl->enable(ovl, pi->enabled);
++
++ if (ovl->manager)
++ ovl->manager->apply(ovl->manager);
++
++ if (display) {
++ if (display->sync)
++ display->sync(display);
++
++ if (display->update)
++ display->update(display, 0, 0,
++ display->x_res, display->y_res);
++ }
++
++out:
++ omapfb_unlock(fbdev);
++ if (r)
++ dev_err(fbdev->dev, "setup_plane failed\n");
++ return r;
++}
++
++static int omapfb_query_plane(struct fb_info *fbi, struct omapfb_plane_info *pi)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++
++ omapfb_lock(fbdev);
++
++ if (ofbi->num_overlays != 1) {
++ memset(pi, 0, sizeof(*pi));
++ } else {
++ struct omap_overlay_info *ovli;
++ struct omap_overlay *ovl;
++
++ ovl = ofbi->overlays[0];
++ ovli = &ovl->info;
++
++ pi->pos_x = ovli->pos_x;
++ pi->pos_y = ovli->pos_y;
++ pi->enabled = ovli->enabled;
++ pi->channel_out = 0; /* xxx */
++ pi->mirror = 0;
++ pi->out_width = ovli->out_width;
++ pi->out_height = ovli->out_height;
++ }
++
++ omapfb_unlock(fbdev);
++
++ return 0;
++}
++
++static int omapfb_setup_mem(struct fb_info *fbi, struct omapfb_mem_info *mi)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omapfb_mem_region *rg;
++ int ret = -EINVAL;
++
++ rg = &ofbi->region;
++
++ omapfb_lock(fbdev);
++ if (mi->size > rg->size) {
++ ret = -ENOMEM;
++ goto out;
++ }
++
++ if (mi->type != rg->type)
++ goto out;
++
++ ret = 0;
++out:
++ omapfb_unlock(fbdev);
++
++ return ret;
++}
++
++static int omapfb_query_mem(struct fb_info *fbi, struct omapfb_mem_info *mi)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omapfb_mem_region *rg;
++
++ rg = &ofbi->region;
++ memset(mi, 0, sizeof(*mi));
++
++ omapfb_lock(fbdev);
++ mi->size = rg->size;
++ mi->type = rg->type;
++ omapfb_unlock(fbdev);
++
++ return 0;
++}
++
++static int omapfb_update_window(struct fb_info *fbi,
++ u32 x, u32 y, u32 w, u32 h)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omap_display *display = fb2display(fbi);
++
++ if (!display)
++ return 0;
++
++ if (w == 0 || h == 0)
++ return 0;
++
++ if (x + w > display->x_res || y + h > display->y_res)
++ return -EINVAL;
++
++ omapfb_lock(fbdev);
++ display->update(display, x, y, w, h);
++ omapfb_unlock(fbdev);
++
++ return 0;
++}
++
++static int omapfb_set_update_mode(struct fb_info *fbi,
++ enum omapfb_update_mode mode)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omap_display *display = fb2display(fbi);
++ enum omap_dss_update_mode um;
++ int r;
++
++ if (!display || !display->set_update_mode)
++ return -EINVAL;
++
++ switch (mode) {
++ case OMAPFB_UPDATE_DISABLED:
++ um = OMAP_DSS_UPDATE_DISABLED;
++ break;
++
++ case OMAPFB_AUTO_UPDATE:
++ um = OMAP_DSS_UPDATE_AUTO;
++ break;
++
++ case OMAPFB_MANUAL_UPDATE:
++ um = OMAP_DSS_UPDATE_MANUAL;
++ break;
++
++ default:
++ return -EINVAL;
++ }
++
++ omapfb_lock(fbdev);
++ r = display->set_update_mode(display, um);
++ omapfb_unlock(fbdev);
++
++ return r;
++}
++
++static int omapfb_get_update_mode(struct fb_info *fbi,
++ enum omapfb_update_mode *mode)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omap_display *display = fb2display(fbi);
++ enum omap_dss_update_mode m;
++
++ if (!display || !display->get_update_mode)
++ return -EINVAL;
++
++ omapfb_lock(fbdev);
++ m = display->get_update_mode(display);
++ omapfb_unlock(fbdev);
++
++ switch (m) {
++ case OMAP_DSS_UPDATE_DISABLED:
++ *mode = OMAPFB_UPDATE_DISABLED;
++ break;
++ case OMAP_DSS_UPDATE_AUTO:
++ *mode = OMAPFB_AUTO_UPDATE;
++ break;
++ case OMAP_DSS_UPDATE_MANUAL:
++ *mode = OMAPFB_MANUAL_UPDATE;
++ break;
++ default:
++ BUG();
++ }
++
++ return 0;
++}
++
++int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omap_display *display = fb2display(fbi);
++
++ union {
++ struct omapfb_update_window_old uwnd_o;
++ struct omapfb_update_window uwnd;
++ struct omapfb_plane_info plane_info;
++ struct omapfb_caps caps;
++ struct omapfb_mem_info mem_info;
++ enum omapfb_update_mode update_mode;
++ int test_num;
++ } p;
++
++ int r = 0;
++
++ DBG("ioctl %x (%d)\n", cmd, cmd & 0xff);
++
++ switch (cmd) {
++ case OMAPFB_SYNC_GFX:
++ if (!display || !display->sync) {
++ r = -EINVAL;
++ break;
++ }
++
++ omapfb_lock(fbdev);
++ r = display->sync(display);
++ omapfb_unlock(fbdev);
++ break;
++
++ case OMAPFB_UPDATE_WINDOW_OLD:
++ if (!display || !display->update) {
++ r = -EINVAL;
++ break;
++ }
++
++ if (copy_from_user(&p.uwnd_o,
++ (void __user *)arg,
++ sizeof(p.uwnd_o))) {
++ r = -EFAULT;
++ break;
++ }
++
++ r = omapfb_update_window(fbi, p.uwnd_o.x, p.uwnd_o.y,
++ p.uwnd_o.width, p.uwnd_o.height);
++ break;
++
++ case OMAPFB_UPDATE_WINDOW:
++ if (!display || !display->update) {
++ r = -EINVAL;
++ break;
++ }
++
++ if (copy_from_user(&p.uwnd, (void __user *)arg,
++ sizeof(p.uwnd))) {
++ r = -EFAULT;
++ break;
++ }
++
++ r = omapfb_update_window(fbi, p.uwnd.x, p.uwnd.y,
++ p.uwnd.width, p.uwnd.height);
++ break;
++
++ case OMAPFB_SETUP_PLANE:
++ if (copy_from_user(&p.plane_info, (void __user *)arg,
++ sizeof(p.plane_info)))
++ r = -EFAULT;
++ else
++ r = omapfb_setup_plane(fbi, &p.plane_info);
++ break;
++
++ case OMAPFB_QUERY_PLANE:
++ r = omapfb_query_plane(fbi, &p.plane_info);
++ if (r < 0)
++ break;
++ if (copy_to_user((void __user *)arg, &p.plane_info,
++ sizeof(p.plane_info)))
++ r = -EFAULT;
++ break;
++
++ case OMAPFB_SETUP_MEM:
++ if (copy_from_user(&p.mem_info, (void __user *)arg,
++ sizeof(p.mem_info)))
++ r = -EFAULT;
++ else
++ r = omapfb_setup_mem(fbi, &p.mem_info);
++ break;
++
++ case OMAPFB_QUERY_MEM:
++ r = omapfb_query_mem(fbi, &p.mem_info);
++ if (r < 0)
++ break;
++ if (copy_to_user((void __user *)arg, &p.mem_info,
++ sizeof(p.mem_info)))
++ r = -EFAULT;
++ break;
++
++ case OMAPFB_GET_CAPS:
++ if (!display) {
++ r = -EINVAL;
++ break;
++ }
++
++ p.caps.ctrl = display->caps;
++
++ if (copy_to_user((void __user *)arg, &p.caps, sizeof(p.caps)))
++ r = -EFAULT;
++ break;
++
++ case OMAPFB_SET_UPDATE_MODE:
++ if (get_user(p.update_mode, (int __user *)arg))
++ r = -EFAULT;
++ else
++ r = omapfb_set_update_mode(fbi, p.update_mode);
++ break;
++
++ case OMAPFB_GET_UPDATE_MODE:
++ r = omapfb_get_update_mode(fbi, &p.update_mode);
++ if (r)
++ break;
++ if (put_user(p.update_mode,
++ (enum omapfb_update_mode __user *)arg))
++ r = -EFAULT;
++ break;
++
++ /* LCD and CTRL tests do the same thing for backward
++ * compatibility */
++ case OMAPFB_LCD_TEST:
++ if (get_user(p.test_num, (int __user *)arg)) {
++ r = -EFAULT;
++ break;
++ }
++ if (!display || !display->run_test) {
++ r = -EINVAL;
++ break;
++ }
++
++ r = display->run_test(display, p.test_num);
++
++ break;
++
++ case OMAPFB_CTRL_TEST:
++ if (get_user(p.test_num, (int __user *)arg)) {
++ r = -EFAULT;
++ break;
++ }
++ if (!display || !display->run_test) {
++ r = -EINVAL;
++ break;
++ }
++
++ r = display->run_test(display, p.test_num);
++
++ break;
++
++ default:
++ DBG("ioctl unhandled\n");
++ r = -EINVAL;
++ }
++
++ return r;
++}
++
++
+diff --git a/drivers/video/omap2/omapfb-main.c b/drivers/video/omap2/omapfb-main.c
+new file mode 100644
+index 0000000..c0f1664
+--- /dev/null
++++ b/drivers/video/omap2/omapfb-main.c
+@@ -0,0 +1,1276 @@
++/*
++ * linux/drivers/video/omap2/omapfb-main.c
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * Some code and ideas taken from drivers/video/omap/ driver
++ * by Imre Deak.
++ *
++ * 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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <linux/module.h>
++#include <linux/delay.h>
++#include <linux/fb.h>
++#include <linux/dma-mapping.h>
++#include <linux/vmalloc.h>
++#include <linux/device.h>
++#include <linux/platform_device.h>
++
++#include <mach/display.h>
++#include <mach/omapfb.h>
++
++#include "omapfb.h"
++
++#define MODULE_NAME "omapfb"
++
++#ifdef DEBUG
++static void fill_fb(void *addr, struct fb_info *fbi)
++{
++ struct fb_var_screeninfo *var = &fbi->var;
++
++ const short w = var->xres_virtual;
++ const short h = var->yres_virtual;
++
++ int y, x;
++ u8 *p = addr;
++
++ for (y = 0; y < h; y++) {
++ for (x = 0; x < w; x++) {
++ if (var->bits_per_pixel == 16) {
++ u16 *pw = (u16 *)p;
++
++ if (x == 20 || x == w - 20 ||
++ y == 20 || y == h - 20)
++ *pw = 0xffff;
++ else if (x == y || w - x == h - y)
++ *pw = ((1<<5)-1)<<11;
++ else if (w - x == y || x == h - y)
++ *pw = ((1<<6)-1)<<5;
++ else {
++ int t = x / (w/3);
++ if (t == 0)
++ *pw = y % 32;
++ else if (t == 1)
++ *pw = (y % 64) << 5;
++ else if (t == 2)
++ *pw = (y % 32) << 11;
++ }
++ } else if (var->bits_per_pixel == 24) {
++ u8 *pb = (u8 *)p;
++
++ int r = 0, g = 0, b = 0;
++
++ if (x == 20 || x == w - 20 ||
++ y == 20 || y == h - 20)
++ r = g = b = 0xff;
++ else if (x == y || w - x == h - y)
++ r = 0xff;
++ else if (w - x == y || x == h - y)
++ g = 0xff;
++ else {
++ int q = x / (w / 3);
++ u8 base = 255 - (y % 256);
++ if (q == 0)
++ r = base;
++ else if (q == 1)
++ g = base;
++ else if (q == 2)
++ b = base;
++ }
++
++ pb[0] = b;
++ pb[1] = g;
++ pb[2] = r;
++
++ } else if (var->bits_per_pixel == 32) {
++ u32 *pd = (u32 *)p;
++
++ if (x == 20 || x == w - 20 ||
++ y == 20 || y == h - 20)
++ *pd = 0xffffff;
++ else if (x == y || w - x == h - y)
++ *pd = 0xff0000;
++ else if (w - x == y || x == h - y)
++ *pd = 0x00ff00;
++ else {
++ u8 base = 255 - (y % 256);
++ *pd = base << ((x / (w/3)) << 3);
++ }
++ }
++
++ p += var->bits_per_pixel >> 3;
++ }
++ }
++}
++#endif
++
++static enum omap_color_mode fb_mode_to_dss_mode(struct fb_var_screeninfo *var)
++{
++ switch (var->nonstd) {
++ case 0:
++ break;
++ case OMAPFB_COLOR_YUV422:
++ return OMAP_DSS_COLOR_YUV2;
++
++ case OMAPFB_COLOR_YUY422:
++ return OMAP_DSS_COLOR_UYVY;
++
++ case OMAPFB_COLOR_ARGB16:
++ return OMAP_DSS_COLOR_ARGB16;
++
++ case OMAPFB_COLOR_ARGB32:
++ return OMAP_DSS_COLOR_ARGB32;
++
++ case OMAPFB_COLOR_RGBA32:
++ return OMAP_DSS_COLOR_RGBA32;
++
++ case OMAPFB_COLOR_RGBX32:
++ return OMAP_DSS_COLOR_RGBX32;
++
++ default:
++ return -EINVAL;
++ }
++
++ switch (var->bits_per_pixel) {
++ case 1:
++ return OMAP_DSS_COLOR_CLUT1;
++ case 2:
++ return OMAP_DSS_COLOR_CLUT2;
++ case 4:
++ return OMAP_DSS_COLOR_CLUT4;
++ case 8:
++ return OMAP_DSS_COLOR_CLUT8;
++ case 12:
++ return OMAP_DSS_COLOR_RGB12U;
++ case 16:
++ return OMAP_DSS_COLOR_RGB16;
++ case 24:
++ return OMAP_DSS_COLOR_RGB24P;
++ case 32:
++ return OMAP_DSS_COLOR_RGB24U;
++ default:
++ return -EINVAL;
++ }
++
++ return -EINVAL;
++}
++
++static void set_fb_fix(struct fb_info *fbi)
++{
++ struct fb_fix_screeninfo *fix = &fbi->fix;
++ struct fb_var_screeninfo *var = &fbi->var;
++ struct omapfb_mem_region *rg = &FB2OFB(fbi)->region;
++
++ DBG("set_fb_fix\n");
++
++ /* used by open/write in fbmem.c */
++ fbi->screen_base = (char __iomem *)rg->vaddr;
++
++ /* used by mmap in fbmem.c */
++ fix->smem_start = rg->paddr;
++ fix->smem_len = rg->size;
++
++ fix->type = FB_TYPE_PACKED_PIXELS;
++
++ if (var->nonstd)
++ fix->visual = FB_VISUAL_PSEUDOCOLOR;
++ else {
++ switch (var->bits_per_pixel) {
++ case 32:
++ case 24:
++ case 16:
++ case 12:
++ fix->visual = FB_VISUAL_TRUECOLOR;
++ /* 12bpp is stored in 16 bits */
++ break;
++ case 1:
++ case 2:
++ case 4:
++ case 8:
++ fix->visual = FB_VISUAL_PSEUDOCOLOR;
++ break;
++ }
++ }
++
++ fix->accel = FB_ACCEL_NONE;
++ fix->line_length = (var->xres_virtual * var->bits_per_pixel) >> 3;
++
++ fix->xpanstep = 1;
++ fix->ypanstep = 1;
++}
++
++/* check new var and possibly modify it to be ok */
++static int check_fb_var(struct fb_info *fbi, struct fb_var_screeninfo *var)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omap_display *display = fb2display(fbi);
++ unsigned long max_frame_size;
++ unsigned long line_size;
++ int xres_min, xres_max;
++ int yres_min, yres_max;
++ enum omap_color_mode mode = 0;
++ struct omap_overlay *ovl;
++
++ DBG("check_fb_var %d\n", ofbi->id);
++
++ if (ofbi->num_overlays == 0) {
++ dev_err(ofbi->fbdev->dev, "no overlays, aborting\n");
++ return -EINVAL;
++ }
++
++ /* XXX: uses the first overlay */
++ ovl = ofbi->overlays[0];
++
++ /* if we are using non standard mode, fix the bpp first */
++ switch (var->nonstd) {
++ case 0:
++ break;
++ case OMAPFB_COLOR_YUV422:
++ case OMAPFB_COLOR_YUY422:
++ case OMAPFB_COLOR_ARGB16:
++ var->bits_per_pixel = 16;
++ break;
++ case OMAPFB_COLOR_ARGB32:
++ case OMAPFB_COLOR_RGBA32:
++ case OMAPFB_COLOR_RGBX32:
++ var->bits_per_pixel = 32;
++ break;
++ default:
++ DBG("invalid nonstd mode\n");
++ return -EINVAL;
++ }
++
++ mode = fb_mode_to_dss_mode(var);
++ if (mode < 0) {
++ DBG("cannot convert var to omap dss mode\n");
++ return -EINVAL;
++ }
++
++ if ((ovl->supported_modes & mode) == 0) {
++ DBG("invalid mode\n");
++ return -EINVAL;
++ }
++
++ xres_min = OMAPFB_PLANE_XRES_MIN;
++ xres_max = (display ? display->x_res : 2048) - ovl->info.pos_x;
++ yres_min = OMAPFB_PLANE_YRES_MIN;
++ yres_max = (display ? display->y_res : 2048) - ovl->info.pos_y;
++
++ if (var->xres < xres_min)
++ var->xres = xres_min;
++ if (var->yres < yres_min)
++ var->yres = yres_min;
++ if (var->xres_virtual < var->xres)
++ var->xres_virtual = var->xres;
++ if (var->yres_virtual < var->yres)
++ var->yres_virtual = var->yres;
++ max_frame_size = ofbi->region.size;
++ line_size = (var->xres_virtual * var->bits_per_pixel) >> 3;
++
++ if (line_size * var->yres_virtual > max_frame_size) {
++ /* Try to keep yres_virtual first */
++ line_size = max_frame_size / var->yres_virtual;
++ var->xres_virtual = line_size * 8 / var->bits_per_pixel;
++ if (var->xres_virtual < var->xres) {
++ /* Still doesn't fit. Shrink yres_virtual too */
++ var->xres_virtual = var->xres;
++ line_size = var->xres * var->bits_per_pixel / 8;
++ var->yres_virtual = max_frame_size / line_size;
++ }
++ /* Recheck this, as the virtual size changed. */
++ if (var->xres_virtual < var->xres)
++ var->xres = var->xres_virtual;
++ if (var->yres_virtual < var->yres)
++ var->yres = var->yres_virtual;
++ if (var->xres < xres_min || var->yres < yres_min) {
++ DBG("Cannot fit FB to memory\n");
++ return -EINVAL;
++ }
++ }
++ if (var->xres + var->xoffset > var->xres_virtual)
++ var->xoffset = var->xres_virtual - var->xres;
++ if (var->yres + var->yoffset > var->yres_virtual)
++ var->yoffset = var->yres_virtual - var->yres;
++
++ if (var->bits_per_pixel == 16) {
++ var->red.offset = 11; var->red.length = 5;
++ var->red.msb_right = 0;
++ var->green.offset = 5; var->green.length = 6;
++ var->green.msb_right = 0;
++ var->blue.offset = 0; var->blue.length = 5;
++ var->blue.msb_right = 0;
++ } else if (var->bits_per_pixel == 24) {
++ var->red.offset = 16; var->red.length = 8;
++ var->red.msb_right = 0;
++ var->green.offset = 8; var->green.length = 8;
++ var->green.msb_right = 0;
++ var->blue.offset = 0; var->blue.length = 8;
++ var->blue.msb_right = 0;
++ var->transp.offset = 0; var->transp.length = 0;
++ } else if (var->bits_per_pixel == 32) {
++ var->red.offset = 16; var->red.length = 8;
++ var->red.msb_right = 0;
++ var->green.offset = 8; var->green.length = 8;
++ var->green.msb_right = 0;
++ var->blue.offset = 0; var->blue.length = 8;
++ var->blue.msb_right = 0;
++ var->transp.offset = 0; var->transp.length = 0;
++ } else {
++ DBG("failed to setup fb color mask\n");
++ return -EINVAL;
++ }
++
++ DBG("xres = %d, yres = %d, vxres = %d, vyres = %d\n",
++ var->xres, var->yres,
++ var->xres_virtual, var->yres_virtual);
++
++ var->height = -1;
++ var->width = -1;
++ var->grayscale = 0;
++
++ if (display && display->check_timings) {
++ struct omap_video_timings timings;
++ timings.pixel_clock = PICOS2KHZ(var->pixclock);
++ timings.hfp = var->left_margin;
++ timings.hbp = var->right_margin;
++ timings.vfp = var->upper_margin;
++ timings.vbp = var->lower_margin;
++ timings.hsw = var->hsync_len;
++ timings.vsw = var->vsync_len;
++
++ if (display->check_timings(display, &timings)) {
++ DBG("illegal video timings\n");
++ return -EINVAL;
++ }
++
++ /* pixclock in ps, the rest in pixclock */
++ var->pixclock = KHZ2PICOS(timings.pixel_clock);
++ var->left_margin = timings.hfp;
++ var->right_margin = timings.hbp;
++ var->upper_margin = timings.vfp;
++ var->lower_margin = timings.vbp;
++ var->hsync_len = timings.hsw;
++ var->vsync_len = timings.vsw;
++ }
++
++ /* TODO: get these from panel->config */
++ var->vmode = FB_VMODE_NONINTERLACED;
++ var->sync = 0;
++
++ return 0;
++}
++
++/*
++ * ---------------------------------------------------------------------------
++ * fbdev framework callbacks
++ * ---------------------------------------------------------------------------
++ */
++static int omapfb_open(struct fb_info *fbi, int user)
++{
++ return 0;
++}
++
++static int omapfb_release(struct fb_info *fbi, int user)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omap_display *display = fb2display(fbi);
++
++ DBG("Closing fb with plane index %d\n", ofbi->id);
++
++ omapfb_lock(fbdev);
++#if 1
++ if (display) {
++ /* XXX Is this really needed ? */
++ if (display->sync)
++ display->sync(display);
++
++ if (display->update)
++ display->update(display,
++ 0, 0,
++ display->x_res, display->y_res);
++ }
++#endif
++
++ if (display && display->sync)
++ display->sync(display);
++
++ omapfb_unlock(fbdev);
++
++ return 0;
++}
++
++/* setup overlay according to the fb */
++int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl,
++ int posx, int posy, int outw, int outh)
++{
++ int r = 0;
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct fb_var_screeninfo *var = &fbi->var;
++ enum omap_color_mode mode = 0;
++ int offset;
++ u32 data_start_p;
++ void *data_start_v;
++
++ DBG("setup_overlay %d\n", ofbi->id);
++
++ if ((ovl->caps & OMAP_DSS_OVL_CAP_SCALE) == 0 &&
++ (outw != var->xres || outh != var->yres)) {
++ r = -EINVAL;
++ goto err;
++ }
++
++ offset = ((var->yoffset * var->xres_virtual +
++ var->xoffset) * var->bits_per_pixel) >> 3;
++
++ data_start_p = ofbi->region.paddr + offset;
++ data_start_v = ofbi->region.vaddr + offset;
++
++ mode = fb_mode_to_dss_mode(var);
++
++ if (mode == -EINVAL) {
++ r = -EINVAL;
++ goto err;
++ }
++
++ r = ovl->setup_input(ovl,
++ data_start_p, data_start_v,
++ var->xres_virtual,
++ var->xres, var->yres,
++ mode);
++
++ if (r)
++ goto err;
++
++ r = ovl->setup_output(ovl,
++ posx, posy,
++ outw, outh);
++
++ if (r)
++ goto err;
++
++ return 0;
++
++err:
++ DBG("setup_overlay failed\n");
++ return r;
++}
++
++/* apply var to the overlay */
++int omapfb_apply_changes(struct fb_info *fbi, int init)
++{
++ int r = 0;
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct fb_var_screeninfo *var = &fbi->var;
++ /*struct omap_display *display = fb2display(fbi);*/
++ struct omap_overlay *ovl;
++ int posx, posy;
++ int outw, outh;
++ int i;
++
++ for (i = 0; i < ofbi->num_overlays; i++) {
++ ovl = ofbi->overlays[i];
++
++ DBG("apply_changes, fb %d, ovl %d\n", ofbi->id, ovl->id);
++
++ if (init || (ovl->caps & OMAP_DSS_OVL_CAP_SCALE) == 0) {
++ outw = var->xres;
++ outh = var->yres;
++ } else {
++ outw = ovl->info.out_width;
++ outh = ovl->info.out_height;
++ }
++
++ if (init) {
++ posx = 0;
++ posy = 0;
++ } else {
++ posx = ovl->info.pos_x;
++ posy = ovl->info.pos_y;
++ }
++
++ r = omapfb_setup_overlay(fbi, ovl, posx, posy, outw, outh);
++ if (r)
++ goto err;
++
++ /* disabled for now. if the display has changed, var
++ * still contains the old timings. */
++#if 0
++ if (display && display->set_timings) {
++ struct omap_video_timings timings;
++ timings.pixel_clock = PICOS2KHZ(var->pixclock);
++ timings.hfp = var->left_margin;
++ timings.hbp = var->right_margin;
++ timings.vfp = var->upper_margin;
++ timings.vbp = var->lower_margin;
++ timings.hsw = var->hsync_len;
++ timings.vsw = var->vsync_len;
++
++ display->set_timings(display, &timings);
++ }
++#endif
++ if (!init && ovl->manager)
++ ovl->manager->apply(ovl->manager);
++ }
++ return 0;
++err:
++ DBG("apply_changes failed\n");
++ return r;
++}
++
++/* checks var and eventually tweaks it to something supported,
++ * DO NOT MODIFY PAR */
++static int omapfb_check_var(struct fb_var_screeninfo *var, struct fb_info *fbi)
++{
++ int r;
++
++ DBG("check_var(%d)\n", FB2OFB(fbi)->id);
++
++ r = check_fb_var(fbi, var);
++
++ return r;
++}
++
++/* set the video mode according to info->var */
++static int omapfb_set_par(struct fb_info *fbi)
++{
++ int r;
++
++ DBG("set_par(%d)\n", FB2OFB(fbi)->id);
++
++ set_fb_fix(fbi);
++ r = omapfb_apply_changes(fbi, 0);
++
++ return r;
++}
++
++static void omapfb_rotate(struct fb_info *fbi, int rotate)
++{
++ DBG("rotate(%d)\n", FB2OFB(fbi)->id);
++ return;
++}
++
++static int omapfb_pan_display(struct fb_var_screeninfo *var,
++ struct fb_info *fbi)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ int r = 0;
++
++ DBG("pan_display(%d)\n", ofbi->id);
++
++ omapfb_lock(fbdev);
++
++ if (var->xoffset != fbi->var.xoffset ||
++ var->yoffset != fbi->var.yoffset) {
++ struct fb_var_screeninfo new_var;
++
++ new_var = fbi->var;
++ new_var.xoffset = var->xoffset;
++ new_var.yoffset = var->yoffset;
++
++ r = check_fb_var(fbi, &new_var);
++
++ if (r == 0) {
++ fbi->var = new_var;
++ set_fb_fix(fbi);
++ r = omapfb_apply_changes(fbi, 0);
++ }
++ }
++
++ omapfb_unlock(fbdev);
++
++ return r;
++}
++
++static int omapfb_mmap(struct fb_info *fbi, struct vm_area_struct *vma)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omapfb_mem_region *rg = &ofbi->region;
++
++ return dma_mmap_writecombine(fbdev->dev, vma,
++ rg->vaddr,
++ rg->paddr,
++ rg->size);
++}
++
++/* Store a single color palette entry into a pseudo palette or the hardware
++ * palette if one is available. For now we support only 16bpp and thus store
++ * the entry only to the pseudo palette.
++ */
++static int _setcolreg(struct fb_info *fbi, u_int regno, u_int red, u_int green,
++ u_int blue, u_int transp, int update_hw_pal)
++{
++ /*struct omapfb_info *ofbi = FB2OFB(fbi);*/
++ /*struct omapfb2_device *fbdev = ofbi->fbdev;*/
++ struct fb_var_screeninfo *var = &fbi->var;
++ int r = 0;
++
++ enum omapfb_color_format mode = OMAPFB_COLOR_RGB24U; /* XXX */
++
++ /*switch (plane->color_mode) {*/
++ switch (mode) {
++ case OMAPFB_COLOR_YUV422:
++ case OMAPFB_COLOR_YUV420:
++ case OMAPFB_COLOR_YUY422:
++ r = -EINVAL;
++ break;
++ case OMAPFB_COLOR_CLUT_8BPP:
++ case OMAPFB_COLOR_CLUT_4BPP:
++ case OMAPFB_COLOR_CLUT_2BPP:
++ case OMAPFB_COLOR_CLUT_1BPP:
++ /*
++ if (fbdev->ctrl->setcolreg)
++ r = fbdev->ctrl->setcolreg(regno, red, green, blue,
++ transp, update_hw_pal);
++ */
++ /* Fallthrough */
++ r = -EINVAL;
++ break;
++ case OMAPFB_COLOR_RGB565:
++ case OMAPFB_COLOR_RGB444:
++ case OMAPFB_COLOR_RGB24P:
++ case OMAPFB_COLOR_RGB24U:
++ if (r != 0)
++ break;
++
++ if (regno < 0) {
++ r = -EINVAL;
++ break;
++ }
++
++ if (regno < 16) {
++ u16 pal;
++ pal = ((red >> (16 - var->red.length)) <<
++ var->red.offset) |
++ ((green >> (16 - var->green.length)) <<
++ var->green.offset) |
++ (blue >> (16 - var->blue.length));
++ ((u32 *)(fbi->pseudo_palette))[regno] = pal;
++ }
++ break;
++ default:
++ BUG();
++ }
++ return r;
++}
++
++static int omapfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
++ u_int transp, struct fb_info *info)
++{
++ DBG("setcolreg\n");
++
++ return _setcolreg(info, regno, red, green, blue, transp, 1);
++}
++
++static int omapfb_setcmap(struct fb_cmap *cmap, struct fb_info *info)
++{
++ int count, index, r;
++ u16 *red, *green, *blue, *transp;
++ u16 trans = 0xffff;
++
++ DBG("setcmap\n");
++
++ red = cmap->red;
++ green = cmap->green;
++ blue = cmap->blue;
++ transp = cmap->transp;
++ index = cmap->start;
++
++ for (count = 0; count < cmap->len; count++) {
++ if (transp)
++ trans = *transp++;
++ r = _setcolreg(info, index++, *red++, *green++, *blue++, trans,
++ count == cmap->len - 1);
++ if (r != 0)
++ return r;
++ }
++
++ return 0;
++}
++
++static int omapfb_blank(int blank, struct fb_info *fbi)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omap_display *display = fb2display(fbi);
++ int do_update = 0;
++ int r = 0;
++
++ omapfb_lock(fbdev);
++
++ switch (blank) {
++ case VESA_NO_BLANKING:
++ if (display->state != OMAP_DSS_DISPLAY_SUSPENDED) {
++ r = -EINVAL;
++ goto exit;
++ }
++
++ if (display->resume)
++ r = display->resume(display);
++
++ if (r == 0 && display->get_update_mode &&
++ display->get_update_mode(display) ==
++ OMAP_DSS_UPDATE_MANUAL)
++ do_update = 1;
++
++ break;
++
++ case VESA_POWERDOWN:
++ if (display->state != OMAP_DSS_DISPLAY_ACTIVE) {
++ r = -EINVAL;
++ goto exit;
++ }
++
++ if (display->suspend)
++ r = display->suspend(display);
++
++ break;
++
++ default:
++ r = -EINVAL;
++ }
++
++exit:
++ omapfb_unlock(fbdev);
++
++ if (r == 0 && do_update && display->update)
++ r = display->update(display,
++ 0, 0,
++ display->x_res, display->y_res);
++
++ return r;
++}
++
++static struct fb_ops omapfb_ops = {
++ .owner = THIS_MODULE,
++ .fb_open = omapfb_open,
++ .fb_release = omapfb_release,
++ .fb_fillrect = cfb_fillrect,
++ .fb_copyarea = cfb_copyarea,
++ .fb_imageblit = cfb_imageblit,
++ .fb_blank = omapfb_blank,
++ .fb_ioctl = omapfb_ioctl,
++ .fb_check_var = omapfb_check_var,
++ .fb_set_par = omapfb_set_par,
++ .fb_rotate = omapfb_rotate,
++ .fb_pan_display = omapfb_pan_display,
++ .fb_mmap = omapfb_mmap,
++ .fb_setcolreg = omapfb_setcolreg,
++ .fb_setcmap = omapfb_setcmap,
++};
++
++static int omapfb_free_fbmem(struct omapfb2_device *fbdev)
++{
++ int i;
++
++ DBG("free fbmem\n");
++
++ for (i = 0; i < fbdev->num_fbs; i++) {
++ struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[i]);
++ struct omapfb_mem_region *rg;
++
++ rg = &ofbi->region;
++
++ if (rg->alloc) {
++ dma_free_writecombine(fbdev->dev, rg->size,
++ rg->vaddr, rg->paddr);
++ }
++
++ rg->vaddr = NULL;
++ rg->paddr = 0;
++ rg->alloc = 0;
++ }
++
++ fbdev->num_fbs = 0;
++
++ return 0;
++}
++
++static int omapfb_allocate_fbmem(struct omapfb2_device *fbdev)
++{
++ int i;
++ struct omapfb_mem_desc *plat_mem_desc;
++ struct omapfb_platform_data *pdata = fbdev->dev->platform_data;
++
++ plat_mem_desc = &pdata->mem_desc;
++
++ DBG("omapfb: setup mem regions, %d regions\n",
++ plat_mem_desc->region_cnt);
++
++ for (i = 0; i < plat_mem_desc->region_cnt; i++) {
++ struct omapfb_mem_region *plat_rg;
++ struct omapfb_mem_region *rg;
++ struct omapfb_info *ofb_info = FB2OFB(fbdev->fbs[i]);
++
++ plat_rg = &plat_mem_desc->region[i];
++ rg = &ofb_info->region;
++
++ memset(rg, 0, sizeof(*rg));
++
++ DBG("platform region%d phys %08x virt %p size=%lu\n",
++ i,
++ plat_rg->paddr,
++ plat_rg->vaddr,
++ plat_rg->size);
++
++ if (plat_rg->paddr == 0) {
++ u32 paddr;
++ void *vaddr;
++
++ vaddr = dma_alloc_writecombine(fbdev->dev,
++ plat_rg->size,
++ &paddr, GFP_KERNEL);
++
++ if (vaddr == NULL) {
++ dev_err(fbdev->dev,
++ "failed to allocate framebuffer\n");
++ return -ENOMEM;
++ }
++
++ rg->paddr = paddr;
++ rg->vaddr = vaddr;
++ rg->size = plat_rg->size;
++ rg->alloc = 1;
++ } else {
++ dev_err(fbdev->dev,
++ "Using preallocated fb not supported\n");
++ return -EINVAL;
++ }
++ }
++
++ for (i = 0; i < fbdev->num_fbs; i++) {
++ struct omapfb_info *ofb_info = FB2OFB(fbdev->fbs[i]);
++ struct omapfb_mem_region *rg;
++ rg = &ofb_info->region;
++
++ DBG("region%d phys %08x virt %p size=%lu\n",
++ i,
++ rg->paddr,
++ rg->vaddr,
++ rg->size);
++ }
++
++ return 0;
++}
++
++/* initialize fb_info, var, fix to something sane based on the display */
++static int fbinfo_init(struct omapfb2_device *fbdev, struct fb_info *fbi)
++{
++ struct fb_var_screeninfo *var = &fbi->var;
++ struct fb_fix_screeninfo *fix = &fbi->fix;
++ struct omap_display *display = fb2display(fbi);
++ int r = 0;
++
++ if (!display) {
++ dev_err(fbdev->dev, "cannot fbinfo_init, no display\n");
++ return -EINVAL;
++ }
++
++ fbi->fbops = &omapfb_ops;
++ fbi->flags = FBINFO_FLAG_DEFAULT;
++ fbi->pseudo_palette = fbdev->pseudo_palette;
++
++ strncpy(fix->id, MODULE_NAME, sizeof(fix->id));
++
++ var->xres = display->x_res;
++ var->yres = display->y_res;
++ var->xres_virtual = var->xres;
++ var->yres_virtual = var->yres;
++ /* var->rotate = def_rotate; */
++
++ var->nonstd = 0;
++
++ switch (display->bpp) {
++ case 16:
++ var->bits_per_pixel = 16;
++ break;
++ case 18:
++ var->bits_per_pixel = 16;
++ break;
++ case 24:
++ var->bits_per_pixel = 32;
++ break;
++ default:
++ dev_err(fbdev->dev, "illegal display bpp\n");
++ return -EINVAL;
++ }
++
++ if (display->get_timings) {
++ struct omap_video_timings timings;
++ display->get_timings(display, &timings);
++
++ /* pixclock in ps, the rest in pixclock */
++ var->pixclock = KHZ2PICOS(timings.pixel_clock);
++ var->left_margin = timings.hfp;
++ var->right_margin = timings.hbp;
++ var->upper_margin = timings.vfp;
++ var->lower_margin = timings.vbp;
++ var->hsync_len = timings.hsw;
++ var->vsync_len = timings.vsw;
++ } else {
++ var->pixclock = 0;
++ var->left_margin = 0;
++ var->right_margin = 0;
++ var->upper_margin = 0;
++ var->lower_margin = 0;
++ var->hsync_len = 0;
++ var->vsync_len = 0;
++ }
++
++ r = check_fb_var(fbi, var);
++ if (r)
++ goto err;
++
++ set_fb_fix(fbi);
++
++#ifdef DEBUG
++ fill_fb(FB2OFB(fbi)->region.vaddr, fbi);
++#endif
++err:
++ return r;
++}
++
++static void fbinfo_cleanup(struct omapfb2_device *fbdev, struct fb_info *fbi)
++{
++ fb_dealloc_cmap(&fbi->cmap);
++}
++
++
++static void omapfb_free_resources(struct omapfb2_device *fbdev)
++{
++ int i;
++
++ DBG("free_resources\n");
++
++ if (fbdev == NULL)
++ return;
++
++ for (i = 0; i < fbdev->num_fbs; i++)
++ unregister_framebuffer(fbdev->fbs[i]);
++
++ /* free the reserved fbmem */
++ omapfb_free_fbmem(fbdev);
++
++ for (i = 0; i < fbdev->num_fbs; i++) {
++ fbinfo_cleanup(fbdev, fbdev->fbs[i]);
++ framebuffer_release(fbdev->fbs[i]);
++ }
++
++
++ for (i = 0; i < fbdev->num_displays; i++) {
++ if (fbdev->displays[i]->state != OMAP_DSS_DISPLAY_DISABLED)
++ fbdev->displays[i]->disable(fbdev->displays[i]);
++
++ omap_dss_put_display(fbdev->displays[i]);
++ }
++
++ dev_set_drvdata(fbdev->dev, NULL);
++ kfree(fbdev);
++}
++
++static int omapfb_create_framebuffers(struct omapfb2_device *fbdev)
++{
++ int r;
++ int i;
++ struct omapfb_mem_desc *plat_mem_desc;
++ struct omapfb_platform_data *pdata = fbdev->dev->platform_data;
++
++ plat_mem_desc = &pdata->mem_desc;
++
++ fbdev->num_fbs = 0;
++
++ DBG("create %d framebuffers\n", plat_mem_desc->region_cnt);
++
++ /* allocate fb_infos */
++ for (i = 0; i < plat_mem_desc->region_cnt; i++) {
++ struct fb_info *fbi;
++ struct omapfb_info *ofbi;
++
++ fbi = framebuffer_alloc(sizeof(struct omapfb_info),
++ fbdev->dev);
++
++ if (fbi == NULL) {
++ dev_err(fbdev->dev,
++ "unable to allocate memory for plane info\n");
++ return -ENOMEM;
++ }
++
++ fbdev->fbs[i] = fbi;
++
++ ofbi = FB2OFB(fbi);
++ ofbi->fbdev = fbdev;
++ /* XXX here we presume we have enough overlays */
++ ofbi->overlays[0] = fbdev->overlays[i];
++ ofbi->num_overlays = 1;
++ ofbi->id = i;
++ fbdev->num_fbs++;
++ }
++
++ DBG("fb_infos allocated\n");
++
++ /* allocate fb memories */
++ r = omapfb_allocate_fbmem(fbdev);
++ if (r) {
++ dev_err(fbdev->dev, "failed to allocate fbmem\n");
++ return r;
++ }
++
++ DBG("fbmems allocated\n");
++
++ /* setup fb_infos */
++ for (i = 0; i < fbdev->num_fbs; i++) {
++ r = fbinfo_init(fbdev, fbdev->fbs[i]);
++ if (r) {
++ dev_err(fbdev->dev, "failed to setup fb_info\n");
++ return r;
++ }
++ }
++
++ DBG("fb_infos initialized\n");
++
++ for (i = 0; i < fbdev->num_fbs; i++) {
++ r = register_framebuffer(fbdev->fbs[i]);
++ if (r != 0) {
++ dev_err(fbdev->dev,
++ "registering framebuffer %d failed\n", i);
++ return r;
++ }
++ }
++
++ DBG("framebuffers registered\n");
++
++ for (i = 0; i < fbdev->num_fbs; i++) {
++ r = omapfb_apply_changes(fbdev->fbs[i], 1);
++ if (r)
++ dev_err(fbdev->dev, "failed to change mode\n");
++ }
++
++ /* Enable the first framebuffer that has overlay that is connected
++ * to display. Usually this would be the GFX plane. */
++ r = 0;
++ for (i = 0; i < fbdev->num_fbs; i++) {
++ struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[i]);
++ int t;
++
++ for (t = 0; t < ofbi->num_overlays; t++) {
++ struct omap_overlay *ovl = ofbi->overlays[t];
++ if (ovl->manager && ovl->manager->display) {
++ ovl->enable(ovl, 1);
++ r = 1;
++ break;
++ }
++ }
++
++ if (r)
++ break;
++ }
++
++ DBG("create_framebuffers done\n");
++
++ return 0;
++}
++
++static int omapfb_probe(struct platform_device *pdev)
++{
++ struct omapfb2_device *fbdev = NULL;
++ int r = 0;
++ int i, t;
++ struct omap_overlay *ovl;
++ struct omap_display *def_display;
++
++ DBG("omapfb_probe\n");
++
++ if (pdev->num_resources != 0) {
++ dev_err(&pdev->dev, "probed for an unknown device\n");
++ r = -ENODEV;
++ goto err0;
++ }
++
++ if (pdev->dev.platform_data == NULL) {
++ dev_err(&pdev->dev, "missing platform data\n");
++ r = -ENOENT;
++ goto err0;
++ }
++
++ fbdev = kzalloc(sizeof(struct omapfb2_device), GFP_KERNEL);
++ if (fbdev == NULL) {
++ r = -ENOMEM;
++ goto err0;
++ }
++
++ mutex_init(&fbdev->mtx);
++
++ fbdev->dev = &pdev->dev;
++ platform_set_drvdata(pdev, fbdev);
++
++ fbdev->num_displays = 0;
++ t = omap_dss_get_num_displays();
++ for (i = 0; i < t; i++) {
++ struct omap_display *display;
++ display = omap_dss_get_display(i);
++ if (!display) {
++ dev_err(&pdev->dev, "can't get display %d\n", i);
++ r = -EINVAL;
++ goto cleanup;
++ }
++
++ fbdev->displays[fbdev->num_displays++] = display;
++ }
++
++ if (fbdev->num_displays == 0) {
++ dev_err(&pdev->dev, "no displays\n");
++ r = -EINVAL;
++ goto cleanup;
++ }
++
++ fbdev->num_overlays = omap_dss_get_num_overlays();
++ for (i = 0; i < fbdev->num_overlays; i++)
++ fbdev->overlays[i] = omap_dss_get_overlay(i);
++
++ fbdev->num_managers = omap_dss_get_num_overlay_managers();
++ for (i = 0; i < fbdev->num_managers; i++)
++ fbdev->managers[i] = omap_dss_get_overlay_manager(i);
++
++
++ /* gfx overlay should be the default one. find a display
++ * connected to that, and use it as default display */
++ ovl = omap_dss_get_overlay(0);
++ if (ovl->manager && ovl->manager->display) {
++ def_display = ovl->manager->display;
++ } else {
++ dev_err(&pdev->dev, "cannot find default display\n");
++ r = -EINVAL;
++ goto cleanup;
++ }
++
++ r = omapfb_create_framebuffers(fbdev);
++ if (r)
++ goto cleanup;
++
++ for (i = 0; i < fbdev->num_managers; i++) {
++ struct omap_overlay_manager *mgr;
++ mgr = fbdev->managers[i];
++ r = mgr->apply(mgr);
++ if (r) {
++ dev_err(fbdev->dev, "failed to apply dispc config\n");
++ goto cleanup;
++ }
++ }
++
++ DBG("mgr->apply'ed\n");
++
++ r = def_display->enable(def_display);
++ if (r) {
++ dev_err(fbdev->dev, "Failed to enable display '%s'\n",
++ def_display->name);
++ goto cleanup;
++ }
++
++ /* set the update mode */
++ if (def_display->caps & OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE) {
++#ifdef CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE
++ if (def_display->set_update_mode)
++ def_display->set_update_mode(def_display,
++ OMAP_DSS_UPDATE_AUTO);
++ if (def_display->enable_te)
++ def_display->enable_te(def_display, 1);
++#else
++ if (def_display->set_update_mode)
++ def_display->set_update_mode(def_display,
++ OMAP_DSS_UPDATE_MANUAL);
++ if (def_display->enable_te)
++ def_display->enable_te(def_display, 0);
++#endif
++ } else {
++ if (def_display->set_update_mode)
++ def_display->set_update_mode(def_display,
++ OMAP_DSS_UPDATE_AUTO);
++ }
++
++ for (i = 0; i < fbdev->num_displays; i++) {
++ struct omap_display *display = fbdev->displays[i];
++
++ if (display->update)
++ display->update(display,
++ 0, 0,
++ display->x_res, display->y_res);
++ }
++
++ DBG("display->updated\n");
++
++ omapfb_create_sysfs(fbdev);
++ DBG("sysfs created\n");
++
++ return 0;
++
++cleanup:
++ omapfb_free_resources(fbdev);
++err0:
++ dev_err(&pdev->dev, "failed to setup omapfb\n");
++ return r;
++}
++
++static int omapfb_remove(struct platform_device *pdev)
++{
++ struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
++
++ /* FIXME: wait till completion of pending events */
++
++ omapfb_remove_sysfs(fbdev);
++
++ omapfb_free_resources(fbdev);
++
++ return 0;
++}
++
++static struct platform_driver omapfb_driver = {
++ .probe = omapfb_probe,
++ .remove = omapfb_remove,
++ .driver = {
++ .name = "omapfb",
++ .owner = THIS_MODULE,
++ },
++};
++
++static int __init omapfb_init(void)
++{
++ DBG("omapfb_init\n");
++
++ if (platform_driver_register(&omapfb_driver)) {
++ printk(KERN_ERR "failed to register omapfb driver\n");
++ return -ENODEV;
++ }
++
++ return 0;
++}
++
++static void __exit omapfb_exit(void)
++{
++ DBG("omapfb_exit\n");
++ platform_driver_unregister(&omapfb_driver);
++}
++
++/* late_initcall to let panel/ctrl drivers loaded first.
++ * I guess better option would be a more dynamic approach,
++ * so that omapfb reacts to new panels when they are loaded */
++late_initcall(omapfb_init);
++/*module_init(omapfb_init);*/
++module_exit(omapfb_exit);
++
++MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@nokia.com>");
++MODULE_DESCRIPTION("OMAP2/3 Framebuffer");
++MODULE_LICENSE("GPL v2");
+diff --git a/drivers/video/omap2/omapfb-sysfs.c b/drivers/video/omap2/omapfb-sysfs.c
+new file mode 100644
+index 0000000..e01edd1
+--- /dev/null
++++ b/drivers/video/omap2/omapfb-sysfs.c
+@@ -0,0 +1,833 @@
++/*
++ * linux/drivers/video/omap2/omapfb-sysfs.c
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * Some code and ideas taken from drivers/video/omap/ driver
++ * by Imre Deak.
++ *
++ * 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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <linux/fb.h>
++#include <linux/sysfs.h>
++#include <linux/device.h>
++#include <linux/uaccess.h>
++#include <linux/platform_device.h>
++
++#include <mach/display.h>
++#include <mach/omapfb.h>
++
++#include "omapfb.h"
++
++static int omapfb_attach_framebuffer(struct fb_info *fbi,
++ struct omap_overlay *ovl)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ int i, t;
++ int r;
++
++ if (ofbi->num_overlays >= OMAPFB_MAX_OVL_PER_FB) {
++ dev_err(fbdev->dev, "fb has max number of overlays already\n");
++ return -EINVAL;
++ }
++
++ for (i = 0; i < ofbi->num_overlays; i++) {
++ if (ofbi->overlays[i] == ovl) {
++ dev_err(fbdev->dev, "fb already attached to overlay\n");
++ return -EINVAL;
++ }
++ }
++
++ for (i = 0; i < fbdev->num_fbs; i++) {
++ struct omapfb_info *ofbi2 = FB2OFB(fbdev->fbs[i]);
++ for (t = 0; t < ofbi2->num_overlays; t++) {
++ if (ofbi2->overlays[t] == ovl) {
++ dev_err(fbdev->dev, "overlay already in use\n");
++ return -EINVAL;
++ }
++ }
++ }
++
++ ofbi->overlays[ofbi->num_overlays++] = ovl;
++
++/*
++ if (ovl->manager && ovl->manager->display)
++ omapfb_adjust_fb(fbi, ovl, 0, 0);
++*/
++ r = omapfb_apply_changes(fbi, 1);
++ if (r)
++ return r;
++
++ if (ovl->manager)
++ ovl->manager->apply(ovl->manager);
++
++ return 0;
++}
++
++static int omapfb_detach_framebuffer(struct fb_info *fbi,
++ struct omap_overlay *ovl)
++{
++ int i;
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++
++ for (i = 0; i < ofbi->num_overlays; i++) {
++ if (ofbi->overlays[i] == ovl)
++ break;
++ }
++
++ if (i == ofbi->num_overlays) {
++ dev_err(fbdev->dev, "cannot detach fb, overlay not attached\n");
++ return -EINVAL;
++ }
++
++ ovl->enable(ovl, 0);
++
++ if (ovl->manager)
++ ovl->manager->apply(ovl->manager);
++
++ for (i = i + 1; i < ofbi->num_overlays; i++)
++ ofbi->overlays[i-1] = ofbi->overlays[i];
++
++ ofbi->num_overlays--;
++
++ return 0;
++}
++
++
++static ssize_t show_framebuffers(struct device *dev,
++ struct device_attribute *attr,
++ char *buf)
++{
++ struct platform_device *pdev = to_platform_device(dev);
++ struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
++ ssize_t l = 0, size = PAGE_SIZE;
++ int i, t;
++
++ omapfb_lock(fbdev);
++
++ for (i = 0; i < fbdev->num_fbs; i++) {
++ struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[i]);
++
++ l += snprintf(buf + l, size - l, "%d t:", ofbi->id);
++
++ if (ofbi->num_overlays == 0)
++ l += snprintf(buf + l, size - l, "none");
++
++ for (t = 0; t < ofbi->num_overlays; t++) {
++ struct omap_overlay *ovl;
++ ovl = ofbi->overlays[t];
++
++ l += snprintf(buf + l, size - l, "%s%s",
++ t == 0 ? "" : ",",
++ ovl->name);
++ }
++
++ l += snprintf(buf + l, size - l, "\n");
++ }
++
++ omapfb_unlock(fbdev);
++
++ return l;
++}
++
++static struct omap_overlay *find_overlay_by_name(struct omapfb2_device *fbdev,
++ char *name)
++{
++ int i;
++
++ for (i = 0; i < fbdev->num_overlays; i++)
++ if (strcmp(name, fbdev->overlays[i]->name) == 0)
++ return fbdev->overlays[i];
++
++ return NULL;
++}
++
++static struct omap_display *find_display_by_name(struct omapfb2_device *fbdev,
++ char *name)
++{
++ int i;
++
++ for (i = 0; i < fbdev->num_displays; i++)
++ if (strcmp(name, fbdev->displays[i]->name) == 0)
++ return fbdev->displays[i];
++
++ return NULL;
++}
++
++static struct omap_overlay_manager *find_manager_by_name(
++ struct omapfb2_device *fbdev,
++ char *name)
++{
++ int i;
++
++ for (i = 0; i < fbdev->num_managers; i++)
++ if (strcmp(name, fbdev->managers[i]->name) == 0)
++ return fbdev->managers[i];
++
++ return NULL;
++}
++
++static int parse_overlays(struct omapfb2_device *fbdev, char *str,
++ struct omap_overlay *ovls[])
++{
++ int num_ovls = 0;
++ int s, e = 0;
++ char ovlname[10];
++
++ while (1) {
++ struct omap_overlay *ovl;
++
++ s = e;
++
++ while (e < strlen(str) && str[e] != ',')
++ e++;
++
++ strncpy(ovlname, str + s, e - s);
++ ovlname[e-s] = 0;
++
++ DBG("searching for '%s'\n", ovlname);
++ ovl = find_overlay_by_name(fbdev, ovlname);
++
++ if (ovl) {
++ DBG("found an overlay\n");
++ ovls[num_ovls] = ovl;
++ num_ovls++;
++ } else {
++ DBG("unknown overlay %s\n", str);
++ return 0;
++ }
++
++ if (e == strlen(str))
++ break;
++
++ e++;
++ }
++
++ return num_ovls;
++}
++
++static ssize_t store_framebuffers(struct device *dev,
++ struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct platform_device *pdev = to_platform_device(dev);
++ struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
++ int idx;
++ char fbname[3];
++ unsigned long fbnum;
++ char ovlnames[40];
++ int num_ovls = 0;
++ struct omap_overlay *ovls[OMAPFB_MAX_OVL_PER_FB];
++ struct fb_info *fbi;
++ struct omapfb_info *ofbi;
++ int r, i;
++
++ idx = 0;
++ while (idx < count && buf[idx] != ' ')
++ ++idx;
++
++ if (idx == count)
++ return -EINVAL;
++
++ if (idx >= sizeof(fbname))
++ return -EINVAL;
++
++ strncpy(fbname, buf, idx);
++ fbname[idx] = 0;
++ idx++;
++
++ if (strict_strtoul(fbname, 10, &fbnum))
++ return -EINVAL;
++
++ r = sscanf(buf + idx, "t:%39s", ovlnames);
++
++ if (r != 1) {
++ r = -EINVAL;
++ goto err;
++ }
++
++ omapfb_lock(fbdev);
++
++ if (fbnum >= fbdev->num_fbs) {
++ dev_err(dev, "fb not found\n");
++ r = -EINVAL;
++ goto err;
++ }
++
++ fbi = fbdev->fbs[fbnum];
++ ofbi = FB2OFB(fbi);
++
++ if (strcmp(ovlnames, "none") == 0) {
++ num_ovls = 0;
++ } else {
++ num_ovls = parse_overlays(fbdev, ovlnames, ovls);
++
++ if (num_ovls == 0) {
++ dev_err(dev, "overlays not found\n");
++ r = -EINVAL;
++ goto err;
++ }
++ }
++
++ for (i = 0; i < ofbi->num_overlays; i++) {
++ r = omapfb_detach_framebuffer(fbi, ofbi->overlays[i]);
++ if (r) {
++ dev_err(dev, "detach failed\n");
++ goto err;
++ }
++ }
++
++ if (num_ovls > 0) {
++ for (i = 0; i < num_ovls; i++) {
++ r = omapfb_attach_framebuffer(fbi, ovls[i]);
++ if (r) {
++ dev_err(dev, "attach failed\n");
++ goto err;
++ }
++ }
++ }
++
++ omapfb_unlock(fbdev);
++ return count;
++
++err:
++ omapfb_unlock(fbdev);
++ return r;
++}
++
++static ssize_t show_overlays(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ struct platform_device *pdev = to_platform_device(dev);
++ struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
++ ssize_t l = 0, size = PAGE_SIZE;
++ int i, mgr_num;
++
++ omapfb_lock(fbdev);
++
++ for (i = 0; i < fbdev->num_overlays; i++) {
++ struct omap_overlay *ovl;
++ struct omap_overlay_manager *mgr;
++
++ ovl = fbdev->overlays[i];
++ mgr = ovl->manager;
++
++ for (mgr_num = 0; mgr_num < fbdev->num_managers; mgr_num++)
++ if (fbdev->managers[mgr_num] == mgr)
++ break;
++
++ l += snprintf(buf + l, size - l,
++ "%s t:%s x:%d y:%d iw:%d ih:%d w: %d h: %d e:%d\n",
++ ovl->name,
++ mgr ? mgr->name : "none",
++ ovl->info.pos_x,
++ ovl->info.pos_y,
++ ovl->info.width,
++ ovl->info.height,
++ ovl->info.out_width,
++ ovl->info.out_height,
++ ovl->info.enabled);
++ }
++
++ omapfb_unlock(fbdev);
++
++ return l;
++}
++
++static ssize_t store_overlays(struct device *dev,
++ struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct platform_device *pdev = to_platform_device(dev);
++ struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
++ int idx;
++ struct omap_overlay *ovl = NULL;
++ struct omap_overlay_manager *mgr;
++ int r;
++ char ovlname[10];
++ int posx, posy, outw, outh;
++ int enabled;
++
++ idx = 0;
++ while (idx < count && buf[idx] != ' ')
++ ++idx;
++
++ if (idx == count)
++ return -EINVAL;
++
++ if (idx >= sizeof(ovlname))
++ return -EINVAL;
++
++ strncpy(ovlname, buf, idx);
++ ovlname[idx] = 0;
++ idx++;
++
++ omapfb_lock(fbdev);
++
++ ovl = find_overlay_by_name(fbdev, ovlname);
++
++ if (!ovl) {
++ dev_err(dev, "ovl not found\n");
++ r = -EINVAL;
++ goto err;
++ }
++
++ DBG("ovl %s found\n", ovl->name);
++
++ mgr = ovl->manager;
++
++ posx = ovl->info.pos_x;
++ posy = ovl->info.pos_y;
++ outw = ovl->info.out_width;
++ outh = ovl->info.out_height;
++ enabled = ovl->info.enabled;
++
++ while (idx < count) {
++ char c;
++ int val;
++ int len;
++ char sval[10];
++
++ r = sscanf(buf + idx, "%c:%d%n", &c, &val, &len);
++
++ if (r != 2) {
++ val = 0;
++
++ r = sscanf(buf + idx, "%c:%9s%n", &c, sval, &len);
++
++ if (r != 2) {
++ dev_err(dev, "sscanf failed, aborting\n");
++ r = -EINVAL;
++ goto err;
++ }
++ } else {
++ sval[0] = 0;
++ }
++
++ switch (c) {
++ case 't':
++ if (strcmp(sval, "none") == 0) {
++ mgr = NULL;
++ } else {
++ mgr = find_manager_by_name(fbdev, sval);
++
++ if (mgr == NULL) {
++ dev_err(dev, "no such manager\n");
++ r = -EINVAL;
++ goto err;
++ }
++
++ DBG("manager %s found\n", mgr->name);
++ }
++
++ break;
++
++ case 'x':
++ posx = val;
++ break;
++
++ case 'y':
++ posy = val;
++ break;
++
++ case 'w':
++ if (ovl->caps & OMAP_DSS_OVL_CAP_SCALE)
++ outw = val;
++ break;
++
++ case 'h':
++ if (ovl->caps & OMAP_DSS_OVL_CAP_SCALE)
++ outh = val;
++ break;
++
++ case 'e':
++ enabled = val;
++ break;
++
++ default:
++ dev_err(dev, "unknown option %c\n", c);
++ r = -EINVAL;
++ goto err;
++ }
++
++ idx += len + 1;
++ }
++
++ r = ovl->setup_output(ovl, posx, posy, outw, outh);
++
++ if (r) {
++ dev_err(dev, "setup overlay failed\n");
++ goto err;
++ }
++
++ if (mgr != ovl->manager) {
++ /* detach old manager */
++ if (ovl->manager) {
++ r = ovl->unset_manager(ovl);
++ if (r) {
++ dev_err(dev, "detach failed\n");
++ goto err;
++ }
++ }
++
++ if (mgr) {
++ r = ovl->set_manager(ovl, mgr);
++ if (r) {
++ dev_err(dev, "Failed to attach overlay\n");
++ goto err;
++ }
++ }
++ }
++
++ r = ovl->enable(ovl, enabled);
++
++ if (r) {
++ dev_err(dev, "enable overlay failed\n");
++ goto err;
++ }
++
++ if (mgr) {
++ r = mgr->apply(mgr);
++ if (r) {
++ dev_err(dev, "failed to apply dispc config\n");
++ goto err;
++ }
++ } else {
++ ovl->enable(ovl, 0);
++ }
++
++ if (mgr && mgr->display && mgr->display->update)
++ mgr->display->update(mgr->display,
++ 0, 0,
++ mgr->display->x_res, mgr->display->y_res);
++
++ omapfb_unlock(fbdev);
++ return count;
++
++err:
++ omapfb_unlock(fbdev);
++ return r;
++}
++
++static ssize_t show_managers(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ struct platform_device *pdev = to_platform_device(dev);
++ struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
++ ssize_t l = 0, size = PAGE_SIZE;
++ int i;
++
++ omapfb_lock(fbdev);
++
++ for (i = 0; i < fbdev->num_managers; i++) {
++ struct omap_display *display;
++ struct omap_overlay_manager *mgr;
++
++ mgr = fbdev->managers[i];
++ display = mgr->display;
++
++ l += snprintf(buf + l, size - l, "%s t:%s\n",
++ mgr->name, display ? display->name : "none");
++ }
++
++ omapfb_unlock(fbdev);
++
++ return l;
++}
++
++static ssize_t store_managers(struct device *dev,
++ struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct platform_device *pdev = to_platform_device(dev);
++ struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
++ int idx;
++ struct omap_overlay_manager *mgr;
++ struct omap_display *display;
++ char mgrname[10];
++ char displayname[10];
++ int r;
++
++ idx = 0;
++ while (idx < count && buf[idx] != ' ')
++ ++idx;
++
++ if (idx == count)
++ return -EINVAL;
++
++ if (idx >= sizeof(mgrname))
++ return -EINVAL;
++
++ strncpy(mgrname, buf, idx);
++ mgrname[idx] = 0;
++ idx++;
++
++ omapfb_lock(fbdev);
++
++ mgr = find_manager_by_name(fbdev, mgrname);
++
++ if (!mgr) {
++ dev_err(dev, "manager not found\n");
++ r = -EINVAL;
++ goto err;
++ }
++
++ r = sscanf(buf + idx, "t:%9s", displayname);
++
++ if (r != 1) {
++ r = -EINVAL;
++ goto err;
++ }
++
++ if (strcmp(displayname, "none") == 0) {
++ display = NULL;
++ } else {
++ display = find_display_by_name(fbdev, displayname);
++
++ if (!display) {
++ dev_err(dev, "display not found\n");
++ r = -EINVAL;
++ goto err;
++ }
++ }
++
++ if (mgr->display) {
++ r = mgr->unset_display(mgr);
++ if (r) {
++ dev_err(dev, "failed to unset display\n");
++ goto err;
++ }
++ }
++
++ if (display) {
++ r = mgr->set_display(mgr, display);
++ if (r) {
++ dev_err(dev, "failed to set manager\n");
++ goto err;
++ }
++
++ r = mgr->apply(mgr);
++ if (r) {
++ dev_err(dev, "failed to apply dispc config\n");
++ goto err;
++ }
++ }
++
++ omapfb_unlock(fbdev);
++ return count;
++
++err:
++ omapfb_unlock(fbdev);
++ return r;
++}
++
++static ssize_t show_displays(struct device *dev, struct device_attribute *attr,
++ char *buf)
++{
++ struct platform_device *pdev = to_platform_device(dev);
++ struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
++ ssize_t l = 0, size = PAGE_SIZE;
++ int i;
++
++ omapfb_lock(fbdev);
++
++ for (i = 0; i < fbdev->num_displays; i++) {
++ struct omap_display *display;
++ enum omap_dss_update_mode mode = -1;
++ int te = 0;
++
++ display = fbdev->displays[i];
++
++ if (display->get_update_mode)
++ mode = display->get_update_mode(display);
++
++ if (display->get_te)
++ te = display->get_te(display);
++
++ l += snprintf(buf + l, size - l,
++ "%s w:%d h:%d e:%d u:%d t:%d\n",
++ display->name,
++ display->x_res,
++ display->y_res,
++ display->state != OMAP_DSS_DISPLAY_DISABLED,
++ mode, te);
++ }
++
++ omapfb_unlock(fbdev);
++
++ return l;
++}
++
++static ssize_t store_displays(struct device *dev,
++ struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct platform_device *pdev = to_platform_device(dev);
++ struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
++ int idx;
++ int enable, width, height;
++ enum omap_dss_update_mode mode;
++ struct omap_display *display = NULL;
++ int r;
++ char displayname[10];
++ int te;
++
++ idx = 0;
++ while (idx < count && buf[idx] != ' ')
++ ++idx;
++
++ if (idx == count)
++ return -EINVAL;
++
++ if (idx >= sizeof(displayname))
++ return -EINVAL;
++
++ strncpy(displayname, buf, idx);
++ displayname[idx] = 0;
++ idx++;
++
++ omapfb_lock(fbdev);
++
++ display = find_display_by_name(fbdev, displayname);
++
++ if (!display) {
++ dev_err(dev, "display not found\n");
++ r = -EINVAL;
++ goto err;
++ }
++
++ width = display->x_res;
++ height = display->y_res;
++ enable = display->state != OMAP_DSS_DISPLAY_DISABLED;
++ if (display->get_update_mode)
++ mode = display->get_update_mode(display);
++ else
++ mode = 0;
++
++ if (display->get_te)
++ te = display->get_te(display);
++ else
++ te = 0;
++
++ while (idx < count) {
++ char c;
++ int val;
++ int len;
++
++ r = sscanf(buf + idx, "%c:%d%n", &c, &val, &len);
++
++ if (r != 2) {
++ dev_err(dev, "sscanf failed, aborting\n");
++ r = -EINVAL;
++ goto err;
++ }
++
++ switch (c) {
++ case 'w':
++ width = val;
++ break;
++
++ case 'h':
++ height = val;
++ break;
++
++ case 'e':
++ enable = val;
++ break;
++
++ case 'u':
++ mode = val;
++ break;
++
++ case 't':
++ te = val;
++ break;
++
++ default:
++ dev_err(dev, "unknown option %c\n", c);
++ r = -EINVAL;
++ goto err;
++ }
++
++ idx += len + 1;
++ }
++
++ /* XXX: setmode */
++ if (enable != (display->state != OMAP_DSS_DISPLAY_DISABLED)) {
++ if (enable) {
++ r = display->enable(display);
++ if (r)
++ dev_err(dev, "failed to enable display\n");
++ } else {
++ display->disable(display);
++ }
++ }
++
++ if (display->set_update_mode && display->get_update_mode) {
++ if (mode != display->get_update_mode(display))
++ display->set_update_mode(display, mode);
++ }
++
++ if (display->enable_te && display->get_te) {
++ if (te != display->get_te(display))
++ display->enable_te(display, te);
++ }
++
++ omapfb_unlock(fbdev);
++ return count;
++
++err:
++ omapfb_unlock(fbdev);
++ return r;
++}
++
++
++static DEVICE_ATTR(framebuffers, S_IRUGO | S_IWUSR,
++ show_framebuffers, store_framebuffers);
++static DEVICE_ATTR(overlays, S_IRUGO | S_IWUSR,
++ show_overlays, store_overlays);
++static DEVICE_ATTR(managers, S_IRUGO | S_IWUSR,
++ show_managers, store_managers);
++static DEVICE_ATTR(displays, S_IRUGO | S_IWUSR,
++ show_displays, store_displays);
++
++static struct attribute *omapfb_attrs[] = {
++ &dev_attr_framebuffers.attr,
++ &dev_attr_overlays.attr,
++ &dev_attr_managers.attr,
++ &dev_attr_displays.attr,
++ NULL,
++};
++
++static struct attribute_group omapfb_attr_group = {
++ .attrs = omapfb_attrs,
++};
++
++void omapfb_create_sysfs(struct omapfb2_device *fbdev)
++{
++ int r;
++
++ r = sysfs_create_group(&fbdev->dev->kobj, &omapfb_attr_group);
++ if (r)
++ dev_err(fbdev->dev, "failed to create sysfs clk file\n");
++}
++
++void omapfb_remove_sysfs(struct omapfb2_device *fbdev)
++{
++ sysfs_remove_group(&fbdev->dev->kobj, &omapfb_attr_group);
++}
++
+diff --git a/drivers/video/omap2/omapfb.h b/drivers/video/omap2/omapfb.h
+new file mode 100644
+index 0000000..04ca444
+--- /dev/null
++++ b/drivers/video/omap2/omapfb.h
+@@ -0,0 +1,104 @@
++/*
++ * linux/drivers/video/omap2/omapfb.h
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * Some code and ideas taken from drivers/video/omap/ driver
++ * by Imre Deak.
++ *
++ * 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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#ifndef __DRIVERS_VIDEO_OMAP2_OMAPFB_H__
++#define __DRIVERS_VIDEO_OMAP2_OMAPFB_H__
++
++#ifdef CONFIG_FB_OMAP2_DEBUG
++#define DEBUG
++#endif
++
++#ifdef DEBUG
++#define DBG(format, ...) printk(KERN_DEBUG "OMAPFB: " format, ## __VA_ARGS__)
++#else
++#define DBG(format, ...)
++#endif
++
++#define FB2OFB(fb_info) ((struct omapfb_info *)(fb_info->par))
++
++/* max number of overlays to which a framebuffer data can be direct */
++#define OMAPFB_MAX_OVL_PER_FB 3
++
++/* appended to fb_info */
++struct omapfb_info {
++ int id;
++ struct omapfb_mem_region region;
++ int num_overlays;
++ struct omap_overlay *overlays[OMAPFB_MAX_OVL_PER_FB];
++ struct omapfb2_device *fbdev;
++};
++
++struct omapfb2_device {
++ struct device *dev;
++ struct mutex mtx;
++
++ u32 pseudo_palette[17];
++
++ int state;
++
++ int num_fbs;
++ struct fb_info *fbs[10];
++
++ int num_displays;
++ struct omap_display *displays[10];
++ int num_overlays;
++ struct omap_overlay *overlays[10];
++ int num_managers;
++ struct omap_overlay_manager *managers[10];
++};
++
++int omapfb_apply_changes(struct fb_info *fbi, int init);
++int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl,
++ int posx, int posy, int outw, int outh);
++
++void omapfb_create_sysfs(struct omapfb2_device *fbdev);
++void omapfb_remove_sysfs(struct omapfb2_device *fbdev);
++
++int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg);
++
++/* find the display connected to this fb, if any */
++static inline struct omap_display *fb2display(struct fb_info *fbi)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ int i;
++
++ /* XXX: returns the display connected to first attached overlay */
++ for (i = 0; i < ofbi->num_overlays; i++) {
++ if (ofbi->overlays[i]->manager)
++ return ofbi->overlays[i]->manager->display;
++ }
++
++ return NULL;
++}
++
++static inline void omapfb_lock(struct omapfb2_device *fbdev)
++{
++ mutex_lock(&fbdev->mtx);
++}
++
++static inline void omapfb_unlock(struct omapfb2_device *fbdev)
++{
++ mutex_unlock(&fbdev->mtx);
++}
++
++
++#endif
+--
+1.5.6.3
+
diff --git a/packages/linux/linux-omap/0006-DSS-Add-generic-DVI-panel.patch b/packages/linux/linux-omap/0006-DSS-Add-generic-DVI-panel.patch
new file mode 100644
index 0000000000..bbf96ecc6f
--- /dev/null
+++ b/packages/linux/linux-omap/0006-DSS-Add-generic-DVI-panel.patch
@@ -0,0 +1,219 @@
+From ff78ff9513a40be30649420bc9833793a6e70b75 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Tue, 11 Nov 2008 13:52:56 +0200
+Subject: [PATCH] DSS: Add generic DVI panel
+
+For some reason we can't allocate enough mem for 1280x1024x24bpp, even if
+there should be enough continuous mem. So 1280x1024 mode defaults to
+16bpp for now.
+
+You also need DSI PLL to generate pix clock for 1280x1024.
+---
+ drivers/video/omap2/Kconfig | 23 ++++++
+ drivers/video/omap2/Makefile | 2 +
+ drivers/video/omap2/panel-dvi.c | 150 +++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 175 insertions(+), 0 deletions(-)
+ create mode 100644 drivers/video/omap2/panel-dvi.c
+
+diff --git a/drivers/video/omap2/Kconfig b/drivers/video/omap2/Kconfig
+index 4b72479..11ca6fe 100644
+--- a/drivers/video/omap2/Kconfig
++++ b/drivers/video/omap2/Kconfig
+@@ -24,6 +24,29 @@ config FB_OMAP2_FORCE_AUTO_UPDATE
+ menu "OMAP2/3 Display Device Drivers"
+ depends on OMAP2_DSS
+
++config PANEL_DVI
++ tristate "DVI Panel"
++ help
++ DVI output, for Beagle and OMAP3 SDP
++
++choice
++ prompt "Default DVI Mode"
++ depends on PANEL_DVI
++ default PANEL_DVI_1024X768
++
++config PANEL_DVI_640X480
++ bool "640 x 480 @ 60"
++
++config PANEL_DVI_800X600
++ bool "800 x 600 @ 60"
++
++config PANEL_DVI_1024X768
++ bool "1024 x 768 @ 60"
++
++config PANEL_DVI_1280X1024
++ bool "1280 x 1024 @ 57"
++
++endchoice
+
+ endmenu
+
+diff --git a/drivers/video/omap2/Makefile b/drivers/video/omap2/Makefile
+index 51c2e00..7c75340 100644
+--- a/drivers/video/omap2/Makefile
++++ b/drivers/video/omap2/Makefile
+@@ -1,2 +1,4 @@
+ obj-$(CONFIG_FB_OMAP2) += omapfb.o
+ omapfb-y := omapfb-main.o omapfb-sysfs.o omapfb-ioctl.o
++
++obj-$(CONFIG_PANEL_DVI) += panel-dvi.o
+diff --git a/drivers/video/omap2/panel-dvi.c b/drivers/video/omap2/panel-dvi.c
+new file mode 100644
+index 0000000..393eaf1
+--- /dev/null
++++ b/drivers/video/omap2/panel-dvi.c
+@@ -0,0 +1,150 @@
++/*
++ * DVI panel support
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <linux/module.h>
++#include <linux/delay.h>
++
++#include <mach/display.h>
++
++static int dvi_panel_init(struct omap_display *display)
++{
++ return 0;
++}
++
++static int dvi_panel_enable(struct omap_display *display)
++{
++ int r = 0;
++
++ if (display->hw_config.panel_enable)
++ r = display->hw_config.panel_enable(display);
++
++ return r;
++}
++
++static void dvi_panel_disable(struct omap_display *display)
++{
++ if (display->hw_config.panel_disable)
++ display->hw_config.panel_disable(display);
++}
++
++static int dvi_panel_suspend(struct omap_display *display)
++{
++ dvi_panel_disable(display);
++ return 0;
++}
++
++static int dvi_panel_resume(struct omap_display *display)
++{
++ return dvi_panel_enable(display);
++}
++
++static struct omap_panel dvi_panel = {
++ .owner = THIS_MODULE,
++ .name = "panel-dvi",
++ .init = dvi_panel_init,
++ /*.remove = dvi_cleanup, */
++ .enable = dvi_panel_enable,
++ .disable = dvi_panel_disable,
++ .suspend = dvi_panel_suspend,
++ .resume = dvi_panel_resume,
++ /*.set_mode = dvi_set_mode, */
++
++#if defined(CONFIG_PANEL_DVI_640X480)
++ .timings = {
++ /* 640 x 480 @ 60 hz reduced blanking vesa
++ * (dunno if these are correct) */
++ .pixel_clock = 23500,
++ .hfp = 48,
++ .hsw = 32,
++ .hbp = 80,
++ .vfp = 3,
++ .vsw = 4,
++ .vbp = 11,
++ },
++
++ .x_res = 640,
++ .y_res = 480,
++ .bpp = 24,
++#elif defined(CONFIG_PANEL_DVI_800X600)
++ .timings = {
++ /* 800 x 600 @ 60 hz reduced blanking vesa cvt 0.48m3-r */
++ .pixel_clock = 35500,
++ .hfp = 48,
++ .hsw = 32,
++ .hbp = 80,
++ .vfp = 3,
++ .vsw = 4,
++ .vbp = 11,
++ },
++
++ .x_res = 800,
++ .y_res = 600,
++ .bpp = 24,
++#elif defined(CONFIG_PANEL_DVI_1024X768)
++ .timings = {
++ /* 1024 x 768 @ 60 Hz Reduced blanking */
++ .pixel_clock = 56000,
++ .hfp = 48,
++ .hsw = 32,
++ .hbp = 80,
++ .vfp = 3,
++ .vsw = 4,
++ .vbp = 15,
++ },
++
++ .x_res = 1024,
++ .y_res = 768,
++ .bpp = 24,
++#elif defined(CONFIG_PANEL_DVI_1280X1024)
++ .timings = {
++ /* 1280 x 1024 @ 57 Hz Reduced blanking */
++ .pixel_clock = 86500,
++ .hfp = 48,
++ .hsw = 32,
++ .hbp = 80,
++ .vfp = 3,
++ .vsw = 4,
++ .vbp = 15,
++ },
++
++ .x_res = 1280,
++ .y_res = 1024,
++ .bpp = 16,
++#else
++#error Undefined default mode
++#endif
++
++ .config = OMAP_DSS_LCD_TFT,
++};
++
++
++static int __init dvi_panel_drv_init(void)
++{
++ omap_dss_register_panel(&dvi_panel);
++ return 0;
++}
++
++static void __exit dvi_panel_drv_exit(void)
++{
++ omap_dss_unregister_panel(&dvi_panel);
++}
++
++module_init(dvi_panel_drv_init);
++module_exit(dvi_panel_drv_exit);
++MODULE_LICENSE("GPL");
+--
+1.5.6.3
+
diff --git a/packages/linux/linux-omap/0007-DSS-support-for-Beagle-Board.patch b/packages/linux/linux-omap/0007-DSS-support-for-Beagle-Board.patch
new file mode 100644
index 0000000000..9ca1bd7a66
--- /dev/null
+++ b/packages/linux/linux-omap/0007-DSS-support-for-Beagle-Board.patch
@@ -0,0 +1,184 @@
+From 1a63704f218e5ec0bc6f94fc0629ab96f3d6ab34 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Mon, 29 Sep 2008 17:03:36 +0300
+Subject: [PATCH] DSS: support for Beagle Board
+
+Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+---
+ arch/arm/mach-omap2/board-omap3beagle.c | 123 +++++++++++++++++++++++++++----
+ 1 files changed, 107 insertions(+), 16 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index c1de795..cd0c776 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -42,6 +42,8 @@
+ #include <mach/gpmc.h>
+ #include <mach/nand.h>
+ #include <mach/mux.h>
++#include <mach/omapfb.h>
++#include <mach/display.h>
+
+ #include "twl4030-generic-scripts.h"
+ #include "mmc-twl4030.h"
+@@ -200,15 +202,6 @@ static void __init omap3_beagle_init_irq(void)
+ omap_gpio_init();
+ }
+
+-static struct platform_device omap3_beagle_lcd_device = {
+- .name = "omap3beagle_lcd",
+- .id = -1,
+-};
+-
+-static struct omap_lcd_config omap3_beagle_lcd_config __initdata = {
+- .ctrl_name = "internal",
+-};
+-
+ static struct gpio_led gpio_leds[] = {
+ {
+ .name = "beagleboard::usr0",
+@@ -262,13 +255,113 @@ static struct platform_device keys_gpio = {
+ },
+ };
+
++/* DSS */
++
++static int beagle_enable_dvi(struct omap_display *display)
++{
++ if (display->hw_config.panel_reset_gpio != -1)
++ gpio_direction_output(display->hw_config.panel_reset_gpio, 1);
++
++ return 0;
++}
++
++static void beagle_disable_dvi(struct omap_display *display)
++{
++ if (display->hw_config.panel_reset_gpio != -1)
++ gpio_direction_output(display->hw_config.panel_reset_gpio, 0);
++}
++
++static struct omap_display_data beagle_display_data_dvi = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "dvi",
++ .panel_name = "panel-dvi",
++ .u.dpi.data_lines = 24,
++ .panel_reset_gpio = 170,
++ .panel_enable = beagle_enable_dvi,
++ .panel_disable = beagle_disable_dvi,
++};
++
++
++static int beagle_panel_enable_tv(struct omap_display *display)
++{
++#define ENABLE_VDAC_DEDICATED 0x03
++#define ENABLE_VDAC_DEV_GRP 0x20
++
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEDICATED,
++ TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEV_GRP, TWL4030_VDAC_DEV_GRP);
++
++ return 0;
++}
++
++static void beagle_panel_disable_tv(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEV_GRP);
++}
++
++static struct omap_display_data beagle_display_data_tv = {
++ .type = OMAP_DISPLAY_TYPE_VENC,
++ .name = "tv",
++ .u.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
++ .panel_enable = beagle_panel_enable_tv,
++ .panel_disable = beagle_panel_disable_tv,
++};
++
++static struct omap_dss_platform_data beagle_dss_data = {
++ .num_displays = 2,
++ .displays = {
++ &beagle_display_data_dvi,
++ &beagle_display_data_tv,
++ }
++};
++
++static struct platform_device beagle_dss_device = {
++ .name = "omap-dss",
++ .id = -1,
++ .dev = {
++ .platform_data = &beagle_dss_data,
++ },
++};
++
++static void __init beagle_display_init(void)
++{
++ int r;
++
++ r = gpio_request(beagle_display_data_dvi.panel_reset_gpio, "DVI reset");
++ if (r < 0)
++ printk(KERN_ERR "Unable to get DVI reset GPIO\n");
++}
++
++static struct omap_fbmem_config beagle_fbmem0_config = {
++ .size = 1024*768*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
++};
++
++static struct omap_fbmem_config beagle_fbmem1_config = {
++ .size = 1024*768*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
++};
++
++static struct omap_fbmem_config beagle_fbmem2_config = {
++ .size = 1024*768*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
++};
++
++
+ static struct omap_board_config_kernel omap3_beagle_config[] __initdata = {
+ { OMAP_TAG_UART, &omap3_beagle_uart_config },
+- { OMAP_TAG_LCD, &omap3_beagle_lcd_config },
++ { OMAP_TAG_FBMEM, &beagle_fbmem0_config },
++ { OMAP_TAG_FBMEM, &beagle_fbmem1_config },
++ { OMAP_TAG_FBMEM, &beagle_fbmem2_config },
+ };
+
+ static struct platform_device *omap3_beagle_devices[] __initdata = {
+- &omap3_beagle_lcd_device,
++ &beagle_dss_device,
+ &leds_gpio,
+ &keys_gpio,
+ };
+@@ -316,22 +409,20 @@ static void __init omap3_beagle_init(void)
+ omap3_beagle_i2c_init();
+ platform_add_devices(omap3_beagle_devices,
+ ARRAY_SIZE(omap3_beagle_devices));
+- omap_board_config = omap3_beagle_config;
+- omap_board_config_size = ARRAY_SIZE(omap3_beagle_config);
+ omap_serial_init();
+
+ omap_cfg_reg(J25_34XX_GPIO170);
+- gpio_request(170, "DVI_nPD");
+- /* REVISIT leave DVI powered down until it's needed ... */
+- gpio_direction_output(170, true);
+
+ usb_musb_init();
+ usb_ehci_init();
+ omap3beagle_flash_init();
++ beagle_display_init();
+ }
+
+ static void __init omap3_beagle_map_io(void)
+ {
++ omap_board_config = omap3_beagle_config;
++ omap_board_config_size = ARRAY_SIZE(omap3_beagle_config);
+ omap2_set_globals_343x();
+ omap2_map_common_io();
+ }
+--
+1.5.6.3
+
diff --git a/packages/linux/linux-omap/0008-DSS-BEAGLE-Enable-DSS-in-beagle-defconfig.patch b/packages/linux/linux-omap/0008-DSS-BEAGLE-Enable-DSS-in-beagle-defconfig.patch
new file mode 100644
index 0000000000..858cccf6df
--- /dev/null
+++ b/packages/linux/linux-omap/0008-DSS-BEAGLE-Enable-DSS-in-beagle-defconfig.patch
@@ -0,0 +1,462 @@
+From 53561526e1e9bf20dd9e17b66f2a1b1c6cfec935 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Fri, 7 Nov 2008 16:54:01 +0200
+Subject: [PATCH] DSS: BEAGLE: Enable DSS in beagle defconfig
+
+---
+ arch/arm/configs/omap3_beagle_defconfig | 149 +++++++++++++++++++++----------
+ 1 files changed, 102 insertions(+), 47 deletions(-)
+
+diff --git a/arch/arm/configs/omap3_beagle_defconfig b/arch/arm/configs/omap3_beagle_defconfig
+index df67296..aa3ee12 100644
+--- a/arch/arm/configs/omap3_beagle_defconfig
++++ b/arch/arm/configs/omap3_beagle_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.27-omap1
+-# Fri Oct 17 14:05:39 2008
++# Linux kernel version: 2.6.28-rc4-omap1
++# Thu Nov 13 15:51:03 2008
+ #
+ CONFIG_ARM=y
+ CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+@@ -22,8 +22,6 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
+ # CONFIG_ARCH_HAS_ILOG2_U64 is not set
+ CONFIG_GENERIC_HWEIGHT=y
+ CONFIG_GENERIC_CALIBRATE_DELAY=y
+-CONFIG_ARCH_SUPPORTS_AOUT=y
+-CONFIG_ZONE_DMA=y
+ CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+ CONFIG_VECTORS_BASE=0xffff0000
+ CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+@@ -79,6 +77,7 @@ CONFIG_SIGNALFD=y
+ CONFIG_TIMERFD=y
+ CONFIG_EVENTFD=y
+ CONFIG_SHMEM=y
++CONFIG_AIO=y
+ CONFIG_VM_EVENT_COUNTERS=y
+ CONFIG_SLAB=y
+ # CONFIG_SLUB is not set
+@@ -87,15 +86,9 @@ CONFIG_SLAB=y
+ # CONFIG_MARKERS is not set
+ CONFIG_HAVE_OPROFILE=y
+ # CONFIG_KPROBES is not set
+-# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
+-# CONFIG_HAVE_IOREMAP_PROT is not set
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
+-# CONFIG_HAVE_ARCH_TRACEHOOK is not set
+-# CONFIG_HAVE_DMA_ATTRS is not set
+-# CONFIG_USE_GENERIC_SMP_HELPERS is not set
+ CONFIG_HAVE_CLK=y
+-CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+ CONFIG_SLABINFO=y
+ CONFIG_RT_MUTEXES=y
+@@ -128,6 +121,7 @@ CONFIG_DEFAULT_AS=y
+ # CONFIG_DEFAULT_NOOP is not set
+ CONFIG_DEFAULT_IOSCHED="anticipatory"
+ CONFIG_CLASSIC_RCU=y
++# CONFIG_FREEZER is not set
+
+ #
+ # System Type
+@@ -168,7 +162,7 @@ CONFIG_CLASSIC_RCU=y
+ # CONFIG_ARCH_LH7A40X is not set
+ # CONFIG_ARCH_DAVINCI is not set
+ CONFIG_ARCH_OMAP=y
+-# CONFIG_ARCH_MSM7X00A is not set
++# CONFIG_ARCH_MSM is not set
+
+ #
+ # TI OMAP Implementations
+@@ -200,6 +194,14 @@ CONFIG_OMAP_DM_TIMER=y
+ # CONFIG_OMAP_LL_DEBUG_UART1 is not set
+ # CONFIG_OMAP_LL_DEBUG_UART2 is not set
+ CONFIG_OMAP_LL_DEBUG_UART3=y
++CONFIG_OMAP2_DSS=y
++# CONFIG_OMAP2_DSS_DEBUG is not set
++# CONFIG_OMAP2_DSS_RFBI is not set
++CONFIG_OMAP2_DSS_VENC=y
++# CONFIG_OMAP2_DSS_SDI is not set
++# CONFIG_OMAP2_DSS_DSI is not set
++# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
++CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
+ CONFIG_ARCH_OMAP34XX=y
+ CONFIG_ARCH_OMAP3430=y
+
+@@ -211,6 +213,7 @@ CONFIG_ARCH_OMAP3430=y
+ # CONFIG_MACH_OMAP3EVM is not set
+ CONFIG_MACH_OMAP3_BEAGLE=y
+ # CONFIG_MACH_OVERO is not set
++# CONFIG_MACH_OMAP3_PANDORA is not set
+ CONFIG_OMAP_TICK_GPTIMER=12
+
+ #
+@@ -263,26 +266,30 @@ CONFIG_TICK_ONESHOT=y
+ CONFIG_NO_HZ=y
+ CONFIG_HIGH_RES_TIMERS=y
+ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
++CONFIG_VMSPLIT_3G=y
++# CONFIG_VMSPLIT_2G is not set
++# CONFIG_VMSPLIT_1G is not set
++CONFIG_PAGE_OFFSET=0xC0000000
+ # CONFIG_PREEMPT is not set
+ CONFIG_HZ=128
+ CONFIG_AEABI=y
+ CONFIG_OABI_COMPAT=y
+ CONFIG_ARCH_FLATMEM_HAS_HOLES=y
+-# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
++# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
++# CONFIG_ARCH_SELECT_MEMORY_MODEL 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_SPARSEMEM_VMEMMAP_ENABLE is not set
+ CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4
+ # CONFIG_RESOURCES_64BIT is not set
+-CONFIG_ZONE_DMA_FLAG=1
+-CONFIG_BOUNCE=y
++# CONFIG_PHYS_ADDR_T_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=0
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_UNEVICTABLE_LRU=y
+ # CONFIG_LEDS is not set
+ CONFIG_ALIGNMENT_TRAP=y
+
+@@ -296,9 +303,10 @@ CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.1:/home/user/buildroot ip=192.16
+ # CONFIG_KEXEC is not set
+
+ #
+-# CPU Frequency scaling
++# CPU Power Management
+ #
+ # CONFIG_CPU_FREQ is not set
++# CONFIG_CPU_IDLE is not set
+
+ #
+ # Floating point emulation
+@@ -318,6 +326,8 @@ CONFIG_VFPv3=y
+ # Userspace binary formats
+ #
+ CONFIG_BINFMT_ELF=y
++# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
++CONFIG_HAVE_AOUT=y
+ # CONFIG_BINFMT_AOUT is not set
+ CONFIG_BINFMT_MISC=y
+
+@@ -379,6 +389,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TIPC is not set
+ # CONFIG_ATM is not set
+ # CONFIG_BRIDGE is not set
++# CONFIG_NET_DSA is not set
+ # CONFIG_VLAN_8021Q is not set
+ # CONFIG_DECNET is not set
+ # CONFIG_LLC2 is not set
+@@ -399,11 +410,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_IRDA is not set
+ # CONFIG_BT is not set
+ # CONFIG_AF_RXRPC is not set
+-
+-#
+-# Wireless
+-#
++# CONFIG_PHONET is not set
++CONFIG_WIRELESS=y
+ # CONFIG_CFG80211 is not set
++CONFIG_WIRELESS_OLD_REGULATORY=y
+ # CONFIG_WIRELESS_EXT is not set
+ # CONFIG_MAC80211 is not set
+ # CONFIG_IEEE80211 is not set
+@@ -490,6 +500,7 @@ CONFIG_MTD_NAND=y
+ # CONFIG_MTD_NAND_VERIFY_WRITE is not set
+ # CONFIG_MTD_NAND_ECC_SMC is not set
+ # CONFIG_MTD_NAND_MUSEUM_IDS is not set
++# CONFIG_MTD_NAND_GPIO is not set
+ CONFIG_MTD_NAND_OMAP2=y
+ CONFIG_MTD_NAND_IDS=y
+ # CONFIG_MTD_NAND_DISKONCHIP is not set
+@@ -743,6 +754,8 @@ CONFIG_GPIO_TWL4030=y
+ # CONFIG_W1 is not set
+ # CONFIG_POWER_SUPPLY is not set
+ # CONFIG_HWMON is not set
++# CONFIG_THERMAL is not set
++# CONFIG_THERMAL_HWMON is not set
+ # CONFIG_WATCHDOG is not set
+
+ #
+@@ -760,10 +773,14 @@ CONFIG_SSB_POSSIBLE=y
+ # CONFIG_HTC_EGPIO is not set
+ # CONFIG_HTC_PASIC3 is not set
+ CONFIG_TWL4030_CORE=y
++# CONFIG_TWL4030_POWER is not set
+ # CONFIG_MFD_TMIO is not set
+ # CONFIG_MFD_T7L66XB is not set
+ # CONFIG_MFD_TC6387XB is not set
+ # CONFIG_MFD_TC6393XB is not set
++# CONFIG_PMIC_DA903X is not set
++# CONFIG_MFD_WM8400 is not set
++# CONFIG_MFD_WM8350_I2C is not set
+
+ #
+ # Multimedia devices
+@@ -790,6 +807,7 @@ CONFIG_DAB=y
+ CONFIG_FB=y
+ # CONFIG_FIRMWARE_EDID is not set
+ # CONFIG_FB_DDC is not set
++# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+ CONFIG_FB_CFB_FILLRECT=y
+ CONFIG_FB_CFB_COPYAREA=y
+ CONFIG_FB_CFB_IMAGEBLIT=y
+@@ -810,10 +828,22 @@ CONFIG_FB_CFB_IMAGEBLIT=y
+ #
+ # CONFIG_FB_S1D13XXX is not set
+ # CONFIG_FB_VIRTUAL is not set
+-CONFIG_FB_OMAP=y
+-# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
+-# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
+-CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=4
++# CONFIG_FB_METRONOME is not set
++# CONFIG_FB_MB862XX is not set
++CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=14
++CONFIG_FB_OMAP2=y
++# CONFIG_FB_OMAP2_DEBUG is not set
++# CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE is not set
++
++#
++# OMAP2/3 Display Device Drivers
++#
++CONFIG_PANEL_DVI=y
++# CONFIG_PANEL_DVI_LOWLOWRES is not set
++# CONFIG_PANEL_DVI_LOWRES is not set
++CONFIG_PANEL_DVI_HIGHRES=y
++# CONFIG_PANEL_DVI_VERYHIGHRES is not set
++# CONFIG_PANEL_SDP3430 is not set
+ # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+ #
+@@ -862,6 +892,8 @@ CONFIG_USB_OTG=y
+ # CONFIG_USB_OTG_WHITELIST is not set
+ # CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ CONFIG_USB_MON=y
++# CONFIG_USB_WUSB is not set
++# CONFIG_USB_WUSB_CBAF is not set
+
+ #
+ # USB Host Controller Drivers
+@@ -873,6 +905,7 @@ CONFIG_USB_MON=y
+ # CONFIG_USB_OHCI_HCD is not set
+ # CONFIG_USB_SL811_HCD is not set
+ # CONFIG_USB_R8A66597_HCD is not set
++# CONFIG_USB_HWA_HCD is not set
+ CONFIG_USB_MUSB_HDRC=y
+ CONFIG_USB_MUSB_SOC=y
+
+@@ -895,6 +928,7 @@ CONFIG_USB_INVENTRA_DMA=y
+ # CONFIG_USB_ACM is not set
+ # CONFIG_USB_PRINTER is not set
+ # CONFIG_USB_WDM is not set
++# CONFIG_USB_TMC is not set
+
+ #
+ # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+@@ -923,6 +957,7 @@ CONFIG_USB_INVENTRA_DMA=y
+ # CONFIG_USB_EMI62 is not set
+ # CONFIG_USB_EMI26 is not set
+ # CONFIG_USB_ADUTUX is not set
++# CONFIG_USB_SEVSEG is not set
+ # CONFIG_USB_RIO500 is not set
+ # CONFIG_USB_LEGOTOWER is not set
+ # CONFIG_USB_LCD is not set
+@@ -939,22 +974,25 @@ CONFIG_USB_INVENTRA_DMA=y
+ # CONFIG_USB_IOWARRIOR is not set
+ # CONFIG_USB_TEST is not set
+ # CONFIG_USB_ISIGHTFW is not set
++# CONFIG_USB_VST is not set
+ CONFIG_USB_GADGET=y
+ # CONFIG_USB_GADGET_DEBUG is not set
+ # CONFIG_USB_GADGET_DEBUG_FILES is not set
++CONFIG_USB_GADGET_VBUS_DRAW=2
+ CONFIG_USB_GADGET_SELECTED=y
+-# CONFIG_USB_GADGET_AMD5536UDC is not set
++# CONFIG_USB_GADGET_AT91 is not set
+ # CONFIG_USB_GADGET_ATMEL_USBA is not set
+ # CONFIG_USB_GADGET_FSL_USB2 is not set
+-# CONFIG_USB_GADGET_NET2280 is not set
+-# CONFIG_USB_GADGET_PXA25X is not set
+-# CONFIG_USB_GADGET_M66592 is not set
+-# CONFIG_USB_GADGET_PXA27X 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_PXA25X is not set
++# CONFIG_USB_GADGET_PXA27X is not set
+ # CONFIG_USB_GADGET_S3C2410 is not set
+-# CONFIG_USB_GADGET_AT91 is not set
++# CONFIG_USB_GADGET_M66592 is not set
++# CONFIG_USB_GADGET_AMD5536UDC is not set
++# CONFIG_USB_GADGET_FSL_QE is not set
++# CONFIG_USB_GADGET_NET2280 is not set
++# CONFIG_USB_GADGET_GOKU is not set
+ # CONFIG_USB_GADGET_DUMMY_HCD is not set
+ CONFIG_USB_GADGET_DUALSPEED=y
+ # CONFIG_USB_ZERO is not set
+@@ -971,7 +1009,7 @@ CONFIG_MMC=y
+ # CONFIG_MMC_UNSAFE_RESUME is not set
+
+ #
+-# MMC/SD Card Drivers
++# MMC/SD/SDIO Card Drivers
+ #
+ CONFIG_MMC_BLOCK=y
+ CONFIG_MMC_BLOCK_BOUNCE=y
+@@ -979,10 +1017,12 @@ CONFIG_MMC_BLOCK_BOUNCE=y
+ # CONFIG_MMC_TEST is not set
+
+ #
+-# MMC/SD Host Controller Drivers
++# MMC/SD/SDIO Host Controller Drivers
+ #
+ # CONFIG_MMC_SDHCI is not set
+ CONFIG_MMC_OMAP_HS=y
++# CONFIG_MEMSTICK is not set
++# CONFIG_ACCESSIBILITY is not set
+ # CONFIG_NEW_LEDS is not set
+ CONFIG_RTC_LIB=y
+ CONFIG_RTC_CLASS=y
+@@ -1024,26 +1064,22 @@ CONFIG_RTC_DRV_TWL4030=y
+ # Platform RTC drivers
+ #
+ # CONFIG_RTC_DRV_CMOS is not set
++# CONFIG_RTC_DRV_DS1286 is not set
+ # CONFIG_RTC_DRV_DS1511 is not set
+ # CONFIG_RTC_DRV_DS1553 is not set
+ # CONFIG_RTC_DRV_DS1742 is not set
+ # CONFIG_RTC_DRV_STK17TA8 is not set
+ # CONFIG_RTC_DRV_M48T86 is not set
++# CONFIG_RTC_DRV_M48T35 is not set
+ # CONFIG_RTC_DRV_M48T59 is not set
++# CONFIG_RTC_DRV_BQ4802 is not set
+ # CONFIG_RTC_DRV_V3020 is not set
+
+ #
+ # on-CPU RTC drivers
+ #
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Voltage and Current regulators
+-#
+ # CONFIG_REGULATOR is not set
+-# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
+-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+-# CONFIG_REGULATOR_BQ24022 is not set
+ # CONFIG_UIO is not set
+
+ #
+@@ -1059,11 +1095,12 @@ CONFIG_EXT2_FS=y
+ # 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_EXT4_FS is not set
+ CONFIG_JBD=y
+ # CONFIG_REISERFS_FS is not set
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
++CONFIG_FILE_LOCKING=y
+ # CONFIG_XFS_FS is not set
+ # CONFIG_OCFS2_FS is not set
+ CONFIG_DNOTIFY=y
+@@ -1100,6 +1137,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+ #
+ CONFIG_PROC_FS=y
+ CONFIG_PROC_SYSCTL=y
++CONFIG_PROC_PAGE_MONITOR=y
+ CONFIG_SYSFS=y
+ CONFIG_TMPFS=y
+ # CONFIG_TMPFS_POSIX_ACL is not set
+@@ -1148,6 +1186,7 @@ CONFIG_LOCKD_V4=y
+ CONFIG_NFS_COMMON=y
+ CONFIG_SUNRPC=y
+ CONFIG_SUNRPC_GSS=y
++# CONFIG_SUNRPC_REGISTER_V4 is not set
+ CONFIG_RPCSEC_GSS_KRB5=y
+ # CONFIG_RPCSEC_GSS_SPKM3 is not set
+ # CONFIG_SMB_FS is not set
+@@ -1260,15 +1299,23 @@ CONFIG_DEBUG_INFO=y
+ CONFIG_FRAME_POINTER=y
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+ # CONFIG_RCU_TORTURE_TEST is not set
++# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+ # CONFIG_BACKTRACE_SELF_TEST is not set
++# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+ # CONFIG_FAULT_INJECTION is not set
+ # CONFIG_LATENCYTOP is not set
+-CONFIG_HAVE_FTRACE=y
+-CONFIG_HAVE_DYNAMIC_FTRACE=y
+-# CONFIG_FTRACE is not set
++CONFIG_HAVE_FUNCTION_TRACER=y
++
++#
++# Tracers
++#
++# CONFIG_FUNCTION_TRACER is not set
+ # CONFIG_IRQSOFF_TRACER is not set
+ # CONFIG_SCHED_TRACER is not set
+ # CONFIG_CONTEXT_SWITCH_TRACER is not set
++# CONFIG_BOOT_TRACER is not set
++# CONFIG_STACK_TRACER is not set
++# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
+ # CONFIG_SAMPLES is not set
+ CONFIG_HAVE_ARCH_KGDB=y
+ # CONFIG_KGDB is not set
+@@ -1282,14 +1329,19 @@ CONFIG_HAVE_ARCH_KGDB=y
+ #
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
++# CONFIG_SECURITYFS is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
+
+ #
+ # Crypto core or helper
+ #
++# CONFIG_CRYPTO_FIPS is not set
+ CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_AEAD=y
+ CONFIG_CRYPTO_BLKCIPHER=y
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_RNG=y
+ CONFIG_CRYPTO_MANAGER=y
+ # CONFIG_CRYPTO_GF128MUL is not set
+ # CONFIG_CRYPTO_NULL is not set
+@@ -1362,14 +1414,17 @@ CONFIG_CRYPTO_DES=y
+ #
+ # CONFIG_CRYPTO_DEFLATE is not set
+ # CONFIG_CRYPTO_LZO is not set
++
++#
++# Random Number Generation
++#
++# CONFIG_CRYPTO_ANSI_CPRNG is not set
+ CONFIG_CRYPTO_HW=y
+
+ #
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
+-# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
+ CONFIG_CRC_CCITT=y
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_T10DIF is not set
+--
+1.5.6.3
+
diff --git a/packages/linux/linux-omap/0009-DSS-Sharp-LS037V7DW01-LCD-Panel-driver.patch b/packages/linux/linux-omap/0009-DSS-Sharp-LS037V7DW01-LCD-Panel-driver.patch
new file mode 100644
index 0000000000..68720a9b91
--- /dev/null
+++ b/packages/linux/linux-omap/0009-DSS-Sharp-LS037V7DW01-LCD-Panel-driver.patch
@@ -0,0 +1,155 @@
+From 436d6597311770af1d3a6d42560f34d6342a1c2f Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Fri, 14 Nov 2008 15:47:19 +0200
+Subject: [PATCH] DSS: Sharp LS037V7DW01 LCD Panel driver
+
+Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+---
+ drivers/video/omap2/Kconfig | 7 ++-
+ drivers/video/omap2/Makefile | 1 +
+ drivers/video/omap2/panel-sharp-ls037v7dw01.c | 108 +++++++++++++++++++++++++
+ 3 files changed, 115 insertions(+), 1 deletions(-)
+ create mode 100644 drivers/video/omap2/panel-sharp-ls037v7dw01.c
+
+diff --git a/drivers/video/omap2/Kconfig b/drivers/video/omap2/Kconfig
+index 11ca6fe..4bd3f87 100644
+--- a/drivers/video/omap2/Kconfig
++++ b/drivers/video/omap2/Kconfig
+@@ -48,5 +48,10 @@ config PANEL_DVI_1280X1024
+
+ endchoice
+
+-endmenu
++config PANEL_SHARP_LS037V7DW01
++ tristate "Sharp LS037V7DW01 LCD Panel"
++ depends on OMAP2_DSS
++ help
++ LCD Panel used in TI's SDP3430 and EVM boards
+
++endmenu
+diff --git a/drivers/video/omap2/Makefile b/drivers/video/omap2/Makefile
+index 7c75340..b86dd0b 100644
+--- a/drivers/video/omap2/Makefile
++++ b/drivers/video/omap2/Makefile
+@@ -2,3 +2,4 @@ obj-$(CONFIG_FB_OMAP2) += omapfb.o
+ omapfb-y := omapfb-main.o omapfb-sysfs.o omapfb-ioctl.o
+
+ obj-$(CONFIG_PANEL_DVI) += panel-dvi.o
++obj-$(CONFIG_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
+diff --git a/drivers/video/omap2/panel-sharp-ls037v7dw01.c b/drivers/video/omap2/panel-sharp-ls037v7dw01.c
+new file mode 100644
+index 0000000..b4270df
+--- /dev/null
++++ b/drivers/video/omap2/panel-sharp-ls037v7dw01.c
+@@ -0,0 +1,108 @@
++/*
++ * LCD panel driver for Sharp LS037V7DW01
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <linux/module.h>
++#include <linux/delay.h>
++
++#include <mach/display.h>
++
++static int sharp_ls_panel_init(struct omap_display *display)
++{
++ return 0;
++}
++
++static void sharp_ls_panel_cleanup(struct omap_display *display)
++{
++}
++
++static int sharp_ls_panel_enable(struct omap_display *display)
++{
++ int r = 0;
++
++ if (display->hw_config.panel_enable)
++ r = display->hw_config.panel_enable(display);
++
++ return r;
++}
++
++static void sharp_ls_panel_disable(struct omap_display *display)
++{
++ if (display->hw_config.panel_disable)
++ display->hw_config.panel_disable(display);
++}
++
++static int sharp_ls_panel_suspend(struct omap_display *display)
++{
++ sharp_ls_panel_disable(display);
++ return 0;
++}
++
++static int sharp_ls_panel_resume(struct omap_display *display)
++{
++ return sharp_ls_panel_enable(display);
++}
++
++static struct omap_panel sharp_ls_panel = {
++ .owner = THIS_MODULE,
++ .name = "sharp-ls037v7dw01",
++ .init = sharp_ls_panel_init,
++ .cleanup = sharp_ls_panel_cleanup,
++ .enable = sharp_ls_panel_enable,
++ .disable = sharp_ls_panel_disable,
++ .suspend = sharp_ls_panel_suspend,
++ .resume = sharp_ls_panel_resume,
++ /*.set_mode = sharp_ls_set_mode, */
++
++ .timings = {
++ .pixel_clock = 19200,
++
++ .hsw = 2,
++ .hfp = 1,
++ .hbp = 28,
++
++ .vsw = 1,
++ .vfp = 1,
++ .vbp = 1,
++ },
++
++ .acb = 0x28,
++
++ .config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
++ OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_IPC,
++
++ .x_res = 480,
++ .y_res = 640,
++ .bpp = 16,
++};
++
++
++static int __init sharp_ls_panel_drv_init(void)
++{
++ omap_dss_register_panel(&sharp_ls_panel);
++ return 0;
++}
++
++static void __exit sharp_ls_panel_drv_exit(void)
++{
++ omap_dss_unregister_panel(&sharp_ls_panel);
++}
++
++module_init(sharp_ls_panel_drv_init);
++module_exit(sharp_ls_panel_drv_exit);
++MODULE_LICENSE("GPL");
+--
+1.5.6.3
+
diff --git a/packages/linux/linux-omap/0009-DSS-support-for-OMAP3-SDP-board.patch b/packages/linux/linux-omap/0009-DSS-support-for-OMAP3-SDP-board.patch
new file mode 100644
index 0000000000..981a2021b3
--- /dev/null
+++ b/packages/linux/linux-omap/0009-DSS-support-for-OMAP3-SDP-board.patch
@@ -0,0 +1,441 @@
+From 0938c1e91fe69da535e06d092bdec6fcc95ad650 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Mon, 20 Oct 2008 13:13:15 +0300
+Subject: [PATCH] DSS: support for OMAP3 SDP board
+
+Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+---
+ arch/arm/mach-omap2/board-3430sdp.c | 234 +++++++++++++++++++++++++++++++++--
+ drivers/video/omap2/Kconfig | 7 +-
+ drivers/video/omap2/Makefile | 1 +
+ drivers/video/omap2/panel-sdp3430.c | 110 ++++++++++++++++
+ 4 files changed, 340 insertions(+), 12 deletions(-)
+ create mode 100644 drivers/video/omap2/panel-sdp3430.c
+
+diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
+index 7ee85e9..3a644b1 100644
+--- a/arch/arm/mach-omap2/board-3430sdp.c
++++ b/arch/arm/mach-omap2/board-3430sdp.c
+@@ -40,6 +40,8 @@
+ #include <mach/keypad.h>
+ #include <mach/dma.h>
+ #include <mach/gpmc.h>
++#include <mach/omapfb.h>
++#include <mach/display.h>
+
+ #include <asm/io.h>
+ #include <asm/delay.h>
+@@ -240,14 +242,224 @@ static struct spi_board_info sdp3430_spi_board_info[] __initdata = {
+ },
+ };
+
+-static struct platform_device sdp3430_lcd_device = {
+- .name = "sdp2430_lcd",
+- .id = -1,
++static struct omap_fbmem_config sdp3430_fbmem0_config = {
++ .size = 1024*768*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
++};
++
++static struct omap_fbmem_config sdp3430_fbmem1_config = {
++ .size = 640*480*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
+ };
+
++static struct omap_fbmem_config sdp3430_fbmem2_config = {
++ .size = 640*480*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
++};
++
++
++#define SDP2430_LCD_PANEL_BACKLIGHT_GPIO 91
++#define SDP2430_LCD_PANEL_ENABLE_GPIO 154
++#define SDP3430_LCD_PANEL_BACKLIGHT_GPIO 24
++#define SDP3430_LCD_PANEL_ENABLE_GPIO 28
++
++#define PM_RECEIVER TWL4030_MODULE_PM_RECEIVER
++#define ENABLE_VAUX2_DEDICATED 0x09
++#define ENABLE_VAUX2_DEV_GRP 0x20
++#define ENABLE_VAUX3_DEDICATED 0x03
++#define ENABLE_VAUX3_DEV_GRP 0x20
++
++#define ENABLE_VPLL2_DEDICATED 0x05
++#define ENABLE_VPLL2_DEV_GRP 0xE0
++#define TWL4030_VPLL2_DEV_GRP 0x33
++#define TWL4030_VPLL2_DEDICATED 0x36
++
++#define t2_out(c, r, v) twl4030_i2c_write_u8(c, r, v)
++
++static unsigned backlight_gpio;
++static unsigned enable_gpio;
++static int lcd_enabled;
++static int dvi_enabled;
++
++static void __init sdp3430_display_init(void)
++{
++ int r;
++
++ enable_gpio = SDP3430_LCD_PANEL_ENABLE_GPIO;
++ backlight_gpio = SDP3430_LCD_PANEL_BACKLIGHT_GPIO;
++
++ r = gpio_request(enable_gpio, "LCD reset");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD reset GPIO\n");
++ goto err0;
++ }
++
++ r = gpio_request(backlight_gpio, "LCD Backlight");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD backlight GPIO\n");
++ goto err1;
++ }
++
++ gpio_direction_output(enable_gpio, 0);
++ gpio_direction_output(backlight_gpio, 0);
++
++ return;
++err1:
++ gpio_free(enable_gpio);
++err0:
++ return;
++}
++
++
++static int sdp3430_panel_enable_lcd(struct omap_display *display)
++{
++ u8 ded_val, ded_reg;
++ u8 grp_val, grp_reg;
++
++ if (dvi_enabled) {
++ printk(KERN_ERR "cannot enable LCD, DVI is enabled\n");
++ return -EINVAL;
++ }
++
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ t2_out(PM_RECEIVER, ENABLE_VPLL2_DEDICATED,
++ TWL4030_VPLL2_DEDICATED);
++ t2_out(PM_RECEIVER, ENABLE_VPLL2_DEV_GRP,
++ TWL4030_VPLL2_DEV_GRP);
++ }
++
++ ded_reg = TWL4030_VAUX3_DEDICATED;
++ ded_val = ENABLE_VAUX3_DEDICATED;
++ grp_reg = TWL4030_VAUX3_DEV_GRP;
++ grp_val = ENABLE_VAUX3_DEV_GRP;
++
++ gpio_direction_output(enable_gpio, 1);
++ gpio_direction_output(backlight_gpio, 1);
++
++ if (0 != t2_out(PM_RECEIVER, ded_val, ded_reg))
++ return -EIO;
++ if (0 != t2_out(PM_RECEIVER, grp_val, grp_reg))
++ return -EIO;
++
++ lcd_enabled = 1;
++
++ return 0;
++}
++
++static void sdp3430_panel_disable_lcd(struct omap_display *display)
++{
++ lcd_enabled = 0;
++
++ gpio_direction_output(enable_gpio, 0);
++ gpio_direction_output(backlight_gpio, 0);
++
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEDICATED);
++ t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEV_GRP);
++ mdelay(4);
++ }
++}
++
++static struct omap_display_data sdp3430_display_data = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "lcd",
++ .panel_name = "panel-sdp3430",
++ .u.dpi.data_lines = 16,
++ .panel_enable = sdp3430_panel_enable_lcd,
++ .panel_disable = sdp3430_panel_disable_lcd,
++};
++
++static int sdp3430_panel_enable_dvi(struct omap_display *display)
++{
++ if (lcd_enabled) {
++ printk(KERN_ERR "cannot enable DVI, LCD is enabled\n");
++ return -EINVAL;
++ }
++
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ t2_out(PM_RECEIVER, ENABLE_VPLL2_DEDICATED,
++ TWL4030_VPLL2_DEDICATED);
++ t2_out(PM_RECEIVER, ENABLE_VPLL2_DEV_GRP,
++ TWL4030_VPLL2_DEV_GRP);
++ }
++
++ dvi_enabled = 1;
++
++ return 0;
++}
++
++static void sdp3430_panel_disable_dvi(struct omap_display *display)
++{
++ dvi_enabled = 0;
++
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEDICATED);
++ t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEV_GRP);
++ mdelay(4);
++ }
++}
++
++
++static struct omap_display_data sdp3430_display_data_dvi = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "dvi",
++ .panel_name = "panel-dvi",
++ .u.dpi.data_lines = 24,
++ .panel_enable = sdp3430_panel_enable_dvi,
++ .panel_disable = sdp3430_panel_disable_dvi,
++};
++
++static int sdp3430_panel_enable_tv(struct omap_display *display)
++{
++#define ENABLE_VDAC_DEDICATED 0x03
++#define ENABLE_VDAC_DEV_GRP 0x20
++
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEDICATED,
++ TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEV_GRP, TWL4030_VDAC_DEV_GRP);
++
++ return 0;
++}
++
++static void sdp3430_panel_disable_tv(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEV_GRP);
++}
++
++static struct omap_display_data sdp3430_display_data_tv = {
++ .type = OMAP_DISPLAY_TYPE_VENC,
++ .name = "tv",
++ .u.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
++ .panel_enable = sdp3430_panel_enable_tv,
++ .panel_disable = sdp3430_panel_disable_tv,
++};
++
++static struct omap_dss_platform_data sdp3430_dss_data = {
++ .num_displays = 3,
++ .displays = {
++ &sdp3430_display_data,
++ &sdp3430_display_data_dvi,
++ &sdp3430_display_data_tv,
++ }
++};
++
++static struct platform_device sdp3430_dss_device = {
++ .name = "omap-dss",
++ .id = -1,
++ .dev = {
++ .platform_data = &sdp3430_dss_data,
++ },
++};
++
++
+ static struct platform_device *sdp3430_devices[] __initdata = {
+ &sdp3430_smc91x_device,
+- &sdp3430_lcd_device,
++ &sdp3430_dss_device,
+ };
+
+ static inline void __init sdp3430_init_smc91x(void)
+@@ -294,13 +506,11 @@ static struct omap_uart_config sdp3430_uart_config __initdata = {
+ .enabled_uarts = ((1 << 0) | (1 << 1) | (1 << 2)),
+ };
+
+-static struct omap_lcd_config sdp3430_lcd_config __initdata = {
+- .ctrl_name = "internal",
+-};
+-
+ static struct omap_board_config_kernel sdp3430_config[] __initdata = {
+ { OMAP_TAG_UART, &sdp3430_uart_config },
+- { OMAP_TAG_LCD, &sdp3430_lcd_config },
++ { OMAP_TAG_FBMEM, &sdp3430_fbmem0_config },
++ { OMAP_TAG_FBMEM, &sdp3430_fbmem1_config },
++ { OMAP_TAG_FBMEM, &sdp3430_fbmem2_config },
+ };
+
+ static int sdp3430_batt_table[] = {
+@@ -467,8 +677,6 @@ static void __init omap_3430sdp_init(void)
+ {
+ omap3430_i2c_init();
+ platform_add_devices(sdp3430_devices, ARRAY_SIZE(sdp3430_devices));
+- omap_board_config = sdp3430_config;
+- omap_board_config_size = ARRAY_SIZE(sdp3430_config);
+ if (omap_rev() > OMAP3430_REV_ES1_0)
+ ts_gpio = OMAP34XX_TS_GPIO_IRQ_SDPV2;
+ else
+@@ -483,10 +691,14 @@ static void __init omap_3430sdp_init(void)
+ usb_musb_init();
+ usb_ehci_init();
+ hsmmc_init(mmc);
++ sdp3430_display_init();
+ }
+
+ static void __init omap_3430sdp_map_io(void)
+ {
++ omap_board_config = sdp3430_config;
++ omap_board_config_size = ARRAY_SIZE(sdp3430_config);
++
+ omap2_set_globals_343x();
+ omap2_map_common_io();
+ }
+diff --git a/drivers/video/omap2/Kconfig b/drivers/video/omap2/Kconfig
+index 996f047..f4e450d 100644
+--- a/drivers/video/omap2/Kconfig
++++ b/drivers/video/omap2/Kconfig
+@@ -48,5 +48,10 @@ config PANEL_DVI_VERYHIGHRES
+
+ endchoice
+
+-endmenu
++config PANEL_SDP3430
++ tristate "SDP3430 Panel"
++ depends on OMAP2_DSS
++ help
++ SDP3430 LCD
+
++endmenu
+diff --git a/drivers/video/omap2/Makefile b/drivers/video/omap2/Makefile
+index 7c75340..73ab1c0 100644
+--- a/drivers/video/omap2/Makefile
++++ b/drivers/video/omap2/Makefile
+@@ -2,3 +2,4 @@ obj-$(CONFIG_FB_OMAP2) += omapfb.o
+ omapfb-y := omapfb-main.o omapfb-sysfs.o omapfb-ioctl.o
+
+ obj-$(CONFIG_PANEL_DVI) += panel-dvi.o
++obj-$(CONFIG_PANEL_SDP3430) += panel-sdp3430.o
+diff --git a/drivers/video/omap2/panel-sdp3430.c b/drivers/video/omap2/panel-sdp3430.c
+new file mode 100644
+index 0000000..40fe6f2
+--- /dev/null
++++ b/drivers/video/omap2/panel-sdp3430.c
+@@ -0,0 +1,110 @@
++/*
++ * LCD panel support for the TI 3430SDP board
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * Derived from drivers/video/omap/lcd_2430sdp.c
++ *
++ * 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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <linux/module.h>
++#include <linux/delay.h>
++
++#include <mach/display.h>
++
++static int sdp3430_panel_init(struct omap_display *display)
++{
++ return 0;
++}
++
++static void sdp3430_panel_cleanup(struct omap_display *display)
++{
++}
++
++static int sdp3430_panel_enable(struct omap_display *display)
++{
++ int r = 0;
++
++ if (display->hw_config.panel_enable)
++ r = display->hw_config.panel_enable(display);
++
++ return r;
++}
++
++static void sdp3430_panel_disable(struct omap_display *display)
++{
++ if (display->hw_config.panel_disable)
++ display->hw_config.panel_disable(display);
++}
++
++static int sdp3430_panel_suspend(struct omap_display *display)
++{
++ sdp3430_panel_disable(display);
++ return 0;
++}
++
++static int sdp3430_panel_resume(struct omap_display *display)
++{
++ return sdp3430_panel_enable(display);
++}
++
++static struct omap_panel sdp3430_panel = {
++ .owner = THIS_MODULE,
++ .name = "panel-sdp3430",
++ .init = sdp3430_panel_init,
++ .cleanup = sdp3430_panel_cleanup,
++ .enable = sdp3430_panel_enable,
++ .disable = sdp3430_panel_disable,
++ .suspend = sdp3430_panel_suspend,
++ .resume = sdp3430_panel_resume,
++ /*.set_mode = sdp3430_set_mode, */
++
++ .timings = {
++ .pixel_clock = 19200,
++
++ .hsw = 4,
++ .hfp = 4,
++ .hbp = 40,
++
++ .vsw = 2,
++ .vfp = 1,
++ .vbp = 1,
++ },
++
++ .acb = 0x28,
++
++ .config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
++ OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_IPC,
++
++ .x_res = 480,
++ .y_res = 640,
++ .bpp = 16,
++};
++
++
++static int __init sdp3430_panel_drv_init(void)
++{
++ omap_dss_register_panel(&sdp3430_panel);
++ return 0;
++}
++
++static void __exit sdp3430_panel_drv_exit(void)
++{
++ omap_dss_unregister_panel(&sdp3430_panel);
++}
++
++module_init(sdp3430_panel_drv_init);
++module_exit(sdp3430_panel_drv_exit);
++MODULE_LICENSE("GPL");
+--
+1.5.6.3
+
diff --git a/packages/linux/linux-omap/0010-DSS-Support-for-OMAP3-SDP-board.patch b/packages/linux/linux-omap/0010-DSS-Support-for-OMAP3-SDP-board.patch
new file mode 100644
index 0000000000..707b6c4d66
--- /dev/null
+++ b/packages/linux/linux-omap/0010-DSS-Support-for-OMAP3-SDP-board.patch
@@ -0,0 +1,296 @@
+From 06675e403dfe6fd9471513fb7db77db69c38c91d Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Fri, 14 Nov 2008 15:47:55 +0200
+Subject: [PATCH] DSS: Support for OMAP3 SDP board
+
+Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+---
+ arch/arm/mach-omap2/board-3430sdp.c | 234 +++++++++++++++++++++++++++++++++--
+ 1 files changed, 223 insertions(+), 11 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
+index b7d2e92..ac4f806 100644
+--- a/arch/arm/mach-omap2/board-3430sdp.c
++++ b/arch/arm/mach-omap2/board-3430sdp.c
+@@ -40,6 +40,8 @@
+ #include <mach/keypad.h>
+ #include <mach/dma.h>
+ #include <mach/gpmc.h>
++#include <mach/omapfb.h>
++#include <mach/display.h>
+
+ #include <asm/io.h>
+ #include <asm/delay.h>
+@@ -240,14 +242,224 @@ static struct spi_board_info sdp3430_spi_board_info[] __initdata = {
+ },
+ };
+
+-static struct platform_device sdp3430_lcd_device = {
+- .name = "sdp2430_lcd",
+- .id = -1,
++static struct omap_fbmem_config sdp3430_fbmem0_config = {
++ .size = 1024*768*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
++};
++
++static struct omap_fbmem_config sdp3430_fbmem1_config = {
++ .size = 640*480*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
+ };
+
++static struct omap_fbmem_config sdp3430_fbmem2_config = {
++ .size = 640*480*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
++};
++
++
++#define SDP2430_LCD_PANEL_BACKLIGHT_GPIO 91
++#define SDP2430_LCD_PANEL_ENABLE_GPIO 154
++#define SDP3430_LCD_PANEL_BACKLIGHT_GPIO 24
++#define SDP3430_LCD_PANEL_ENABLE_GPIO 28
++
++#define PM_RECEIVER TWL4030_MODULE_PM_RECEIVER
++#define ENABLE_VAUX2_DEDICATED 0x09
++#define ENABLE_VAUX2_DEV_GRP 0x20
++#define ENABLE_VAUX3_DEDICATED 0x03
++#define ENABLE_VAUX3_DEV_GRP 0x20
++
++#define ENABLE_VPLL2_DEDICATED 0x05
++#define ENABLE_VPLL2_DEV_GRP 0xE0
++#define TWL4030_VPLL2_DEV_GRP 0x33
++#define TWL4030_VPLL2_DEDICATED 0x36
++
++#define t2_out(c, r, v) twl4030_i2c_write_u8(c, r, v)
++
++static unsigned backlight_gpio;
++static unsigned enable_gpio;
++static int lcd_enabled;
++static int dvi_enabled;
++
++static void __init sdp3430_display_init(void)
++{
++ int r;
++
++ enable_gpio = SDP3430_LCD_PANEL_ENABLE_GPIO;
++ backlight_gpio = SDP3430_LCD_PANEL_BACKLIGHT_GPIO;
++
++ r = gpio_request(enable_gpio, "LCD reset");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD reset GPIO\n");
++ goto err0;
++ }
++
++ r = gpio_request(backlight_gpio, "LCD Backlight");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD backlight GPIO\n");
++ goto err1;
++ }
++
++ gpio_direction_output(enable_gpio, 0);
++ gpio_direction_output(backlight_gpio, 0);
++
++ return;
++err1:
++ gpio_free(enable_gpio);
++err0:
++ return;
++}
++
++
++static int sdp3430_panel_enable_lcd(struct omap_display *display)
++{
++ u8 ded_val, ded_reg;
++ u8 grp_val, grp_reg;
++
++ if (dvi_enabled) {
++ printk(KERN_ERR "cannot enable LCD, DVI is enabled\n");
++ return -EINVAL;
++ }
++
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ t2_out(PM_RECEIVER, ENABLE_VPLL2_DEDICATED,
++ TWL4030_VPLL2_DEDICATED);
++ t2_out(PM_RECEIVER, ENABLE_VPLL2_DEV_GRP,
++ TWL4030_VPLL2_DEV_GRP);
++ }
++
++ ded_reg = TWL4030_VAUX3_DEDICATED;
++ ded_val = ENABLE_VAUX3_DEDICATED;
++ grp_reg = TWL4030_VAUX3_DEV_GRP;
++ grp_val = ENABLE_VAUX3_DEV_GRP;
++
++ gpio_direction_output(enable_gpio, 1);
++ gpio_direction_output(backlight_gpio, 1);
++
++ if (0 != t2_out(PM_RECEIVER, ded_val, ded_reg))
++ return -EIO;
++ if (0 != t2_out(PM_RECEIVER, grp_val, grp_reg))
++ return -EIO;
++
++ lcd_enabled = 1;
++
++ return 0;
++}
++
++static void sdp3430_panel_disable_lcd(struct omap_display *display)
++{
++ lcd_enabled = 0;
++
++ gpio_direction_output(enable_gpio, 0);
++ gpio_direction_output(backlight_gpio, 0);
++
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEDICATED);
++ t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEV_GRP);
++ mdelay(4);
++ }
++}
++
++static struct omap_display_data sdp3430_display_data = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "lcd",
++ .panel_name = "sharp-ls037v7dw01",
++ .u.dpi.data_lines = 16,
++ .panel_enable = sdp3430_panel_enable_lcd,
++ .panel_disable = sdp3430_panel_disable_lcd,
++};
++
++static int sdp3430_panel_enable_dvi(struct omap_display *display)
++{
++ if (lcd_enabled) {
++ printk(KERN_ERR "cannot enable DVI, LCD is enabled\n");
++ return -EINVAL;
++ }
++
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ t2_out(PM_RECEIVER, ENABLE_VPLL2_DEDICATED,
++ TWL4030_VPLL2_DEDICATED);
++ t2_out(PM_RECEIVER, ENABLE_VPLL2_DEV_GRP,
++ TWL4030_VPLL2_DEV_GRP);
++ }
++
++ dvi_enabled = 1;
++
++ return 0;
++}
++
++static void sdp3430_panel_disable_dvi(struct omap_display *display)
++{
++ dvi_enabled = 0;
++
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEDICATED);
++ t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEV_GRP);
++ mdelay(4);
++ }
++}
++
++
++static struct omap_display_data sdp3430_display_data_dvi = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "dvi",
++ .panel_name = "panel-dvi",
++ .u.dpi.data_lines = 24,
++ .panel_enable = sdp3430_panel_enable_dvi,
++ .panel_disable = sdp3430_panel_disable_dvi,
++};
++
++static int sdp3430_panel_enable_tv(struct omap_display *display)
++{
++#define ENABLE_VDAC_DEDICATED 0x03
++#define ENABLE_VDAC_DEV_GRP 0x20
++
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEDICATED,
++ TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEV_GRP, TWL4030_VDAC_DEV_GRP);
++
++ return 0;
++}
++
++static void sdp3430_panel_disable_tv(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEV_GRP);
++}
++
++static struct omap_display_data sdp3430_display_data_tv = {
++ .type = OMAP_DISPLAY_TYPE_VENC,
++ .name = "tv",
++ .u.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
++ .panel_enable = sdp3430_panel_enable_tv,
++ .panel_disable = sdp3430_panel_disable_tv,
++};
++
++static struct omap_dss_platform_data sdp3430_dss_data = {
++ .num_displays = 3,
++ .displays = {
++ &sdp3430_display_data,
++ &sdp3430_display_data_dvi,
++ &sdp3430_display_data_tv,
++ }
++};
++
++static struct platform_device sdp3430_dss_device = {
++ .name = "omap-dss",
++ .id = -1,
++ .dev = {
++ .platform_data = &sdp3430_dss_data,
++ },
++};
++
++
+ static struct platform_device *sdp3430_devices[] __initdata = {
+ &sdp3430_smc91x_device,
+- &sdp3430_lcd_device,
++ &sdp3430_dss_device,
+ };
+
+ static inline void __init sdp3430_init_smc91x(void)
+@@ -294,13 +506,11 @@ static struct omap_uart_config sdp3430_uart_config __initdata = {
+ .enabled_uarts = ((1 << 0) | (1 << 1) | (1 << 2)),
+ };
+
+-static struct omap_lcd_config sdp3430_lcd_config __initdata = {
+- .ctrl_name = "internal",
+-};
+-
+ static struct omap_board_config_kernel sdp3430_config[] __initdata = {
+ { OMAP_TAG_UART, &sdp3430_uart_config },
+- { OMAP_TAG_LCD, &sdp3430_lcd_config },
++ { OMAP_TAG_FBMEM, &sdp3430_fbmem0_config },
++ { OMAP_TAG_FBMEM, &sdp3430_fbmem1_config },
++ { OMAP_TAG_FBMEM, &sdp3430_fbmem2_config },
+ };
+
+ static int sdp3430_batt_table[] = {
+@@ -467,8 +677,6 @@ static void __init omap_3430sdp_init(void)
+ {
+ omap3430_i2c_init();
+ platform_add_devices(sdp3430_devices, ARRAY_SIZE(sdp3430_devices));
+- omap_board_config = sdp3430_config;
+- omap_board_config_size = ARRAY_SIZE(sdp3430_config);
+ if (omap_rev() > OMAP3430_REV_ES1_0)
+ ts_gpio = OMAP34XX_TS_GPIO_IRQ_SDPV2;
+ else
+@@ -483,10 +691,14 @@ static void __init omap_3430sdp_init(void)
+ usb_musb_init();
+ usb_ehci_init();
+ hsmmc_init(mmc);
++ sdp3430_display_init();
+ }
+
+ static void __init omap_3430sdp_map_io(void)
+ {
++ omap_board_config = sdp3430_config;
++ omap_board_config_size = ARRAY_SIZE(sdp3430_config);
++
+ omap2_set_globals_343x();
+ omap2_map_common_io();
+ }
+--
+1.5.6.3
+
diff --git a/packages/linux/linux-omap/0011-DSS-Support-for-OMAP3-EVM-board.patch b/packages/linux/linux-omap/0011-DSS-Support-for-OMAP3-EVM-board.patch
new file mode 100644
index 0000000000..6ca8c0dd28
--- /dev/null
+++ b/packages/linux/linux-omap/0011-DSS-Support-for-OMAP3-EVM-board.patch
@@ -0,0 +1,288 @@
+From 21156e8a6473c293d260b18565a382283d227ef4 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Fri, 14 Nov 2008 16:03:34 +0200
+Subject: [PATCH] DSS: Support for OMAP3 EVM board
+
+Coded by Vaibhav Hiremath <hvaibhav@ti.com>
+
+Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+---
+ arch/arm/mach-omap2/board-omap3evm.c | 224 ++++++++++++++++++++++++++++++++--
+ 1 files changed, 215 insertions(+), 9 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
+index bc44cb5..edecfd3 100644
+--- a/arch/arm/mach-omap2/board-omap3evm.c
++++ b/arch/arm/mach-omap2/board-omap3evm.c
+@@ -37,6 +37,8 @@
+ #include <mach/usb-ehci.h>
+ #include <mach/common.h>
+ #include <mach/mcspi.h>
++#include <mach/omapfb.h>
++#include <mach/display.h>
+
+ #include "sdram-micron-mt46h32m32lf-6.h"
+ #include "twl4030-generic-scripts.h"
+@@ -161,14 +163,215 @@ static int __init omap3_evm_i2c_init(void)
+ omap_register_i2c_bus(3, 400, NULL, 0);
+ return 0;
+ }
++static struct omap_fbmem_config evm_fbmem0_config = {
++ .size = 480*720*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
++};
+
+-static struct platform_device omap3_evm_lcd_device = {
+- .name = "omap3evm_lcd",
+- .id = -1,
++static struct omap_fbmem_config evm_fbmem1_config = {
++ .size = 480*720*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
+ };
+
+-static struct omap_lcd_config omap3_evm_lcd_config __initdata = {
+- .ctrl_name = "internal",
++static struct omap_fbmem_config evm_fbmem2_config = {
++ .size = 480*720*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
++};
++#define LCD_PANEL_LR 2
++#define LCD_PANEL_UD 3
++#define LCD_PANEL_INI 152
++#define LCD_PANEL_ENABLE_GPIO 153
++#define LCD_PANEL_QVGA 154
++#define LCD_PANEL_RESB 155
++
++#define ENABLE_VDAC_DEDICATED 0x03
++#define ENABLE_VDAC_DEV_GRP 0x20
++#define ENABLE_VPLL2_DEDICATED 0x05
++#define ENABLE_VPLL2_DEV_GRP 0xE0
++
++#define TWL4030_GPIODATA_IN3 0x03
++#define TWL4030_GPIODATA_DIR3 0x06
++#define TWL4030_VPLL2_DEV_GRP 0x33
++#define TWL4030_VPLL2_DEDICATED 0x36
++
++static int lcd_enabled;
++static int dvi_enabled;
++
++static void __init evm_display_init(void)
++{
++ int r;
++ r = gpio_request(LCD_PANEL_LR, "lcd_panel_lr");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_LR\n");
++ return;
++ }
++ r = gpio_request(LCD_PANEL_UD, "lcd_panel_ud");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_UD\n");
++ goto err_1;
++ }
++
++ r = gpio_request(LCD_PANEL_INI, "lcd_panel_ini");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_INI\n");
++ goto err_2;
++ }
++ r = gpio_request(LCD_PANEL_RESB, "lcd_panel_resb");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_RESB\n");
++ goto err_3;
++ }
++ r = gpio_request(LCD_PANEL_QVGA, "lcd_panel_qvga");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_QVGA\n");
++ goto err_4;
++ }
++
++ gpio_direction_output(LCD_PANEL_LR, 0);
++ gpio_direction_output(LCD_PANEL_UD, 0);
++ gpio_direction_output(LCD_PANEL_INI, 0);
++ gpio_direction_output(LCD_PANEL_RESB, 0);
++ gpio_direction_output(LCD_PANEL_QVGA, 0);
++
++#define TWL_LED_LEDEN 0x00
++#define TWL_PWMA_PWMAON 0x00
++#define TWL_PWMA_PWMAOFF 0x01
++
++ twl4030_i2c_write_u8(TWL4030_MODULE_LED, 0x11, TWL_LED_LEDEN);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PWMA, 0x01, TWL_PWMA_PWMAON);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PWMA, 0x02, TWL_PWMA_PWMAOFF);
++
++ gpio_direction_output(LCD_PANEL_RESB, 1);
++ gpio_direction_output(LCD_PANEL_INI, 1);
++ gpio_direction_output(LCD_PANEL_QVGA, 0);
++ gpio_direction_output(LCD_PANEL_LR, 1);
++ gpio_direction_output(LCD_PANEL_UD, 1);
++
++ return;
++
++err_4:
++ gpio_free(LCD_PANEL_RESB);
++err_3:
++ gpio_free(LCD_PANEL_INI);
++err_2:
++ gpio_free(LCD_PANEL_UD);
++err_1:
++ gpio_free(LCD_PANEL_LR);
++
++}
++
++static int evm_panel_enable_lcd(struct omap_display *display)
++{
++ if (dvi_enabled) {
++ printk(KERN_ERR "cannot enable LCD, DVI is enabled\n");
++ return -EINVAL;
++ }
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VPLL2_DEDICATED, TWL4030_VPLL2_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VPLL2_DEV_GRP, TWL4030_VPLL2_DEV_GRP);
++ }
++ gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 0);
++ lcd_enabled = 1;
++ return 0;
++}
++
++static void evm_panel_disable_lcd(struct omap_display *display)
++{
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x0,
++ TWL4030_VPLL2_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x0,
++ TWL4030_VPLL2_DEV_GRP);
++ }
++ gpio_set_value(LCD_PANEL_ENABLE_GPIO, 1);
++ lcd_enabled = 0;
++}
++
++static struct omap_display_data evm_display_data = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "lcd",
++ .panel_name = "sharp-ls037v7dw01",
++ .u.dpi.data_lines = 16,
++ .panel_enable = evm_panel_enable_lcd,
++ .panel_disable = evm_panel_disable_lcd,
++};
++
++static int evm_panel_enable_tv(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEDICATED, TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEV_GRP, TWL4030_VDAC_DEV_GRP);
++ return 0;
++}
++
++static void evm_panel_disable_tv(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEV_GRP);
++}
++
++static struct omap_display_data evm_display_data_tv = {
++ .type = OMAP_DISPLAY_TYPE_VENC,
++ .name = "tv",
++ .u.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
++ .panel_enable = evm_panel_enable_tv,
++ .panel_disable = evm_panel_disable_tv,
++};
++
++
++static int evm_panel_enable_dvi(struct omap_display *display)
++{
++ if (lcd_enabled) {
++ printk(KERN_ERR "cannot enable DVI, LCD is enabled\n");
++ return -EINVAL;
++ }
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x80,
++ TWL4030_GPIODATA_IN3);
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x80,
++ TWL4030_GPIODATA_DIR3);
++ dvi_enabled = 1;
++
++ return 0;
++}
++
++static void evm_panel_disable_dvi(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x00,
++ TWL4030_GPIODATA_IN3);
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x00,
++ TWL4030_GPIODATA_DIR3);
++ dvi_enabled = 0;
++}
++
++
++static struct omap_display_data evm_display_data_dvi = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "dvi",
++ .panel_name = "panel-dvi",
++ .u.dpi.data_lines = 24,
++ .panel_enable = evm_panel_enable_dvi,
++ .panel_disable = evm_panel_disable_dvi,
++};
++
++static struct omap_dss_platform_data evm_dss_data = {
++ .num_displays = 3,
++ .displays = {
++ &evm_display_data,
++ &evm_display_data_dvi,
++ &evm_display_data_tv,
++ }
++};
++static struct platform_device evm_dss_device = {
++ .name = "omap-dss",
++ .id = -1,
++ .dev = {
++ .platform_data = &evm_dss_data,
++ },
+ };
+
+ static void ads7846_dev_init(void)
+@@ -227,11 +430,13 @@ static void __init omap3_evm_init_irq(void)
+
+ static struct omap_board_config_kernel omap3_evm_config[] __initdata = {
+ { OMAP_TAG_UART, &omap3_evm_uart_config },
+- { OMAP_TAG_LCD, &omap3_evm_lcd_config },
++ { OMAP_TAG_FBMEM, &evm_fbmem0_config },
++ { OMAP_TAG_FBMEM, &evm_fbmem1_config },
++ { OMAP_TAG_FBMEM, &evm_fbmem2_config },
+ };
+
+ static struct platform_device *omap3_evm_devices[] __initdata = {
+- &omap3_evm_lcd_device,
++ &evm_dss_device,
+ &omap3evm_smc911x_device,
+ };
+
+@@ -250,8 +455,6 @@ static void __init omap3_evm_init(void)
+ omap3_evm_i2c_init();
+
+ platform_add_devices(omap3_evm_devices, ARRAY_SIZE(omap3_evm_devices));
+- omap_board_config = omap3_evm_config;
+- omap_board_config_size = ARRAY_SIZE(omap3_evm_config);
+
+ spi_register_board_info(omap3evm_spi_board_info,
+ ARRAY_SIZE(omap3evm_spi_board_info));
+@@ -262,10 +465,13 @@ static void __init omap3_evm_init(void)
+ usb_ehci_init();
+ omap3evm_flash_init();
+ ads7846_dev_init();
++ evm_display_init();
+ }
+
+ static void __init omap3_evm_map_io(void)
+ {
++ omap_board_config = omap3_evm_config;
++ omap_board_config_size = ARRAY_SIZE(omap3_evm_config);
+ omap2_set_globals_343x();
+ omap2_map_common_io();
+ }
+--
+1.5.6.3
+
diff --git a/packages/linux/linux-omap/beagleboard/defconfig b/packages/linux/linux-omap/beagleboard/defconfig
index 1344060446..ce06b21672 100644
--- a/packages/linux/linux-omap/beagleboard/defconfig
+++ b/packages/linux/linux-omap/beagleboard/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.27-omap1
-# Sun Oct 26 10:27:59 2008
+# Linux kernel version: 2.6.28-rc3-omap1
+# Tue Nov 11 15:45:33 2008
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -22,9 +22,8 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_ARCH_SUPPORTS_AOUT=y
-CONFIG_ZONE_DMA=y
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_OPROFILE_ARMV7=y
CONFIG_VECTORS_BASE=0xffff0000
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -80,6 +79,7 @@ CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
+CONFIG_AIO=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLAB=y
# CONFIG_SLUB is not set
@@ -89,15 +89,9 @@ CONFIG_PROFILING=y
CONFIG_OPROFILE=y
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
-# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
-# CONFIG_HAVE_IOREMAP_PROT is not set
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
-# CONFIG_HAVE_ARCH_TRACEHOOK is not set
-# CONFIG_HAVE_DMA_ATTRS is not set
-# CONFIG_USE_GENERIC_SMP_HELPERS is not set
CONFIG_HAVE_CLK=y
-CONFIG_PROC_PAGE_MONITOR=y
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
@@ -130,6 +124,7 @@ CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_CLASSIC_RCU=y
+CONFIG_FREEZER=y
#
# System Type
@@ -170,7 +165,7 @@ CONFIG_CLASSIC_RCU=y
# CONFIG_ARCH_LH7A40X is not set
# CONFIG_ARCH_DAVINCI is not set
CONFIG_ARCH_OMAP=y
-# CONFIG_ARCH_MSM7X00A is not set
+# CONFIG_ARCH_MSM is not set
#
# TI OMAP Implementations
@@ -203,6 +198,15 @@ CONFIG_OMAP_DM_TIMER=y
# CONFIG_OMAP_LL_DEBUG_UART1 is not set
# CONFIG_OMAP_LL_DEBUG_UART2 is not set
CONFIG_OMAP_LL_DEBUG_UART3=y
+CONFIG_OMAP2_DSS=y
+CONFIG_OMAP2_DSS_DEBUG=y
+# CONFIG_OMAP2_DSS_RFBI is not set
+CONFIG_OMAP2_DSS_VENC=y
+# CONFIG_OMAP2_DSS_SDI is not set
+CONFIG_OMAP2_DSS_DSI=y
+CONFIG_OMAP2_DSS_USE_DSI_PLL=y
+# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
+CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=2
CONFIG_ARCH_OMAP34XX=y
CONFIG_ARCH_OMAP3430=y
@@ -267,26 +271,30 @@ CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_VMSPLIT_3G=y
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
# CONFIG_PREEMPT is not set
CONFIG_HZ=128
CONFIG_AEABI=y
# CONFIG_OABI_COMPAT is not set
CONFIG_ARCH_FLATMEM_HAS_HOLES=y
-# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL 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_SPARSEMEM_VMEMMAP_ENABLE is not set
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_RESOURCES_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y
+CONFIG_UNEVICTABLE_LRU=y
CONFIG_LEDS=y
CONFIG_ALIGNMENT_TRAP=y
@@ -301,7 +309,7 @@ CONFIG_KEXEC=y
CONFIG_ATAGS_PROC=y
#
-# CPU Frequency scaling
+# CPU Power Management
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
@@ -318,6 +326,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+# CONFIG_CPU_IDLE is not set
#
# Floating point emulation
@@ -335,6 +344,8 @@ CONFIG_NEON=y
# Userspace binary formats
#
CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_HAVE_AOUT=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_MISC=y
@@ -342,9 +353,12 @@ CONFIG_BINFMT_MISC=y
# Power management options
#
CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
+CONFIG_PM_DEBUG=y
+# CONFIG_PM_VERBOSE is not set
+CONFIG_CAN_PM_TRACE=y
CONFIG_PM_SLEEP=y
CONFIG_SUSPEND=y
+# CONFIG_PM_TEST_SUSPEND is not set
CONFIG_SUSPEND_FREEZER=y
# CONFIG_APM_EMULATION is not set
CONFIG_ARCH_SUSPEND_POSSIBLE=y
@@ -416,6 +430,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
+# CONFIG_NET_DSA is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
@@ -459,12 +474,11 @@ CONFIG_BT_HCIBPA10X=y
# CONFIG_BT_HCIH4P is not set
# CONFIG_BT_HCIVHCI is not set
# CONFIG_AF_RXRPC is not set
-
-#
-# Wireless
-#
+# CONFIG_PHONET is not set
+CONFIG_WIRELESS=y
CONFIG_CFG80211=y
CONFIG_NL80211=y
+CONFIG_WIRELESS_OLD_REGULATORY=y
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS_EXT_SYSFS=y
CONFIG_MAC80211=y
@@ -473,10 +487,13 @@ CONFIG_MAC80211=y
# Rate control algorithm selection
#
CONFIG_MAC80211_RC_PID=y
+# CONFIG_MAC80211_RC_MINSTREL is not set
CONFIG_MAC80211_RC_DEFAULT_PID=y
+# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
CONFIG_MAC80211_RC_DEFAULT="pid"
# CONFIG_MAC80211_MESH is not set
CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_IEEE80211=y
# CONFIG_IEEE80211_DEBUG is not set
@@ -570,6 +587,7 @@ CONFIG_MTD_NAND=y
# CONFIG_MTD_NAND_VERIFY_WRITE is not set
# CONFIG_MTD_NAND_ECC_SMC is not set
# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+# CONFIG_MTD_NAND_GPIO is not set
CONFIG_MTD_NAND_OMAP2=y
CONFIG_MTD_NAND_IDS=y
# CONFIG_MTD_NAND_DISKONCHIP is not set
@@ -686,6 +704,7 @@ CONFIG_LIBERTAS=m
CONFIG_LIBERTAS_USB=m
# CONFIG_LIBERTAS_SDIO is not set
# CONFIG_LIBERTAS_DEBUG is not set
+# CONFIG_LIBERTAS_THINFIRM is not set
CONFIG_USB_ZD1201=m
CONFIG_USB_NET_RNDIS_WLAN=m
CONFIG_RTL8187=m
@@ -701,14 +720,13 @@ CONFIG_HOSTAP_FIRMWARE_NVRAM=y
CONFIG_ZD1211RW=m
# CONFIG_ZD1211RW_DEBUG is not set
CONFIG_RT2X00=m
-CONFIG_RT2X00_LIB=m
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
CONFIG_RT2X00_LIB_LEDS=y
-CONFIG_RT2500USB=m
-CONFIG_RT2500USB_LEDS=y
-CONFIG_RT73USB=m
-CONFIG_RT73USB_LEDS=y
# CONFIG_RT2X00_DEBUG is not set
#
@@ -722,6 +740,7 @@ CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_CDCETHER=y
CONFIG_USB_NET_DM9601=m
+# CONFIG_USB_NET_SMSC95XX is not set
CONFIG_USB_NET_GL620A=m
CONFIG_USB_NET_NET1080=m
CONFIG_USB_NET_PLUSB=m
@@ -790,6 +809,7 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
+# CONFIG_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_APPLETOUCH is not set
@@ -984,6 +1004,7 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
+# CONFIG_SENSORS_MAX1111 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_PC87360 is not set
@@ -1006,6 +1027,8 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_TSC210X is not set
CONFIG_SENSORS_OMAP34XX=y
# CONFIG_HWMON_DEBUG_CHIP is not set
+# CONFIG_THERMAL is not set
+# CONFIG_THERMAL_HWMON is not set
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_NOWAYOUT=y
@@ -1040,6 +1063,9 @@ CONFIG_TWL4030_POWER=y
# CONFIG_MFD_T7L66XB is not set
# CONFIG_MFD_TC6387XB is not set
# CONFIG_MFD_TC6393XB is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM8350_I2C is not set
#
# Multimedia devices
@@ -1081,6 +1107,7 @@ CONFIG_VIDEO_TVEEPROM=m
CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_CAPTURE_DRIVERS=y
# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
CONFIG_VIDEO_MSP3400=m
CONFIG_VIDEO_CS53L32A=m
@@ -1093,8 +1120,8 @@ CONFIG_VIDEO_CX2341X=m
# CONFIG_VIDEO_CPIA2 is not set
# CONFIG_VIDEO_SAA5246A is not set
# CONFIG_VIDEO_SAA5249 is not set
-# CONFIG_TUNER_3036 is not set
# CONFIG_VIDEO_AU0828 is not set
+# CONFIG_SOC_CAMERA is not set
CONFIG_V4L_USB_DRIVERS=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
@@ -1123,12 +1150,10 @@ CONFIG_USB_PWC=m
CONFIG_USB_ZR364XX=m
# CONFIG_USB_STKWEBCAM is not set
# CONFIG_USB_S2255 is not set
-# CONFIG_SOC_CAMERA is not set
-# CONFIG_VIDEO_SH_MOBILE_CEU is not set
CONFIG_RADIO_ADAPTERS=y
-# CONFIG_RADIO_TEA5761 is not set
# CONFIG_USB_DSBR is not set
# CONFIG_USB_SI470X is not set
+# CONFIG_USB_MR800 is not set
CONFIG_DVB_CAPTURE_DRIVERS=y
# CONFIG_TTPCI_EEPROM is not set
@@ -1158,11 +1183,12 @@ CONFIG_DVB_USB_OPERA1=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
# CONFIG_DVB_USB_DW2102 is not set
+# CONFIG_DVB_USB_CINERGY_T2 is not set
# CONFIG_DVB_USB_ANYSEE is not set
+# CONFIG_DVB_USB_DTV5100 is not set
+# CONFIG_DVB_USB_AF9015 is not set
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
-CONFIG_DVB_CINERGYT2=m
-# CONFIG_DVB_CINERGYT2_TUNING is not set
# CONFIG_DVB_SIANO_SMS1XXX is not set
#
@@ -1186,6 +1212,8 @@ CONFIG_DVB_CX24110=m
CONFIG_DVB_CX24123=m
CONFIG_DVB_MT312=m
CONFIG_DVB_S5H1420=m
+# CONFIG_DVB_STV0288 is not set
+# CONFIG_DVB_STB6000 is not set
CONFIG_DVB_STV0299=m
CONFIG_DVB_TDA8083=m
CONFIG_DVB_TDA10086=m
@@ -1193,6 +1221,8 @@ CONFIG_DVB_VES1X93=m
CONFIG_DVB_TUNER_ITD1000=m
CONFIG_DVB_TDA826X=m
CONFIG_DVB_TUA6100=m
+# CONFIG_DVB_CX24116 is not set
+# CONFIG_DVB_SI21XX is not set
#
# DVB-T (terrestrial) frontends
@@ -1245,6 +1275,13 @@ CONFIG_DVB_TUNER_DIB0070=m
CONFIG_DVB_LNBP21=m
# CONFIG_DVB_ISL6405 is not set
CONFIG_DVB_ISL6421=m
+# CONFIG_DVB_LGS8GL5 is not set
+
+#
+# Tools to develop new frontends
+#
+# CONFIG_DVB_DUMMY_FE is not set
+# CONFIG_DVB_AF9013 is not set
# CONFIG_DAB is not set
#
@@ -1255,6 +1292,7 @@ CONFIG_DVB_ISL6421=m
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
@@ -1275,11 +1313,21 @@ CONFIG_FB_CFB_IMAGEBLIT=y
#
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_VIRTUAL is not set
-CONFIG_FB_OMAP=y
-CONFIG_FB_OMAP_VIDEO_MODE="1024x768@60"
-# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
-# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
-CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=8
+# CONFIG_FB_METRONOME is not set
+CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=14
+CONFIG_FB_OMAP2=y
+CONFIG_FB_OMAP2_DEBUG=y
+# CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE is not set
+
+#
+# OMAP2/3 Display Device Drivers
+#
+CONFIG_PANEL_DVI=y
+# CONFIG_PANEL_DVI_LOWLOWRES is not set
+# CONFIG_PANEL_DVI_LOWRES is not set
+CONFIG_PANEL_DVI_HIGHRES=y
+# CONFIG_PANEL_DVI_VERYHIGHRES is not set
+# CONFIG_PANEL_SDP3430 is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
@@ -1307,6 +1355,7 @@ CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y
CONFIG_SOUND=y
+CONFIG_SOUND_OSS_CORE=y
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
@@ -1331,11 +1380,6 @@ CONFIG_SND_DRIVERS=y
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
CONFIG_SND_ARM=y
-# CONFIG_SND_OMAP_AIC23 is not set
-# CONFIG_SND_OMAP_TSC2101 is not set
-# CONFIG_SND_SX1 is not set
-# CONFIG_SND_OMAP_TSC2102 is not set
-# CONFIG_SND_OMAP24XX_EAC is not set
CONFIG_SND_SPI=y
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=y
@@ -1345,6 +1389,7 @@ CONFIG_SND_SOC=y
CONFIG_SND_OMAP_SOC=y
CONFIG_SND_OMAP_SOC_MCBSP=y
CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE=y
+# CONFIG_SND_SOC_ALL_CODECS is not set
CONFIG_SND_SOC_TWL4030=y
# CONFIG_SOUND_PRIME is not set
CONFIG_HID_SUPPORT=y
@@ -1356,9 +1401,36 @@ CONFIG_HID_DEBUG=y
# USB Input Devices
#
CONFIG_USB_HID=y
-# CONFIG_USB_HIDINPUT_POWERBOOK is not set
-# CONFIG_HID_FF is not set
+# CONFIG_HID_PID is not set
# CONFIG_USB_HIDDEV is not set
+
+#
+# Special HID drivers
+#
+CONFIG_HID_COMPAT=y
+CONFIG_HID_A4TECH=y
+CONFIG_HID_APPLE=y
+CONFIG_HID_BELKIN=y
+CONFIG_HID_BRIGHT=y
+CONFIG_HID_CHERRY=y
+CONFIG_HID_CHICONY=y
+CONFIG_HID_CYPRESS=y
+CONFIG_HID_DELL=y
+CONFIG_HID_EZKEY=y
+CONFIG_HID_GYRATION=y
+CONFIG_HID_LOGITECH=y
+# CONFIG_LOGITECH_FF is not set
+# CONFIG_LOGIRUMBLEPAD2_FF is not set
+CONFIG_HID_MICROSOFT=y
+CONFIG_HID_MONTEREY=y
+CONFIG_HID_PANTHERLORD=y
+# CONFIG_PANTHERLORD_FF is not set
+CONFIG_HID_PETALYNX=y
+CONFIG_HID_SAMSUNG=y
+CONFIG_HID_SONY=y
+CONFIG_HID_SUNPLUS=y
+# CONFIG_THRUSTMASTER_FF is not set
+# CONFIG_ZEROPLUS_FF is not set
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
@@ -1378,6 +1450,8 @@ CONFIG_USB_SUSPEND=y
# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
CONFIG_USB_MON=y
+# CONFIG_USB_WUSB is not set
+# CONFIG_USB_WUSB_CBAF is not set
#
# USB Host Controller Drivers
@@ -1389,6 +1463,7 @@ CONFIG_USB_MON=y
# CONFIG_USB_OHCI_HCD is not set
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_HWA_HCD is not set
CONFIG_USB_MUSB_HDRC=y
CONFIG_USB_MUSB_SOC=y
@@ -1411,6 +1486,7 @@ CONFIG_USB_INVENTRA_DMA=y
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
CONFIG_USB_WDM=m
+# CONFIG_USB_TMC is not set
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1507,6 +1583,7 @@ CONFIG_USB_SERIAL_DEBUG=m
CONFIG_USB_EMI62=m
CONFIG_USB_EMI26=m
# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_RIO500 is not set
CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m
@@ -1523,23 +1600,27 @@ CONFIG_USB_LED=m
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_VST is not set
CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG is not set
# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_GADGET_VBUS_DRAW=2
CONFIG_USB_GADGET_SELECTED=y
-# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_AT91 is not set
# CONFIG_USB_GADGET_ATMEL_USBA is not set
# CONFIG_USB_GADGET_FSL_USB2 is not set
-# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
CONFIG_USB_GADGET_M66592=y
CONFIG_USB_M66592=y
-# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_NET2280 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_S3C2410 is not set
-# CONFIG_USB_GADGET_AT91 is not set
# CONFIG_USB_GADGET_DUMMY_HCD is not set
CONFIG_USB_GADGET_DUALSPEED=y
# CONFIG_USB_ZERO is not set
@@ -1556,7 +1637,7 @@ CONFIG_MMC=y
CONFIG_MMC_UNSAFE_RESUME=y
#
-# MMC/SD Card Drivers
+# MMC/SD/SDIO Card Drivers
#
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_BOUNCE=y
@@ -1564,11 +1645,13 @@ CONFIG_SDIO_UART=y
# CONFIG_MMC_TEST is not set
#
-# MMC/SD Host Controller Drivers
+# MMC/SD/SDIO Host Controller Drivers
#
# CONFIG_MMC_SDHCI is not set
CONFIG_MMC_OMAP_HS=y
CONFIG_MMC_SPI=m
+# CONFIG_MEMSTICK is not set
+# CONFIG_ACCESSIBILITY is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
@@ -1588,6 +1671,7 @@ CONFIG_LEDS_GPIO=y
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
@@ -1629,17 +1713,21 @@ CONFIG_RTC_DRV_TWL4030=y
# CONFIG_RTC_DRV_MAX6902 is not set
# CONFIG_RTC_DRV_R9701 is not set
# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_DS3234 is not set
#
# Platform RTC drivers
#
# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
# CONFIG_RTC_DRV_V3020 is not set
#
@@ -1669,11 +1757,13 @@ CONFIG_EXT2_FS=y
# 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_EXT4_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=y
+CONFIG_FILE_LOCKING=y
CONFIG_XFS_FS=m
# CONFIG_XFS_QUOTA is not set
# CONFIG_XFS_POSIX_ACL is not set
@@ -1718,6 +1808,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
#
CONFIG_PROC_FS=y
CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1772,6 +1863,7 @@ CONFIG_LOCKD_V4=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
+# CONFIG_SUNRPC_REGISTER_V4 is not set
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_SPKM3 is not set
# CONFIG_SMB_FS is not set
@@ -1852,7 +1944,7 @@ CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=1024
CONFIG_MAGIC_SYSRQ=y
# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
+CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
@@ -1884,15 +1976,23 @@ CONFIG_DEBUG_MUTEXES=y
CONFIG_FRAME_POINTER=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
-CONFIG_HAVE_FTRACE=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-# CONFIG_FTRACE is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+
+#
+# Tracers
+#
+# CONFIG_FUNCTION_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_SCHED_TRACER is not set
# CONFIG_CONTEXT_SWITCH_TRACER is not set
+# CONFIG_BOOT_TRACER is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
@@ -1906,6 +2006,7 @@ CONFIG_HAVE_ARCH_KGDB=y
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
CONFIG_XOR_BLOCKS=m
CONFIG_ASYNC_CORE=m
@@ -1916,10 +2017,12 @@ CONFIG_CRYPTO=y
#
# Crypto core or helper
#
+# CONFIG_CRYPTO_FIPS is not set
CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_HASH=m
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
@@ -1993,14 +2096,17 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
#
CONFIG_CRYPTO_DEFLATE=m
# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
CONFIG_CRYPTO_HW=y
#
# Library routines
#
CONFIG_BITREVERSE=y
-# CONFIG_GENERIC_FIND_FIRST_BIT is not set
-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
CONFIG_CRC_CCITT=y
CONFIG_CRC16=m
CONFIG_CRC_T10DIF=y
diff --git a/packages/linux/linux-omap/evm-mcspi-ts.diff b/packages/linux/linux-omap/evm-mcspi-ts.diff
new file mode 100644
index 0000000000..64d797cf96
--- /dev/null
+++ b/packages/linux/linux-omap/evm-mcspi-ts.diff
@@ -0,0 +1,132 @@
+From linux-omap-owner@vger.kernel.org Sun Nov 02 21:08:25 2008
+Received: from localhost
+ ([127.0.0.1] helo=dominion ident=koen)
+ by dominion.dominion.void with esmtp (Exim 4.69)
+ (envelope-from <linux-omap-owner@vger.kernel.org>)
+ id 1KwjFJ-0008Hg-0T
+ for koen@localhost; Sun, 02 Nov 2008 21:08:25 +0100
+Received: from xs.service.utwente.nl [130.89.5.250]
+ by dominion with POP3 (fetchmail-6.3.9-rc2)
+ for <koen@localhost> (single-drop); Sun, 02 Nov 2008 21:08:25 +0100 (CET)
+Received: from mail.service.utwente.nl ([130.89.5.253]) by exchange.service.utwente.nl with Microsoft SMTPSVC(6.0.3790.3959);
+ Sun, 2 Nov 2008 20:57:16 +0100
+Received: from mx.utwente.nl ([130.89.2.13]) by mail.service.utwente.nl with Microsoft SMTPSVC(6.0.3790.3959);
+ Sun, 2 Nov 2008 20:57:16 +0100
+Received: from vger.kernel.org (vger.kernel.org [209.132.176.167])
+ by mx.utwente.nl (8.12.10/SuSE Linux 0.7) with ESMTP id mA2JudEK010968
+ for <k.kooi@student.utwente.nl>; Sun, 2 Nov 2008 20:56:40 +0100
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S1752819AbYKBT4i (ORCPT <rfc822;k.kooi@student.utwente.nl>);
+ Sun, 2 Nov 2008 14:56:38 -0500
+Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752829AbYKBT4i
+ (ORCPT <rfc822;linux-omap-outgoing>); Sun, 2 Nov 2008 14:56:38 -0500
+Received: from fg-out-1718.google.com ([72.14.220.153]:32481 "EHLO
+ fg-out-1718.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S1752819AbYKBT4h (ORCPT
+ <rfc822;linux-omap@vger.kernel.org>); Sun, 2 Nov 2008 14:56:37 -0500
+Received: by fg-out-1718.google.com with SMTP id 19so1869080fgg.17
+ for <linux-omap@vger.kernel.org>; Sun, 02 Nov 2008 11:56:33 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=gmail.com; s=gamma;
+ h=domainkey-signature:received:received:from:to:cc:subject:date
+ :message-id:x-mailer:in-reply-to:references;
+ bh=Ftvoq8kE3ciPRy7pNy5VLkNnZD8o0HYWIrO1LMS/lAY=;
+ b=HpEcngDUbAObGNJuQmBIG3SoNHesUL57GluZGlYO7kxFxfH6N8zeHjKuRSk86+mT5s
+ gMhyCC07wjVp75HnqCtKbOJzNw/8F4ZGbL2lY1LC99+zxHW1JBQv5c3ZaoCVqTw6TuH0
+ bQ8Ew2BwHknT3wGA+QcGoMJJs5aw62AhPiyHY=
+DomainKey-Signature: a=rsa-sha1; c=nofws;
+ d=gmail.com; s=gamma;
+ h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references;
+ b=aio1APZhCIcYIrMY844QkdaQzKw0/yiuaVjqfv52fnft1kafGT2qAS3KfXAc61a9If
+ sXHbi2fr/r1a7YZJJVGqkJX0WmWTY0OqdhS1lmugP/dXEMHeqaArKATbvxrq9/svb1bV
+ Vzpkm6sOzLrr54uo+BcZNoxHWqb8W2UrRxuTk=
+Received: by 10.103.131.18 with SMTP id i18mr6668205mun.126.1225655793072;
+ Sun, 02 Nov 2008 11:56:33 -0800 (PST)
+Received: from localhost.localdomain ([78.59.134.74])
+ by mx.google.com with ESMTPS id g1sm23199635muf.8.2008.11.02.11.56.31
+ (version=TLSv1/SSLv3 cipher=RC4-MD5);
+ Sun, 02 Nov 2008 11:56:31 -0800 (PST)
+From: Grazvydas Ignotas <notasas@gmail.com>
+To: linux-omap@vger.kernel.org
+Cc: Grazvydas Ignotas <notasas@gmail.com>
+Subject: Re: omap3evm LCD red-tint workaround
+Date: Sun, 2 Nov 2008 21:56:19 +0200
+Message-Id: <1225655779-18934-1-git-send-email-notasas@gmail.com>
+X-Mailer: git-send-email 1.5.4.3
+In-Reply-To: <57322719-1A5A-45DC-9846-5C0A3B6EF346@student.utwente.nl>
+References: <57322719-1A5A-45DC-9846-5C0A3B6EF346@student.utwente.nl>
+Sender: linux-omap-owner@vger.kernel.org
+Precedence: bulk
+List-ID: <linux-omap.vger.kernel.org>
+X-Mailing-List: linux-omap@vger.kernel.org
+X-UTwente-MailScanner-Information: Scanned by MailScanner. Contact servicedesk@icts.utwente.nl for more information.
+X-UTwente-MailScanner: Found to be clean
+X-UTwente-MailScanner-From: linux-omap-owner@vger.kernel.org
+X-Spam-Status: No
+X-OriginalArrivalTime: 02 Nov 2008 19:57:16.0876 (UTC) FILETIME=[34FBA0C0:01C93D25]
+
+> PS: TS is still unusable with the 16x16 pixel resolution
+This is also the case for Pandora. The patch below fixes the problem,
+but as I have no other boards to test this on, I haven't sent it.
+See if it helps you.
+
+
+From 91f3af26bbf751b846e6265d86387e81be7c1364 Mon Sep 17 00:00:00 2001
+From: Grazvydas Ignotas <notasas@gmail.com>
+Date: Tue, 28 Oct 2008 22:01:42 +0200
+Subject: [PATCH] OMAP3: fix McSPI transfers
+
+Currently on OMAP3 if both write and read is set up for a transfer,
+the first byte returned on read is corrupted. Work around this by
+disabling channel between reads and writes, instead of transfers.
+---
+ drivers/spi/omap2_mcspi.c | 7 ++++---
+ 1 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/spi/omap2_mcspi.c b/drivers/spi/omap2_mcspi.c
+index 454a271..4890b6c 100644
+--- a/drivers/spi/omap2_mcspi.c
++++ b/drivers/spi/omap2_mcspi.c
+@@ -710,7 +710,6 @@ static void omap2_mcspi_work(struct work_struct *work)
+ spi = m->spi;
+ cs = spi->controller_state;
+
+- omap2_mcspi_set_enable(spi, 1);
+ list_for_each_entry(t, &m->transfers, transfer_list) {
+ if (t->tx_buf == NULL && t->rx_buf == NULL && t->len) {
+ status = -EINVAL;
+@@ -741,6 +740,8 @@ static void omap2_mcspi_work(struct work_struct *work)
+ if (t->len) {
+ unsigned count;
+
++ omap2_mcspi_set_enable(spi, 1);
++
+ /* RX_ONLY mode needs dummy data in TX reg */
+ if (t->tx_buf == NULL)
+ __raw_writel(0, cs->base
+@@ -752,6 +753,8 @@ static void omap2_mcspi_work(struct work_struct *work)
+ count = omap2_mcspi_txrx_pio(spi, t);
+ m->actual_length += count;
+
++ omap2_mcspi_set_enable(spi, 0);
++
+ if (count != t->len) {
+ status = -EIO;
+ break;
+@@ -777,8 +780,6 @@ static void omap2_mcspi_work(struct work_struct *work)
+ if (cs_active)
+ omap2_mcspi_force_cs(spi, 0);
+
+- omap2_mcspi_set_enable(spi, 0);
+-
+ m->status = status;
+ m->complete(m->context);
+
+--
+1.5.4.3
+
+--
+To unsubscribe from this list: send the line "unsubscribe linux-omap" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at http://vger.kernel.org/majordomo-info.html
+
diff --git a/packages/linux/linux-omap/fix-asoc.diff b/packages/linux/linux-omap/fix-asoc.diff
new file mode 100644
index 0000000000..4948e932fb
--- /dev/null
+++ b/packages/linux/linux-omap/fix-asoc.diff
@@ -0,0 +1,130 @@
+From linux-omap-owner@vger.kernel.org Mon Nov 10 23:48:17 2008
+Date: Mon, 10 Nov 2008 14:36:32 -0800
+From: "Steve Sakoman" <sakoman@gmail.com>
+To: "Philip Balister" <philip@balister.org>
+Subject: Re: ASOC and the Beagle
+Cc: "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
+ "Tony Lindgren" <tony@atomide.com>
+
+On Mon, Nov 10, 2008 at 12:38 PM, Steve Sakoman <sakoman@gmail.com> wrote:
+> On Mon, Nov 10, 2008 at 7:10 AM, Philip Balister <philip@balister.org> wrote:
+>> A few weeks ago kernels built from git would detect the sound hardware and
+>> actually work.
+>>
+>> Yesterday I build a kernel and the sound hardware is no longer detected. Is
+>> there an easy way to fix this?
+>>
+>> Sorry I'm so vague, I don't have all the revision data handy ....
+>
+> I just noticed this too.
+>
+> It seems that the Kconfig for soc/omap got damaged in the merge.
+>
+> The fix is simple, patch below.
+
+Next time I should build test before posting :-)
+
+Turns out that the Makefile for soc/omap and the Kconfig and Makefile
+for soc/codec also got screwed up in the merge, so those need to be
+fixed.
+
+The complete fix is:
+
+diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
+index 38a0e3b..5df7402 100644
+--- a/sound/soc/codecs/Kconfig
++++ b/sound/soc/codecs/Kconfig
+@@ -10,6 +10,7 @@ config SND_SOC_ALL_CODECS
+ select SND_SOC_TLV320AIC23
+ select SND_SOC_TLV320AIC26
+ select SND_SOC_TLV320AIC3X
++ select SND_SOC_TWL4030
+ select SND_SOC_UDA1380
+ select SND_SOC_WM8510
+ select SND_SOC_WM8580
+@@ -75,6 +76,10 @@ config SND_SOC_TLV320AIC3X
+ tristate
+ depends on I2C
+
++config SND_SOC_TWL4030
++ tristate
++ depends on TWL4030_CORE
++
+ config SND_SOC_UDA1380
+ tristate
+
+diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
+index 90f0a58..3b9b58a 100644
+--- a/sound/soc/codecs/Makefile
++++ b/sound/soc/codecs/Makefile
+@@ -7,6 +7,7 @@ snd-soc-ssm2602-objs := ssm2602.o
+ snd-soc-tlv320aic23-objs := tlv320aic23.o
+ snd-soc-tlv320aic26-objs := tlv320aic26.o
+ snd-soc-tlv320aic3x-objs := tlv320aic3x.o
++snd-soc-twl4030-objs := twl4030.o
+ snd-soc-uda1380-objs := uda1380.o
+ snd-soc-wm8510-objs := wm8510.o
+ snd-soc-wm8580-objs := wm8580.o
+@@ -29,6 +30,7 @@ obj-$(CONFIG_SND_SOC_SSM2602) += snd-soc-ssm2602.o
+ obj-$(CONFIG_SND_SOC_TLV320AIC23) += snd-soc-tlv320aic23.o
+ obj-$(CONFIG_SND_SOC_TLV320AIC26) += snd-soc-tlv320aic26.o
+ obj-$(CONFIG_SND_SOC_TLV320AIC3X) += snd-soc-tlv320aic3x.o
++obj-$(CONFIG_SND_SOC_TWL4030) += snd-soc-twl4030.o
+ obj-$(CONFIG_SND_SOC_UDA1380) += snd-soc-uda1380.o
+ obj-$(CONFIG_SND_SOC_WM8510) += snd-soc-wm8510.o
+ obj-$(CONFIG_SND_SOC_WM8580) += snd-soc-wm8580.o
+diff --git a/sound/soc/omap/Kconfig b/sound/soc/omap/Kconfig
+index 8b7766b..0daeee4 100644
+--- a/sound/soc/omap/Kconfig
++++ b/sound/soc/omap/Kconfig
+@@ -14,6 +14,14 @@ config SND_OMAP_SOC_N810
+ help
+ Say Y if you want to add support for SoC audio on Nokia N810.
+
++config SND_OMAP_SOC_OMAP3_BEAGLE
++ tristate "SoC Audio support for OMAP3 Beagle"
++ depends on SND_OMAP_SOC && MACH_OMAP3_BEAGLE
++ select SND_OMAP_SOC_MCBSP
++ select SND_SOC_TWL4030
++ help
++ Say Y if you want to add support for SoC audio on the Beagleboard.
++
+ config SND_OMAP_SOC_OSK5912
+ tristate "SoC Audio support for omap osk5912"
+ depends on SND_OMAP_SOC && MACH_OMAP_OSK
+@@ -21,3 +29,13 @@ config SND_OMAP_SOC_OSK5912
+ select SND_SOC_TLV320AIC23
+ help
+ Say Y if you want to add support for SoC audio on osk5912.
++
++config SND_OMAP_SOC_OVERO
++ tristate "SoC Audio support for Gumstix Overo"
++ depends on SND_OMAP_SOC && MACH_OVERO
++ select SND_OMAP_SOC_MCBSP
++ select SND_SOC_TWL4030
++ help
++ Say Y if you want to add support for SoC audio on the Gumstix Overo.
++
++
+diff --git a/sound/soc/omap/Makefile b/sound/soc/omap/Makefile
+index e09d1f2..4bae404 100644
+--- a/sound/soc/omap/Makefile
++++ b/sound/soc/omap/Makefile
+@@ -7,7 +7,12 @@ obj-$(CONFIG_SND_OMAP_SOC_MCBSP) += snd-soc-omap-mcbsp.o
+
+ # OMAP Machine Support
+ snd-soc-n810-objs := n810.o
++snd-soc-omap3beagle-objs := omap3beagle.o
+ snd-soc-osk5912-objs := osk5912.o
++snd-soc-overo-objs := overo.o
+
+ obj-$(CONFIG_SND_OMAP_SOC_N810) += snd-soc-n810.o
++obj-$(CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE) += snd-soc-omap3beagle.o
+ obj-$(CONFIG_SND_OMAP_SOC_OSK5912) += snd-soc-osk5912.o
++obj-$(CONFIG_SND_OMAP_SOC_OVERO) += snd-soc-overo.o
++
+--
+To unsubscribe from this list: send the line "unsubscribe linux-omap" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at http://vger.kernel.org/majordomo-info.html
+
diff --git a/packages/linux/linux-omap/fix-clkrate-programming.diff b/packages/linux/linux-omap/fix-clkrate-programming.diff
new file mode 100644
index 0000000000..10369d4200
--- /dev/null
+++ b/packages/linux/linux-omap/fix-clkrate-programming.diff
@@ -0,0 +1,57 @@
+From: Paul Walmsley <paul@pwsan.com>
+Date: Fri, 17 Oct 2008 22:18:42 +0000 (-0600)
+Subject: OMAP3 clock: fix non-CORE DPLL rate assignment bugs
+X-Git-Tag: v2.6.27-omap1~8
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftmlind%2Flinux-omap-2.6.git;a=commitdiff_plain;h=2ac1da8c787f73f067e717408e631501ba60aabc
+
+OMAP3 clock: fix non-CORE DPLL rate assignment bugs
+
+Commit 8b1f0bd44fe490ec631230c8c040753a2bda8caa introduced a bug that
+caused non-CORE DPLL rates to be incorrectly set on boot in
+omap3_noncore_dpll_enable(). Debugged by Tomi Valkeinen
+<tomi.valkeinen@nokia.com> - thanks Tomi.
+
+Also fix omap3_noncore_dpll_set_rate() to assign clk->rate after a
+DPLL reprogram.
+
+Tested on 3430SDP.
+
+Signed-off-by: Paul Walmsley <paul@pwsan.com>
+Cc: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Cc: Rick Bronson <rick@efn.org>
+Cc: Timo Kokkonen <timo.t.kokkonen@nokia.com>
+Cc: Sakari Poussa <sakari.poussa@nokia.com>
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+---
+
+diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c
+index df258f7..cc43f4f 100644
+--- a/arch/arm/mach-omap2/clock34xx.c
++++ b/arch/arm/mach-omap2/clock34xx.c
+@@ -271,7 +271,6 @@ static int _omap3_noncore_dpll_stop(struct clk *clk)
+ static int omap3_noncore_dpll_enable(struct clk *clk)
+ {
+ int r;
+- long rate;
+ struct dpll_data *dd;
+
+ if (clk == &dpll3_ck)
+@@ -287,7 +286,7 @@ static int omap3_noncore_dpll_enable(struct clk *clk)
+ r = _omap3_noncore_dpll_lock(clk);
+
+ if (!r)
+- clk->rate = rate;
++ clk->rate = omap2_get_dpll_rate(clk);
+
+ return r;
+ }
+@@ -430,6 +429,9 @@ static int omap3_noncore_dpll_set_rate(struct clk *clk, unsigned long rate)
+ ret = omap3_noncore_dpll_program(clk, dd->last_rounded_m,
+ dd->last_rounded_n, freqsel);
+
++ if (!ret)
++ clk->rate = rate;
++
+ }
+
+ omap3_dpll_recalc(clk);
diff --git a/packages/linux/linux-omap/fix-mmc.diff b/packages/linux/linux-omap/fix-mmc.diff
new file mode 100644
index 0000000000..dfc531c3ef
--- /dev/null
+++ b/packages/linux/linux-omap/fix-mmc.diff
@@ -0,0 +1,39 @@
+Oops.. Haven't thought to try it without gpio_cd set up, in which case c->mmc
+is not set initialized.. Please try the following patch:
+
+
+diff --git a/arch/arm/mach-omap2/mmc-twl4030.c b/arch/arm/mach-omap2/mmc-twl4030.c
+index 0ea6ba6..626d668 100644
+--- a/arch/arm/mach-omap2/mmc-twl4030.c
++++ b/arch/arm/mach-omap2/mmc-twl4030.c
+@@ -239,6 +239,7 @@ static int twl_mmc1_set_power(struct device *dev, int slot, int power_on,
+ u32 reg;
+ int ret = 0;
+ struct twl_mmc_controller *c = &hsmmc[0];
++ struct omap_mmc_platform_data *mmc = dev->platform_data;
+
+ if (power_on) {
+ if (cpu_is_omap2430()) {
+@@ -250,7 +251,7 @@ static int twl_mmc1_set_power(struct device *dev, int slot, int power_on,
+ omap_ctrl_writel(reg, OMAP243X_CONTROL_DEVCONF1);
+ }
+
+- if (c->mmc->slots[0].internal_clock) {
++ if (mmc->slots[0].internal_clock) {
+ reg = omap_ctrl_readl(OMAP2_CONTROL_DEVCONF0);
+ reg |= OMAP2_MMCSDIO1ADPCLKISEL;
+ omap_ctrl_writel(reg, OMAP2_CONTROL_DEVCONF0);
+@@ -293,11 +294,11 @@ static int twl_mmc1_set_power(struct device *dev, int slot, int power_on,
+ static int twl_mmc2_set_power(struct device *dev, int slot, int power_on, int vdd)
+ {
+ int ret;
+-
+ struct twl_mmc_controller *c = &hsmmc[1];
++ struct omap_mmc_platform_data *mmc = dev->platform_data;
+
+ if (power_on) {
+- if (c->mmc->slots[0].internal_clock) {
++ if (mmc->slots[0].internal_clock) {
+ u32 reg;
+
+ reg = omap_ctrl_readl(control_devconf1_offset);
diff --git a/packages/linux/linux-omap/mru-add-clk-get-parent.diff b/packages/linux/linux-omap/mru-add-clk-get-parent.diff
index 64944a5e47..4488b311a0 100644
--- a/packages/linux/linux-omap/mru-add-clk-get-parent.diff
+++ b/packages/linux/linux-omap/mru-add-clk-get-parent.diff
@@ -1,20 +1,21 @@
+From 2414b5ac7596904dd8951619316b63d644f544db Mon Sep 17 00:00:00 2001
From: Mans Rullgard <mans@mansr.com>
-Date: Fri, 29 Aug 2008 01:51:36 +0000 (+0100)
-Subject: OMAP: Add clk_get_parent() for OMAP2/3
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=08d1f1947a5a970b2fe6e4dfeeb70286b9379056
-
-OMAP: Add clk_get_parent() for OMAP2/3
-
-This makes clk_get_parent() work on OMAP2/3.
+Date: Tue, 22 Jul 2008 01:58:18 +0100
+Subject: [PATCH] ARM: OMAP: add clk_get_parent() for OMAP2/3
Signed-off-by: Mans Rullgard <mans@mansr.com>
---
+ arch/arm/mach-omap2/clock.c | 5 +++++
+ arch/arm/mach-omap2/clock.h | 1 +
+ arch/arm/mach-omap2/clock24xx.c | 1 +
+ arch/arm/mach-omap2/clock34xx.c | 1 +
+ 4 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c
-index 5f48e14..aae0d2e 100644
+index c3af24e..9e502a0 100644
--- a/arch/arm/mach-omap2/clock.c
+++ b/arch/arm/mach-omap2/clock.c
-@@ -831,6 +831,11 @@ int omap2_clk_set_parent(struct clk *clk, struct clk *new_parent)
+@@ -817,6 +817,11 @@ int omap2_clk_set_parent(struct clk *clk, struct clk *new_parent)
return 0;
}
@@ -27,7 +28,7 @@ index 5f48e14..aae0d2e 100644
/**
diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h
-index 3fa2e26..2916879 100644
+index bcb0c03..a5183d0 100644
--- a/arch/arm/mach-omap2/clock.h
+++ b/arch/arm/mach-omap2/clock.h
@@ -29,6 +29,7 @@ int omap2_clk_set_rate(struct clk *clk, unsigned long rate);
@@ -39,10 +40,10 @@ index 3fa2e26..2916879 100644
#ifdef CONFIG_OMAP_RESET_CLOCKS
void omap2_clk_disable_unused(struct clk *clk);
diff --git a/arch/arm/mach-omap2/clock24xx.c b/arch/arm/mach-omap2/clock24xx.c
-index c26d9d8..f91bd57 100644
+index a54f10f..4382e60 100644
--- a/arch/arm/mach-omap2/clock24xx.c
+++ b/arch/arm/mach-omap2/clock24xx.c
-@@ -423,6 +423,7 @@ static struct clk_functions omap2_clk_functions = {
+@@ -416,6 +416,7 @@ static struct clk_functions omap2_clk_functions = {
.clk_round_rate = omap2_clk_round_rate,
.clk_set_rate = omap2_clk_set_rate,
.clk_set_parent = omap2_clk_set_parent,
@@ -51,10 +52,10 @@ index c26d9d8..f91bd57 100644
#ifdef CONFIG_CPU_FREQ
.clk_init_cpufreq_table = omap2_clk_init_cpufreq_table,
diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c
-index 152d095..2196edd 100644
+index cc43f4f..2a1a6b1 100644
--- a/arch/arm/mach-omap2/clock34xx.c
+++ b/arch/arm/mach-omap2/clock34xx.c
-@@ -606,6 +606,7 @@ static struct clk_functions omap2_clk_functions = {
+@@ -635,6 +635,7 @@ static struct clk_functions omap2_clk_functions = {
.clk_round_rate = omap2_clk_round_rate,
.clk_set_rate = omap2_clk_set_rate,
.clk_set_parent = omap2_clk_set_parent,
@@ -62,3 +63,6 @@ index 152d095..2196edd 100644
.clk_disable_unused = omap2_clk_disable_unused,
};
+--
+1.5.6.3
+
diff --git a/packages/linux/linux-omap/mru-make-dpll4-m4-ck-programmable.diff b/packages/linux/linux-omap/mru-make-dpll4-m4-ck-programmable.diff
index 0a535c5d52..85f9cc3129 100644
--- a/packages/linux/linux-omap/mru-make-dpll4-m4-ck-programmable.diff
+++ b/packages/linux/linux-omap/mru-make-dpll4-m4-ck-programmable.diff
@@ -1,22 +1,20 @@
+From 38e48da3c27d38b05bed4572930240e73e4dfb22 Mon Sep 17 00:00:00 2001
From: Mans Rullgard <mans@mansr.com>
-Date: Fri, 29 Aug 2008 01:52:42 +0000 (+0100)
-Subject: OMAP: Make dpll4_m4_ck programmable with clk_set_rate()
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=feab5b628c06619196044c15d9d2a113df173eee
-
-OMAP: Make dpll4_m4_ck programmable with clk_set_rate()
+Date: Tue, 22 Jul 2008 01:31:11 +0100
+Subject: [PATCH] ARM: OMAP: make dpll4_m4_ck programmable with clk_set_rate()
Filling the set_rate and round_rate fields of dpll4_m4_ck makes
this clock programmable through clk_set_rate(). This is needed
to give omapfb control over the dss1_alwon_fck rate.
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
---
+ arch/arm/mach-omap2/clock34xx.h | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h
-index 41f91f8..9c8e0c8 100644
+index 08789c8..1032577 100644
--- a/arch/arm/mach-omap2/clock34xx.h
+++ b/arch/arm/mach-omap2/clock34xx.h
-@@ -877,6 +877,8 @@ static struct clk dpll4_m4_ck = {
+@@ -821,6 +821,8 @@ static struct clk dpll4_m4_ck = {
PARENT_CONTROLS_CLOCK,
.clkdm = { .name = "dpll4_clkdm" },
.recalc = &omap2_clksel_recalc,
@@ -25,3 +23,6 @@ index 41f91f8..9c8e0c8 100644
};
/* The PWRDN bit is apparently only available on 3430ES2 and above */
+--
+1.5.6.3
+
diff --git a/packages/linux/linux-omap/omap3evm/omap3evm-dss2.diff b/packages/linux/linux-omap/omap3evm/omap3evm-dss2.diff
new file mode 100644
index 0000000000..60832e72ca
--- /dev/null
+++ b/packages/linux/linux-omap/omap3evm/omap3evm-dss2.diff
@@ -0,0 +1,443 @@
+From: hvaibhav@ti.com
+To: linux-fbdev-devel@lists.sourceforge.net, linux-omap@vger.kernel.org
+Cc: Vaibhav Hiremath <hvaibhav@ti.com>
+Subject: [REVIEW PATCH] Added OMAP3EVM support on Tomis FBDEV/DSS Patches
+Date: Fri, 14 Nov 2008 12:02:32 +0530
+
+From: Vaibhav Hiremath <hvaibhav@ti.com>
+
+Tested LCD, TV, DVI (480P) out on OMAP3EVM board.
+
+Please make sure that you change the option
+CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=7 and apply the
+Mans Rullgard clock patches to support set_rate and round_rate API.
+
+Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
+---
+ arch/arm/mach-omap2/board-omap3evm.c | 224 ++++++++++++++++++++++++++++++++--
+ drivers/video/omap2/Kconfig | 5 +
+ drivers/video/omap2/Makefile | 1 +
+ drivers/video/omap2/panel-omap3evm.c | 110 +++++++++++++++++
+ 5 files changed, 341 insertions(+), 53 deletions(-)
+ create mode 100644 drivers/video/omap2/panel-omap3evm.c
+
+diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
+index 42ab826..e244fa7 100644
+--- a/arch/arm/mach-omap2/board-omap3evm.c
++++ b/arch/arm/mach-omap2/board-omap3evm.c
+@@ -37,6 +37,8 @@
+ #include <mach/usb-ehci.h>
+ #include <mach/common.h>
+ #include <mach/mcspi.h>
++#include <mach/omapfb.h>
++#include <mach/display.h>
+
+ #include "sdram-micron-mt46h32m32lf-6.h"
+ #include "twl4030-generic-scripts.h"
+@@ -161,14 +163,215 @@ static int __init omap3_evm_i2c_init(void)
+ omap_register_i2c_bus(3, 400, NULL, 0);
+ return 0;
+ }
++static struct omap_fbmem_config evm_fbmem0_config = {
++ .size = 480*720*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
++};
+
+-static struct platform_device omap3_evm_lcd_device = {
+- .name = "omap3evm_lcd",
+- .id = -1,
++static struct omap_fbmem_config evm_fbmem1_config = {
++ .size = 480*720*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
+ };
+
+-static struct omap_lcd_config omap3_evm_lcd_config __initdata = {
+- .ctrl_name = "internal",
++static struct omap_fbmem_config evm_fbmem2_config = {
++ .size = 480*720*4,
++ .start = OMAPFB_MEMTYPE_SDRAM,
++};
++#define LCD_PANEL_LR 2
++#define LCD_PANEL_UD 3
++#define LCD_PANEL_INI 152
++#define LCD_PANEL_ENABLE_GPIO 153
++#define LCD_PANEL_QVGA 154
++#define LCD_PANEL_RESB 155
++
++#define ENABLE_VDAC_DEDICATED 0x03
++#define ENABLE_VDAC_DEV_GRP 0x20
++#define ENABLE_VPLL2_DEDICATED 0x05
++#define ENABLE_VPLL2_DEV_GRP 0xE0
++
++#define TWL4030_GPIODATA_IN3 0x03
++#define TWL4030_GPIODATA_DIR3 0x06
++#define TWL4030_VPLL2_DEV_GRP 0x33
++#define TWL4030_VPLL2_DEDICATED 0x36
++
++static int lcd_enabled;
++static int dvi_enabled;
++
++static void __init evm_display_init(void)
++{
++ int r;
++ r = gpio_request(LCD_PANEL_LR, "lcd_panel_lr");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_LR\n");
++ return;
++ }
++ r = gpio_request(LCD_PANEL_UD, "lcd_panel_ud");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_UD\n");
++ goto err_1;
++ }
++
++ r = gpio_request(LCD_PANEL_INI, "lcd_panel_ini");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_INI\n");
++ goto err_2;
++ }
++ r = gpio_request(LCD_PANEL_RESB, "lcd_panel_resb");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_RESB\n");
++ goto err_3;
++ }
++ r = gpio_request(LCD_PANEL_QVGA, "lcd_panel_qvga");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_QVGA\n");
++ goto err_4;
++ }
++
++ gpio_direction_output(LCD_PANEL_LR, 0);
++ gpio_direction_output(LCD_PANEL_UD, 0);
++ gpio_direction_output(LCD_PANEL_INI, 0);
++ gpio_direction_output(LCD_PANEL_RESB, 0);
++ gpio_direction_output(LCD_PANEL_QVGA, 0);
++
++#define TWL_LED_LEDEN 0x00
++#define TWL_PWMA_PWMAON 0x00
++#define TWL_PWMA_PWMAOFF 0x01
++
++ twl4030_i2c_write_u8(TWL4030_MODULE_LED, 0x11, TWL_LED_LEDEN);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PWMA, 0x01, TWL_PWMA_PWMAON);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PWMA, 0x02, TWL_PWMA_PWMAOFF);
++
++ gpio_direction_output(LCD_PANEL_RESB, 1);
++ gpio_direction_output(LCD_PANEL_INI, 1);
++ gpio_direction_output(LCD_PANEL_QVGA, 0);
++ gpio_direction_output(LCD_PANEL_LR, 1);
++ gpio_direction_output(LCD_PANEL_UD, 1);
++
++ return;
++
++err_4:
++ gpio_free(LCD_PANEL_RESB);
++err_3:
++ gpio_free(LCD_PANEL_INI);
++err_2:
++ gpio_free(LCD_PANEL_UD);
++err_1:
++ gpio_free(LCD_PANEL_LR);
++
++}
++
++static int panel_enable_lcd(struct omap_display *display)
++{
++ if (dvi_enabled) {
++ printk(KERN_ERR "cannot enable LCD, DVI is enabled\n");
++ return -EINVAL;
++ }
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VPLL2_DEDICATED, TWL4030_VPLL2_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VPLL2_DEV_GRP, TWL4030_VPLL2_DEV_GRP);
++ }
++ gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 0);
++ lcd_enabled = 1;
++ return 0;
++}
++
++static void panel_disable_lcd(struct omap_display *display)
++{
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x0,
++ TWL4030_VPLL2_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x0,
++ TWL4030_VPLL2_DEV_GRP);
++ }
++ gpio_set_value(LCD_PANEL_ENABLE_GPIO, 1);
++ lcd_enabled = 0;
++}
++
++static struct omap_display_data evm_display_data = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "lcd",
++ .panel_name = "panel-sdp3430",
++ .u.dpi.data_lines = 16,
++ .panel_enable = panel_enable_lcd,
++ .panel_disable = panel_disable_lcd,
++};
++
++static int panel_enable_tv(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEDICATED, TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEV_GRP, TWL4030_VDAC_DEV_GRP);
++ return 0;
++}
++
++static void panel_disable_tv(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEV_GRP);
++}
++
++static struct omap_display_data evm_display_data_tv = {
++ .type = OMAP_DISPLAY_TYPE_VENC,
++ .name = "tv",
++ .u.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
++ .panel_enable = panel_enable_tv,
++ .panel_disable = panel_disable_tv,
++};
++
++
++static int panel_enable_dvi(struct omap_display *display)
++{
++ if (lcd_enabled) {
++ printk(KERN_ERR "cannot enable DVI, LCD is enabled\n");
++ return -EINVAL;
++ }
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x80,
++ TWL4030_GPIODATA_IN3);
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x80,
++ TWL4030_GPIODATA_DIR3);
++ dvi_enabled = 1;
++
++ return 0;
++}
++
++static void panel_disable_dvi(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x00,
++ TWL4030_GPIODATA_IN3);
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x00,
++ TWL4030_GPIODATA_DIR3);
++ dvi_enabled = 0;
++}
++
++
++static struct omap_display_data evm_display_data_dvi = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "dvi",
++ .panel_name = "panel-dvi",
++ .u.dpi.data_lines = 24,
++ .panel_enable = panel_enable_dvi,
++ .panel_disable = panel_disable_dvi,
++};
++
++static struct omap_dss_platform_data evm_dss_data = {
++ .num_displays = 3,
++ .displays = {
++ &evm_display_data,
++ &evm_display_data_dvi,
++ &evm_display_data_tv,
++ }
++};
++static struct platform_device evm_dss_device = {
++ .name = "omap-dss",
++ .id = -1,
++ .dev = {
++ .platform_data = &evm_dss_data,
++ },
+ };
+
+ static void ads7846_dev_init(void)
+@@ -227,11 +430,13 @@ static void __init omap3_evm_init_irq(void)
+
+ static struct omap_board_config_kernel omap3_evm_config[] __initdata = {
+ { OMAP_TAG_UART, &omap3_evm_uart_config },
+- { OMAP_TAG_LCD, &omap3_evm_lcd_config },
++ { OMAP_TAG_FBMEM, &evm_fbmem0_config },
++ { OMAP_TAG_FBMEM, &evm_fbmem1_config },
++ { OMAP_TAG_FBMEM, &evm_fbmem2_config },
+ };
+
+ static struct platform_device *omap3_evm_devices[] __initdata = {
+- &omap3_evm_lcd_device,
++ &evm_dss_device,
+ &omap3evm_smc911x_device,
+ };
+
+@@ -250,8 +455,6 @@ static void __init omap3_evm_init(void)
+ omap3_evm_i2c_init();
+
+ platform_add_devices(omap3_evm_devices, ARRAY_SIZE(omap3_evm_devices));
+- omap_board_config = omap3_evm_config;
+- omap_board_config_size = ARRAY_SIZE(omap3_evm_config);
+
+ spi_register_board_info(omap3evm_spi_board_info,
+ ARRAY_SIZE(omap3evm_spi_board_info));
+@@ -262,10 +465,13 @@ static void __init omap3_evm_init(void)
+ usb_ehci_init();
+ omap3evm_flash_init();
+ ads7846_dev_init();
++ evm_display_init();
+ }
+
+ static void __init omap3_evm_map_io(void)
+ {
++ omap_board_config = omap3_evm_config;
++ omap_board_config_size = ARRAY_SIZE(omap3_evm_config);
+ omap2_set_globals_343x();
+ omap2_map_common_io();
+ }
+diff --git a/drivers/video/omap2/Kconfig b/drivers/video/omap2/Kconfig
+index 95691ad..8211ffd 100644
+--- a/drivers/video/omap2/Kconfig
++++ b/drivers/video/omap2/Kconfig
+@@ -51,4 +51,9 @@ config PANEL_SDP3430
+ help
+ SDP3430 LCD
+
++config PANEL_OMAP3EVM
++ tristate "OMAP3EVM Panel"
++ depends on OMAP2_DSS
++ help
++ OMAP3EVM LCD Panel
+ endmenu
+diff --git a/drivers/video/omap2/Makefile b/drivers/video/omap2/Makefile
+index 73ab1c0..668e8c6 100644
+--- a/drivers/video/omap2/Makefile
++++ b/drivers/video/omap2/Makefile
+@@ -3,3 +3,4 @@ omapfb-y := omapfb-main.o omapfb-sysfs.o omapfb-ioctl.o
+
+ obj-$(CONFIG_PANEL_DVI) += panel-dvi.o
+ obj-$(CONFIG_PANEL_SDP3430) += panel-sdp3430.o
++obj-$(CONFIG_PANEL_OMAP3EVM) += panel-omap3evm.o
+diff --git a/drivers/video/omap2/panel-omap3evm.c b/drivers/video/omap2/panel-omap3evm.c
+new file mode 100644
+index 0000000..4a00b02
+--- /dev/null
++++ b/drivers/video/omap2/panel-omap3evm.c
+@@ -0,0 +1,110 @@
++/*
++ * LCD panel support for the TI OMAP3EVM board
++ *
++ * Copyright (C) 2008 Texas Instruments, Inc.
++ * Author: Vaibhav Hiremath <hvaibhav@ti.com>
++ *
++ * Derived from drivers/video/omap2/panel-sdp3430.c
++ *
++ * 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.
++ *
++ * 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.
++ *
++ * You should have received a copy of the GNU General Public License along with
++ * this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <linux/module.h>
++#include <linux/delay.h>
++
++#include <mach/display.h>
++
++static int omap3evm_panel_init(struct omap_display *display)
++{
++ return 0;
++}
++
++static void omap3evm_panel_cleanup(struct omap_display *display)
++{
++}
++
++static int omap3evm_panel_enable(struct omap_display *display)
++{
++ int r = 0;
++
++ if (display->hw_config.panel_enable)
++ r = display->hw_config.panel_enable(display);
++
++ return r;
++}
++
++static void omap3evm_panel_disable(struct omap_display *display)
++{
++ if (display->hw_config.panel_disable)
++ display->hw_config.panel_disable(display);
++}
++
++static int omap3evm_panel_suspend(struct omap_display *display)
++{
++ omap3evm_panel_disable(display);
++ return 0;
++}
++
++static int omap3evm_panel_resume(struct omap_display *display)
++{
++ return omap3evm_panel_enable(display);
++}
++
++static struct omap_panel omap3evm_panel = {
++ .owner = THIS_MODULE,
++ .name = "panel-evm",
++ .init = omap3evm_panel_init,
++ .cleanup = omap3evm_panel_cleanup,
++ .enable = omap3evm_panel_enable,
++ .disable = omap3evm_panel_disable,
++ .suspend = omap3evm_panel_suspend,
++ .resume = omap3evm_panel_resume,
++ /*.set_mode = omap3evm_set_mode, */
++
++ .timings = {
++ .pixel_clock = 26000,
++
++ .hsw = 4,
++ .hfp = 4,
++ .hbp = 40,
++
++ .vsw = 2,
++ .vfp = 2,
++ .vbp = 7,
++ },
++
++ .acb = 0x28,
++
++ .config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
++ OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_IPC,
++
++ .x_res = 480,
++ .y_res = 640,
++ .bpp = 18,
++};
++
++
++static int __init omap3evm_panel_drv_init(void)
++{
++ omap_dss_register_panel(&omap3evm_panel);
++ return 0;
++}
++
++static void __exit omap3evm_panel_drv_exit(void)
++{
++ omap_dss_unregister_panel(&omap3evm_panel);
++}
++
++module_init(omap3evm_panel_drv_init);
++module_exit(omap3evm_panel_drv_exit);
++MODULE_LICENSE("GPL");
+--
+1.5.6
+
+--
+To unsubscribe from this list: send the line "unsubscribe linux-omap" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at http://vger.kernel.org/majordomo-info.html
+
diff --git a/packages/linux/linux-omap/omap3evm/omap3evm-lcd-redtint.diff b/packages/linux/linux-omap/omap3evm/omap3evm-lcd-redtint.diff
new file mode 100644
index 0000000000..54ea3c9f68
--- /dev/null
+++ b/packages/linux/linux-omap/omap3evm/omap3evm-lcd-redtint.diff
@@ -0,0 +1,66 @@
+Message-ID: <c656a4d20809270046u341aec27k6d896d4b42e799d4@mail.gmail.com>
+Date: Sat, 27 Sep 2008 03:46:18 -0400
+From: "arun c" <arun.edarath@gmail.com>
+To: "Daniel Schaeffer" <daniel.schaeffer@timesys.com>
+Subject: Re: OMAP3EVM LCD red tint
+
+Hi Daniel Schaeffer
+
+On Fri, Sep 26, 2008 at 4:20 PM, Daniel Schaeffer
+<daniel.schaeffer@timesys.com> wrote:
+> Has anyone looked into why the LCD display on the OMAP3EVM is always tinted
+> red? I created a couple of color test images that I cat'ed to /dev/fb and it
+> looks like the blue color channel is completely ignored. I was testing on
+> v2.6.26-omap2 but is doesn't look like there have been any changes to the fb
+> driver since then so I'm assuming the issue is also present in the head of
+> the git tree.
+>
+> Regards,
+>
+> Daniel Schaeffer
+>
+
+Try the patch below(Remember that you may have to manually edit because
+this patch is against current HEAD)
+
+
+diff --git a/drivers/video/omap/lcd_omap3evm.c
+b/drivers/video/omap/lcd_omap3evm.c
+index a564ca5..821bafe 100644
+--- a/drivers/video/omap/lcd_omap3evm.c
++++ b/drivers/video/omap/lcd_omap3evm.c
+@@ -44,6 +44,8 @@
+ #define ENABLE_VDAC_DEV_GRP 0x20
+ #define ENABLE_VPLL2_DEDICATED 0x05
+ #define ENABLE_VPLL2_DEV_GRP 0xE0
++#define TWL4030_VPLL2_DEV_GRP 0x33
++#define TWL4030_VPLL2_DEDICATED 0x36
+
+ #define TWL_LED_LEDEN 0x00
+ #define TWL_PWMA_PWMAON 0x00
+@@ -86,12 +88,24 @@ static void omap3evm_panel_cleanup(struct lcd_panel *panel)
+
+ static int omap3evm_panel_enable(struct lcd_panel *panel)
+ {
++ if (omap_rev > OMAP3430_REV_ES1_0) {
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VPLL2_DEDICATED, TWL4030_VPLL2_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VPLL2_DEV_GRP, TWL4030_VPLL2_DEV_GRP);
++ }
+ omap_set_gpio_dataout(LCD_PANEL_ENABLE_GPIO, 0);
+ return 0;
+ }
+
+ static void omap3evm_panel_disable(struct lcd_panel *panel)
+ {
++ if (omap_rev > OMAP3430_REV_ES1_0) {
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x0,
++ TWL4030_VPLL2_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x0,
++ TWL4030_VPLL2_DEV_GRP);
++ }
+ omap_set_gpio_dataout(LCD_PANEL_ENABLE_GPIO, 1);
+ }
+
+
diff --git a/packages/linux/linux-omap_git.bb b/packages/linux/linux-omap_git.bb
index 0f5113d76e..b3af0204d9 100644
--- a/packages/linux/linux-omap_git.bb
+++ b/packages/linux/linux-omap_git.bb
@@ -6,18 +6,17 @@ KERNEL_IMAGETYPE = "uImage"
COMPATIBLE_MACHINE = "omap5912osk|omap1710h3|omap2430sdp|omap2420h4|beagleboard|omap3evm"
-SRCREV = "2a3408be17f287fdb5809c9b6c68e7ad96d25b74"
+SRCREV = "5ecf98b76fa95078277c9037bb01640fd3de5e2c"
-#PV = "2.6.26+2.6.27-rc7+${PR}+gitr${SRCREV}"
-PV = "2.6.27+${PR}+gitr${SRCREV}"
-PR = "r1"
+PV = "2.6.27+2.6.28-rc4+${PR}+gitr${SRCREV}"
+#PV = "2.6.27+${PR}+gitr${SRCREV}"
+PR = "r0"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git;protocol=git \
file://defconfig"
SRC_URI_append = " \
file://no-empty-flash-warnings.patch;patch=1 \
- file://oprofile-0.9.3.armv7.diff;patch=1 \
file://no-cortex-deadlock.patch;patch=1 \
file://read_die_ids.patch;patch=1 \
file://fix-install.patch;patch=1 \
@@ -30,10 +29,22 @@ SRC_URI_append = " \
file://mru-improve-pixclock-config.diff;patch=1 \
file://mru-make-video-timings-selectable.diff;patch=1 \
file://mru-enable-overlay-optimalization.diff;patch=1 \
- file://musb-fix-ISO-in-unlink.diff;patch=1 \
file://musb-fix-multiple-bulk-transfers.diff;patch=1 \
file://musb-fix-endpoints.diff;patch=1 \
file://dvb-fix-dma.diff;patch=1 \
+ file://0001-Removed-resolution-check-that-prevents-scaling-when.patch;patch=1 \
+ file://0001-Implement-downsampling-with-debugs.patch;patch=1 \
+ file://0003-DSS-Documentation-for-OMAP2-3-display-subsystem.patch;patch=1 \
+ file://0004-DSS-New-display-subsystem-driver-for-OMAP2-3.patch;patch=1 \
+ file://0005-DSS-OMAPFB-fb-driver-for-new-display-subsystem.patch;patch=1 \
+ file://0006-DSS-Add-generic-DVI-panel.patch;patch=1 \
+ file://0007-DSS-support-for-Beagle-Board.patch;patch=1 \
+ file://0008-DSS-BEAGLE-Enable-DSS-in-beagle-defconfig.patch;patch=1 \
+ file://0009-DSS-Sharp-LS037V7DW01-LCD-Panel-driver.patch;patch=1 \
+ file://0010-DSS-Support-for-OMAP3-SDP-board.patch;patch=1 \
+ file://0011-DSS-Support-for-OMAP3-EVM-board.patch;patch=1 \
+# file://fix-asoc.diff;patch=1 \
+ file://fix-mmc.diff;patch=1 \
"
@@ -41,6 +52,8 @@ SRC_URI_append_beagleboard = " file://logo_linux_clut224.ppm \
"
SRC_URI_append_omap3evm = " \
+ file://evm-mcspi-ts.diff;patch=1 \
+# file://omap3evm-lcd-redtint.diff;patch=1 \
"
S = "${WORKDIR}/git"
diff --git a/packages/linux/linux-rp-2.6.24/defconfig-tosa b/packages/linux/linux-rp-2.6.24/defconfig-tosa
index 379b8bc44e..db1aa16238 100644
--- a/packages/linux/linux-rp-2.6.24/defconfig-tosa
+++ b/packages/linux/linux-rp-2.6.24/defconfig-tosa
@@ -828,6 +828,7 @@ CONFIG_INPUT_EVDEV=y
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
+# CONFIG_SHARPSL_RC is not set
# CONFIG_KEYBOARD_ATKBD is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
diff --git a/packages/linux/linux-rp_2.6.24.bb b/packages/linux/linux-rp_2.6.24.bb
index b19111ebcb..6275b31fd0 100644
--- a/packages/linux/linux-rp_2.6.24.bb
+++ b/packages/linux/linux-rp_2.6.24.bb
@@ -131,8 +131,6 @@ SRC_URI_append_tosa = "\
file://tosa/0014-tosa_udc_use_gpio_vbus.patch.patch;patch=1 \
file://tosa/0015-sharpsl-export-params.patch;patch=1 \
file://tosa/0016-This-patch-fixes-the-pxa25x-clocks-definitions-to-ad.patch;patch=1 \
- file://tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch;patch=1 \
- file://tosa/0018-Fix-the-pxa2xx_udc-to-balance-calls-to-clk_enable-cl.patch;patch=1 \
file://tosa/0026-I-don-t-think-we-should-check-for-IRQs-when-determin.patch;patch=1 \
file://tosa/0027-Add-LiMn-one-of-the-most-common-for-small-non-recha.patch;patch=1 \
file://tosa/0028-Add-suspend-resume-wakeup-support-for-pda_power.patch;patch=1 \
@@ -184,6 +182,8 @@ SRC_URI_append_tosa = "\
file://tosa/0056-Support-resetting-by-asserting-GPIO-pin.patch;patch=1 \
file://tosa/0057-Clean-up-tosa-resetting.patch;patch=1 \
"
+# file://tosa/0017-Convert-pxa2xx-UDC-to-use-debugfs.patch;patch=1 \
+# file://tosa/0018-Fix-the-pxa2xx_udc-to-balance-calls-to-clk_enable-cl.patch;patch=1 \
SRC_URI_append_htcuniversal ="\
file://htcuni-acx.patch;patch=1;status=external \
diff --git a/packages/linux/linux_2.6.25.bb b/packages/linux/linux_2.6.25.bb
index c095e5c3a2..5da65469b1 100644
--- a/packages/linux/linux_2.6.25.bb
+++ b/packages/linux/linux_2.6.25.bb
@@ -12,6 +12,7 @@ DEFAULT_PREFERENCE_alix = "1"
DEFAULT_PREFERENCE_at32stk1000 = "1"
DEFAULT_PREFERENCE_at91-l9260 = "1"
DEFAULT_PREFERENCE_db1200 = "1"
+DEFAULT_PREFERENCE_m8050 = "1"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2 \
file://defconfig"
@@ -40,6 +41,8 @@ SRC_URI_append_at91-l9260 = " \
http://maxim.org.za/AT91RM9200/2.6/2.6.25-at91.patch.gz;patch=1 \
"
+SRC_URI_append_m8050 = " file://m8050.diff;patch=1 file://update-mach-types.diff;patch=1"
+
CMDLINE_cm-x270 = "console=${CMX270_CONSOLE_SERIAL_PORT},38400 monitor=1 mem=64M mtdparts=physmap-flash.0:256k(boot)ro,0x180000(kernel),-(root);cm-x270-nand:64m(app),-(data) rdinit=/sbin/init root=mtd3 rootfstype=jffs2"
FILES_kernel-image_cm-x270 = ""
diff --git a/packages/madplay/madplay_0.15.2b.bb b/packages/madplay/madplay_0.15.2b.bb
index d942b965e2..9c5bc5a742 100644
--- a/packages/madplay/madplay_0.15.2b.bb
+++ b/packages/madplay/madplay_0.15.2b.bb
@@ -8,5 +8,6 @@ HOMEPAGE = "http://www.mars.org/home/rob/proj/mpeg/"
SRC_URI = "ftp://ftp.mars.org/pub/mpeg/${PN}-${PV}.tar.gz"
inherit autotools
+ARM_INSTRUCTION_SET = "arm"
FILES_${PN} = "${bindir}/madplay"
diff --git a/packages/meta/meta-toolchain-fso.bb b/packages/meta/meta-toolchain-fso.bb
new file mode 100644
index 0000000000..fbfbb0a2cd
--- /dev/null
+++ b/packages/meta/meta-toolchain-fso.bb
@@ -0,0 +1,7 @@
+PR = "r0"
+
+TOOLCHAIN_TARGET_TASK = "task-fso-toolchain-target"
+TOOLCHAIN_HOST_TASK = "task-fso-toolchain-host"
+
+require meta-toolchain.bb
+SDK_SUFFIX = "toolchain-fso"
diff --git a/packages/meta/meta-toolchain-opie.bb b/packages/meta/meta-toolchain-opie.bb
new file mode 100644
index 0000000000..c72208c822
--- /dev/null
+++ b/packages/meta/meta-toolchain-opie.bb
@@ -0,0 +1,7 @@
+TOOLCHAIN_TARGET_TASK = "\
+ task-sdk-base \
+ task-sdk-opie"
+
+require meta-toolchain.bb
+
+SDK_SUFFIX = "toolchain-opie"
diff --git a/packages/mono/mono_1.2.6.inc b/packages/mono/mono_1.2.6.inc
index c9644cbce5..36eece0148 100644
--- a/packages/mono/mono_1.2.6.inc
+++ b/packages/mono/mono_1.2.6.inc
@@ -8,6 +8,7 @@ SRC_URI = "http://go-mono.com/sources/mono/mono-1.2.6.tar.bz2 \
S = "${WORKDIR}/mono-1.2.6"
inherit autotools
+ARM_INSTRUCTION_SET = "arm"
EXTRA_OECONF_arm = "--without-tls"
EXTRA_OECONF_mipsel = "--without-tls"
diff --git a/packages/mozilla/fennec/mozconfig b/packages/mozilla/fennec/mozconfig
index ba4099d691..7696f78a9c 100644
--- a/packages/mozilla/fennec/mozconfig
+++ b/packages/mozilla/fennec/mozconfig
@@ -4,6 +4,11 @@ mk_add_options AUTOCONF=autoconf2.13
ac_add_options --disable-javaxpcom
+ac_add_options --enable-system-cairo
+ac_add_options --with-system-zlib
+ac_add_options --with-system-bz2
+ac_add_options --with-system-jpeg
+
ac_add_app_options xulrunner --enable-application=xulrunner
ac_add_app_options mobile --enable-application=mobile
diff --git a/packages/mozilla/fennec_hg.bb b/packages/mozilla/fennec_hg.bb
index 8c6f326f73..ecc2876bec 100644
--- a/packages/mozilla/fennec_hg.bb
+++ b/packages/mozilla/fennec_hg.bb
@@ -2,12 +2,12 @@ DESCRIPTION = "Mozilla Mobile browser"
DEPENDS += "cairo alsa-lib "
PV = "0.9+1.0a1"
-MOZPV = "1.0a1"
-PR = "r0"
+MOZPV = "1.0a2pre"
+PR = "r1"
PE = "1"
-SRC_URI = "hg://hg.mozilla.org/;module=mozilla-central;rev=6c2f8bd79cbc \
- hg://hg.mozilla.org/;module=mobile-browser;rev=8f96b58057ad \
+SRC_URI = "hg://hg.mozilla.org/;module=mozilla-central;rev=30a69fb5df8e \
+ hg://hg.mozilla.org/;module=mobile-browser;rev=b6dd20dc72fa \
file://jsautocfg.h \
file://jsautocfg-dontoverwrite.patch;patch=1 \
"
diff --git a/packages/mozilla/firefox-3.0.1/mozconfig b/packages/mozilla/firefox-3.0.1/mozconfig
index f7ab5dd3a3..652c780bbd 100644
--- a/packages/mozilla/firefox-3.0.1/mozconfig
+++ b/packages/mozilla/firefox-3.0.1/mozconfig
@@ -12,6 +12,7 @@ ac_add_options --enable-single-profile
ac_add_options --with-system-zlib
ac_add_options --with-system-jpeg
+ac_add_options --with-system-bz2
#ac_add_options --with-system-png
ac_add_options --disable-accessibility
diff --git a/packages/mozilla/firefox.inc b/packages/mozilla/firefox.inc
index 9cc670a9ba..419398de95 100644
--- a/packages/mozilla/firefox.inc
+++ b/packages/mozilla/firefox.inc
@@ -2,6 +2,7 @@ DESCRIPTION ?= "Browser made by mozilla"
SRC_URI += "file://mozilla-${PN}.png file://mozilla-${PN}.desktop"
PARALLEL_MAKE = ""
+ARM_INSTRUCTION_SET = "arm"
MOZPV ?= "${PV}"
@@ -47,3 +48,34 @@ do_stage() {
autotools_stage_all
}
+# We don't build XUL as system shared lib, so we can mark all libs as private
+PRIVATE_LIBS = "libnssckbi.so \
+ libxpcom.so \
+ libplc4.so \
+ libssl3.so \
+ libfreebl3.so \
+ libnss3.so \
+ libnspr4.so \
+ libmozjs.so \
+ libxul.so \
+ libplds4.so \
+ libnssutil3.so \
+ libsqlite3.so \
+ libsoftokn3.so \
+ libnssdbm3.so \
+ libsmime3.so \
+ libnullplugin.so \
+ libimgicon.so \
+ libdbusservice.so \
+ libbrowserdirprovider.so \
+ libbrowsercomps.so \
+ libnptest.so \
+ libMyService.so \
+ libmozgnome.so \
+ libtestdynamic.so \
+ libnkgnomevfs.so \
+ libxpcomsample.so \
+ libunixprintplugin.so \
+"
+
+
diff --git a/packages/mozilla/firefox_3.0.1.bb b/packages/mozilla/firefox_3.0.1.bb
index 5d09bb4375..24927c7f3d 100644
--- a/packages/mozilla/firefox_3.0.1.bb
+++ b/packages/mozilla/firefox_3.0.1.bb
@@ -1,5 +1,5 @@
DEPENDS += "cairo"
-PR = "r7"
+PR = "r8"
SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${PV}/source/firefox-${PV}-source.tar.bz2 \
file://jsautocfg.h \
diff --git a/packages/mozilla/firefox_3.1b1.bb b/packages/mozilla/firefox_3.1b1.bb
index eac4adcb75..7a41491ea7 100644
--- a/packages/mozilla/firefox_3.1b1.bb
+++ b/packages/mozilla/firefox_3.1b1.bb
@@ -2,7 +2,7 @@ DEPENDS += "cairo"
PV = "3.0.1+3.1b1"
MOZPV = "3.1b1"
-PR = "r0"
+PR = "r1"
SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/${MOZPV}-candidates/build2/source/firefox-${MOZPV}-source.tar.bz2 \
file://jsautocfg.h \
diff --git a/packages/mozilla/minimo_cvs.bb b/packages/mozilla/minimo_cvs.bb
index b94dff2ab1..074f0e123b 100644
--- a/packages/mozilla/minimo_cvs.bb
+++ b/packages/mozilla/minimo_cvs.bb
@@ -12,6 +12,7 @@ MOZDATE = "20070626"
PV = "0.02+cvs${MOZDATE}"
PE = "1"
+PR = "r1"
SRC_URI = "cvs://anonymous@${CVSSVR}/cvsroot;module=mozilla;tag=${BRTAG};date=${MOZDATE} \
file://minimo.patch;patch=1 \
@@ -149,5 +150,35 @@ do_install() {
install -m 0644 res/html/gopher-unknown.gif ${D}${mozdir}/res/html
}
+# We don't build XUL as system shared lib, so we can mark all libs as private
+PRIVATE_LIBS = "libnssckbi.so \
+ libxpcom.so \
+ libplc4.so \
+ libssl3.so \
+ libfreebl3.so \
+ libnss3.so \
+ libnspr4.so \
+ libmozjs.so \
+ libxul.so \
+ libplds4.so \
+ libnssutil3.so \
+ libsqlite3.so \
+ libsoftokn3.so \
+ libnssdbm3.so \
+ libsmime3.so \
+ libnullplugin.so \
+ libimgicon.so \
+ libdbusservice.so \
+ libbrowserdirprovider.so \
+ libbrowsercomps.so \
+ libnptest.so \
+ libMyService.so \
+ libmozgnome.so \
+ libtestdynamic.so \
+ libnkgnomevfs.so \
+ libxpcomsample.so \
+ libunixprintplugin.so \
+"
+
FILES_${PN}-dbg += "${libdir}/mozilla-minimo/.debug*"
FILES_${PN} += "${mozdir}"
diff --git a/packages/mplayer/mplayer_0.0+1.0rc1.bb b/packages/mplayer/mplayer_0.0+1.0rc1.bb
index f89364335c..d1682435cb 100644
--- a/packages/mplayer/mplayer_0.0+1.0rc1.bb
+++ b/packages/mplayer/mplayer_0.0+1.0rc1.bb
@@ -2,7 +2,8 @@ DESCRIPTION = "Open Source multimedia player."
SECTION = "multimedia"
PRIORITY = "optional"
HOMEPAGE = "http://www.mplayerhq.hu/"
-DEPENDS = "virtual/libsdl libmad zlib libpng jpeg liba52 freetype fontconfig alsa-lib lzo ncurses lame libxv virtual/libx11"
+DEPENDS = "virtual/libsdl zlib libpng jpeg freetype fontconfig alsa-lib lzo ncurses libxv virtual/libx11 \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad liba52 lame', d)}"
RDEPENDS = "mplayer-common"
LICENSE = "GPL"
SRC_URI = "http://www1.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc1.tar.bz2 \
@@ -36,9 +37,11 @@ SRC_URI_append_collie = "file://disable-executable-stack-test.patch;patch=1"
PACKAGE_ARCH_mplayer_collie = "collie"
PACKAGE_ARCH_mencoder_collie = "collie"
+ARM_INSTRUCTION_SET = "ARM"
+
RCONFLICTS_${PN} = "mplayer-atty"
RREPLACES_${PN} = "mplayer-atty"
-PR = "r16"
+PR = "r18"
PARALLEL_MAKE = ""
diff --git a/packages/mplayer/mplayer_0.0+1.0rc2.bb b/packages/mplayer/mplayer_0.0+1.0rc2.bb
index d086e9bcc1..9d32fce12f 100644
--- a/packages/mplayer/mplayer_0.0+1.0rc2.bb
+++ b/packages/mplayer/mplayer_0.0+1.0rc2.bb
@@ -2,7 +2,8 @@ DESCRIPTION = "Open Source multimedia player."
SECTION = "multimedia"
PRIORITY = "optional"
HOMEPAGE = "http://www.mplayerhq.hu/"
-DEPENDS = "virtual/libsdl xsp libmad zlib libpng jpeg liba52 freetype fontconfig alsa-lib lzo ncurses lame libxv virtual/libx11"
+DEPENDS = "virtual/libsdl xsp zlib libpng jpeg freetype fontconfig alsa-lib lzo ncurses libxv virtual/libx11 \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad liba52 lame', d)}"
DEPENDS_append_c7x0 = " libw100 "
DEPENDS_append_hx4700 = " libw100 "
@@ -39,10 +40,12 @@ PACKAGE_ARCH_collie = "collie"
PACKAGE_ARCH_c7x0 = "c7x0"
PACKAGE_ARCH_hx4700 = "hx4700"
+ARM_INSTRUCTION_SET = "ARM"
+
RCONFLICTS_${PN} = "mplayer-atty"
RREPLACES_${PN} = "mplayer-atty"
-PR = "r8"
+PR = "r10"
PARALLEL_MAKE = ""
@@ -197,7 +200,9 @@ EXTRA_OECONF_append = " ${@base_contains('MACHINE_FEATURES', 'x86', '--enable-ru
FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O4 -ffast-math"
FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -ftree-vectorize -fomit-frame-pointer -O4 -ffast-math"
BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
-
+# FIXME: Temporarily disable debugging to work-around http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37987
+DEBUG_OPTIMIZATION_spitz = "-O -fomit-frame-pointer -g"
+DEBUG_OPTIMIZATION_akita = "-O -fomit-frame-pointer -g"
do_configure() {
cp ${WORKDIR}/vo_w100.c ${S}/libvo
diff --git a/packages/mplayer/mplayer_svn.bb b/packages/mplayer/mplayer_svn.bb
index 923c9abf68..b0f12504d4 100644
--- a/packages/mplayer/mplayer_svn.bb
+++ b/packages/mplayer/mplayer_svn.bb
@@ -2,7 +2,8 @@ DESCRIPTION = "Open Source multimedia player."
SECTION = "multimedia"
PRIORITY = "optional"
HOMEPAGE = "http://www.mplayerhq.hu/"
-DEPENDS = "virtual/libsdl ffmpeg xsp libmad zlib libpng jpeg liba52 freetype fontconfig alsa-lib lzo ncurses lame libxv virtual/libx11"
+DEPENDS = "virtual/libsdl ffmpeg xsp zlib libpng jpeg freetype fontconfig alsa-lib lzo ncurses libxv virtual/libx11 \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad liba52 lame', d)}"
RDEPENDS = "mplayer-common"
LICENSE = "GPL"
@@ -35,11 +36,13 @@ PACKAGE_ARCH_collie = "collie"
PACKAGE_ARCH_c7x0 = "c7x0"
PACKAGE_ARCH_hx4700 = "hx4700"
+ARM_INSTRUCTION_SET = "ARM"
+
RCONFLICTS_${PN} = "mplayer-atty"
RREPLACES_${PN} = "mplayer-atty"
PV = "0.0+1.0rc2+svnr${SRCREV}"
-PR = "r5"
+PR = "r7"
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_armv7a = "1"
@@ -69,7 +72,8 @@ EXTRA_OECONF = " \
--disable-vm \
--disable-xf86keysym \
--enable-tv \
- --enable-tv-v4l2 \
+ --enable-tv-v4l1 \
+ --enable-tv-v4l2 \
--disable-tv-bsdbt848 \
--enable-rtc \
--enable-network \
diff --git a/packages/mt-daapd/mt-daapd.inc b/packages/mt-daapd/mt-daapd.inc
index 56692a3db8..859e586cdf 100644
--- a/packages/mt-daapd/mt-daapd.inc
+++ b/packages/mt-daapd/mt-daapd.inc
@@ -1,7 +1,8 @@
DESCRIPTION = "multi threaded daap server for POSIX Systems: iTunes Server."
SECTION = "console/network"
PRIORITY = "optional"
-DEPENDS = "zlib gdbm libid3tag"
+DEPENDS = "zlib gdbm libid3tag \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libid3tag', d)}"
LICENSE = "GPL"
SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${P}.tar.gz \
diff --git a/packages/mt-daapd/mt-daapd_0.2.1.1.bb b/packages/mt-daapd/mt-daapd_0.2.1.1.bb
index 45256799aa..e39cd775d7 100644
--- a/packages/mt-daapd/mt-daapd_0.2.1.1.bb
+++ b/packages/mt-daapd/mt-daapd_0.2.1.1.bb
@@ -1,3 +1,3 @@
require ${PN}.inc
-PR = "r3"
+PR = "r4"
SRC_URI += "file://itunes-5-fix.patch;patch=1"
diff --git a/packages/mt-daapd/mt-daapd_0.2.2.bb b/packages/mt-daapd/mt-daapd_0.2.2.bb
index dd2da24e65..8145a5892b 100644
--- a/packages/mt-daapd/mt-daapd_0.2.2.bb
+++ b/packages/mt-daapd/mt-daapd_0.2.2.bb
@@ -1,4 +1,4 @@
require ${PN}.inc
# This has not been released yet!
DEFAULT_PREFERENCE = "-1"
-PR = "r0"
+PR = "r1"
diff --git a/packages/mt-daapd/mt-daapd_0.2.3.bb b/packages/mt-daapd/mt-daapd_0.2.3.bb
index a376c76229..f6a01e0d80 100644
--- a/packages/mt-daapd/mt-daapd_0.2.3.bb
+++ b/packages/mt-daapd/mt-daapd_0.2.3.bb
@@ -1,4 +1,4 @@
require ${PN}.inc
# This has not been released yet!
#DEFAULT_PREFERENCE = -1
-PR = "r0"
+PR = "r1"
diff --git a/packages/musicpd/mpd-alsa_0.11.5.bb b/packages/musicpd/mpd-alsa_0.11.5.bb
index 939ecec836..82b24603a0 100644
--- a/packages/musicpd/mpd-alsa_0.11.5.bb
+++ b/packages/musicpd/mpd-alsa_0.11.5.bb
@@ -2,9 +2,10 @@ DESCRIPTION = "Music Player Daemon (mpd). This version is configured for alsa su
HOMEPAGE = "http://www.musicpd.org"
SECTION = "console/multimedia"
LICENSE = "GPLv2"
-DEPENDS = "libvorbis libogg libid3tag libao-alsa zlib libmikmod libmad flac audiofile virtual/libiconv"
+DEPENDS = "libvorbis libogg libao-alsa zlib libmikmod flac audiofile virtual/libiconv \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad libid3tag', d)}"
RDEPENDS = "libao-alsa"
-PR = "r3"
+PR = "r4"
SRC_URI = "${SOURCEFORGE_MIRROR}/musicpd/mpd-${PV}.tar.gz \
file://mpd/save-volume-state.patch;patch=1 file://mpd/mpd.init"
diff --git a/packages/musicpd/mpd-alsa_svn.bb b/packages/musicpd/mpd-alsa_svn.bb
index f86ae6a337..9890c85831 100644
--- a/packages/musicpd/mpd-alsa_svn.bb
+++ b/packages/musicpd/mpd-alsa_svn.bb
@@ -2,7 +2,8 @@ DESCRIPTION = "Music Player Daemon (mpd). This version is configured for alsa su
HOMEPAGE = "http://www.musicpd.org"
SECTION = "console/multimedia"
LICENSE = "GPLv2"
-DEPENDS = "libvorbis libogg libid3tag libao-alsa zlib libmad flac audiofile virtual/libiconv faad2"
+DEPENDS = "libvorbis libogg libao-alsa zlib flac audiofile virtual/libiconv faad2 \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad libid3tag', d)}"
RDEPENDS = "libao-alsa"
PV = "0.11.5+svnr${SRCREV}"
PR = "r2"
diff --git a/packages/musicpd/mpd_svn.bb b/packages/musicpd/mpd_svn.bb
index 673ff03b98..c7d9a5b00a 100644
--- a/packages/musicpd/mpd_svn.bb
+++ b/packages/musicpd/mpd_svn.bb
@@ -2,9 +2,10 @@ DESCRIPTION = "Music Player Daemon (mpd)"
HOMEPAGE = "http://www.musicpd.org"
SECTION = "console/multimedia"
LICENSE = "GPLv2"
-DEPENDS = "libvorbis libogg libid3tag libao zlib libmikmod libmad flac audiofile virtual/libiconv faad2 pulseaudio"
+DEPENDS = "libvorbis libogg libao zlib libmikmod flac audiofile virtual/libiconv faad2 pulseaudio \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad libid3tag', d)}"
PV = "0.12.1+svn${SRCDATE}"
-PR = "r0"
+PR = "r1"
SRC_URI = "svn://svn.musicpd.org/mpd;module=trunk;proto=https \
file://mpd/mpd.init"
diff --git a/packages/mythtv/mythtv.inc b/packages/mythtv/mythtv.inc
index 8355e0f1a1..9d0ebd9f0e 100644
--- a/packages/mythtv/mythtv.inc
+++ b/packages/mythtv/mythtv.inc
@@ -2,7 +2,8 @@ DESCRIPTION = "A full featured personal video recorder system."
HOMEPAGE = "http://www.mythtv.org"
LICENSE = "GPL"
SECTION = "x11/multimedia"
-DEPENDS = "jack alsa-lib lame libxinerama libxv libxxf86vm libxvmc lirc"
+DEPENDS = "jack alsa-lib libxinerama libxv libxxf86vm libxvmc lirc \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'lame', d)}"
#RDEPENDS_${PN} = "qt-x11-plugins-sqldrivers qt-x11-plugins-imageformats"
SRC_URI = "http://www.mythtv.org/mc/mythtv-${PV}.tar.bz2"
diff --git a/packages/mythtv/mythtv_0.18.1.bb b/packages/mythtv/mythtv_0.18.1.bb
index fd2c351845..2d3f55c711 100644
--- a/packages/mythtv/mythtv_0.18.1.bb
+++ b/packages/mythtv/mythtv_0.18.1.bb
@@ -2,7 +2,7 @@ require mythtv.inc
inherit qmake2 qt3x11
-PR = "r1"
+PR = "r2"
SRC_URI += "file://msmpeg-underscore-pic.patch;patch=1 \
file://settings.pro"
diff --git a/packages/mythtv/mythtv_0.20.bb b/packages/mythtv/mythtv_0.20.bb
index 2ebebd3012..467ed5112b 100644
--- a/packages/mythtv/mythtv_0.20.bb
+++ b/packages/mythtv/mythtv_0.20.bb
@@ -3,7 +3,7 @@ require mythtv.inc
inherit qmake2 qt3x11
DEPENDS += "openchrome"
-PR = "r0"
+PR = "r1"
SRC_URI += "file://configure.patch;patch=1 \
file://libmyth-libdir.patch;patch=1"
diff --git a/packages/net-snmp/net-snmp_5.4.1.bb b/packages/net-snmp/net-snmp_5.4.1.bb
index a5ef24869e..d900019a0a 100644
--- a/packages/net-snmp/net-snmp_5.4.1.bb
+++ b/packages/net-snmp/net-snmp_5.4.1.bb
@@ -4,8 +4,8 @@ LICENSE = "BSD"
DEPENDS = "openssl"
RDEPENDS_${PN}-server += "net-snmp-mibs"
RDEPENDS_${PN}-client += "net-snmp-mibs"
-RDEPENDS_${PN}-dev = "net-snmp-client (= ${DEBPV}) net-snmp-server (= ${DEBPV})"
-RRECOMMENDS_${PN}-dbg = "net-snmp-client (= ${DEBPV}) net-snmp-server (= ${DEBPV})"
+RDEPENDS_${PN}-dev = "net-snmp-client (= ${EXTENDPV}) net-snmp-server (= ${EXTENDPV})"
+RRECOMMENDS_${PN}-dbg = "net-snmp-client (= ${EXTENDPV}) net-snmp-server (= ${EXTENDPV})"
PR = "r1"
diff --git a/packages/netbase/netbase/palmt650/interfaces b/packages/netbase/netbase/palmt650/interfaces
new file mode 100644
index 0000000000..db4c4ca21f
--- /dev/null
+++ b/packages/netbase/netbase/palmt650/interfaces
@@ -0,0 +1,22 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Wireless interfaces
+
+# Wired or wireless interfaces
+
+# Ethernet/RNDIS gadget (g_ether)
+# ... or on host side, usbnet and random hwaddr
+auto usb0
+iface usb0 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/numptyphysics/numptyphysics/faster.patch b/packages/numptyphysics/numptyphysics/faster.patch
new file mode 100644
index 0000000000..e52c11e526
--- /dev/null
+++ b/packages/numptyphysics/numptyphysics/faster.patch
@@ -0,0 +1,22 @@
+--- old_Config.h 2008-11-05 13:45:25.000000000 +0200
++++ Config.h 2008-11-05 13:45:44.000000000 +0200
+@@ -36,14 +36,15 @@
+ # define SELECT_TOLERANCE 8.0f //PIXELS_PER_METREf)
+ # define CLICK_TOLERANCE 16 //PIXELs
+ #else
+-# define ITERATION_RATE 60 //fps
+-# define RENDER_RATE 20 //fps
+-# define SOLVER_ITERATIONS 10
++# define ITERATION_RATE 30 //fps
++# define RENDER_RATE 10 //fps
++# define SOLVER_ITERATIONS 5
+ # define JOINT_TOLERANCE 4.0f //PIXELs
+ # define SELECT_TOLERANCE 5.0f //PIXELS_PER_METREf)
+-# define CLICK_TOLERANCE 4 //PIXELs
++# define CLICK_TOLERANCE 16 //PIXELs
+ #endif
+
++
+ #define ITERATION_TIMESTEPf (1.0f / (float)ITERATION_RATE)
+ #define RENDER_INTERVAL (1000/RENDER_RATE)
+
diff --git a/packages/numptyphysics/numptyphysics/keyb.patch b/packages/numptyphysics/numptyphysics/keyb.patch
new file mode 100644
index 0000000000..aa82e67215
--- /dev/null
+++ b/packages/numptyphysics/numptyphysics/keyb.patch
@@ -0,0 +1,189 @@
+diff -ur oldÃ_Game.cppGame.cpp
+--- old_Game.cpp 2008-11-01 08:56:50.000000000 +0200
++++ Game.cpp 2008-11-01 10:48:33.000000000 +0200
+@@ -896,6 +896,7 @@
+ Window m_window;
+ Overlay *m_pauseOverlay;
+ Overlay *m_editOverlay;
++ Overlay *m_keyboardOverlay;
+ // DemoOverlay m_demoOverlay;
+ Os *m_os;
+ public:
+@@ -905,6 +906,7 @@
+ m_window(width,height,"Numpty Physics","NPhysics"),
+ m_pauseOverlay( NULL ),
+ m_editOverlay( NULL ),
++ m_keyboardOverlay( NULL ),
+ m_os( Os::get() )
+ //,m_demoOverlay( *this )
+ {
+@@ -1038,6 +1040,14 @@
+ && m_overlays.indexOf( m_pauseOverlay ) >= 0;
+ }
+
++ void togglePause()
++ {
++ if ( !m_pauseOverlay ) {
++ m_pauseOverlay = createIconOverlay( *this, "pause.png", 50, 50 );
++ }
++ toggleOverlay( m_pauseOverlay );
++ }
++
+ void edit( bool doEdit )
+ {
+ if ( m_edit != doEdit ) {
+@@ -1080,10 +1090,7 @@
+ case SDLK_SPACE:
+ case SDLK_KP_ENTER:
+ case SDLK_RETURN:
+- if ( !m_pauseOverlay ) {
+- m_pauseOverlay = createIconOverlay( *this, "pause.png", 50, 50 );
+- }
+- toggleOverlay( m_pauseOverlay );
++ togglePause();
+ break;
+ case SDLK_s:
+ case SDLK_F4:
+@@ -1094,6 +1191,10 @@
+ edit( !m_edit );
+ break;
+ case SDLK_d:
++ if ( !m_keyboardOverlay ) {
++ m_keyboardOverlay = createKeyboardOverlay(*this);
++ }
++ toggleOverlay( m_keyboardOverlay );
+ //toggleOverlay( m_demoOverlay );
+ break;
+ case SDLK_r:
+@@ -1154,6 +1165,19 @@
+ return false;
+ }
+
++ void undoLastStroke()
++ {
++ if ( m_createStroke ) {
++ m_scene.deleteStroke( m_createStroke );
++ m_createStroke = NULL;
++ } else {
++ m_scene.deleteStroke( m_scene.strokes().at(m_scene.strokes().size()-1) );
++ }
++ m_refresh = true;
++ }
++
++
++
+ bool handlePlayEvent( SDL_Event &ev )
+ {
+ switch( ev.type ) {
+@@ -1197,13 +1221,7 @@
+ break;
+ case SDL_KEYDOWN:
+ if ( ev.key.keysym.sym == SDLK_ESCAPE ) {
+- if ( m_createStroke ) {
+- m_scene.deleteStroke( m_createStroke );
+- m_createStroke = NULL;
+- } else {
+- m_scene.deleteStroke( m_scene.strokes().at(m_scene.strokes().size()-1) );
+- }
+- m_refresh = true;
++ undoLastStroke();
+ }
+ break;
+ default:
+@@ -1250,6 +1268,10 @@
+ {
+ Overlay *completedOverlay = createNextLevelOverlay(*this);
+
++ //toggle onScreenKeyboard ON
++ m_keyboardOverlay = createKeyboardOverlay(*this);
++ toggleOverlay( m_keyboardOverlay );
++
+ m_scene.draw( m_window, FULLSCREEN_RECT );
+ m_window.update( FULLSCREEN_RECT );
+
+diff -ur old_Game.h Game.h
+--- old_Game.h 2008-11-01 08:56:50.000000000 +0200
++++ Game.h 2008-11-01 09:27:22.000000000 +0200
+@@ -41,6 +41,9 @@
+ virtual void gotoLevel( int l, bool replay=false ) {}
+ Levels& levels() { return m_levels; }
+ virtual bool renderScene( Canvas& c, int level ) =0;
++ virtual void togglePause() {}
++ virtual void undoLastStroke() {}
++ virtual void edit( bool editting ) {}
+ bool m_quit;
+ bool m_edit;
+ bool m_refresh;
+diff -ur old_Overlay.cpp Overlay.cpp
+--- old_Overlay.cpp 2008-11-01 08:56:50.000000000 +0200
++++ Overlay.cpp 2008-11-01 09:45:57.000000000 +0200
+@@ -311,7 +311,51 @@
+ }
+ };
+
++class KeyboardOverlay : public IconOverlay
++{
++ int m_saving, m_sending;
++public:
++ KeyboardOverlay( GameControl& game )
++ : IconOverlay(game,"keyb.png",0,0,true),
++ m_saving(0),
++ m_sending(0)
++ {}
++
++ int index( int x, int y )
++ {
++ //these values correspond with keyb.png (in pixels)
++ int sizeOfElement = 20;
++
++ int colum = x/sizeOfElement;
++ int row = y/sizeOfElement;
++ return row*3+colum;
++ }
++
++ virtual void draw( Canvas& screen )
++ {
++ IconOverlay::draw( screen );
++ }
+
++ virtual bool onClick( int x, int y )
++ {
++ int i = index(x,y);
++ //printf("i= %d\n",i); return 0;
++ switch (i) {
++ case -1: return false;
++ case 0: m_game.undoLastStroke(); break;
++ case 1: m_game.togglePause(); break;
++ case 2: m_game.m_quit=true; break;
++ case 3: break;
++ case 4: m_game.edit( !m_game.m_edit ); break;
++ case 5: break;
++ case 6: m_game.gotoLevel(m_game.m_level-1); break;
++ case 7: m_game.gotoLevel(m_game.m_level); break;
++ case 8: m_game.gotoLevel(m_game.m_level+1); break;
++ default: break;
++ }
++ return true;
++ }
++};
+
+
+ Overlay* createIconOverlay( GameControl& game, const char* file,
+@@ -330,3 +383,8 @@
+ {
+ return new NextLevelOverlay( game );
+ }
++
++extern Overlay* createKeyboardOverlay( GameControl& game )
++{
++ return new KeyboardOverlay( game );
++}
+diff -ur old_Overlay.h Overlay.h
+--- old_Overlay.h 2008-11-01 08:56:50.000000000 +0200
++++ Overlay.h 2008-11-01 09:44:16.000000000 +0200
+@@ -45,4 +45,5 @@
+
+ extern Overlay* createNextLevelOverlay( GameControl& game );
+
++extern Overlay* createKeyboardOverlay( GameControl& game );
+ #endif //OVERLAY_H
diff --git a/packages/numptyphysics/numptyphysics/keyb.png b/packages/numptyphysics/numptyphysics/keyb.png
new file mode 100644
index 0000000000..4d77e88fd9
--- /dev/null
+++ b/packages/numptyphysics/numptyphysics/keyb.png
Binary files differ
diff --git a/packages/numptyphysics/numptyphysics/next.png b/packages/numptyphysics/numptyphysics/next.png
new file mode 100644
index 0000000000..21a94ce1dc
--- /dev/null
+++ b/packages/numptyphysics/numptyphysics/next.png
Binary files differ
diff --git a/packages/numptyphysics/numptyphysics/numptyphysics.desktop b/packages/numptyphysics/numptyphysics/numptyphysics.desktop
new file mode 100644
index 0000000000..b85265ab6f
--- /dev/null
+++ b/packages/numptyphysics/numptyphysics/numptyphysics.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=numptyphysics
+Comment=Physics Game
+Note=Simulate Objects
+Exec=xrandr -o 3 && numptyphysics -geometry 640x480; xrandr -o 0
+Icon=star.png
+Type=Application
+Categories=Games
+
diff --git a/packages/numptyphysics/numptyphysics/replay_off.patch b/packages/numptyphysics/numptyphysics/replay_off.patch
new file mode 100644
index 0000000000..e2f606ea64
--- /dev/null
+++ b/packages/numptyphysics/numptyphysics/replay_off.patch
@@ -0,0 +1,166 @@
+--- old_Game.cpp 2008-10-30 15:46:15.000000000 +0200
++++ Game.cpp 2008-10-30 15:49:14.000000000 +0200
+@@ -1197,100 +1197,9 @@
+ }
+ };
+
+-class DemoRecorder
+-{
+-public:
+-
+- void start()
+- {
+- m_running = true;
+- m_log.empty();
+- m_log.capacity(512);
+- m_lastTick = 0;
+- m_lastTickTime = SDL_GetTicks();
+- }
+
+- void stop()
+- {
+- printf("stop recording: %d events\n",m_log.size());
+- m_running = false;
+- }
+
+- void tick()
+- {
+- if ( m_running ) {
+- m_lastTick++;
+- m_lastTickTime = SDL_GetTicks();
+- }
+- }
+
+- void record( SDL_Event& ev )
+- {
+- if ( m_running ) {
+- m_log.append( m_lastTick, SDL_GetTicks()-m_lastTickTime, ev );
+- }
+- }
+-
+- DemoLog& getLog() { return m_log; }
+-
+-private:
+- bool m_running;
+- DemoLog m_log;
+- int m_lastTick;
+- int m_lastTickTime;
+-};
+-
+-
+-class DemoPlayer
+-{
+-public:
+-
+- void start( const DemoLog* log )
+- {
+- m_playing = true;
+- m_log = log;
+- m_index = 0;
+- m_lastTick = 0;
+- m_lastTickTime = SDL_GetTicks();
+- printf("start playback: %d events\n",m_log->size());
+- }
+-
+- bool isRunning() { return m_playing; }
+-
+- void stop()
+- {
+- m_playing = false;
+- m_log = NULL;
+- }
+-
+- void tick()
+- {
+- if ( m_playing ) {
+- m_lastTick++;
+- m_lastTickTime = SDL_GetTicks();
+- }
+- }
+-
+- bool fetchEvent( SDL_Event& ev )
+- {
+- if ( m_playing
+- && m_index < m_log->size()
+- && m_log->at(m_index).t <= m_lastTick
+- && m_log->at(m_index).o <= SDL_GetTicks()-m_lastTickTime ) {
+- ev = m_log->at(m_index).e;
+- m_index++;
+- return true;
+- }
+- return false;
+- }
+-
+-private:
+- bool m_playing;
+- const DemoLog* m_log;
+- int m_index;
+- int m_lastTick;
+- int m_lastTickTime;
+-};
+
+
+ class Game : public GameParams
+@@ -1303,8 +1212,6 @@
+ IconOverlay m_pauseOverlay;
+ EditOverlay m_editOverlay;
+ // DemoOverlay m_demoOverlay;
+- DemoRecorder m_recorder;
+- DemoPlayer m_player;
+ Os *m_os;
+ public:
+ Game( int width, int height )
+@@ -1328,15 +1235,11 @@
+ if ( m_edit ) {
+ m_scene.protect(0);
+ }
+- m_recorder.stop();
+- m_player.stop();
+ if ( replay ) {
+ // for ( int i=0; i<m_recorder.getLog().size(); i++ ) {
+ // printf("DEMO: %s\n",m_recorder.getLog().asString(i).c_str());
+ // }
+- m_player.start( &m_recorder.getLog() );
+ } else {
+- m_recorder.start();
+ }
+ return true;
+ }
+@@ -1659,26 +1562,23 @@
+ while ( iterateCounter < ITERATION_RATE ) {
+ if ( !isPaused() ) {
+ m_scene.step();
+- m_recorder.tick();
+- m_player.tick();
+ }
+
+ SDL_Event ev;
+ bool more = true;
+ while ( more ) {
+ more = SDL_PollEvent(&ev);
+- if ( m_player.isRunning()
++ if ( 0
+ && ( ev.type==SDL_MOUSEMOTION ||
+ ev.type==SDL_MOUSEBUTTONDOWN ||
+ ev.type==SDL_MOUSEBUTTONUP ) ) {
+ more = false; //discard
+ }
+ if (!more) {
+- more = m_player.fetchEvent(ev);
++ more = 0;
+ }
+ if ( more ) {
+ bool handled = false;
+- m_recorder.record( ev );
+ for ( int i=m_overlays.size()-1; i>=0 && !handled; i-- ) {
+ handled = m_overlays[i]->handleEvent(ev);
+ }
+@@ -1703,8 +1603,6 @@
+ if ( m_scene.isCompleted() != isComplete && !m_edit ) {
+ isComplete = m_scene.isCompleted();
+ if ( isComplete ) {
+- m_player.stop();
+- m_recorder.stop();
+ showOverlay( completedOverlay );
+ } else {
+ hideOverlay( completedOverlay );
diff --git a/packages/numptyphysics/numptyphysics_svn.bb b/packages/numptyphysics/numptyphysics_svn.bb
index 6c833c2f01..6dc49649d0 100644
--- a/packages/numptyphysics/numptyphysics_svn.bb
+++ b/packages/numptyphysics/numptyphysics_svn.bb
@@ -1,39 +1,40 @@
DESCRIPTION = "Numpty Physics is a drawing puzzle game in the spirit (and style?) \
of Crayon Physics using the same excellent Box2D engine."
-DEPENDS = "virtual/libsdl libsdl-image"
+DEPENDS = "virtual/libsdl libsdl-image libpng"
LICENSE = "GPL"
HOMEPAGE = "http://numptyphysics.garage.maemo.org/"
SECTION = "x11/games"
PV = "0.2+svnr${SRCREV}"
+inherit autotools
+
SRC_URI = "\
+# Maemo garage is sadly only available with https. Can make you trouble while fetching without accepting the certificate.
svn://garage.maemo.org/svn/${PN};module=trunk;proto=https \
http://wwwpub.zih.tu-dresden.de/~mkluge/numptyphysics_setup.tgz \
- file://gcc43.diff;patch=1 \
+ file://replay_off.patch;patch=1;pnum=0 \
+ file://next.png \
+ file://keyb.patch;patch=1;pnum=0 \
+ file://keyb.png \
+ file://faster.patch;patch=1;pnum=0 \
+ file://numptyphysics.desktop \
"
S = "${WORKDIR}/trunk"
EXTRA_S = "${WORKDIR}/local/packages/numptyphysics"
-# what an ugly buildsystem... handcrafted Makefiles... back to the stoneage
-export CCOPTS = "${CFLAGS} -I Box2D/Include"
-export LDOPTS = "${LDFLAGS} -lSDL -lSDL_image -lX11"
-
-do_configure() {
- for i in Config.h Makefile Game.cpp; do
- install -m 0644 ${EXTRA_S}/$i ${S}
- done
+do_configure_append() {
+ mv ../next.png data
+ mv ../keyb.png data
}
-do_install() {
+do_install_append() {
install -d ${D}${datadir}/numptyphysics
- install -d ${D}${bindir}
install -d ${D}${datadir}/pixmaps
install -d ${D}${datadir}/applications
- install -m 0755 ${S}/arm/Game ${D}${bindir}/numptyphysics
install -m 0644 ${EXTRA_S}/star.png ${D}${datadir}/pixmaps
- install -m 0644 ${EXTRA_S}/numptyphysics.desktop ${D}/${datadir}/applications
- cp -a ${EXTRA_S}/data/* ${D}/${datadir}/numptyphysics/
+ install -m 0644 ../numptyphysics.desktop ${D}/${datadir}/applications
+ cp -a ${EXTRA_S}/data/* data/keyb.png ${D}/${datadir}/numptyphysics/
}
FILES_${PN} += "${datadir}"
diff --git a/packages/opencv/opencv_1.0.0.bb b/packages/opencv/opencv_1.0.0.bb
index 5b6450eca4..e9737007f8 100644
--- a/packages/opencv/opencv_1.0.0.bb
+++ b/packages/opencv/opencv_1.0.0.bb
@@ -32,7 +32,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/opencvlibrary/opencv-${PV}.tar.gz \
inherit distutils-base autotools pkgconfig
-EXTRA_OECONF = "--disable-debug --without-python --disable-apps az_python_cspec=${STAGING_INCDIR}/${PYTHON_DIR}"
+EXTRA_OECONF = "--disable-debug --without-gtk --without-python --disable-apps az_python_cspec=${STAGING_INCDIR}/${PYTHON_DIR}"
export BUILD_SYS
export HOST_SYS
diff --git a/packages/openjdk-langtools/files/0.0+jdk7-b31-build-fix.patch b/packages/openjdk-langtools/files/0.0+jdk7-b31-build-fix.patch
new file mode 100644
index 0000000000..147dab520e
--- /dev/null
+++ b/packages/openjdk-langtools/files/0.0+jdk7-b31-build-fix.patch
@@ -0,0 +1,114 @@
+Index: icepick-0.0+hg20080118/Makefile.am
+===================================================================
+--- icepick-0.0+hg20080118.orig/Makefile.am
++++ icepick-0.0+hg20080118/Makefile.am
+@@ -19,55 +19,61 @@ else
+ JCOMPILER = echo "No compiler found" 1>&2; exit 1
+ endif
+
+-# All our example java source files
++# Go into $(LANGTOOLS_SRC_DIR)/src/share/classes and set
++# TOOLS_JAVA_FILES to the output of
++# find . -mindepth 2 -type d -and -not -wholename "*resources" -printf \$\(OPENJDK_CLASSES\)/%P/\*.java' \\'\\n
++# (btw: xclip is your friend)
+ OPENJDK_CLASSES = $(LANGTOOLS_SRC_DIR)/src/share/classes
+-TOOLS_JAVA_FILES = $(OPENJDK_CLASSES)/com/sun/tools/apt/Main.java \
+- $(OPENJDK_CLASSES)/com/sun/javadoc/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/apt/comp/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/apt/main/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/apt/util/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/apt/mirror/apt/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/apt/mirror/type/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/apt/mirror/util/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/apt/mirror/declaration/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/apt/mirror/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/javac/api/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/javac/jvm/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/javac/sym/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/javac/code/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/javac/comp/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/javac/main/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/javac/tree/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/javac/util/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/javac/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/javac/model/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/javac/parser/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/javac/processing/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/javac/zip/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/javah/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/javadoc/*.java \
+- $(OPENJDK_CLASSES)/com/sun/mirror/apt/*.java \
+- $(OPENJDK_CLASSES)/com/sun/mirror/type/*.java \
+- $(OPENJDK_CLASSES)/com/sun/mirror/util/*.java \
+- $(OPENJDK_CLASSES)/com/sun/mirror/declaration/*.java \
+- $(OPENJDK_CLASSES)/com/sun/source/tree/*.java \
+- $(OPENJDK_CLASSES)/com/sun/source/util/*.java \
+- $(OPENJDK_CLASSES)/javax/lang/model/type/*.java \
+- $(OPENJDK_CLASSES)/javax/lang/model/util/*.java \
+- $(OPENJDK_CLASSES)/javax/lang/model/*.java \
+- $(OPENJDK_CLASSES)/javax/lang/model/element/*.java \
+- $(OPENJDK_CLASSES)/javax/tools/*.java \
+- $(OPENJDK_CLASSES)/javax/annotation/processing/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/doclets/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/doclets/formats/html/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/doclets/formats/html/markup/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/doclets/internal/toolkit/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/doclets/internal/toolkit/builders/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/doclets/internal/toolkit/taglets/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/doclets/internal/toolkit/util/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/doclets/internal/toolkit/util/links/*.java \
+- $(OPENJDK_CLASSES)/com/sun/tools/doclets/standard/*.java \
+- $(OPENJDK_CLASSES)/sun/tools/javap/*.java
++TOOLS_JAVA_FILES = \
++ $(OPENJDK_CLASSES)/sun/tools/javap/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/javap/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/javadoc/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/apt/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/apt/comp/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/apt/util/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/apt/main/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/apt/mirror/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/apt/mirror/declaration/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/apt/mirror/apt/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/apt/mirror/util/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/apt/mirror/type/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/javah/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/javac/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/javac/comp/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/javac/file/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/javac/model/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/javac/code/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/javac/tree/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/javac/api/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/javac/util/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/javac/jvm/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/javac/processing/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/javac/parser/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/javac/sym/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/javac/main/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/classfile/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/doclets/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/doclets/standard/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/doclets/internal/toolkit/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/doclets/internal/toolkit/builders/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/doclets/internal/toolkit/util/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/doclets/internal/toolkit/util/links/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/doclets/internal/toolkit/taglets/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/doclets/formats/html/*.java \
++ $(OPENJDK_CLASSES)/com/sun/tools/doclets/formats/html/markup/*.java \
++ $(OPENJDK_CLASSES)/com/sun/javadoc/*.java \
++ $(OPENJDK_CLASSES)/com/sun/source/tree/*.java \
++ $(OPENJDK_CLASSES)/com/sun/source/util/*.java \
++ $(OPENJDK_CLASSES)/com/sun/mirror/declaration/*.java \
++ $(OPENJDK_CLASSES)/com/sun/mirror/apt/*.java \
++ $(OPENJDK_CLASSES)/com/sun/mirror/util/*.java \
++ $(OPENJDK_CLASSES)/com/sun/mirror/type/*.java \
++ $(OPENJDK_CLASSES)/javax/tools/*.java \
++ $(OPENJDK_CLASSES)/javax/annotation/processing/*.java \
++ $(OPENJDK_CLASSES)/javax/lang/model/*.java \
++ $(OPENJDK_CLASSES)/javax/lang/model/element/*.java \
++ $(OPENJDK_CLASSES)/javax/lang/model/util/*.java \
++ $(OPENJDK_CLASSES)/javax/lang/model/type/*.java
+
+ # The zip files with classes we want to produce.
+ TOOLS_ZIP = tools.jar
diff --git a/packages/openjdk-langtools/openjdk-javac-native_0.0+jdk7-b31.bb b/packages/openjdk-langtools/openjdk-javac-native_0.0+jdk7-b31.bb
new file mode 100644
index 0000000000..1e3e1f8259
--- /dev/null
+++ b/packages/openjdk-langtools/openjdk-javac-native_0.0+jdk7-b31.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "Java compiler from the OpenJDK project"
+HOMEPAGE = "http://http://openjdk.java.net/groups/compiler"
+LICENSE = "GPL"
+
+PR = "r1"
+
+DEPENDS = "openjdk-langtools-native"
+
+PROVIDES = "virtual/javac-native"
+
+inherit native
+
+do_stage() {
+ ln -sf sun-javac ${bindir}/javac
+}
diff --git a/packages/openjdk-langtools/openjdk-langtools-native_0.0+jdk7-b31.bb b/packages/openjdk-langtools/openjdk-langtools-native_0.0+jdk7-b31.bb
new file mode 100644
index 0000000000..abeea96a0a
--- /dev/null
+++ b/packages/openjdk-langtools/openjdk-langtools-native_0.0+jdk7-b31.bb
@@ -0,0 +1,45 @@
+DESCRIPTION = "Java Language tools (sun-javac, javah, javap, javadoc and apt) from OpenJDK"
+HOMEPAGE = "http://http://openjdk.java.net/groups/compiler"
+LICENSE = "GPL"
+
+PR = "r3"
+
+DEPENDS = "classpath-native fastjar-native ecj-initial virtual/java-native"
+
+S = "${WORKDIR}/icepick-0.0+hg20080118"
+
+SRC_URI = "\
+ http://jalimo.evolvis.org/repository/sources/icepick-0.0+hg20080118.tar.bz2;md5sum=ce7b1827e6f4cbe73b9ffa90b0d45a6a \
+ http://jalimo.evolvis.org/repository/sources/openjdk-langtools-jdk7-b31.tar.bz2;md5sum=670931f67b2e4ac46c6e0cd15418f2fa \
+ file://${PV}-build-fix.patch;patch=1 \
+ "
+
+inherit java autotools native
+
+EXTRA_OECONF = "\
+ --with-javac=${STAGING_BINDIR}/ecj-initial \
+ --with-vm=${STAGING_BINDIR}/java \
+ --with-fastjar=${STAGING_BINDIR}/fastjar \
+ --with-classpath=${STAGING_DATADIR}/classpath/glibj.zip \
+ --with-langtools-src-dir=${WORKDIR}/openjdk-langtools-jdk7-b31 \
+ "
+
+export JAVAC_OPTS="-bootclasspath ${STAGING_DATADIR_JAVA}/share/classpath/glibj.zip -source 5.0"
+
+do_stage() {
+ # Do install step manually to fine control installation names.
+ install -d ${bindir}
+ install -m 0755 tools/apt ${bindir}
+ install -m 0755 tools/javadoc ${bindir}
+ install -m 0755 tools/javah ${bindir}
+ install -m 0755 tools/javap ${bindir}
+
+ # Provide javac as sun-javac to not clash with the binary of the same
+ # name in ecj-bootstrap-native.
+ # This way ecj-bootstrap-native and openjdk-langtools-native can coexist
+ # in staging dir.
+ install -m 0755 tools/javac ${bindir}/sun-javac
+
+ install -d ${libdir}
+ install -m 0644 tools.jar ${libdir}
+}
diff --git a/packages/openmax/libomxil-bellagio_0.9.0.bb b/packages/openmax/libomxil-bellagio_0.9.0.bb
index edfcde03d2..105698999e 100644
--- a/packages/openmax/libomxil-bellagio_0.9.0.bb
+++ b/packages/openmax/libomxil-bellagio_0.9.0.bb
@@ -1,8 +1,9 @@
DESCRIPTION = "OpenMAX Integration Layer (IL) is a standard API to access Multimedia Components on mobile platforms. It has been defined by the Khronos group."
LICENSE = "LGPLv2"
-DEPENDS = "libmad alsa-lib ffmpeg"
+DEPENDS = "alsa-lib ffmpeg \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad', d)}"
-PR = "r4"
+PR = "r5"
SRC_URI = "${SOURCEFORGE_MIRROR}/omxil/${PN}-${PV}.tar.gz"
diff --git a/packages/opie-cardapplet/opie-cardapplet_1.2.4.bb b/packages/opie-cardapplet/opie-cardapplet_1.2.4.bb
new file mode 100644
index 0000000000..6c4d3c1af0
--- /dev/null
+++ b/packages/opie-cardapplet/opie-cardapplet_1.2.4.bb
@@ -0,0 +1,10 @@
+require ${PN}.inc
+
+PR = "r0"
+
+SRC_URI = "${HANDHELDS_CVS};tag=${TAG};module=opie/noncore/applets/cardapplet \
+ ${HANDHELDS_CVS};tag=${TAG};module=opie/pics \
+ ${HANDHELDS_CVS};tag=${TAG};module=opie/sounds \
+ ${HANDHELDS_CVS};tag=${TAG};module=opie/apps \
+ ${HANDHELDS_CVS};tag=${TAG};module=opie/etc"
+
diff --git a/packages/opkg/files/reduce-nogpg-noise.patch b/packages/opkg/files/reduce-nogpg-noise.patch
index b72560876e..47b4d23ca3 100644
--- a/packages/opkg/files/reduce-nogpg-noise.patch
+++ b/packages/opkg/files/reduce-nogpg-noise.patch
@@ -1,10 +1,10 @@
---- opkg/libopkg/opkg_cmd.c.orig 2008-08-21 22:18:43.000000000 -0500
-+++ opkg/libopkg/opkg_cmd.c 2008-08-21 22:19:20.000000000 -0500
-@@ -288,7 +288,7 @@ static int opkg_update_cmd(opkg_conf_t *
+--- opkg/libopkg/opkg_cmd.c.old 2008-11-12 02:32:20.000000000 +0100
++++ opkg/libopkg/opkg_cmd.c 2008-11-12 02:30:20.000000000 +0100
+@@ -288,7 +288,7 @@
free (tmp_file_name);
free (url);
#else
-- opkg_message (conf, OPKG_NOTICE, "Signiture check for %s skipped "
+- opkg_message (conf, OPKG_NOTICE, "Signature check for %s skipped "
+ opkg_message (conf, OPKG_INFO, "Signature check for %s skipped "
"because GPG support was not enabled in this build\n", src->name);
#endif
diff --git a/packages/perl/perl-5.8.8/native-perlinc.patch b/packages/perl/perl-5.8.8/native-perlinc.patch
index aea38a0b56..6dc4b9538d 100644
--- a/packages/perl/perl-5.8.8/native-perlinc.patch
+++ b/packages/perl/perl-5.8.8/native-perlinc.patch
@@ -1,12 +1,20 @@
Index: perl-5.8.8/lib/ExtUtils/MM_Unix.pm
===================================================================
---- perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm 2007-05-30 15:16:47.000000000 +1000
-+++ perl-5.8.8/lib/ExtUtils/MM_Unix.pm 2007-05-30 15:18:12.000000000 +1000
-@@ -1597,6 +1597,11 @@
+--- perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm 2008-10-31 22:01:35.000000000 +0000
++++ perl-5.8.8/lib/ExtUtils/MM_Unix.pm 2008-11-08 16:01:12.000000000 +0000
+@@ -1597,6 +1597,19 @@
$self->{PERL_LIB} ||= $Config{privlibexp};
$self->{PERL_ARCHLIB} ||= $Config{archlibexp};
$self->{PERL_INC} = $self->catdir("$self->{PERL_ARCHLIB}","CORE"); # wild guess for now
+ # Check for environment override so we'll find the headers in the correct place
++ if (defined $ENV{PERL_LIB})
++ {
++ $self->{PERL_LIB} = $ENV{PERL_LIB};
++ }
++ if (defined $ENV{PERL_ARCHLIB})
++ {
++ $self->{PERL_ARCHLIB} = $ENV{PERL_ARCHLIB};
++ }
+ if (defined $ENV{PERL_INC})
+ {
+ $self->{PERL_INC} = $ENV{PERL_INC};
diff --git a/packages/perl/perl-native_5.8.8.bb b/packages/perl/perl-native_5.8.8.bb
index c58f82822c..e3d73845fc 100644
--- a/packages/perl/perl-native_5.8.8.bb
+++ b/packages/perl/perl-native_5.8.8.bb
@@ -65,8 +65,25 @@ do_stage_append() {
# We need a hostperl link for building perl
ln -sf ${STAGING_BINDIR_NATIVE}/perl${PV} ${STAGING_BINDIR_NATIVE}/hostperl
# Store native config in non-versioned directory
- install -d ${STAGING_DIR_HOST}/perl
+ install -d ${STAGING_DIR_HOST}/perl \
+ ${STAGING_LIBDIR_NATIVE}/perl/${PV}/CORE \
+ ${STAGING_DATADIR_NATIVE}/perl/${PV}/ExtUtils
install config.sh ${STAGING_DIR_HOST}/perl
+ # target configuration
+ install lib/Config.pm ${STAGING_LIBDIR_NATIVE}/perl/${PV}/
+ install lib/ExtUtils/typemap ${STAGING_DATADIR_NATIVE}/perl/${PV}/ExtUtils/
+ # perl shared library headers
+ for i in av.h embed.h gv.h keywords.h op.h perlio.h pp.h regexp.h \
+ uconfig.h XSUB.h cc_runtime.h embedvar.h handy.h opnames.h \
+ perliol.h pp_proto.h regnodes.h unixish.h config.h EXTERN.h \
+ hv.h malloc_ctl.h pad.h perlsdio.h proto.h scope.h utf8.h \
+ cop.h fakesdio.h INTERN.h mg.h patchlevel.h perlsfio.h \
+ reentr.h sv.h utfebcdic.h cv.h fakethr.h intrpvar.h \
+ nostdio.h perlapi.h perlvars.h reentr.inc thrdvar.h util.h \
+ dosish.h form.h iperlsys.h opcode.h perl.h perly.h regcomp.h \
+ thread.h warnings.h; do
+ install $i ${STAGING_LIBDIR_NATIVE}/perl/${PV}/CORE
+ done
}
PARALLEL_MAKE = ""
diff --git a/packages/perl/perl_5.8.8.bb b/packages/perl/perl_5.8.8.bb
index 8c00a61536..2118bba68f 100644
--- a/packages/perl/perl_5.8.8.bb
+++ b/packages/perl/perl_5.8.8.bb
@@ -139,11 +139,15 @@ do_install() {
do_stage() {
install -d ${STAGING_DIR_HOST}/perl \
${STAGING_LIBDIR_NATIVE}/perl/${PV} \
- ${STAGING_LIBDIR}/perl/${PV}/CORE
+ ${STAGING_LIBDIR}/perl/${PV}/CORE \
+ ${STAGING_DATADIR}/perl/${PV}/ExtUtils
# target config, used by cpan.bbclass to extract version information
install config.sh ${STAGING_DIR_HOST}/perl/
# target configuration, used by native perl when cross-compiling
install lib/Config_heavy.pl ${STAGING_LIBDIR_NATIVE}/perl/${PV}/Config_heavy-target.pl
+ # target configuration
+ install lib/Config.pm ${STAGING_LIBDIR}/perl/${PV}/
+ install lib/ExtUtils/typemap ${STAGING_DATADIR}/perl/${PV}/ExtUtils/
# perl shared library headers
for i in av.h embed.h gv.h keywords.h op.h perlio.h pp.h regexp.h \
uconfig.h XSUB.h cc_runtime.h embedvar.h handy.h opnames.h \
diff --git a/packages/phoneme/phoneme-advanced.inc b/packages/phoneme/phoneme-advanced.inc
index b5be402ac7..a74bc04504 100644
--- a/packages/phoneme/phoneme-advanced.inc
+++ b/packages/phoneme/phoneme-advanced.inc
@@ -10,9 +10,9 @@ inherit java update-alternatives
# The PhoneME Advanced build system is documented here: http://java.sun.com/javame/reference/docs/cdc_build_system.pdf
# NOTE: We need to provide an empty password. pswd='' seems not to be the correct way.
SRC_URI = "\
- svn://phoneme.dev.java.net/svn/phoneme/builds/phoneme_advanced-mr2-dev-${BUILDREV};module=cdc;proto=https;localdir=cdc;user=guest;pswd='' \
- svn://phoneme.dev.java.net/svn/phoneme/builds/phoneme_advanced-mr2-dev-${BUILDREV};module=tools;proto=https;localdir=tools;user=guest;pswd='' \
- svn://phoneme.dev.java.net/svn/phoneme;module=legal;localdir=legal;proto=https;user=guest;pswd='' \
+ svn://guest:''@phoneme.dev.java.net/svn/phoneme/builds/phoneme_advanced-mr2-dev-${BUILDREV};module=cdc;proto=https;localdir=cdc \
+ svn://guest:''@phoneme.dev.java.net/svn/phoneme/builds/phoneme_advanced-mr2-dev-${BUILDREV};module=tools;proto=https;localdir=tools \
+ svn://guest:''@phoneme.dev.java.net/svn/phoneme;module=legal;localdir=legal;proto=https \
"
PROVIDES = "virtual/java-cdc java-cdc-runtime"
diff --git a/packages/php/php_5.2.6.bb b/packages/php/php_5.2.6.bb
index 17073e1eaf..c2d31331c7 100644
--- a/packages/php/php_5.2.6.bb
+++ b/packages/php/php_5.2.6.bb
@@ -17,9 +17,9 @@ EXTRA_OECONF = " --without-iconv \
--enable-wddx \
--enable-embedded-mysqli \
--enable-magic-quotes \
- --with-zlib --with-zlib-dir = ${STAGING_LIBDIR}/.. \
- --with-libxml-dir = ${STAGING_BINDIR_CROSS} \
-# --with-mysql = "${STAGING_DIR_TARGET}${layout_exec_prefix}" \
+ --with-zlib --with-zlib-dir=${STAGING_LIBDIR}/.. \
+ --with-libxml-dir=${STAGING_BINDIR_CROSS} \
+# --with-mysql="${STAGING_DIR_TARGET}${layout_exec_prefix}" \
# --with-mysqli = "${STAGING_BINDIR_NATIVE}/mysql_config" \
"
diff --git a/packages/pimlico/contacts-0.8/contacts-util-fixup.diff b/packages/pimlico/contacts-0.8/contacts-util-fixup.diff
new file mode 100644
index 0000000000..95c3dbb699
--- /dev/null
+++ b/packages/pimlico/contacts-0.8/contacts-util-fixup.diff
@@ -0,0 +1,13 @@
+Index: contacts-0.8/src/contacts-utils.h
+===================================================================
+--- contacts-0.8.orig/src/contacts-utils.h 2008-10-30 13:42:03.527971013 +0300
++++ contacts-0.8/src/contacts-utils.h 2008-10-30 13:42:08.140177662 +0300
+@@ -22,8 +22,6 @@
+ #include <libebook/e-book.h>
+ #include "contacts-defs.h"
+
+-char *e_util_unicode_get_utf8 (const char *text, gunichar * out);
+-
+ const char *kozo_utf8_strstrcasestrip (const char *haystack,
+ const gunichar * needle);
+
diff --git a/packages/pimlico/contacts_0.8.bb b/packages/pimlico/contacts_0.8.bb
index d596d45659..861e83ae73 100644
--- a/packages/pimlico/contacts_0.8.bb
+++ b/packages/pimlico/contacts_0.8.bb
@@ -6,4 +6,5 @@ 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 \
+ file://contacts-util-fixup.diff;patch=1 \
"
diff --git a/packages/pimlico/tasks-0.13/libtool.diff b/packages/pimlico/tasks-0.13/libtool.diff
new file mode 100644
index 0000000000..f2cd6d20d7
--- /dev/null
+++ b/packages/pimlico/tasks-0.13/libtool.diff
@@ -0,0 +1,10 @@
+--- configure.ac.orig 2008-10-30 03:57:29.038510760 +0300
++++ configure.ac 2008-10-30 03:55:28.066512503 +0300
+@@ -3,6 +3,7 @@
+ AC_CONFIG_SRCDIR(libkoto/koto-task-store.c)
+ AC_CONFIG_HEADERS([libkoto/config.h])
+ AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
++AC_PROG_LIBTOOL
+
+ AM_DISABLE_STATIC
+ AC_PROG_CPP
diff --git a/packages/pimlico/tasks_0.13.bb b/packages/pimlico/tasks_0.13.bb
index ff8da563e6..37d01d9dcf 100644
--- a/packages/pimlico/tasks_0.13.bb
+++ b/packages/pimlico/tasks_0.13.bb
@@ -1,4 +1,4 @@
require tasks.inc
SRC_URI = "http://pimlico-project.org/sources/${PN}/${PN}-${PV}.tar.gz \
- file://tasks-owl.diff;patch=1;pnum=0"
+ file://tasks-owl.diff;patch=1;pnum=0 file://libtool.diff;patch=1;pnum=0"
diff --git a/packages/podget/podget-0.5.8/busybox_df.patch b/packages/podget/podget-0.5.8/busybox_df.patch
new file mode 100644
index 0000000000..1f84558d92
--- /dev/null
+++ b/packages/podget/podget-0.5.8/busybox_df.patch
@@ -0,0 +1,11 @@
+--- podget/podget~ 2008-05-08 08:50:23.000000000 +0000
++++ podget/podget 2008-05-08 08:50:37.000000000 +0000
+@@ -535,7 +535,7 @@
+ url_base=$(echo $url | sed -e 's/\(.*\/\)[^\/]\+/\1/')
+
+ # Test for available space on library partition
+- avail_space=$(df -kP ${dir_library} | tail -n 1 | awk '{print $4}')
++ avail_space=$(df -k ${dir_library} | tail -n 1 | awk '{print $4}')
+ if [ ${avail_space} -le ${min_space} ] ; then
+ echo -e "\nAvailable space on Library partition has dropped below allowed.\nStopping Session."
+ exit 1
diff --git a/packages/podget/podget_0.5.8.bb b/packages/podget/podget_0.5.8.bb
new file mode 100644
index 0000000000..4af771e153
--- /dev/null
+++ b/packages/podget/podget_0.5.8.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "A simple podcast aggregator."
+HOMEPAGE = "http://podget.sourceforge.net/"
+PRIORITY = "optional"
+LICENSE = "GPL"
+
+RDEPENDS = "bash sed wget libiconv"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/podget/podget_${PV}.tar.gz \
+ file://busybox_df.patch;patch=1"
+
+S = "${WORKDIR}/podget"
+
+do_install () {
+ install -d ${D}/usr/bin
+ install -m 0755 ${WORKDIR}/podget/podget ${D}/usr/bin
+}
diff --git a/packages/pulseaudio/libatomics-ops_1.2.bb b/packages/pulseaudio/libatomics-ops_1.2.bb
index 0563eb6382..847b4cc660 100644
--- a/packages/pulseaudio/libatomics-ops_1.2.bb
+++ b/packages/pulseaudio/libatomics-ops_1.2.bb
@@ -8,6 +8,8 @@ SRC_URI = "http://www.hpl.hp.com/research/linux/atomic_ops/download/libatomic_op
S = "${WORKDIR}/libatomic_ops-${PV}"
+ARM_INSTRUCTION_SET = "arm"
+
inherit autotools pkgconfig
do_stage() {
diff --git a/packages/pulseaudio/pulseaudio-meta_0.9.10.bb b/packages/pulseaudio/pulseaudio-meta_0.9.10.bb
index 1c53ee0b91..7f5f72dad5 100644
--- a/packages/pulseaudio/pulseaudio-meta_0.9.10.bb
+++ b/packages/pulseaudio/pulseaudio-meta_0.9.10.bb
@@ -13,7 +13,7 @@ RDEPENDS = "\
pulseaudio-module-cli-protocol-unix \
pulseaudio-module-rescue-streams\
pulseaudio-module-suspend-on-idle \
- pulseaudio-module-volue-restore \
+ pulseaudio-module-volume-restore \
gst-plugin-pulse \
libasound-module-ctl-pulse \
libasound-module-pcm-pulse \
diff --git a/packages/python/python-2.5-manifest.inc b/packages/python/python-2.5-manifest.inc
index 4142a4b620..6c4440877f 100644
--- a/packages/python/python-2.5-manifest.inc
+++ b/packages/python/python-2.5-manifest.inc
@@ -1,5 +1,5 @@
# WARNING: This file is AUTO GENERATED: Manual edits will be lost next time I regenerate the file.
-# Generator: './generate-manifest-2.5.py' Version 20080722 (C) 2002-2008 Michael 'Mickey' Lauer <mlauer@vanille-media.de>
+# Generator: './generate-manifest-2.5.py' Version 20081102 (C) 2002-2008 Michael 'Mickey' Lauer <mlauer@vanille-media.de>
# Visit the Python for Embedded Systems Site => http://www.Vanille.de/projects/python.spy
@@ -10,8 +10,8 @@ PACKAGES="python-profile python-threading python-distutils python-doctest python
DESCRIPTION_python-profile="Python Basic Profiling Support"
PR_python-profile="ml0"
-RDEPENDS_python-profile="python-core"
-FILES_python-profile="${libdir}/python2.5/profile.* ${libdir}/python2.5/pstats.* "
+RDEPENDS_python-profile="python-core python-textutils"
+FILES_python-profile="${libdir}/python2.5/profile.* ${libdir}/python2.5/pstats.* ${libdir}/python2.5/cProfile.* ${libdir}/python2.5/lib-dynload/_lsprof.so "
DESCRIPTION_python-threading="Python Threading & Synchronization Support"
PR_python-threading="ml0"
diff --git a/packages/python/python-ecore_svn.bb b/packages/python/python-ecore_svn.bb
index 1b02bf77df..78aebc62fc 100644
--- a/packages/python/python-ecore_svn.bb
+++ b/packages/python/python-ecore_svn.bb
@@ -1,5 +1,5 @@
require python-efl.inc
-DEPENDS += "python-evas ecore"
+DEPENDS += "python-evas ecore eina"
RDEPENDS += "python-evas"
PV = "0.3.0+svnr${SRCREV}"
PR = "r0"
diff --git a/packages/python/python-edje_svn.bb b/packages/python/python-edje_svn.bb
index 4e33847dae..532db0875f 100644
--- a/packages/python/python-edje_svn.bb
+++ b/packages/python/python-edje_svn.bb
@@ -1,5 +1,5 @@
require python-efl.inc
-DEPENDS += "edje python-evas"
+DEPENDS += "edje python-evas eina"
RDEPENDS += "python-evas"
PV = "0.3.0+svnr${SRCREV}"
PR = "r0"
diff --git a/packages/python/python-evas_svn.bb b/packages/python/python-evas_svn.bb
index 6f53bf7e8d..2deb020b70 100644
--- a/packages/python/python-evas_svn.bb
+++ b/packages/python/python-evas_svn.bb
@@ -1,5 +1,5 @@
require python-efl.inc
-DEPENDS += "evas"
+DEPENDS += "evas eina"
PV = "0.3.0+svnr${SRCREV}"
PR = "r0"
diff --git a/packages/python/python-fugrep_0.50.bb b/packages/python/python-fugrep_0.50.bb
new file mode 100644
index 0000000000..150cb84130
--- /dev/null
+++ b/packages/python/python-fugrep_0.50.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "FuGrep is a Python library for fuzzy pattern matching."
+HOMEPAGE = "http://www.j-raedler.de/pages/software/fugrep.php"
+SECTION = "devel/python"
+LICENSE = "${PN}"
+SRCNAME = "FuGrep"
+PR = "ml0"
+
+SRC_URI = "http://www.j-raedler.de/media/Software/FuGrep-${PV}.zip"
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit distutils
diff --git a/packages/python/python-fusil_1.1.bb b/packages/python/python-fusil_1.1.bb
new file mode 100644
index 0000000000..f6ec3d8d6d
--- /dev/null
+++ b/packages/python/python-fusil_1.1.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Fusil is a Python library used to write fuzzing programs."
+HOMEPAGE = "http://fusil.hachoir.org/"
+SECTION = "devel/python"
+LICENSE = "GPLv2"
+SRCNAME = "fusil"
+
+SRC_URI = "http://pypi.python.org/packages/source/f/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit distutils
+
+RDEPENDS_${PN} = "\
+ python-ptrace \
+ python-ctypes \
+ python-lang \
+ python-logging \
+ python-datetime \
+ python-shell \
+ python-resource \
+ python-subprocess \
+"
diff --git a/packages/python/python-pygame-1.8.1/Setup b/packages/python/python-pygame-1.8.1/Setup
index cb8085530a..932e291ae2 100644
--- a/packages/python/python-pygame-1.8.1/Setup
+++ b/packages/python/python-pygame-1.8.1/Setup
@@ -28,7 +28,6 @@ mixer src/mixer.c $(SDL) $(MIXER) $(DEBUG)
mixer_music src/music.c $(SDL) $(MIXER) $(DEBUG)
_numericsurfarray src/_numericsurfarray.c $(SDL) $(DEBUG)
_numericsndarray src/_numericsndarray.c $(SDL) $(MIXER) $(DEBUG)
-movie src/movie.c $(SDL) $(SMPEG) $(DEBUG)
scrap src/scrap.c $(SDL) $(SCRAP) $(DEBUG)
#experimental new movie movie. requires libavcodec and libavformat.
diff --git a/packages/python/python-pygame_1.8.1.bb b/packages/python/python-pygame_1.8.1.bb
index 71eff50dfb..499f0c6ee3 100644
--- a/packages/python/python-pygame_1.8.1.bb
+++ b/packages/python/python-pygame_1.8.1.bb
@@ -3,9 +3,10 @@ SECTION = "devel/python"
HOMEPAGE = "http://www.pygame.org"
PRIORITY = "optional"
LICENSE = "LGPL"
-DEPENDS = "libsdl-x11 libsdl-image libsdl-mixer libsdl-net libsdl-ttf smpeg python-numeric"
+DEPENDS = "libsdl-x11 libsdl-image libsdl-mixer libsdl-net libsdl-ttf python-numeric"
+DEPENDS += "${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'smpeg', d)}"
SRCNAME = "pygame"
-PR = "ml1"
+PR = "ml2"
SRC_URI = "\
ftp://ftp.pygame.org/pub/pygame/${SRCNAME}-${PV}release.tar.gz \
@@ -17,6 +18,9 @@ inherit distutils
do_configure_prepend() {
cat ${WORKDIR}/Setup >Setup
SDL="`sdl-config --cflags` `sdl-config --libs`"; echo "SDL=$SDL" >>Setup
+ if [ '${ENTERPRISE_DISTRO}' != '1' ]; then
+ echo "movie src/movie.c \$(SDL) \$(SMPEG) \$(DEBUG)" >>Setup
+ fi
}
do_stage() {
diff --git a/packages/python/python-twisted_2.5.0.bb b/packages/python/python-twisted_2.5.0.bb
index e085e81eb6..ccd3e26101 100644
--- a/packages/python/python-twisted_2.5.0.bb
+++ b/packages/python/python-twisted_2.5.0.bb
@@ -37,7 +37,7 @@ FILES_python-twisted-test = " \
"
FILES_python-twisted-protocols = " \
- ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/protocols/ \
+ ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/ \
"
FILES_python-twisted-zsh = " \
diff --git a/packages/python/python_2.5.2.bb b/packages/python/python_2.5.2.bb
index 19dc65b358..b402b974f1 100644
--- a/packages/python/python_2.5.2.bb
+++ b/packages/python/python_2.5.2.bb
@@ -6,7 +6,7 @@ PRIORITY = "optional"
DEPENDS = "python-native db gdbm openssl readline sqlite3 tcl tk zlib"
DEPENDS_sharprom = "python-native db readline zlib gdbm openssl"
# bump this on every change in contrib/python/generate-manifest-2.5.py
-PR = "ml14"
+PR = "ml16"
PYTHON_MAJMIN = "2.5"
diff --git a/packages/qemu/qemu-0.9.1+svn/fix_dirent_h_include.patch b/packages/qemu/qemu-0.9.1+svn/fix_dirent_h_include.patch
new file mode 100644
index 0000000000..1320422aa7
--- /dev/null
+++ b/packages/qemu/qemu-0.9.1+svn/fix_dirent_h_include.patch
@@ -0,0 +1,12 @@
+--- a/linux-user/syscall.c~ 2008-11-10 18:39:25.000000000 -0200
++++ b/linux-user/syscall.c 2008-11-10 18:39:25.000000000 -0200
+@@ -76,8 +76,8 @@
+ #include <linux/cdrom.h>
+ #include <linux/hdreg.h>
+ #include <linux/soundcard.h>
+-#include <linux/dirent.h>
+ #include <linux/kd.h>
++#include <dirent.h>
+
+ #include "qemu.h"
+ #include "qemu_spinlock.h"
diff --git a/packages/qemu/qemu_svn.bb b/packages/qemu/qemu_svn.bb
index 6e52a1513f..e8d9883c74 100644
--- a/packages/qemu/qemu_svn.bb
+++ b/packages/qemu/qemu_svn.bb
@@ -1,7 +1,7 @@
LICENSE = "GPL"
DEPENDS = "zlib"
PV = "0.9.1+svnr${SRCREV}"
-PR = "r12"
+PR = "r13"
FILESPATH = "${FILE_DIRNAME}/qemu-${PV}/:${FILE_DIRNAME}/qemu-0.9.1+svn/"
@@ -33,7 +33,8 @@ SRC_URI = "\
file://fix_brk.patch;patch=1 \
file://fix_protection_bits.patch;patch=1 \
file://revert_arm_tcg.patch.gz;patch=1;minrev=4242 \
- file://qemu-n800-support.patch;patch=1"
+ file://qemu-n800-support.patch;patch=1 \
+ file://fix_dirent_h_include.patch;patch=1"
S = "${WORKDIR}/trunk"
diff --git a/packages/qi/qi.inc b/packages/qi/qi.inc
new file mode 100644
index 0000000000..ce28508fec
--- /dev/null
+++ b/packages/qi/qi.inc
@@ -0,0 +1,46 @@
+DESCRIPTION = "Qi bootloader w/ Openmoko GTA02 and GTA03 support"
+LICENSE = "GPL"
+SECTION = "bootloader"
+PROVIDES = "virtual/bootloader"
+LOCALVERSION = "gitr${SRCREV}"
+PV = "0.0.0+${LOCALVERSION}"
+
+EXTRA_OEMAKE = ""
+PARALLEL_MAKE = ""
+BUILD_BRANCH ?= "master"
+
+QI_MACHINES = "s3c2442 s3c6410"
+
+do_configure() {
+ echo >config.mk
+ #sed -i s,@,, Makefile
+}
+
+do_compile () {
+ gccv=`${CC} -dumpversion`
+ for mach in ${QI_MACHINES}
+ do
+ ${MAKE} clean
+ ${MAKE} CPU=$mach \
+ HOSTCC="${BUILD_CC}" \
+ COMPILER_LIB_PATH="${CROSS_DIR}/lib/gcc/${TARGET_SYS}/$gccv/" \
+ BUILD_BRANCH="master" \
+ BUILD_HEAD="${LOCALVERSION}"
+ cp -f image/qi-$mach* ${S}
+ done
+}
+
+do_deploy () {
+ install -d ${DEPLOY_DIR_IMAGE}
+ for mach in ${QI_MACHINES}
+ do
+ cat qi-$mach-${BUILD_BRANCH}_${LOCALVERSION} >> qi-$mach-${BUILD_BRANCH}_${LOCALVERSION}.udfu
+ install -m 0644 qi-$mach-${BUILD_BRANCH}_${LOCALVERSION}.udfu ${DEPLOY_DIR_IMAGE}/qi-$mach-${BUILD_BRANCH}-${PV}-${PR}.bin
+ ln -sf ${DEPLOY_DIR_IMAGE}/qi-${mach}-${PV}-${PR}.bin ${DEPLOY_DIR_IMAGE}/qi-${mach}-${BUILD_BRANCH}-latest.bin
+ done
+}
+
+do_deploy[dirs] = "${S}"
+addtask deploy before do_package after do_install
+addtask quilt before do_patch after do_unpack
+addtask svnrev before do_patch after do_quilt
diff --git a/packages/qi/qi_git.bb b/packages/qi/qi_git.bb
new file mode 100644
index 0000000000..37bf9af11f
--- /dev/null
+++ b/packages/qi/qi_git.bb
@@ -0,0 +1,7 @@
+require qi.inc
+BUILD_BRANCH = "master"
+PR = "r0"
+
+SRC_URI = "git://git.openmoko.org/git/qi.git;protocol=git;branch=${BUILD_BRANCH}"
+S = "${WORKDIR}/git"
+
diff --git a/packages/qt4/qt4_arch.inc b/packages/qt4/qt4_arch.inc
index 60ede1db2b..7f4be63bca 100644
--- a/packages/qt4/qt4_arch.inc
+++ b/packages/qt4/qt4_arch.inc
@@ -1,5 +1,7 @@
inherit siteinfo
+ARM_INSTRUCTION_SET = "arm"
+
def qt_arch(d):
import bb, re
arch = bb.data.getVar('TARGET_ARCH', d, 1)
diff --git a/packages/scummvm/scummvm.inc b/packages/scummvm/scummvm.inc
index b35e71374d..e12341e8bb 100644
--- a/packages/scummvm/scummvm.inc
+++ b/packages/scummvm/scummvm.inc
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www.scummvm.org"
SECTION = "games"
PRIORITY = "optional"
LICENSE = "GPL"
-PR = "r4"
+PR = "r5"
SRC_URI = "${SOURCEFORGE_MIRROR}/scummvm/scummvm-${PV}.tar.bz2"
diff --git a/packages/scummvm/scummvm_0.6.0.bb b/packages/scummvm/scummvm_0.6.0.bb
index 852ca5ff1e..9c8477dcaa 100644
--- a/packages/scummvm/scummvm_0.6.0.bb
+++ b/packages/scummvm/scummvm_0.6.0.bb
@@ -1,7 +1,8 @@
DESCRIPTION = "Virtual Machine for LucasArts Adventures for Qt/Embedded based palmtop environments w/ SDL."
SECTION = "opie/games"
PRIORITY = "optional"
-DEPENDS = "libsdl-qpe libmad tremor libogg zlib mpeg2dec"
+DEPENDS = "libsdl-qpe tremor libogg zlib \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad mpeg2dec', d)}"
LICENSE = "GPL"
SRC_URI = "${SOURCEFORGE_MIRROR}/scummvm/scummvm-${PV}.tar.bz2 \
diff --git a/packages/scummvm/scummvm_0.6.1b.bb b/packages/scummvm/scummvm_0.6.1b.bb
index a1d3dce944..638a39e7fd 100644
--- a/packages/scummvm/scummvm_0.6.1b.bb
+++ b/packages/scummvm/scummvm_0.6.1b.bb
@@ -1,5 +1,6 @@
require scummvm.inc
-DEPENDS = "virtual/libsdl libmad tremor libogg zlib mpeg2dec"
+DEPENDS = "virtual/libsdl tremor libogg zlib \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad mpeg2dec', d)}"
SRC_URI += " file://mouse.patch;patch=1 \
file://gcc-4.x.x-accept.patch;patch=1 \
file://sh3-linux-new-arch.patch;patch=1 \
diff --git a/packages/scummvm/scummvm_0.9.0.bb b/packages/scummvm/scummvm_0.9.0.bb
index 0403e6ae90..01ade38458 100644
--- a/packages/scummvm/scummvm_0.9.0.bb
+++ b/packages/scummvm/scummvm_0.9.0.bb
@@ -1,5 +1,6 @@
require scummvm.inc
-DEPENDS = "virtual/libsdl libmad libvorbis libogg zlib mpeg2dec"
+DEPENDS = "virtual/libsdl libvorbis libogg zlib \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad mpeg2dec', d)}"
SRC_URI += "file://sh3-arch-0.9.0+.patch;patch=1"
EXTRA_OECONF += "--enable-lure \
@@ -8,8 +9,10 @@ EXTRA_OECONF += "--enable-lure \
"
do_compile() {
- oe_runmake CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS} -lmpeg2" \
- DEFINES="-DUNIX -DSCUMM_NEED_ALIGNMENT -DUSE_MAD -DUSE_VORBIS -DUSE_ZLIB -DUSE_MPEG2"
+ oe_runmake CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" \
+ CXXFLAGS="${CXXFLAGS}" \
+ LDFLAGS="${LDFLAGS} ${@base_conditional('ENTERPRISE_DISTRO', '1', '', '-lmpeg2', d)}" \
+ DEFINES="-DUNIX -DSCUMM_NEED_ALIGNMENT -DUSE_VORBIS -DUSE_ZLIB -DUSE_MPEG2 ${@base_conditional('ENTERPRISE_DISTRO', '1', '', '-DUSE_MAD -DUSE_MPEG2', d}"
}
diff --git a/packages/scummvm/scummvm_0.9.1.bb b/packages/scummvm/scummvm_0.9.1.bb
index 39f3a76d14..7b6c9238a4 100644
--- a/packages/scummvm/scummvm_0.9.1.bb
+++ b/packages/scummvm/scummvm_0.9.1.bb
@@ -1,6 +1,7 @@
require scummvm.inc
-DEPENDS = "virtual/libsdl libmad libvorbis libogg zlib mpeg2dec"
+DEPENDS = "virtual/libsdl libvorbis libogg zlib \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad mpeg2dec', d)}"
SRC_URI += "file://makefile-nostrip.patch;patch=1 \
file://scummvm-targetcheck.patch;patch=1"
@@ -15,8 +16,10 @@ EXTRA_OECONF += "--enable-lure \
"
do_compile() {
- oe_runmake CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS} -lmpeg2" \
- DEFINES="-DUNIX -DSCUMM_NEED_ALIGNMENT -DUSE_MAD -DUSE_VORBIS -DUSE_ZLIB -DUSE_MPEG2"
+ oe_runmake CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" \
+ CXXFLAGS="${CXXFLAGS}" \
+ LDFLAGS="${LDFLAGS} ${@base_conditional('ENTERPRISE_DISTRO', '1', '', '-lmpeg2', d)}" \
+ DEFINES="-DUNIX -DSCUMM_NEED_ALIGNMENT -DUSE_VORBIS -DUSE_ZLIB -DUSE_MPEG2 ${@base_conditional('ENTERPRISE_DISTRO', '1', '', '-DUSE_MAD -DUSE_MPEG2', d}"
}
diff --git a/packages/shared-mime-info/shared-mime-info_0.20.bb b/packages/shared-mime-info/shared-mime-info_0.20.bb
index f24008ec13..3d2a614bd1 100644
--- a/packages/shared-mime-info/shared-mime-info_0.20.bb
+++ b/packages/shared-mime-info/shared-mime-info_0.20.bb
@@ -1,2 +1,11 @@
require shared-mime-info.inc
+PR = "r1"
+
+pkg_postinst () {
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+ echo "Updating MIME database... this may take a while."
+ ${bindir}/update-mime-database ${datadir}/mime
+}
diff --git a/packages/shared-mime-info/shared-mime-info_0.22.bb b/packages/shared-mime-info/shared-mime-info_0.22.bb
index 6d3b760390..f28dff2ca2 100644
--- a/packages/shared-mime-info/shared-mime-info_0.22.bb
+++ b/packages/shared-mime-info/shared-mime-info_0.22.bb
@@ -1,3 +1,11 @@
require shared-mime-info.inc
-PR = "r1"
+PR = "r2"
+
+pkg_postinst () {
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+ echo "Updating MIME database... this may take a while."
+ ${bindir}/update-mime-database ${datadir}/mime
+}
diff --git a/packages/squeezeclient/squeezeslave_svn.bb b/packages/squeezeclient/squeezeslave_svn.bb
index 03fbb0ede0..acdbc656da 100644
--- a/packages/squeezeclient/squeezeslave_svn.bb
+++ b/packages/squeezeclient/squeezeslave_svn.bb
@@ -1,9 +1,10 @@
SECTION = "console/multimedia"
DESCRIPTION = "command line audio playback client for SlimServer"
LICENSE = "GPL"
-DEPENDS += "libmad flac libvorbis"
+DEPENDS += "flac libvorbis \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad', d)}"
PV = "3.0+svn-${SRCDATE}"
-PR = "r0"
+PR = "r1"
SRC_URI = "svn://svn.slimdevices.com/repos/slim/trunk/;module=softsqueeze;proto=http \
file://varinit.patch;patch=1 \
diff --git a/packages/swfdec/swfdec-mozilla_0.7.2.bb b/packages/swfdec/swfdec-mozilla_0.7.2.bb
index 63499cfbd3..d98a25582b 100644
--- a/packages/swfdec/swfdec-mozilla_0.7.2.bb
+++ b/packages/swfdec/swfdec-mozilla_0.7.2.bb
@@ -1,9 +1,10 @@
DESCRIPTION = "Swfdec plugin for browsers using NPAPI. Swfdec is a decoder/renderer for Macromedia Flash animations."
LICENSE = "LGPL"
-PR = "r1"
+PR = "r2"
-DEPENDS = "gst-ffmpeg swfdec gstreamer libsoup-2.4 pango cairo liboil zlib libmad gtk+ alsa-lib"
+DEPENDS = "gst-ffmpeg swfdec gstreamer libsoup-2.4 pango cairo liboil zlib gtk+ alsa-lib \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad', d)}"
RDEPENDS = "gst-ffmpeg"
SRC_URI = "http://swfdec.freedesktop.org/download/swfdec-mozilla/0.7/${P}.tar.gz \
diff --git a/packages/swfdec/swfdec-mozilla_0.7.4.bb b/packages/swfdec/swfdec-mozilla_0.7.4.bb
index 2bc6a00a84..ed727555f7 100644
--- a/packages/swfdec/swfdec-mozilla_0.7.4.bb
+++ b/packages/swfdec/swfdec-mozilla_0.7.4.bb
@@ -1,7 +1,10 @@
DESCRIPTION = "Swfdec plugin for browsers using NPAPI. Swfdec is a decoder/renderer for Macromedia Flash animations."
LICENSE = "LGPL"
-DEPENDS = "gst-ffmpeg swfdec gstreamer libsoup-2.4 pango cairo liboil zlib libmad gtk+ alsa-lib"
+PR = "r1"
+
+DEPENDS = "gst-ffmpeg swfdec gstreamer libsoup-2.4 pango cairo liboil zlib gtk+ alsa-lib \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad', d)}"
RDEPENDS = "gst-ffmpeg"
SRC_URI = "http://swfdec.freedesktop.org/download/swfdec-mozilla/0.7/${P}.tar.gz \
diff --git a/packages/swfdec/swfdec_0.4.0.bb b/packages/swfdec/swfdec_0.4.0.bb
index b4c56afacf..c9296c652b 100644
--- a/packages/swfdec/swfdec_0.4.0.bb
+++ b/packages/swfdec/swfdec_0.4.0.bb
@@ -1,7 +1,9 @@
DESCRIPTION = "Swfdec is a decoder/renderer for Macromedia Flash animations."
LICENSE = "LGPL"
-DEPENDS = "pango cairo liboil zlib libmad gtk+ alsa-lib"
+DEPENDS = "pango cairo liboil zlib gtk+ alsa-lib \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad', d)}"
+PR = "r1"
SRC_URI = "http://swfdec.freedesktop.org/download/swfdec/0.4/${P}.tar.gz \
file://jsautocfg.h \
diff --git a/packages/swfdec/swfdec_0.7.2.bb b/packages/swfdec/swfdec_0.7.2.bb
index 05d4977eae..7e3c15dd6c 100644
--- a/packages/swfdec/swfdec_0.7.2.bb
+++ b/packages/swfdec/swfdec_0.7.2.bb
@@ -1,7 +1,9 @@
DESCRIPTION = "Swfdec is a decoder/renderer for Macromedia Flash animations."
LICENSE = "LGPL"
-DEPENDS = "gstreamer libsoup-2.4 pango cairo liboil zlib libmad gtk+ alsa-lib"
+DEPENDS = "gstreamer libsoup-2.4 pango cairo liboil zlib gtk+ alsa-lib \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad', d)}"
+PR = "r1"
SRC_URI = "http://swfdec.freedesktop.org/download/swfdec/0.7/${P}.tar.gz \
"
diff --git a/packages/sysvinit/sysvinit/openmoko/rc b/packages/sysvinit/sysvinit/openmoko/rc
new file mode 100644
index 0000000000..9d28a6890b
--- /dev/null
+++ b/packages/sysvinit/sysvinit/openmoko/rc
@@ -0,0 +1,181 @@
+#!/bin/sh
+#
+# rc This file is responsible for starting/stopping
+# services when the runlevel changes.
+#
+# Optimization feature:
+# A startup script is _not_ run when the service was
+# running in the previous runlevel and it wasn't stopped
+# in the runlevel transition (most Debian services don't
+# have K?? links in rc{1,2,3,4,5} )
+#
+# Author: Miquel van Smoorenburg <miquels@cistron.nl>
+# Bruce Perens <Bruce@Pixar.com>
+#
+# Version: @(#)rc 2.78 07-Nov-1999 miquels@cistron.nl
+#
+
+. /etc/default/rcS
+export VERBOSE
+
+startup_progress() {
+ step=$(($step + $step_change))
+ if [ "$num_steps" != "0" ]; then
+ progress=$((($step * $progress_size / $num_steps) + $first_step))
+ else
+ progress=$progress_size
+ fi
+ #echo "PROGRESS is $progress $runlevel $first_step + ($step of $num_steps) $step_change $progress_size"
+# FIXME: this should be virtualised and come from a generic boot splash script
+# provided by some generic splash handler - be it psplash, exquisite or
+# whatever else soa simple install of one splash instead of another works
+ if type exquisite-write >/dev/null 2>&1; then
+ EXQUISITE_IPC=/mnt/.exquisite/exquisite exquisite-write "PROGRESS $progress" || true
+ fi
+}
+
+
+#
+# Start script or program.
+#
+startup() {
+ # Handle verbosity
+ [ "$VERBOSE" = very ] && echo "INIT: Running $@..."
+
+ case "$1" in
+ *.sh)
+ # Source shell script for speed.
+ (
+ trap - INT QUIT TSTP
+ scriptname=$1
+ shift
+ . $scriptname
+ )
+ ;;
+ *)
+ "$@"
+ ;;
+ esac
+ startup_progress
+}
+
+ # Ignore CTRL-C only in this shell, so we can interrupt subprocesses.
+ trap ":" INT QUIT TSTP
+
+ # Set onlcr to avoid staircase effect.
+ stty onlcr 0>&1
+
+ # Now find out what the current and what the previous runlevel are.
+
+ runlevel=$RUNLEVEL
+ # Get first argument. Set new runlevel to this argument.
+ [ "$1" != "" ] && runlevel=$1
+ if [ "$runlevel" = "" ]
+ then
+ echo "Usage: $0 <runlevel>" >&2
+ exit 1
+ fi
+ previous=$PREVLEVEL
+ [ "$previous" = "" ] && previous=N
+
+ export runlevel previous
+
+ # Is there an rc directory for this new runlevel?
+ if [ -d /etc/rc$runlevel.d ]
+ then
+ # Find out where in the progress bar the initramfs got to.
+ PROGRESS_STATE=0
+ #if [ -f /dev/.initramfs/progress_state ]; then
+ # . /dev/.initramfs/progress_state
+ #fi
+
+ # Split the remaining portion of the progress bar into thirds
+ progress_size=$(((100 - $PROGRESS_STATE) / 3))
+
+ case "$runlevel" in
+ 0|6)
+ # Count down from -100 to 0 and use the entire bar
+ first_step=-100
+ progress_size=100
+ step_change=1
+ ;;
+ S)
+ # Begin where the initramfs left off and use 2/3
+ # of the remaining space
+ first_step=$PROGRESS_STATE
+ progress_size=$(($progress_size * 2))
+ step_change=1
+ ;;
+ *)
+ # Begin where rcS left off and use the final 1/3 of
+ # the space (by leaving progress_size unchanged)
+ first_step=$(($progress_size * 2 + $PROGRESS_STATE))
+ step_change=1
+ ;;
+ esac
+
+ num_steps=0
+ for s in /etc/rc$runlevel.d/[SK]*; do
+ case "${s##/etc/rc$runlevel.d/S??}" in
+ gdm|xdm|kdm|reboot|halt)
+ break
+ ;;
+ esac
+ num_steps=$(($num_steps + 1))
+ done
+ step=0
+
+ # First, run the KILL scripts.
+ if [ $previous != N ]
+ then
+ for i in /etc/rc$runlevel.d/K[0-9][0-9]*
+ do
+ # Check if the script is there.
+ [ ! -f $i ] && continue
+
+ # Stop the service.
+ startup $i stop
+ done
+ fi
+
+ # Now run the START scripts for this runlevel.
+ for i in /etc/rc$runlevel.d/S*
+ do
+ [ ! -f $i ] && continue
+
+ if [ $previous != N ] && [ $previous != S ]
+ then
+ #
+ # Find start script in previous runlevel and
+ # stop script in this runlevel.
+ #
+ suffix=${i#/etc/rc$runlevel.d/S[0-9][0-9]}
+ stop=/etc/rc$runlevel.d/K[0-9][0-9]$suffix
+ previous_start=/etc/rc$previous.d/S[0-9][0-9]$suffix
+ #
+ # If there is a start script in the previous level
+ # and _no_ stop script in this level, we don't
+ # have to re-start the service.
+ #
+ [ -f $previous_start ] && [ ! -f $stop ] && continue
+ fi
+ case "$runlevel" in
+ 0|6)
+ startup $i stop
+ ;;
+ *)
+ startup $i start
+ ;;
+ esac
+ done
+ fi
+
+ # FIXME: this should be virtualised and come from a generic boot splash script
+ # provided by some generic splash handler - be it psplash, exquisite or
+ # whatever else soa simple install of one splash instead of another works
+ if [ "x$runlevel" != "xS" ]; then
+ if type exquisite-write >/dev/null 2>&1; then
+ EXQUISITE_IPC=/mnt/.exquisite/exquisite exquisite-write "QUIT" || true
+ umount /mnt/.exquisite
+ fi
+ fi
diff --git a/packages/sysvinit/sysvinit/openmoko/rcS-default b/packages/sysvinit/sysvinit/openmoko/rcS-default
new file mode 100644
index 0000000000..5bb57ef74f
--- /dev/null
+++ b/packages/sysvinit/sysvinit/openmoko/rcS-default
@@ -0,0 +1,25 @@
+#
+# Defaults for the boot scripts in /etc/rcS.d
+#
+
+# Time files in /tmp are kept in days.
+TMPTIME=0
+# Set to yes if you want sulogin to be spawned on bootup
+SULOGIN=no
+# Set to no if you want to be able to login over telnet/rlogin
+# before system startup is complete (as soon as inetd is started)
+DELAYLOGIN=no
+# Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not.
+UTC=yes
+# Set VERBOSE to "no" if you would like a more quiet bootup.
+VERBOSE=no
+# Set EDITMOTD to "no" if you don't want /etc/motd to be editted automatically
+EDITMOTD=no
+# Whether to fsck root on boot
+ENABLE_ROOTFS_FSCK=no
+# Set FSCKFIX to "yes" if you want to add "-y" to the fsck at startup.
+FSCKFIX=yes
+# Set TICKADJ to the correct tick value for this specific machine
+#TICKADJ=10000
+# Enable caching in populate-volatile.sh
+VOLATILE_ENABLE_CACHE=yes
diff --git a/packages/sysvinit/sysvinit_2.86.bb b/packages/sysvinit/sysvinit_2.86.bb
index 64090bf80f..c399874b8d 100644
--- a/packages/sysvinit/sysvinit_2.86.bb
+++ b/packages/sysvinit/sysvinit_2.86.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "System-V like init."
SECTION = "base"
LICENSE = "GPL"
HOMEPAGE = "http://freshmeat.net/projects/sysvinit/"
-PR = "r42"
+PR = "r44"
# USE_VT and SERIAL_CONSOLE are generally defined by the MACHINE .conf.
# Set PACKAGE_ARCH appropriately.
@@ -36,7 +36,7 @@ inherit update-alternatives
ALTERNATIVE_NAME = "init"
ALTERNATIVE_LINK = "${base_sbindir}/init"
ALTERNATIVE_PATH = "${base_sbindir}/init.sysvinit"
-ALTERNATIVE_PRIORITY = "50"
+ALTERNATIVE_PRIORITY = "60"
PACKAGES =+ "sysvinit-pidof sysvinit-sulogin"
FILES_${PN} += "${base_sbindir}/* ${base_bindir}/*"
diff --git a/packages/tasks/task-cli-tools.bb b/packages/tasks/task-cli-tools.bb
index 8bc4b83211..e69c2924a2 100644
--- a/packages/tasks/task-cli-tools.bb
+++ b/packages/tasks/task-cli-tools.bb
@@ -2,17 +2,17 @@ DESCRIPTION = "A set of command line tools"
SECTION = "console"
LICENSE = "MIT"
PV = "1.0"
-PR = "r0"
+PR = "r1"
inherit task
+PACKAGES += "${PN}-python"
+
RDEPENDS_${PN} = "\
dosfstools \
htop \
iptables \
lsof \
- mickeydbus \
- mickeyterm \
mtd-utils \
nano \
powertop \
@@ -27,3 +27,7 @@ RDEPENDS_${PN}_append_om-gta02 = "\
s3c24xx-gpio \
"
+RDEPENDS_${PN}-python = "\
+ mickeydbus \
+ mickeyterm \
+"
diff --git a/packages/tasks/task-fso-toolchain-host.bb b/packages/tasks/task-fso-toolchain-host.bb
new file mode 100644
index 0000000000..afb1ce830b
--- /dev/null
+++ b/packages/tasks/task-fso-toolchain-host.bb
@@ -0,0 +1,9 @@
+require task-sdk-host.bb
+
+DESCRIPTION = "Packages for a standalone FSO SDK or external toolchain"
+LICENSE = "MIT"
+ALLOW_EMPTY = "1"
+
+PR = "r0"
+
+PACKAGES = "${PN}"
diff --git a/packages/tasks/task-fso-toolchain-target.bb b/packages/tasks/task-fso-toolchain-target.bb
new file mode 100644
index 0000000000..d042849bed
--- /dev/null
+++ b/packages/tasks/task-fso-toolchain-target.bb
@@ -0,0 +1,69 @@
+DESCRIPTION = "Packages for a standalone SDK or external toolchain"
+LICENSE = "MIT"
+ALLOW_EMPTY = "1"
+
+PR = "r1"
+
+PACKAGES = "${PN}"
+
+# Stuff contained in this SDK is largely taken from task-sdk-base.bb.
+# This is a starting point, and nothing more at present -- please fill
+# this out with a reasonable set of development tools for an FSO image.
+# Also feel free to remove stuff that's silly. And someone should
+# review the glibc-gconv list to see if that makes sense.
+
+RDEPENDS_${PN} = "\
+ glibc \
+ glibc-dbg \
+ glibc-dev \
+ glibc-utils \
+ libsegfault \
+ glibc-thread-db \
+ glibc-localedata-i18n \
+ glibc-gconv-ibm850 \
+ glibc-gconv-cp1252 \
+ glibc-gconv-iso8859-1 \
+ glibc-gconv-iso8859-15 \
+ locale-base-en-gb \
+ libgcc \
+ libstdc++ \
+ linux-libc-headers-dev \
+ \
+ libssl \
+ libcrypto \
+ openssl-dev \
+ libts-dev \
+ ncurses-dev \
+ readline-dev \
+ gnutls-dev \
+ libgcrypt-dev \
+ libapm-dev \
+ alsa-dev \
+ alsa-lib-dev \
+ libgpg-error-dev \
+ libx11-dev \
+ util-macros-dev \
+ bigreqsproto-dev \
+ xproto-dev \
+ xextproto-dev \
+ xtrans-dev \
+ xcmiscproto-dev \
+ xf86bigfontproto-dev \
+ kbproto-dev \
+ inputproto-dev \
+ glib-2.0-dev \
+ expat-dev \
+ libice-dev \
+ libsm-dev \
+ dbus-dev \
+ bluez-libs-dev \
+ jpeg-dev \
+ libpng-dev \
+ "
+
+# This one needs further investigation; seems to be some
+# sort of naming problem that breaks the SDK when it is
+# added directly.
+ODDLY_BROKEN_PACKAGES ="\
+ libz-dev \
+"
diff --git a/packages/tasks/task-openmoko-feed.bb b/packages/tasks/task-openmoko-feed.bb
index 921f4d7edd..921077b40b 100644
--- a/packages/tasks/task-openmoko-feed.bb
+++ b/packages/tasks/task-openmoko-feed.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Openmoko: Misc. Feed Items"
SECTION = "openmoko/base"
LICENSE = "MIT"
-PR = "r45"
+PR = "r46"
inherit task
@@ -104,4 +104,14 @@ RDEPENDS_task-openmoko-feed = "\
midori \
microcom \
emacs \
+# for werner \
+ net-tools \
+ iproute2 \
+ iputils \
+ psmisc \
+ tar \
+ coreutils \
+ debianutils \
+ tcptraceroute \
+# dnsutils/bind-tools for dig, nslookup is still missing \
"
diff --git a/packages/tasks/task-opie-all.bb b/packages/tasks/task-opie-all.bb
index 9f1403f050..e316971e75 100644
--- a/packages/tasks/task-opie-all.bb
+++ b/packages/tasks/task-opie-all.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Tasks for OPIE stuff"
SECTION = "opie/base"
LICENSE = "MIT"
-PR = "r2"
+PR = "r3"
inherit task
@@ -34,7 +34,7 @@ RDEPENDS_task-opie-styles = "opie-style-flat opie-style-fresh opie-style-liquid
RDEPENDS_task-opie-decorations = "opie-deco-flat opie-deco-liquid opie-deco-polished"
RDEPENDS_task-opie-multimedia = "opie-mediaplayer1 \
- opie-mediaplayer1-libmadplugin \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'opie-mediaplayer1-libmadplugin', d)} \
opie-mediaplayer1-libmodplugin \
opie-mediaplayer1-libtremorplugin \
opie-mediaplayer1-libwavplugin \
diff --git a/packages/tasks/task-proper-tools.bb b/packages/tasks/task-proper-tools.bb
index 6e1cd5d895..ce512535dc 100644
--- a/packages/tasks/task-proper-tools.bb
+++ b/packages/tasks/task-proper-tools.bb
@@ -1,25 +1,30 @@
DESCRIPTION = "Full versions of tools provided by busybox"
-PR = "r6"
+PR = "r7"
inherit task
RDEPENDS_${PN} = "\
- coreutils \
- findutils \
- util-linux-ng \
- gawk \
- sed \
- wget \
- patch \
- tar \
- diffutils \
- less \
- vim \
- e2fsprogs \
- binutils-symlinks \
- module-init-tools \
+ coreutils \
+ findutils \
+ util-linux-ng \
+ gawk \
+ sed \
+ wget \
+ patch \
+ tar \
+ diffutils \
+ less \
+ vim \
+ e2fsprogs \
+ binutils-symlinks \
+ module-init-tools \
+ net-tools \
+ iproute2 \
+ iputils \
+ psmisc \
+ debianutils \
+ tcptraceroute \
"
-
#
# binutils-symlinks provide ar in a way which conflict with busybox - #1465 for more info
#
diff --git a/packages/tasks/task-python-everything.bb b/packages/tasks/task-python-everything.bb
index 6c8e21ebd9..02cecbf586 100644
--- a/packages/tasks/task-python-everything.bb
+++ b/packages/tasks/task-python-everything.bb
@@ -1,7 +1,7 @@
DESCRIPTION= "Everything Python"
HOMEPAGE = "http://www.vanille.de/projects/python.spy"
LICENSE = "MIT"
-PR = "ml34"
+PR = "ml36"
RDEPENDS = "\
python-ao \
@@ -16,7 +16,9 @@ RDEPENDS = "\
python-fnorb \
python-formencode \
python-fpconst \
+ python-fugrep \
python-fuse \
+ python-fusil \
python-gammu \
python-gmpy \
python-gnosis \
diff --git a/packages/tasks/task-sdk-base.bb b/packages/tasks/task-sdk-base.bb
index 4041b27536..3d86d030f7 100644
--- a/packages/tasks/task-sdk-base.bb
+++ b/packages/tasks/task-sdk-base.bb
@@ -34,7 +34,7 @@ RDEPENDS = "\
libiw-dev \
libmimedir-dev \
libpcap-dev \
- libpixman-dev \
+ pixman-dev \
libpng-dev \
libschedule-dev \
libsm-dev \
diff --git a/packages/tasks/task-sdk-extra.bb b/packages/tasks/task-sdk-extra.bb
index efb12c3cfb..c4414dbcf8 100644
--- a/packages/tasks/task-sdk-extra.bb
+++ b/packages/tasks/task-sdk-extra.bb
@@ -28,7 +28,7 @@ RDEPENDS_task-sdk-x11-ext = "\
libxrandr-dev \
libxrender-dev \
libxsettings-client-dev \
- randrext-dev \
+ randrproto-dev \
libxau-dev \
xcalibrateext-dev \
libxcomposite-dev \
diff --git a/packages/tasks/task-sdk-opie.bb b/packages/tasks/task-sdk-opie.bb
index a38e58385f..f6446c4f76 100644
--- a/packages/tasks/task-sdk-opie.bb
+++ b/packages/tasks/task-sdk-opie.bb
@@ -3,6 +3,8 @@ PR = "r7"
LICENSE = "MIT"
ALLOW_EMPTY = "1"
+PALMTOP_USE_MULTITHREADED_QT ?= "yes"
+
PACKAGES = "task-sdk-opie"
RDEPENDS_task-sdk-opie = "\
@@ -13,6 +15,6 @@ RDEPENDS_task-sdk-opie = "\
libopiepim2 \
libopieui2 \
libqpe-opie \
- qte \
+ ${@base_conditional("PALMTOP_USE_MULTITHREADED_QT", "yes", "qte-mt", "qte", d)} \
libqtaux2 \
libmailwrapper"
diff --git a/packages/tasks/task-x11-illume.bb b/packages/tasks/task-x11-illume.bb
index a477c6e8c5..8b813b4ebb 100644
--- a/packages/tasks/task-x11-illume.bb
+++ b/packages/tasks/task-x11-illume.bb
@@ -9,7 +9,7 @@ PR = "r0"
inherit task
# Default illume theme
-ILLUME_THEME ?= "illume-theme-illume"
+ILLUME_THEME ?= "e-wm-theme-illume"
RDEPENDS_${PN} = "\
task-x11-server \
@@ -17,11 +17,6 @@ RDEPENDS_${PN} = "\
# xserver-kdrive-splash-illume \
\
e-wm \
- illume \
- illume-config-illume \
- illume-dicts-english-us \
- illume-keyboards-default \
- illume-keyboards-numbers \
- illume-keyboards-terminal \
+ e-wm-config-illume \
${ILLUME_THEME} \
"
diff --git a/packages/tasks/task-x11.bb b/packages/tasks/task-x11.bb
index ad5ca3a412..fe8dfff198 100644
--- a/packages/tasks/task-x11.bb
+++ b/packages/tasks/task-x11.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "The X Window System -- install this task to get a client/server b
SECTION = "x11/server"
LICENSE = "MIT"
PV = "1.0"
-PR = "r0"
+PR = "r1"
# WORK IN PROGRESS
diff --git a/packages/telepathy/empathy_2.24.0.bb b/packages/telepathy/empathy_2.24.0.bb
index 66c8210adf..b9cf1d5ac9 100644
--- a/packages/telepathy/empathy_2.24.0.bb
+++ b/packages/telepathy/empathy_2.24.0.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Empathy: a Telepathy based IM client"
HOMEPAGE = "http://blogs.gnome.org/view/xclaesse/2007/04/26/0"
LICENSE = "GPL"
-DEPENDS = "python-native telepathy-python telepathy-mission-control libtelepathy telepathy-glib gtk+ gconf libglade eds-dbus"
+DEPENDS = "gnome-doc-utils python-native telepathy-python telepathy-mission-control libtelepathy telepathy-glib gtk+ gconf libglade eds-dbus"
RDEPENDS = "telepathy-mission-control"
RRECOMMENDS = "telepathy-gabble"
diff --git a/packages/totem/totem-2.24.2/gst-detect.diff b/packages/totem/totem-2.24.2/gst-detect.diff
new file mode 100644
index 0000000000..57c2a3cedf
--- /dev/null
+++ b/packages/totem/totem-2.24.2/gst-detect.diff
@@ -0,0 +1,28 @@
+--- /tmp/configure.in 2008-08-10 15:27:06.000000000 +0200
++++ totem-2.23.4/configure.in 2008-08-10 20:37:08.743198000 +0200
+@@ -142,11 +142,7 @@
+ if $gst010_inspect $base_element >/dev/null 2>/dev/null; then
+ AC_MSG_RESULT([yes])
+ else
+- AC_MSG_RESULT([no])
+- AC_MSG_ERROR([
+- Cannot find required GStreamer-0.10 plugin '$base_element'.
+- It should be part of gst-plugins-base. Please install it.
+- ])
++ AC_MSG_RESULT([yes, we assume OE has already built them])
+ fi
+ done
+
+@@ -157,11 +153,7 @@
+ if $gst010_inspect $good_element >/dev/null 2>/dev/null; then
+ AC_MSG_RESULT([yes])
+ else
+- AC_MSG_RESULT([no])
+- AC_MSG_ERROR([
+- Cannot find required GStreamer-0.10 plugin '$good_element'.
+- It should be part of gst-plugins-good. Please install it.
+- ])
++ AC_MSG_RESULT([yes, we assume OE has already built them])
+ fi
+ done
+
diff --git a/packages/u-boot/u-boot-omap3_git.bb b/packages/u-boot/u-boot-omap3_git.bb
index 5be3657fba..56ca67bb60 100644
--- a/packages/u-boot/u-boot-omap3_git.bb
+++ b/packages/u-boot/u-boot-omap3_git.bb
@@ -2,10 +2,10 @@ require u-boot.inc
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/u-boot-omap3-git/${MACHINE}"
-SRCREV = "c492706ba046124333323273f6fc21123360cb50"
+SRCREV = "08d7fdcce5dde5c2dc968fac5b2facf17cbabb5"
-PV = "2008.10-rc1+${PR}+git${SRCREV}"
-PR ="r1"
+PV = "2008.10+${PR}+git${SRCREV}"
+PR ="r2"
SRC_URI = "git://www.sakoman.net/git/u-boot-omap3.git;branch=common;protocol=git \
"
diff --git a/packages/u-boot/u-boot-openmoko-devel_git.bb b/packages/u-boot/u-boot-openmoko-devel_git.bb
deleted file mode 100644
index 3659241dfa..0000000000
--- a/packages/u-boot/u-boot-openmoko-devel_git.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require u-boot-openmoko.inc
-
-SRC_URI = "\
- git://git.openmoko.org/git/u-boot.git;protocol=git;branch=andy \
- file://makefile-no-dirafter.patch;patch=1 \
-"
-S = "${WORKDIR}/git"
-
diff --git a/packages/u-boot/u-boot-openmoko.inc b/packages/u-boot/u-boot-openmoko.inc
index c25afd38f6..2238d3662a 100644
--- a/packages/u-boot/u-boot-openmoko.inc
+++ b/packages/u-boot/u-boot-openmoko.inc
@@ -6,12 +6,10 @@ PRIORITY = "optional"
PROVIDES = "virtual/bootloader"
LOCALVERSION = "+gitr${SRCREV}"
PV = "1.3.1${LOCALVERSION}"
-PR = "r0"
+PR = "r1"
UBOOT_MACHINES = "gta01bv2 gta01bv3 gta01bv4 gta02v2 gta02v4 gta02v5"
-DEFAULT_PREFERENCE = "-1"
-
EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}"
TARGET_LDFLAGS = ""
diff --git a/packages/vala-terminal/vala-terminal_git.bb b/packages/vala-terminal/vala-terminal_git.bb
new file mode 100644
index 0000000000..8a5d3acfad
--- /dev/null
+++ b/packages/vala-terminal/vala-terminal_git.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "A lightweight Terminal Emulator based on libvte, written in Vala."
+SECTION = "x11/applications"
+DEPENDS = "vala-native vte"
+RDEPENDS = "ttf-liberation-mono"
+PV = "1.0.0.0+gitr${SRCREV}"
+PR = "r0"
+
+inherit autotools
+
+SRC_URI = "${FREESMARTPHONE_GIT}/vala-terminal.git;protocol=git;branch=master"
+S = "${WORKDIR}/git"
+
+
diff --git a/packages/vala/files/HACK-work-around-vte-bug.patch b/packages/vala/files/HACK-work-around-vte-bug.patch
new file mode 100644
index 0000000000..cdccadf9c3
--- /dev/null
+++ b/packages/vala/files/HACK-work-around-vte-bug.patch
@@ -0,0 +1,15 @@
+:M:
+
+Index: vala-0.5.1/vapi/vte.vapi
+===================================================================
+--- vala-0.5.1.orig/vapi/vte.vapi
++++ vala-0.5.1/vapi/vte.vapi
+@@ -37,7 +37,7 @@ namespace Vte {
+ public void feed_child (string text, long length);
+ public void feed_child_binary (string data, long length);
+ [NoArrayLength]
+- public int fork_command (string? command, string[]? argv, string[]? envv, string? directory, bool lastlog, bool utmp, bool wtmp);
++ public int fork_command (string command, string[] argv, string[]? envv, string? directory, bool lastlog, bool utmp, bool wtmp);
+ public int forkpty (string[] envv, string directory, bool lastlog, bool utmp, bool wtmp);
+ public weak Gtk.Adjustment get_adjustment ();
+ public bool get_allow_bold ();
diff --git a/packages/vala/vala-native_0.1.5.bb b/packages/vala/vala-native_0.1.5.bb
deleted file mode 100644
index f097e7db74..0000000000
--- a/packages/vala/vala-native_0.1.5.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require vala_${PV}.bb
-
-inherit native
-DEPENDS = "glib-2.0-native"
-
diff --git a/packages/vala/vala-native_0.3.5.bb b/packages/vala/vala-native_0.3.5.bb
deleted file mode 100644
index f097e7db74..0000000000
--- a/packages/vala/vala-native_0.3.5.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require vala_${PV}.bb
-
-inherit native
-DEPENDS = "glib-2.0-native"
-
diff --git a/packages/vala/vala-native_0.4.0.bb b/packages/vala/vala-native_0.5.1.bb
index 13ed6ad275..13ed6ad275 100644
--- a/packages/vala/vala-native_0.4.0.bb
+++ b/packages/vala/vala-native_0.5.1.bb
diff --git a/packages/vala/vala_0.1.5.bb b/packages/vala/vala_0.1.5.bb
deleted file mode 100644
index 0d357945b7..0000000000
--- a/packages/vala/vala_0.1.5.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "Vala is a C#-like language dedicated to ease GObject programming. Vala compiles to C"
-SECTION = "devel"
-DEPENDS = "glib-2.0"
-HOMEPAGE = "http://live.gnome.org/Vala"
-LICENSE = "LGPL"
-
-SRC_URI = "http://download.gnome.org/sources/vala/0.1/vala-${PV}.tar.bz2"
-S = "${WORKDIR}/vala-${PV}"
-
-inherit autotools lib_package
-
-do_stage() {
- autotools_stage_all
-}
-
diff --git a/packages/vala/vala_0.3.5.bb b/packages/vala/vala_0.3.5.bb
deleted file mode 100644
index 61d736ae98..0000000000
--- a/packages/vala/vala_0.3.5.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-
-require vala.inc
-
-SRC_URI = "http://download.gnome.org/sources/vala/0.3/vala-${PV}.tar.bz2"
-
diff --git a/packages/vala/vala_0.4.0.bb b/packages/vala/vala_0.4.0.bb
deleted file mode 100644
index 4104fd1718..0000000000
--- a/packages/vala/vala_0.4.0.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require vala.inc
-
-SRC_URI = "http://download.gnome.org/sources/vala/0.4/vala-${PV}.tar.bz2"
-
diff --git a/packages/vala/vala_0.5.1.bb b/packages/vala/vala_0.5.1.bb
new file mode 100644
index 0000000000..a70f00e49b
--- /dev/null
+++ b/packages/vala/vala_0.5.1.bb
@@ -0,0 +1,8 @@
+require vala.inc
+
+MAJV = "${@bb.data.getVar('PV',d,1)[:3]}"
+
+SRC_URI = "\
+ http://download.gnome.org/sources/vala/${MAJV}/vala-${PV}.tar.bz2 \
+ file://HACK-work-around-vte-bug.patch;patch=1 \
+"
diff --git a/packages/vlc/vlc-davinci_0.8.6h.bb b/packages/vlc/vlc-davinci_0.8.6h.bb
index 4c6b19231b..71520bbb9b 100644
--- a/packages/vlc/vlc-davinci_0.8.6h.bb
+++ b/packages/vlc/vlc-davinci_0.8.6h.bb
@@ -6,11 +6,12 @@ SECTION = "multimedia"
SRCREV = "e712a114e04a1070f1afdf31ec668cb28eda513c"
-PR = "r5"
+PR = "r6"
PV = "0.8.6h+${PR}+gitr${SRCREV}"
-DEPENDS = "codec-engine dbus libxml2 gnutls tremor faad2 ffmpeg flac liba52 libid3tag libmad mpeg2dec"
+DEPENDS = "codec-engine dbus libxml2 gnutls tremor faad2 ffmpeg flac \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad libid3tag liba52 mpeg2dec', d)}"
SRC_URI = "git://git.videolan.org/vlc.git;protocol=git;branch=0.8.6-neuros"
diff --git a/packages/vlc/vlc-gpe_0.7.2.bb b/packages/vlc/vlc-gpe_0.7.2.bb
index 224b88096e..8b09103a7f 100644
--- a/packages/vlc/vlc-gpe_0.7.2.bb
+++ b/packages/vlc/vlc-gpe_0.7.2.bb
@@ -3,9 +3,10 @@ HOMEPAGE = "http://www.videolan.org"
LICENSE = "GPL"
PRIORITY = "optional"
SECTION = "x11/multimedia"
-PR = "r2"
+PR = "r3"
-DEPENDS = "faad2 ffmpeg flac liba52 libid3tag libmad mpeg2dec"
+DEPENDS = "faad2 ffmpeg flac \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad libid3tag liba52 mpeg2dec', d)}"
SRC_URI = "http://download.videolan.org/pub/videolan/vlc/${PV}/vlc-${PV}.tar.gz"
S = "${WORKDIR}/vlc-${PV}"
diff --git a/packages/vlc/vlc-gpe_0.8.1.bb b/packages/vlc/vlc-gpe_0.8.1.bb
index 0c83b6036c..7852521179 100644
--- a/packages/vlc/vlc-gpe_0.8.1.bb
+++ b/packages/vlc/vlc-gpe_0.8.1.bb
@@ -3,9 +3,10 @@ HOMEPAGE = "http://www.videolan.org"
LICENSE = "GPL"
PRIORITY = "optional"
SECTION = "x11/multimedia"
-PR = "r5"
+PR = "r6"
-DEPENDS = "gtk+ freetype gnutls tremor faad2 ffmpeg flac liba52 libid3tag libmad mpeg2dec"
+DEPENDS = "gtk+ freetype gnutls tremor faad2 ffmpeg flac \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad libid3tag liba52 mpeg2dec', d)}"
SRC_URI = "http://download.videolan.org/pub/videolan/vlc/${PV}/vlc-${PV}.tar.gz \
file://fix-pda.patch;patch=1 \
diff --git a/packages/vlc/vlc-gpe_0.8.4.bb b/packages/vlc/vlc-gpe_0.8.4.bb
index f53aa6b45f..d7138ee69d 100644
--- a/packages/vlc/vlc-gpe_0.8.4.bb
+++ b/packages/vlc/vlc-gpe_0.8.4.bb
@@ -3,9 +3,10 @@ HOMEPAGE = "http://www.videolan.org"
LICENSE = "GPL"
PRIORITY = "optional"
SECTION = "x11/multimedia"
-PR = "r4"
+PR = "r5"
-DEPENDS = "gtk+ freetype gnutls tremor faad2 ffmpeg flac liba52 libid3tag libmad mpeg2dec"
+DEPENDS = "gtk+ freetype gnutls tremor faad2 ffmpeg flac \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad libid3tag liba52 mpeg2dec', d)}"
SRC_URI = "http://download.videolan.org/pub/videolan/vlc/${PV}/vlc-${PV}.tar.gz \
file://pda-interface.patch;patch=1"
diff --git a/packages/vlc/vlc_0.9.2.bb b/packages/vlc/vlc_0.9.2.bb
index 588da5e29e..509662b4ae 100644
--- a/packages/vlc/vlc_0.9.2.bb
+++ b/packages/vlc/vlc_0.9.2.bb
@@ -4,9 +4,10 @@ LICENSE = "GPL"
PRIORITY = "optional"
SECTION = "multimedia"
-PR = "r1"
+PR = "r2"
-DEPENDS = "libtool hal gettext libgcrypt schroedinger libsdl-x11 qt4-x11-free dbus libxml2 gnutls tremor faad2 ffmpeg flac liba52 libid3tag libmad mpeg2dec"
+DEPENDS = "libtool hal gettext libgcrypt schroedinger libsdl-x11 qt4-x11-free dbus libxml2 gnutls tremor faad2 ffmpeg flac \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad libid3tag liba52 mpeg2dec', d)}"
SRC_URI = "http://videolan.mirror.technotop.nl/vlc/0.9.2/vlc-${PV}.tar.bz2"
diff --git a/packages/vlc/vlc_0.9.4.bb b/packages/vlc/vlc_0.9.4.bb
index bf60e2762e..4630ea5340 100644
--- a/packages/vlc/vlc_0.9.4.bb
+++ b/packages/vlc/vlc_0.9.4.bb
@@ -4,9 +4,10 @@ LICENSE = "GPL"
PRIORITY = "optional"
SECTION = "multimedia"
-PR = "r1"
+PR = "r2"
-DEPENDS = "libtool hal gettext libgcrypt schroedinger libsdl-x11 qt4-x11-free dbus libxml2 gnutls tremor faad2 ffmpeg flac liba52 libid3tag libmad mpeg2dec"
+DEPENDS = "libtool hal gettext libgcrypt schroedinger libsdl-x11 qt4-x11-free dbus libxml2 gnutls tremor faad2 ffmpeg flac \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad libid3tag liba52 mpeg2dec', d)}"
SRC_URI = "http://videolan.mirror.technotop.nl/vlc/${PV}/vlc-${PV}.tar.bz2"
diff --git a/packages/vnc/libvncserver/autoreconf.patch b/packages/vnc/libvncserver/autoreconf.patch
new file mode 100644
index 0000000000..f13b4d0d50
--- /dev/null
+++ b/packages/vnc/libvncserver/autoreconf.patch
@@ -0,0 +1,113983 @@
+diff -Nur LibVNCServer-0.9.1.orig/Makefile.in LibVNCServer-0.9.1/Makefile.in
+--- LibVNCServer-0.9.1.orig/Makefile.in 2008-10-31 18:44:00.000000000 -0200
++++ LibVNCServer-0.9.1/Makefile.in 2008-10-31 18:46:27.000000000 -0200
+@@ -1,8 +1,8 @@
+-# Makefile.in generated by automake 1.9.5 from Makefile.am.
++# Makefile.in generated by automake 1.10 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005 Free Software Foundation, Inc.
++# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -15,15 +15,11 @@
+ @SET_MAKE@
+
+
+-srcdir = @srcdir@
+-top_srcdir = @top_srcdir@
+ VPATH = @srcdir@
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+-top_builddir = .
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+-INSTALL = @INSTALL@
+ install_sh_DATA = $(install_sh) -c -m 644
+ install_sh_PROGRAM = $(install_sh) -c
+ install_sh_SCRIPT = $(install_sh) -c
+@@ -37,20 +33,20 @@
+ POST_UNINSTALL = :
+ build_triplet = @build@
+ host_triplet = @host@
++subdir = .
+ DIST_COMMON = README $(am__configure_deps) $(include_HEADERS) \
+ $(srcdir)/LibVNCServer.spec.in $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(srcdir)/libvncserver-config.in \
+ $(srcdir)/rfbconfig.h.in $(top_srcdir)/configure AUTHORS \
+ COPYING ChangeLog INSTALL NEWS TODO compile config.guess \
+ config.sub depcomp install-sh ltmain.sh missing
+-subdir = .
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+- configure.lineno configure.status.lineno
++ configure.lineno config.status.lineno
+ mkinstalldirs = $(install_sh) -d
+ CONFIG_HEADER = rfbconfig.h
+ CONFIG_CLEAN_FILES = libvncserver-config LibVNCServer.spec
+@@ -61,10 +57,11 @@
+ DIST_SOURCES =
+ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+- install-exec-recursive install-info-recursive \
+- install-recursive installcheck-recursive installdirs-recursive \
+- pdf-recursive ps-recursive uninstall-info-recursive \
+- uninstall-recursive
++ install-dvi-recursive install-exec-recursive \
++ install-html-recursive install-info-recursive \
++ install-pdf-recursive install-ps-recursive install-recursive \
++ installcheck-recursive installdirs-recursive pdf-recursive \
++ ps-recursive uninstall-recursive
+ am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+ am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+@@ -73,6 +70,8 @@
+ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+ includeHEADERS_INSTALL = $(INSTALL_HEADER)
+ HEADERS = $(include_HEADERS)
++RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
++ distclean-recursive maintainer-clean-recursive
+ ETAGS = etags
+ CTAGS = ctags
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+@@ -87,8 +86,6 @@
+ distuninstallcheck_listfiles = find . -type f -print
+ distcleancheck_listfiles = find . -type f -print
+ ACLOCAL = @ACLOCAL@
+-AMDEP_FALSE = @AMDEP_FALSE@
+-AMDEP_TRUE = @AMDEP_TRUE@
+ AMTAR = @AMTAR@
+ AR = @AR@
+ AUTOCONF = @AUTOCONF@
+@@ -103,57 +100,38 @@
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CRYPT_LIBS = @CRYPT_LIBS@
+-CXX = @CXX@
+-CXXCPP = @CXXCPP@
+-CXXDEPMODE = @CXXDEPMODE@
+-CXXFLAGS = @CXXFLAGS@
+-CYGIPC_FALSE = @CYGIPC_FALSE@
+-CYGIPC_TRUE = @CYGIPC_TRUE@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
+-ECHO = @ECHO@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
+-F77 = @F77@
+-FFLAGS = @FFLAGS@
+-HAVE_LIBJPEG_FALSE = @HAVE_LIBJPEG_FALSE@
+-HAVE_LIBJPEG_TRUE = @HAVE_LIBJPEG_TRUE@
+-HAVE_LIBPTHREAD_FALSE = @HAVE_LIBPTHREAD_FALSE@
+-HAVE_LIBPTHREAD_TRUE = @HAVE_LIBPTHREAD_TRUE@
+-HAVE_LIBSDL_FALSE = @HAVE_LIBSDL_FALSE@
+-HAVE_LIBSDL_TRUE = @HAVE_LIBSDL_TRUE@
+-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
+-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
+-HAVE_MP3LAME_FALSE = @HAVE_MP3LAME_FALSE@
+-HAVE_MP3LAME_TRUE = @HAVE_MP3LAME_TRUE@
+-HAVE_RPM_FALSE = @HAVE_RPM_FALSE@
+-HAVE_RPM_TRUE = @HAVE_RPM_TRUE@
+-HAVE_SYSTEM_LIBVNCSERVER_FALSE = @HAVE_SYSTEM_LIBVNCSERVER_FALSE@
+-HAVE_SYSTEM_LIBVNCSERVER_TRUE = @HAVE_SYSTEM_LIBVNCSERVER_TRUE@
+-HAVE_X_FALSE = @HAVE_X_FALSE@
+-HAVE_X_TRUE = @HAVE_X_TRUE@
++FGREP = @FGREP@
++GREP = @GREP@
++INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LD = @LD@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBTOOL = @LIBTOOL@
+-LINUX_FALSE = @LINUX_FALSE@
+-LINUX_TRUE = @LINUX_TRUE@
++LIPO = @LIPO@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
+-MINGW_FALSE = @MINGW_FALSE@
+-MINGW_TRUE = @MINGW_TRUE@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
+ OBJEXT = @OBJEXT@
+-OSX_FALSE = @OSX_FALSE@
+-OSX_TRUE = @OSX_TRUE@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
+ PACKAGE = @PACKAGE@
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+@@ -165,6 +143,7 @@
+ RPMSOURCEDIR = @RPMSOURCEDIR@
+ SDL_CFLAGS = @SDL_CFLAGS@
+ SDL_LIBS = @SDL_LIBS@
++SED = @SED@
+ SET_MAKE = @SET_MAKE@
+ SHELL = @SHELL@
+ SSL_LIBS = @SSL_LIBS@
+@@ -172,25 +151,17 @@
+ SYSTEM_LIBVNCSERVER_CFLAGS = @SYSTEM_LIBVNCSERVER_CFLAGS@
+ SYSTEM_LIBVNCSERVER_LIBS = @SYSTEM_LIBVNCSERVER_LIBS@
+ VERSION = @VERSION@
+-WITH_FFMPEG_FALSE = @WITH_FFMPEG_FALSE@
+-WITH_FFMPEG_TRUE = @WITH_FFMPEG_TRUE@
+-WITH_TIGHTVNC_FILETRANSFER_FALSE = @WITH_TIGHTVNC_FILETRANSFER_FALSE@
+-WITH_TIGHTVNC_FILETRANSFER_TRUE = @WITH_TIGHTVNC_FILETRANSFER_TRUE@
+ WSOCKLIB = @WSOCKLIB@
+ X_CFLAGS = @X_CFLAGS@
+ X_EXTRA_LIBS = @X_EXTRA_LIBS@
+ X_LIBS = @X_LIBS@
+ X_PRE_LIBS = @X_PRE_LIBS@
+-ac_ct_AR = @ac_ct_AR@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
+ ac_ct_CC = @ac_ct_CC@
+-ac_ct_CXX = @ac_ct_CXX@
+-ac_ct_F77 = @ac_ct_F77@
+-ac_ct_RANLIB = @ac_ct_RANLIB@
+-ac_ct_STRIP = @ac_ct_STRIP@
+-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+@@ -202,28 +173,40 @@
+ build_cpu = @build_cpu@
+ build_os = @build_os@
+ build_vendor = @build_vendor@
++builddir = @builddir@
+ datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
+ exec_prefix = @exec_prefix@
+ host = @host@
+ host_alias = @host_alias@
+ host_cpu = @host_cpu@
+ host_os = @host_os@
+ host_vendor = @host_vendor@
++htmldir = @htmldir@
+ includedir = $(prefix)/include/rfb
+ infodir = @infodir@
+ install_sh = @install_sh@
+ libdir = @libdir@
+ libexecdir = @libexecdir@
++localedir = @localedir@
+ localstatedir = @localstatedir@
++lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
+ prefix = @prefix@
+ program_transform_name = @program_transform_name@
++psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
+ with_ffmpeg = @with_ffmpeg@
+ SUBDIRS = libvncserver examples contrib libvncclient vncterm classes client_examples test
+ DIST_SUBDIRS = libvncserver examples contrib libvncclient vncterm classes client_examples test
+@@ -242,15 +225,15 @@
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+- echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
+- cd $(srcdir) && $(AUTOMAKE) --gnu \
++ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
++ cd $(srcdir) && $(AUTOMAKE) --foreign \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+ cd $(top_srcdir) && \
+- $(AUTOMAKE) --gnu Makefile
++ $(AUTOMAKE) --foreign Makefile
+ .PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+@@ -273,7 +256,7 @@
+ rfbconfig.h: stamp-h1
+ @if test ! -f $@; then \
+ rm -f stamp-h1; \
+- $(MAKE) stamp-h1; \
++ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
+ else :; fi
+
+ stamp-h1: $(srcdir)/rfbconfig.h.in $(top_builddir)/config.status
+@@ -292,7 +275,7 @@
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+ install-binSCRIPTS: $(bin_SCRIPTS)
+ @$(NORMAL_INSTALL)
+- test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
++ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ @list='$(bin_SCRIPTS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ if test -f $$d$$p; then \
+@@ -318,10 +301,9 @@
+
+ distclean-libtool:
+ -rm -f libtool
+-uninstall-info-am:
+ install-includeHEADERS: $(include_HEADERS)
+ @$(NORMAL_INSTALL)
+- test -z "$(includedir)" || $(mkdir_p) "$(DESTDIR)$(includedir)"
++ test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
+ @list='$(include_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+@@ -368,8 +350,7 @@
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+-mostlyclean-recursive clean-recursive distclean-recursive \
+-maintainer-clean-recursive:
++$(RECURSIVE_CLEAN_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+@@ -471,24 +452,22 @@
+
+ distdir: $(DISTFILES)
+ $(am__remove_distdir)
+- mkdir $(distdir)
+- $(mkdir_p) $(distdir)/. $(distdir)/rfb
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
++ test -d $(distdir) || mkdir $(distdir)
++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ list='$(DISTFILES)'; \
++ dist_files=`for file in $$list; do echo $$file; done | \
++ sed -e "s|^$$srcdirstrip/||;t" \
++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
++ case $$dist_files in \
++ */*) $(MKDIR_P) `echo "$$dist_files" | \
++ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
++ sort -u` ;; \
++ esac; \
++ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+ if test -d $$d/$$file; then \
++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+@@ -502,7 +481,7 @@
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+- || $(mkdir_p) "$(distdir)/$$subdir" \
++ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+@@ -510,6 +489,8 @@
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
++ am__remove_distdir=: \
++ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+@@ -517,7 +498,7 @@
+ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
++ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r $(distdir)
+ dist-gzip: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+@@ -592,7 +573,7 @@
+ $(am__remove_distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+- sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
++ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+ distuninstallcheck:
+ @cd $(distuninstallcheck_dir) \
+ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+@@ -617,7 +598,7 @@
+ installdirs: installdirs-recursive
+ installdirs-am:
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(includedir)"; do \
+- test -z "$$dir" || $(mkdir_p) "$$dir"; \
++ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+ install: install-recursive
+ install-exec: install-exec-recursive
+@@ -665,12 +646,20 @@
+
+ install-data-am: install-includeHEADERS
+
++install-dvi: install-dvi-recursive
++
+ install-exec-am: install-binSCRIPTS
+
++install-html: install-html-recursive
++
+ install-info: install-info-recursive
+
+ install-man:
+
++install-pdf: install-pdf-recursive
++
++install-ps: install-ps-recursive
++
+ installcheck-am:
+
+ maintainer-clean: maintainer-clean-recursive
+@@ -691,28 +680,28 @@
+
+ ps-am:
+
+-uninstall-am: uninstall-binSCRIPTS uninstall-includeHEADERS \
+- uninstall-info-am
++uninstall-am: uninstall-binSCRIPTS uninstall-includeHEADERS
+
+-uninstall-info: uninstall-info-recursive
++.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
++ install-strip
+
+-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
+- check-am clean clean-generic clean-libtool clean-recursive \
+- ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
+- dist-shar dist-tarZ dist-zip distcheck distclean \
++.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
++ all all-am am--refresh check check-am clean clean-generic \
++ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
++ dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \
+ distclean-generic distclean-hdr distclean-libtool \
+- distclean-recursive distclean-tags distcleancheck distdir \
+- distuninstallcheck dvi dvi-am html html-am info info-am \
+- install install-am install-binSCRIPTS install-data \
+- install-data-am install-exec install-exec-am \
+- install-includeHEADERS install-info install-info-am \
+- install-man install-strip installcheck installcheck-am \
+- installdirs installdirs-am maintainer-clean \
+- maintainer-clean-generic maintainer-clean-recursive \
+- mostlyclean mostlyclean-generic mostlyclean-libtool \
+- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
++ distclean-tags distcleancheck distdir distuninstallcheck dvi \
++ dvi-am html html-am info info-am install install-am \
++ install-binSCRIPTS install-data install-data-am install-dvi \
++ install-dvi-am install-exec install-exec-am install-html \
++ install-html-am install-includeHEADERS install-info \
++ install-info-am install-man install-pdf install-pdf-am \
++ install-ps install-ps-am install-strip installcheck \
++ installcheck-am installdirs installdirs-am maintainer-clean \
++ maintainer-clean-generic mostlyclean mostlyclean-generic \
++ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+ uninstall uninstall-am uninstall-binSCRIPTS \
+- uninstall-includeHEADERS uninstall-info-am
++ uninstall-includeHEADERS
+
+
+ $(PACKAGE)-$(VERSION).tar.gz: dist
+diff -Nur LibVNCServer-0.9.1.orig/acinclude.m4 LibVNCServer-0.9.1/acinclude.m4
+--- LibVNCServer-0.9.1.orig/acinclude.m4 2008-10-31 18:44:00.000000000 -0200
++++ LibVNCServer-0.9.1/acinclude.m4 2008-10-31 18:46:13.000000000 -0200
+@@ -601,6401 +601,3 @@
+ AS_VAR_POPDEF([_DEF])dnl
+ AS_VAR_POPDEF([_OUT])dnl
+ ],[PACKAGE="$PACKAGE"])])
+-
+-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+-## Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
+-## Free Software Foundation, Inc.
+-## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+-##
+-## This file is free software; the Free Software Foundation gives
+-## unlimited permission to copy and/or distribute it, with or without
+-## modifications, as long as this notice is preserved.
+-
+-# serial 48 AC_PROG_LIBTOOL
+-
+-
+-# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
+-# -----------------------------------------------------------
+-# If this macro is not defined by Autoconf, define it here.
+-m4_ifdef([AC_PROVIDE_IFELSE],
+- [],
+- [m4_define([AC_PROVIDE_IFELSE],
+- [m4_ifdef([AC_PROVIDE_$1],
+- [$2], [$3])])])
+-
+-
+-# AC_PROG_LIBTOOL
+-# ---------------
+-AC_DEFUN([AC_PROG_LIBTOOL],
+-[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
+-dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
+-dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
+- AC_PROVIDE_IFELSE([AC_PROG_CXX],
+- [AC_LIBTOOL_CXX],
+- [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
+- ])])
+-dnl And a similar setup for Fortran 77 support
+- AC_PROVIDE_IFELSE([AC_PROG_F77],
+- [AC_LIBTOOL_F77],
+- [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
+-])])
+-
+-dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
+-dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
+-dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
+- AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+- [AC_LIBTOOL_GCJ],
+- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+- [AC_LIBTOOL_GCJ],
+- [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
+- [AC_LIBTOOL_GCJ],
+- [ifdef([AC_PROG_GCJ],
+- [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+- ifdef([A][M_PROG_GCJ],
+- [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+- ifdef([LT_AC_PROG_GCJ],
+- [define([LT_AC_PROG_GCJ],
+- defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
+-])])# AC_PROG_LIBTOOL
+-
+-
+-# _AC_PROG_LIBTOOL
+-# ----------------
+-AC_DEFUN([_AC_PROG_LIBTOOL],
+-[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
+-AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
+-AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
+-AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
+-
+-# This can be used to rebuild libtool when needed
+-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+-
+-# Always use our own libtool.
+-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+-AC_SUBST(LIBTOOL)dnl
+-
+-# Prevent multiple expansion
+-define([AC_PROG_LIBTOOL], [])
+-])# _AC_PROG_LIBTOOL
+-
+-
+-# AC_LIBTOOL_SETUP
+-# ----------------
+-AC_DEFUN([AC_LIBTOOL_SETUP],
+-[AC_PREREQ(2.50)dnl
+-AC_REQUIRE([AC_ENABLE_SHARED])dnl
+-AC_REQUIRE([AC_ENABLE_STATIC])dnl
+-AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
+-AC_REQUIRE([AC_CANONICAL_HOST])dnl
+-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+-AC_REQUIRE([AC_PROG_CC])dnl
+-AC_REQUIRE([AC_PROG_LD])dnl
+-AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
+-AC_REQUIRE([AC_PROG_NM])dnl
+-
+-AC_REQUIRE([AC_PROG_LN_S])dnl
+-AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
+-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+-AC_REQUIRE([AC_OBJEXT])dnl
+-AC_REQUIRE([AC_EXEEXT])dnl
+-dnl
+-
+-AC_LIBTOOL_SYS_MAX_CMD_LEN
+-AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+-AC_LIBTOOL_OBJDIR
+-
+-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+-_LT_AC_PROG_ECHO_BACKSLASH
+-
+-case $host_os in
+-aix3*)
+- # AIX sometimes has problems with the GCC collect2 program. For some
+- # reason, if we set the COLLECT_NAMES environment variable, the problems
+- # vanish in a puff of smoke.
+- if test "X${COLLECT_NAMES+set}" != Xset; then
+- COLLECT_NAMES=
+- export COLLECT_NAMES
+- fi
+- ;;
+-esac
+-
+-# Sed substitution that helps us do robust quoting. It backslashifies
+-# metacharacters that are still active within double-quoted strings.
+-Xsed='sed -e 1s/^X//'
+-[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
+-
+-# Same as above, but do not quote variable references.
+-[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
+-
+-# Sed substitution to delay expansion of an escaped shell variable in a
+-# double_quote_subst'ed string.
+-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+-
+-# Sed substitution to avoid accidental globbing in evaled expressions
+-no_glob_subst='s/\*/\\\*/g'
+-
+-# Constants:
+-rm="rm -f"
+-
+-# Global variables:
+-default_ofile=libtool
+-can_build_shared=yes
+-
+-# All known linkers require a `.a' archive for static linking (except MSVC,
+-# which needs '.lib').
+-libext=a
+-ltmain="$ac_aux_dir/ltmain.sh"
+-ofile="$default_ofile"
+-with_gnu_ld="$lt_cv_prog_gnu_ld"
+-
+-AC_CHECK_TOOL(AR, ar, false)
+-AC_CHECK_TOOL(RANLIB, ranlib, :)
+-AC_CHECK_TOOL(STRIP, strip, :)
+-
+-old_CC="$CC"
+-old_CFLAGS="$CFLAGS"
+-
+-# Set sane defaults for various variables
+-test -z "$AR" && AR=ar
+-test -z "$AR_FLAGS" && AR_FLAGS=cru
+-test -z "$AS" && AS=as
+-test -z "$CC" && CC=cc
+-test -z "$LTCC" && LTCC=$CC
+-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+-test -z "$DLLTOOL" && DLLTOOL=dlltool
+-test -z "$LD" && LD=ld
+-test -z "$LN_S" && LN_S="ln -s"
+-test -z "$MAGIC_CMD" && MAGIC_CMD=file
+-test -z "$NM" && NM=nm
+-test -z "$SED" && SED=sed
+-test -z "$OBJDUMP" && OBJDUMP=objdump
+-test -z "$RANLIB" && RANLIB=:
+-test -z "$STRIP" && STRIP=:
+-test -z "$ac_objext" && ac_objext=o
+-
+-# Determine commands to create old-style static archives.
+-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+-old_postinstall_cmds='chmod 644 $oldlib'
+-old_postuninstall_cmds=
+-
+-if test -n "$RANLIB"; then
+- case $host_os in
+- openbsd*)
+- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+- ;;
+- *)
+- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+- ;;
+- esac
+- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+-fi
+-
+-_LT_CC_BASENAME([$compiler])
+-
+-# Only perform the check for file, if the check method requires it
+-case $deplibs_check_method in
+-file_magic*)
+- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+- AC_PATH_MAGIC
+- fi
+- ;;
+-esac
+-
+-AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
+-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+-enable_win32_dll=yes, enable_win32_dll=no)
+-
+-AC_ARG_ENABLE([libtool-lock],
+- [AC_HELP_STRING([--disable-libtool-lock],
+- [avoid locking (might break parallel builds)])])
+-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+-
+-AC_ARG_WITH([pic],
+- [AC_HELP_STRING([--with-pic],
+- [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+- [pic_mode="$withval"],
+- [pic_mode=default])
+-test -z "$pic_mode" && pic_mode=default
+-
+-# Use C for the default configuration in the libtool script
+-tagname=
+-AC_LIBTOOL_LANG_C_CONFIG
+-_LT_AC_TAGCONFIG
+-])# AC_LIBTOOL_SETUP
+-
+-
+-# _LT_AC_SYS_COMPILER
+-# -------------------
+-AC_DEFUN([_LT_AC_SYS_COMPILER],
+-[AC_REQUIRE([AC_PROG_CC])dnl
+-
+-# If no C compiler was specified, use CC.
+-LTCC=${LTCC-"$CC"}
+-
+-# If no C compiler flags were specified, use CFLAGS.
+-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+-
+-# Allow CC to be a program name with arguments.
+-compiler=$CC
+-])# _LT_AC_SYS_COMPILER
+-
+-
+-# _LT_CC_BASENAME(CC)
+-# -------------------
+-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+-AC_DEFUN([_LT_CC_BASENAME],
+-[for cc_temp in $1""; do
+- case $cc_temp in
+- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+- \-*) ;;
+- *) break;;
+- esac
+-done
+-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+-])
+-
+-
+-# _LT_COMPILER_BOILERPLATE
+-# ------------------------
+-# Check for compiler boilerplate output or warnings with
+-# the simple compiler test code.
+-AC_DEFUN([_LT_COMPILER_BOILERPLATE],
+-[ac_outfile=conftest.$ac_objext
+-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+-_lt_compiler_boilerplate=`cat conftest.err`
+-$rm conftest*
+-])# _LT_COMPILER_BOILERPLATE
+-
+-
+-# _LT_LINKER_BOILERPLATE
+-# ----------------------
+-# Check for linker boilerplate output or warnings with
+-# the simple link test code.
+-AC_DEFUN([_LT_LINKER_BOILERPLATE],
+-[ac_outfile=conftest.$ac_objext
+-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+-_lt_linker_boilerplate=`cat conftest.err`
+-$rm conftest*
+-])# _LT_LINKER_BOILERPLATE
+-
+-
+-# _LT_AC_SYS_LIBPATH_AIX
+-# ----------------------
+-# Links a minimal program and checks the executable
+-# for the system default hardcoded library path. In most cases,
+-# this is /usr/lib:/lib, but when the MPI compilers are used
+-# the location of the communication and MPI libs are included too.
+-# If we don't find anything, use the default library path according
+-# to the aix ld manual.
+-AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
+-[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+-}'`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+-}'`; fi],[])
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+-])# _LT_AC_SYS_LIBPATH_AIX
+-
+-
+-# _LT_AC_SHELL_INIT(ARG)
+-# ----------------------
+-AC_DEFUN([_LT_AC_SHELL_INIT],
+-[ifdef([AC_DIVERSION_NOTICE],
+- [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+- [AC_DIVERT_PUSH(NOTICE)])
+-$1
+-AC_DIVERT_POP
+-])# _LT_AC_SHELL_INIT
+-
+-
+-# _LT_AC_PROG_ECHO_BACKSLASH
+-# --------------------------
+-# Add some code to the start of the generated configure script which
+-# will find an echo command which doesn't interpret backslashes.
+-AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
+-[_LT_AC_SHELL_INIT([
+-# Check that we are running under the correct shell.
+-SHELL=${CONFIG_SHELL-/bin/sh}
+-
+-case X$ECHO in
+-X*--fallback-echo)
+- # Remove one level of quotation (which was required for Make).
+- ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+- ;;
+-esac
+-
+-echo=${ECHO-echo}
+-if test "X[$]1" = X--no-reexec; then
+- # Discard the --no-reexec flag, and continue.
+- shift
+-elif test "X[$]1" = X--fallback-echo; then
+- # Avoid inline document here, it may be left over
+- :
+-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
+- # Yippee, $echo works!
+- :
+-else
+- # Restart under the correct shell.
+- exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+-fi
+-
+-if test "X[$]1" = X--fallback-echo; then
+- # used as fallback echo
+- shift
+- cat <<EOF
+-[$]*
+-EOF
+- exit 0
+-fi
+-
+-# The HP-UX ksh and POSIX shell print the target directory to stdout
+-# if CDPATH is set.
+-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+-
+-if test -z "$ECHO"; then
+-if test "X${echo_test_string+set}" != Xset; then
+-# find a string as large as possible, as long as the shell can cope with it
+- for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+- if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+- echo_test_string=`eval $cmd` &&
+- (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
+- then
+- break
+- fi
+- done
+-fi
+-
+-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+- test "X$echo_testing_string" = "X$echo_test_string"; then
+- :
+-else
+- # The Solaris, AIX, and Digital Unix default echo programs unquote
+- # backslashes. This makes it impossible to quote backslashes using
+- # echo "$something" | sed 's/\\/\\\\/g'
+- #
+- # So, first we look for a working echo in the user's PATH.
+-
+- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+- for dir in $PATH /usr/ucb; do
+- IFS="$lt_save_ifs"
+- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+- test "X$echo_testing_string" = "X$echo_test_string"; then
+- echo="$dir/echo"
+- break
+- fi
+- done
+- IFS="$lt_save_ifs"
+-
+- if test "X$echo" = Xecho; then
+- # We didn't find a better echo, so look for alternatives.
+- if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+- echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+- test "X$echo_testing_string" = "X$echo_test_string"; then
+- # This shell has a builtin print -r that does the trick.
+- echo='print -r'
+- elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+- test "X$CONFIG_SHELL" != X/bin/ksh; then
+- # If we have ksh, try running configure again with it.
+- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+- export ORIGINAL_CONFIG_SHELL
+- CONFIG_SHELL=/bin/ksh
+- export CONFIG_SHELL
+- exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+- else
+- # Try using printf.
+- echo='printf %s\n'
+- if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+- test "X$echo_testing_string" = "X$echo_test_string"; then
+- # Cool, printf works
+- :
+- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+- test "X$echo_testing_string" = 'X\t' &&
+- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+- test "X$echo_testing_string" = "X$echo_test_string"; then
+- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+- export CONFIG_SHELL
+- SHELL="$CONFIG_SHELL"
+- export SHELL
+- echo="$CONFIG_SHELL [$]0 --fallback-echo"
+- elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+- test "X$echo_testing_string" = 'X\t' &&
+- echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+- test "X$echo_testing_string" = "X$echo_test_string"; then
+- echo="$CONFIG_SHELL [$]0 --fallback-echo"
+- else
+- # maybe with a smaller string...
+- prev=:
+-
+- for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+- if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
+- then
+- break
+- fi
+- prev="$cmd"
+- done
+-
+- if test "$prev" != 'sed 50q "[$]0"'; then
+- echo_test_string=`eval $prev`
+- export echo_test_string
+- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+- else
+- # Oops. We lost completely, so just stick with echo.
+- echo=echo
+- fi
+- fi
+- fi
+- fi
+-fi
+-fi
+-
+-# Copy echo and quote the copy suitably for passing to libtool from
+-# the Makefile, instead of quoting the original, which is used later.
+-ECHO=$echo
+-if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+- ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+-fi
+-
+-AC_SUBST(ECHO)
+-])])# _LT_AC_PROG_ECHO_BACKSLASH
+-
+-
+-# _LT_AC_LOCK
+-# -----------
+-AC_DEFUN([_LT_AC_LOCK],
+-[AC_ARG_ENABLE([libtool-lock],
+- [AC_HELP_STRING([--disable-libtool-lock],
+- [avoid locking (might break parallel builds)])])
+-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+-
+-# Some flags need to be propagated to the compiler or linker for good
+-# libtool support.
+-case $host in
+-ia64-*-hpux*)
+- # Find out which ABI we are using.
+- echo 'int i;' > conftest.$ac_ext
+- if AC_TRY_EVAL(ac_compile); then
+- case `/usr/bin/file conftest.$ac_objext` in
+- *ELF-32*)
+- HPUX_IA64_MODE="32"
+- ;;
+- *ELF-64*)
+- HPUX_IA64_MODE="64"
+- ;;
+- esac
+- fi
+- rm -rf conftest*
+- ;;
+-*-*-irix6*)
+- # Find out which ABI we are using.
+- echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+- if AC_TRY_EVAL(ac_compile); then
+- if test "$lt_cv_prog_gnu_ld" = yes; then
+- case `/usr/bin/file conftest.$ac_objext` in
+- *32-bit*)
+- LD="${LD-ld} -melf32bsmip"
+- ;;
+- *N32*)
+- LD="${LD-ld} -melf32bmipn32"
+- ;;
+- *64-bit*)
+- LD="${LD-ld} -melf64bmip"
+- ;;
+- esac
+- else
+- case `/usr/bin/file conftest.$ac_objext` in
+- *32-bit*)
+- LD="${LD-ld} -32"
+- ;;
+- *N32*)
+- LD="${LD-ld} -n32"
+- ;;
+- *64-bit*)
+- LD="${LD-ld} -64"
+- ;;
+- esac
+- fi
+- fi
+- rm -rf conftest*
+- ;;
+-
+-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+- # Find out which ABI we are using.
+- echo 'int i;' > conftest.$ac_ext
+- if AC_TRY_EVAL(ac_compile); then
+- case `/usr/bin/file conftest.o` in
+- *32-bit*)
+- case $host in
+- x86_64-*linux*)
+- LD="${LD-ld} -m elf_i386"
+- ;;
+- ppc64-*linux*|powerpc64-*linux*)
+- LD="${LD-ld} -m elf32ppclinux"
+- ;;
+- s390x-*linux*)
+- LD="${LD-ld} -m elf_s390"
+- ;;
+- sparc64-*linux*)
+- LD="${LD-ld} -m elf32_sparc"
+- ;;
+- esac
+- ;;
+- *64-bit*)
+- case $host in
+- x86_64-*linux*)
+- LD="${LD-ld} -m elf_x86_64"
+- ;;
+- ppc*-*linux*|powerpc*-*linux*)
+- LD="${LD-ld} -m elf64ppc"
+- ;;
+- s390*-*linux*)
+- LD="${LD-ld} -m elf64_s390"
+- ;;
+- sparc*-*linux*)
+- LD="${LD-ld} -m elf64_sparc"
+- ;;
+- esac
+- ;;
+- esac
+- fi
+- rm -rf conftest*
+- ;;
+-
+-*-*-sco3.2v5*)
+- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+- SAVE_CFLAGS="$CFLAGS"
+- CFLAGS="$CFLAGS -belf"
+- AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+- [AC_LANG_PUSH(C)
+- AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+- AC_LANG_POP])
+- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+- CFLAGS="$SAVE_CFLAGS"
+- fi
+- ;;
+-sparc*-*solaris*)
+- # Find out which ABI we are using.
+- echo 'int i;' > conftest.$ac_ext
+- if AC_TRY_EVAL(ac_compile); then
+- case `/usr/bin/file conftest.o` in
+- *64-bit*)
+- case $lt_cv_prog_gnu_ld in
+- yes*) LD="${LD-ld} -m elf64_sparc" ;;
+- *) LD="${LD-ld} -64" ;;
+- esac
+- ;;
+- esac
+- fi
+- rm -rf conftest*
+- ;;
+-
+-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+-[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+- AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+- AC_CHECK_TOOL(AS, as, false)
+- AC_CHECK_TOOL(OBJDUMP, objdump, false)
+- ;;
+- ])
+-esac
+-
+-need_locks="$enable_libtool_lock"
+-
+-])# _LT_AC_LOCK
+-
+-
+-# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+-# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+-# ----------------------------------------------------------------
+-# Check whether the given compiler option works
+-AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
+-[AC_REQUIRE([LT_AC_PROG_SED])
+-AC_CACHE_CHECK([$1], [$2],
+- [$2=no
+- ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+- lt_compiler_flag="$3"
+- # Insert the option either (1) after the last *FLAGS variable, or
+- # (2) before a word containing "conftest.", or (3) at the end.
+- # Note that $ac_compile itself does not contain backslashes and begins
+- # with a dollar sign (not a hyphen), so the echo should work correctly.
+- # The option is referenced via a variable to avoid confusing sed.
+- lt_compile=`echo "$ac_compile" | $SED \
+- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+- -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+- (eval "$lt_compile" 2>conftest.err)
+- ac_status=$?
+- cat conftest.err >&AS_MESSAGE_LOG_FD
+- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+- if (exit $ac_status) && test -s "$ac_outfile"; then
+- # The compiler can only warn and ignore the option if not recognized
+- # So say no if there are warnings other than the usual output.
+- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+- $2=yes
+- fi
+- fi
+- $rm conftest*
+-])
+-
+-if test x"[$]$2" = xyes; then
+- ifelse([$5], , :, [$5])
+-else
+- ifelse([$6], , :, [$6])
+-fi
+-])# AC_LIBTOOL_COMPILER_OPTION
+-
+-
+-# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+-# [ACTION-SUCCESS], [ACTION-FAILURE])
+-# ------------------------------------------------------------
+-# Check whether the given compiler option works
+-AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
+-[AC_CACHE_CHECK([$1], [$2],
+- [$2=no
+- save_LDFLAGS="$LDFLAGS"
+- LDFLAGS="$LDFLAGS $3"
+- printf "$lt_simple_link_test_code" > conftest.$ac_ext
+- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+- # The linker can only warn and ignore the option if not recognized
+- # So say no if there are warnings
+- if test -s conftest.err; then
+- # Append any errors to the config.log.
+- cat conftest.err 1>&AS_MESSAGE_LOG_FD
+- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+- if diff conftest.exp conftest.er2 >/dev/null; then
+- $2=yes
+- fi
+- else
+- $2=yes
+- fi
+- fi
+- $rm conftest*
+- LDFLAGS="$save_LDFLAGS"
+-])
+-
+-if test x"[$]$2" = xyes; then
+- ifelse([$4], , :, [$4])
+-else
+- ifelse([$5], , :, [$5])
+-fi
+-])# AC_LIBTOOL_LINKER_OPTION
+-
+-
+-# AC_LIBTOOL_SYS_MAX_CMD_LEN
+-# --------------------------
+-AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
+-[# find the maximum length of command line arguments
+-AC_MSG_CHECKING([the maximum length of command line arguments])
+-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+- i=0
+- teststring="ABCD"
+-
+- case $build_os in
+- msdosdjgpp*)
+- # On DJGPP, this test can blow up pretty badly due to problems in libc
+- # (any single argument exceeding 2000 bytes causes a buffer overrun
+- # during glob expansion). Even if it were fixed, the result of this
+- # check would be larger than it should be.
+- lt_cv_sys_max_cmd_len=12288; # 12K is about right
+- ;;
+-
+- gnu*)
+- # Under GNU Hurd, this test is not required because there is
+- # no limit to the length of command line arguments.
+- # Libtool will interpret -1 as no limit whatsoever
+- lt_cv_sys_max_cmd_len=-1;
+- ;;
+-
+- cygwin* | mingw*)
+- # On Win9x/ME, this test blows up -- it succeeds, but takes
+- # about 5 minutes as the teststring grows exponentially.
+- # Worse, since 9x/ME are not pre-emptively multitasking,
+- # you end up with a "frozen" computer, even though with patience
+- # the test eventually succeeds (with a max line length of 256k).
+- # Instead, let's just punt: use the minimum linelength reported by
+- # all of the supported platforms: 8192 (on NT/2K/XP).
+- lt_cv_sys_max_cmd_len=8192;
+- ;;
+-
+- amigaos*)
+- # On AmigaOS with pdksh, this test takes hours, literally.
+- # So we just punt and use a minimum line length of 8192.
+- lt_cv_sys_max_cmd_len=8192;
+- ;;
+-
+- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+- # This has been around since 386BSD, at least. Likely further.
+- if test -x /sbin/sysctl; then
+- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+- elif test -x /usr/sbin/sysctl; then
+- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+- else
+- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+- fi
+- # And add a safety zone
+- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+- ;;
+-
+- interix*)
+- # We know the value 262144 and hardcode it with a safety zone (like BSD)
+- lt_cv_sys_max_cmd_len=196608
+- ;;
+-
+- osf*)
+- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+- # nice to cause kernel panics so lets avoid the loop below.
+- # First set a reasonable default.
+- lt_cv_sys_max_cmd_len=16384
+- #
+- if test -x /sbin/sysconfig; then
+- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+- *1*) lt_cv_sys_max_cmd_len=-1 ;;
+- esac
+- fi
+- ;;
+- sco3.2v5*)
+- lt_cv_sys_max_cmd_len=102400
+- ;;
+- sysv5* | sco5v6* | sysv4.2uw2*)
+- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+- if test -n "$kargmax"; then
+- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
+- else
+- lt_cv_sys_max_cmd_len=32768
+- fi
+- ;;
+- *)
+- # If test is not a shell built-in, we'll probably end up computing a
+- # maximum length that is only half of the actual maximum length, but
+- # we can't tell.
+- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+- while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
+- = "XX$teststring") >/dev/null 2>&1 &&
+- new_result=`expr "X$teststring" : ".*" 2>&1` &&
+- lt_cv_sys_max_cmd_len=$new_result &&
+- test $i != 17 # 1/2 MB should be enough
+- do
+- i=`expr $i + 1`
+- teststring=$teststring$teststring
+- done
+- teststring=
+- # Add a significant safety factor because C++ compilers can tack on massive
+- # amounts of additional arguments before passing them to the linker.
+- # It appears as though 1/2 is a usable value.
+- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+- ;;
+- esac
+-])
+-if test -n $lt_cv_sys_max_cmd_len ; then
+- AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+-else
+- AC_MSG_RESULT(none)
+-fi
+-])# AC_LIBTOOL_SYS_MAX_CMD_LEN
+-
+-
+-# _LT_AC_CHECK_DLFCN
+-# ------------------
+-AC_DEFUN([_LT_AC_CHECK_DLFCN],
+-[AC_CHECK_HEADERS(dlfcn.h)dnl
+-])# _LT_AC_CHECK_DLFCN
+-
+-
+-# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+-# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+-# ---------------------------------------------------------------------
+-AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
+-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+-if test "$cross_compiling" = yes; then :
+- [$4]
+-else
+- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+- lt_status=$lt_dlunknown
+- cat > conftest.$ac_ext <<EOF
+-[#line __oline__ "configure"
+-#include "confdefs.h"
+-
+-#if HAVE_DLFCN_H
+-#include <dlfcn.h>
+-#endif
+-
+-#include <stdio.h>
+-
+-#ifdef RTLD_GLOBAL
+-# define LT_DLGLOBAL RTLD_GLOBAL
+-#else
+-# ifdef DL_GLOBAL
+-# define LT_DLGLOBAL DL_GLOBAL
+-# else
+-# define LT_DLGLOBAL 0
+-# endif
+-#endif
+-
+-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+- find out it does not work in some platform. */
+-#ifndef LT_DLLAZY_OR_NOW
+-# ifdef RTLD_LAZY
+-# define LT_DLLAZY_OR_NOW RTLD_LAZY
+-# else
+-# ifdef DL_LAZY
+-# define LT_DLLAZY_OR_NOW DL_LAZY
+-# else
+-# ifdef RTLD_NOW
+-# define LT_DLLAZY_OR_NOW RTLD_NOW
+-# else
+-# ifdef DL_NOW
+-# define LT_DLLAZY_OR_NOW DL_NOW
+-# else
+-# define LT_DLLAZY_OR_NOW 0
+-# endif
+-# endif
+-# endif
+-# endif
+-#endif
+-
+-#ifdef __cplusplus
+-extern "C" void exit (int);
+-#endif
+-
+-void fnord() { int i=42;}
+-int main ()
+-{
+- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+- int status = $lt_dlunknown;
+-
+- if (self)
+- {
+- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+- /* dlclose (self); */
+- }
+- else
+- puts (dlerror ());
+-
+- exit (status);
+-}]
+-EOF
+- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+- (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+- lt_status=$?
+- case x$lt_status in
+- x$lt_dlno_uscore) $1 ;;
+- x$lt_dlneed_uscore) $2 ;;
+- x$lt_dlunknown|x*) $3 ;;
+- esac
+- else :
+- # compilation failed
+- $3
+- fi
+-fi
+-rm -fr conftest*
+-])# _LT_AC_TRY_DLOPEN_SELF
+-
+-
+-# AC_LIBTOOL_DLOPEN_SELF
+-# ----------------------
+-AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
+-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+-if test "x$enable_dlopen" != xyes; then
+- enable_dlopen=unknown
+- enable_dlopen_self=unknown
+- enable_dlopen_self_static=unknown
+-else
+- lt_cv_dlopen=no
+- lt_cv_dlopen_libs=
+-
+- case $host_os in
+- beos*)
+- lt_cv_dlopen="load_add_on"
+- lt_cv_dlopen_libs=
+- lt_cv_dlopen_self=yes
+- ;;
+-
+- mingw* | pw32*)
+- lt_cv_dlopen="LoadLibrary"
+- lt_cv_dlopen_libs=
+- ;;
+-
+- cygwin*)
+- lt_cv_dlopen="dlopen"
+- lt_cv_dlopen_libs=
+- ;;
+-
+- darwin*)
+- # if libdl is installed we need to link against it
+- AC_CHECK_LIB([dl], [dlopen],
+- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+- lt_cv_dlopen="dyld"
+- lt_cv_dlopen_libs=
+- lt_cv_dlopen_self=yes
+- ])
+- ;;
+-
+- *)
+- AC_CHECK_FUNC([shl_load],
+- [lt_cv_dlopen="shl_load"],
+- [AC_CHECK_LIB([dld], [shl_load],
+- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
+- [AC_CHECK_FUNC([dlopen],
+- [lt_cv_dlopen="dlopen"],
+- [AC_CHECK_LIB([dl], [dlopen],
+- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+- [AC_CHECK_LIB([svld], [dlopen],
+- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+- [AC_CHECK_LIB([dld], [dld_link],
+- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
+- ])
+- ])
+- ])
+- ])
+- ])
+- ;;
+- esac
+-
+- if test "x$lt_cv_dlopen" != xno; then
+- enable_dlopen=yes
+- else
+- enable_dlopen=no
+- fi
+-
+- case $lt_cv_dlopen in
+- dlopen)
+- save_CPPFLAGS="$CPPFLAGS"
+- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+-
+- save_LDFLAGS="$LDFLAGS"
+- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+-
+- save_LIBS="$LIBS"
+- LIBS="$lt_cv_dlopen_libs $LIBS"
+-
+- AC_CACHE_CHECK([whether a program can dlopen itself],
+- lt_cv_dlopen_self, [dnl
+- _LT_AC_TRY_DLOPEN_SELF(
+- lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+- lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+- ])
+-
+- if test "x$lt_cv_dlopen_self" = xyes; then
+- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+- AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+- lt_cv_dlopen_self_static, [dnl
+- _LT_AC_TRY_DLOPEN_SELF(
+- lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+- lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
+- ])
+- fi
+-
+- CPPFLAGS="$save_CPPFLAGS"
+- LDFLAGS="$save_LDFLAGS"
+- LIBS="$save_LIBS"
+- ;;
+- esac
+-
+- case $lt_cv_dlopen_self in
+- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+- *) enable_dlopen_self=unknown ;;
+- esac
+-
+- case $lt_cv_dlopen_self_static in
+- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+- *) enable_dlopen_self_static=unknown ;;
+- esac
+-fi
+-])# AC_LIBTOOL_DLOPEN_SELF
+-
+-
+-# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
+-# ---------------------------------
+-# Check to see if options -c and -o are simultaneously supported by compiler
+-AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
+-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+- [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+- [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+- $rm -r conftest 2>/dev/null
+- mkdir conftest
+- cd conftest
+- mkdir out
+- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+-
+- lt_compiler_flag="-o out/conftest2.$ac_objext"
+- # Insert the option either (1) after the last *FLAGS variable, or
+- # (2) before a word containing "conftest.", or (3) at the end.
+- # Note that $ac_compile itself does not contain backslashes and begins
+- # with a dollar sign (not a hyphen), so the echo should work correctly.
+- lt_compile=`echo "$ac_compile" | $SED \
+- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+- -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+- (eval "$lt_compile" 2>out/conftest.err)
+- ac_status=$?
+- cat out/conftest.err >&AS_MESSAGE_LOG_FD
+- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+- if (exit $ac_status) && test -s out/conftest2.$ac_objext
+- then
+- # The compiler can only warn and ignore the option if not recognized
+- # So say no if there are warnings
+- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+- _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+- fi
+- fi
+- chmod u+w . 2>&AS_MESSAGE_LOG_FD
+- $rm conftest*
+- # SGI C++ compiler will create directory out/ii_files/ for
+- # template instantiation
+- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+- $rm out/* && rmdir out
+- cd ..
+- rmdir conftest
+- $rm conftest*
+-])
+-])# AC_LIBTOOL_PROG_CC_C_O
+-
+-
+-# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
+-# -----------------------------------------
+-# Check to see if we can do hard links to lock some files if needed
+-AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
+-[AC_REQUIRE([_LT_AC_LOCK])dnl
+-
+-hard_links="nottested"
+-if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+- # do not overwrite the value of need_locks provided by the user
+- AC_MSG_CHECKING([if we can lock with hard links])
+- hard_links=yes
+- $rm conftest*
+- ln conftest.a conftest.b 2>/dev/null && hard_links=no
+- touch conftest.a
+- ln conftest.a conftest.b 2>&5 || hard_links=no
+- ln conftest.a conftest.b 2>/dev/null && hard_links=no
+- AC_MSG_RESULT([$hard_links])
+- if test "$hard_links" = no; then
+- AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+- need_locks=warn
+- fi
+-else
+- need_locks=no
+-fi
+-])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
+-
+-
+-# AC_LIBTOOL_OBJDIR
+-# -----------------
+-AC_DEFUN([AC_LIBTOOL_OBJDIR],
+-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+-[rm -f .libs 2>/dev/null
+-mkdir .libs 2>/dev/null
+-if test -d .libs; then
+- lt_cv_objdir=.libs
+-else
+- # MS-DOS does not allow filenames that begin with a dot.
+- lt_cv_objdir=_libs
+-fi
+-rmdir .libs 2>/dev/null])
+-objdir=$lt_cv_objdir
+-])# AC_LIBTOOL_OBJDIR
+-
+-
+-# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
+-# ----------------------------------------------
+-# Check hardcoding attributes.
+-AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
+-[AC_MSG_CHECKING([how to hardcode library paths into programs])
+-_LT_AC_TAGVAR(hardcode_action, $1)=
+-if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
+- test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
+- test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+-
+- # We can hardcode non-existant directories.
+- if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
+- # If the only mechanism to avoid hardcoding is shlibpath_var, we
+- # have to relink, otherwise we might link with an installed library
+- # when we should be linking with a yet-to-be-installed one
+- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+- test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
+- # Linking always hardcodes the temporary library directory.
+- _LT_AC_TAGVAR(hardcode_action, $1)=relink
+- else
+- # We can link without hardcoding, and we can hardcode nonexisting dirs.
+- _LT_AC_TAGVAR(hardcode_action, $1)=immediate
+- fi
+-else
+- # We cannot hardcode anything, or else we can only hardcode existing
+- # directories.
+- _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
+-fi
+-AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
+-
+-if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
+- # Fast installation is not supported
+- enable_fast_install=no
+-elif test "$shlibpath_overrides_runpath" = yes ||
+- test "$enable_shared" = no; then
+- # Fast installation is not necessary
+- enable_fast_install=needless
+-fi
+-])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
+-
+-
+-# AC_LIBTOOL_SYS_LIB_STRIP
+-# ------------------------
+-AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
+-[striplib=
+-old_striplib=
+-AC_MSG_CHECKING([whether stripping libraries is possible])
+-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+- AC_MSG_RESULT([yes])
+-else
+-# FIXME - insert some real tests, host_os isn't really good enough
+- case $host_os in
+- darwin*)
+- if test -n "$STRIP" ; then
+- striplib="$STRIP -x"
+- AC_MSG_RESULT([yes])
+- else
+- AC_MSG_RESULT([no])
+-fi
+- ;;
+- *)
+- AC_MSG_RESULT([no])
+- ;;
+- esac
+-fi
+-])# AC_LIBTOOL_SYS_LIB_STRIP
+-
+-
+-# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+-# -----------------------------
+-# PORTME Fill in your ld.so characteristics
+-AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
+-[AC_MSG_CHECKING([dynamic linker characteristics])
+-library_names_spec=
+-libname_spec='lib$name'
+-soname_spec=
+-shrext_cmds=".so"
+-postinstall_cmds=
+-postuninstall_cmds=
+-finish_cmds=
+-finish_eval=
+-shlibpath_var=
+-shlibpath_overrides_runpath=unknown
+-version_type=none
+-dynamic_linker="$host_os ld.so"
+-sys_lib_dlsearch_path_spec="/lib /usr/lib"
+-if test "$GCC" = yes; then
+- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+- # if the path contains ";" then we assume it to be the separator
+- # otherwise default to the standard path separator (i.e. ":") - it is
+- # assumed that no part of a normal pathname contains ";" but that should
+- # okay in the real world where ";" in dirpaths is itself problematic.
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+- else
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+- fi
+-else
+- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+-fi
+-need_lib_prefix=unknown
+-hardcode_into_libs=no
+-
+-# when you set need_version to no, make sure it does not cause -set_version
+-# flags to be left without arguments
+-need_version=unknown
+-
+-case $host_os in
+-aix3*)
+- version_type=linux
+- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+- shlibpath_var=LIBPATH
+-
+- # AIX 3 has no versioning support, so we append a major version to the name.
+- soname_spec='${libname}${release}${shared_ext}$major'
+- ;;
+-
+-aix4* | aix5*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- hardcode_into_libs=yes
+- if test "$host_cpu" = ia64; then
+- # AIX 5 supports IA64
+- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+- shlibpath_var=LD_LIBRARY_PATH
+- else
+- # With GCC up to 2.95.x, collect2 would create an import file
+- # for dependence libraries. The import file would start with
+- # the line `#! .'. This would cause the generated library to
+- # depend on `.', always an invalid library. This was fixed in
+- # development snapshots of GCC prior to 3.0.
+- case $host_os in
+- aix4 | aix4.[[01]] | aix4.[[01]].*)
+- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+- echo ' yes '
+- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+- :
+- else
+- can_build_shared=no
+- fi
+- ;;
+- esac
+- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+- # soname into executable. Probably we can add versioning support to
+- # collect2, so additional links can be useful in future.
+- if test "$aix_use_runtimelinking" = yes; then
+- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+- # instead of lib<name>.a to let people know that these are not
+- # typical AIX shared libraries.
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- else
+- # We preserve .a as extension for shared libraries through AIX4.2
+- # and later when we are not doing run time linking.
+- library_names_spec='${libname}${release}.a $libname.a'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- fi
+- shlibpath_var=LIBPATH
+- fi
+- ;;
+-
+-amigaos*)
+- library_names_spec='$libname.ixlibrary $libname.a'
+- # Create ${libname}_ixlibrary.a entries in /sys/libs.
+- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+- ;;
+-
+-beos*)
+- library_names_spec='${libname}${shared_ext}'
+- dynamic_linker="$host_os ld.so"
+- shlibpath_var=LIBRARY_PATH
+- ;;
+-
+-bsdi[[45]]*)
+- version_type=linux
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+- shlibpath_var=LD_LIBRARY_PATH
+- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+- # the default ld.so.conf also contains /usr/contrib/lib and
+- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+- # libtool to hard-code these into programs
+- ;;
+-
+-cygwin* | mingw* | pw32*)
+- version_type=windows
+- shrext_cmds=".dll"
+- need_version=no
+- need_lib_prefix=no
+-
+- case $GCC,$host_os in
+- yes,cygwin* | yes,mingw* | yes,pw32*)
+- library_names_spec='$libname.dll.a'
+- # DLL is installed to $(libdir)/../bin by postinstall_cmds
+- postinstall_cmds='base_file=`basename \${file}`~
+- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+- dldir=$destdir/`dirname \$dlpath`~
+- test -d \$dldir || mkdir -p \$dldir~
+- $install_prog $dir/$dlname \$dldir/$dlname~
+- chmod a+x \$dldir/$dlname'
+- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+- dlpath=$dir/\$dldll~
+- $rm \$dlpath'
+- shlibpath_overrides_runpath=yes
+-
+- case $host_os in
+- cygwin*)
+- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+- ;;
+- mingw*)
+- # MinGW DLLs use traditional 'lib' prefix
+- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+- if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
+- # It is most probably a Windows format PATH printed by
+- # mingw gcc, but we are running on Cygwin. Gcc prints its search
+- # path with ; separators, and with drive letters. We can handle the
+- # drive letters (cygwin fileutils understands them), so leave them,
+- # especially as we might pass files found there to a mingw objdump,
+- # which wouldn't understand a cygwinified path. Ahh.
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+- else
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+- fi
+- ;;
+- pw32*)
+- # pw32 DLLs use 'pw' prefix rather than 'lib'
+- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+- ;;
+- esac
+- ;;
+-
+- *)
+- library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+- ;;
+- esac
+- dynamic_linker='Win32 ld.exe'
+- # FIXME: first we should search . and the directory the executable is in
+- shlibpath_var=PATH
+- ;;
+-
+-darwin* | rhapsody*)
+- dynamic_linker="$host_os dyld"
+- version_type=darwin
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+- soname_spec='${libname}${release}${major}$shared_ext'
+- shlibpath_overrides_runpath=yes
+- shlibpath_var=DYLD_LIBRARY_PATH
+- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+- if test "$GCC" = yes; then
+- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+- else
+- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+- fi
+- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+- ;;
+-
+-dgux*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- ;;
+-
+-freebsd1*)
+- dynamic_linker=no
+- ;;
+-
+-kfreebsd*-gnu)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=no
+- hardcode_into_libs=yes
+- dynamic_linker='GNU ld.so'
+- ;;
+-
+-freebsd* | dragonfly*)
+- # DragonFly does not have aout. When/if they implement a new
+- # versioning mechanism, adjust this.
+- if test -x /usr/bin/objformat; then
+- objformat=`/usr/bin/objformat`
+- else
+- case $host_os in
+- freebsd[[123]]*) objformat=aout ;;
+- *) objformat=elf ;;
+- esac
+- fi
+- version_type=freebsd-$objformat
+- case $version_type in
+- freebsd-elf*)
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+- need_version=no
+- need_lib_prefix=no
+- ;;
+- freebsd-*)
+- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+- need_version=yes
+- ;;
+- esac
+- shlibpath_var=LD_LIBRARY_PATH
+- case $host_os in
+- freebsd2*)
+- shlibpath_overrides_runpath=yes
+- ;;
+- freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+- shlibpath_overrides_runpath=yes
+- hardcode_into_libs=yes
+- ;;
+- freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+- freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+- shlibpath_overrides_runpath=no
+- hardcode_into_libs=yes
+- ;;
+- freebsd*) # from 4.6 on
+- shlibpath_overrides_runpath=yes
+- hardcode_into_libs=yes
+- ;;
+- esac
+- ;;
+-
+-gnu*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- hardcode_into_libs=yes
+- ;;
+-
+-hpux9* | hpux10* | hpux11*)
+- # Give a soname corresponding to the major version so that dld.sl refuses to
+- # link against other versions.
+- version_type=sunos
+- need_lib_prefix=no
+- need_version=no
+- case $host_cpu in
+- ia64*)
+- shrext_cmds='.so'
+- hardcode_into_libs=yes
+- dynamic_linker="$host_os dld.so"
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- if test "X$HPUX_IA64_MODE" = X32; then
+- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+- else
+- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+- fi
+- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+- ;;
+- hppa*64*)
+- shrext_cmds='.sl'
+- hardcode_into_libs=yes
+- dynamic_linker="$host_os dld.sl"
+- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+- ;;
+- *)
+- shrext_cmds='.sl'
+- dynamic_linker="$host_os dld.sl"
+- shlibpath_var=SHLIB_PATH
+- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- ;;
+- esac
+- # HP-UX runs *really* slowly unless shared libraries are mode 555.
+- postinstall_cmds='chmod 555 $lib'
+- ;;
+-
+-interix3*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=no
+- hardcode_into_libs=yes
+- ;;
+-
+-irix5* | irix6* | nonstopux*)
+- case $host_os in
+- nonstopux*) version_type=nonstopux ;;
+- *)
+- if test "$lt_cv_prog_gnu_ld" = yes; then
+- version_type=linux
+- else
+- version_type=irix
+- fi ;;
+- esac
+- need_lib_prefix=no
+- need_version=no
+- soname_spec='${libname}${release}${shared_ext}$major'
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+- case $host_os in
+- irix5* | nonstopux*)
+- libsuff= shlibsuff=
+- ;;
+- *)
+- case $LD in # libtool.m4 will add one of these switches to LD
+- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+- libsuff= shlibsuff= libmagic=32-bit;;
+- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+- libsuff=32 shlibsuff=N32 libmagic=N32;;
+- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+- libsuff=64 shlibsuff=64 libmagic=64-bit;;
+- *) libsuff= shlibsuff= libmagic=never-match;;
+- esac
+- ;;
+- esac
+- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+- shlibpath_overrides_runpath=no
+- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+- hardcode_into_libs=yes
+- ;;
+-
+-# No shared lib support for Linux oldld, aout, or coff.
+-linux*oldld* | linux*aout* | linux*coff*)
+- dynamic_linker=no
+- ;;
+-
+-# This must be Linux ELF.
+-linux*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=no
+- # This implies no fast_install, which is unacceptable.
+- # Some rework will be needed to allow for fast_install
+- # before this can be enabled.
+- hardcode_into_libs=yes
+-
+- # Append ld.so.conf contents to the search path
+- if test -f /etc/ld.so.conf; then
+- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+- fi
+-
+- # We used to test for /lib/ld.so.1 and disable shared libraries on
+- # powerpc, because MkLinux only supported shared libraries with the
+- # GNU dynamic linker. Since this was broken with cross compilers,
+- # most powerpc-linux boxes support dynamic linking these days and
+- # people can always --disable-shared, the test was removed, and we
+- # assume the GNU/Linux dynamic linker is in use.
+- dynamic_linker='GNU/Linux ld.so'
+- ;;
+-
+-knetbsd*-gnu)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=no
+- hardcode_into_libs=yes
+- dynamic_linker='GNU ld.so'
+- ;;
+-
+-netbsd*)
+- version_type=sunos
+- need_lib_prefix=no
+- need_version=no
+- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+- dynamic_linker='NetBSD (a.out) ld.so'
+- else
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- dynamic_linker='NetBSD ld.elf_so'
+- fi
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- hardcode_into_libs=yes
+- ;;
+-
+-newsos6)
+- version_type=linux
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- ;;
+-
+-nto-qnx*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- ;;
+-
+-openbsd*)
+- version_type=sunos
+- sys_lib_dlsearch_path_spec="/usr/lib"
+- need_lib_prefix=no
+- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+- case $host_os in
+- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+- *) need_version=no ;;
+- esac
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+- shlibpath_var=LD_LIBRARY_PATH
+- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+- case $host_os in
+- openbsd2.[[89]] | openbsd2.[[89]].*)
+- shlibpath_overrides_runpath=no
+- ;;
+- *)
+- shlibpath_overrides_runpath=yes
+- ;;
+- esac
+- else
+- shlibpath_overrides_runpath=yes
+- fi
+- ;;
+-
+-os2*)
+- libname_spec='$name'
+- shrext_cmds=".dll"
+- need_lib_prefix=no
+- library_names_spec='$libname${shared_ext} $libname.a'
+- dynamic_linker='OS/2 ld.exe'
+- shlibpath_var=LIBPATH
+- ;;
+-
+-osf3* | osf4* | osf5*)
+- version_type=osf
+- need_lib_prefix=no
+- need_version=no
+- soname_spec='${libname}${release}${shared_ext}$major'
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- shlibpath_var=LD_LIBRARY_PATH
+- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+- ;;
+-
+-solaris*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- hardcode_into_libs=yes
+- # ldd complains unless libraries are executable
+- postinstall_cmds='chmod +x $lib'
+- ;;
+-
+-sunos4*)
+- version_type=sunos
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- if test "$with_gnu_ld" = yes; then
+- need_lib_prefix=no
+- fi
+- need_version=yes
+- ;;
+-
+-sysv4 | sysv4.3*)
+- version_type=linux
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- case $host_vendor in
+- sni)
+- shlibpath_overrides_runpath=no
+- need_lib_prefix=no
+- export_dynamic_flag_spec='${wl}-Blargedynsym'
+- runpath_var=LD_RUN_PATH
+- ;;
+- siemens)
+- need_lib_prefix=no
+- ;;
+- motorola)
+- need_lib_prefix=no
+- need_version=no
+- shlibpath_overrides_runpath=no
+- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+- ;;
+- esac
+- ;;
+-
+-sysv4*MP*)
+- if test -d /usr/nec ;then
+- version_type=linux
+- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+- soname_spec='$libname${shared_ext}.$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- fi
+- ;;
+-
+-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+- version_type=freebsd-elf
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- hardcode_into_libs=yes
+- if test "$with_gnu_ld" = yes; then
+- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+- shlibpath_overrides_runpath=no
+- else
+- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+- shlibpath_overrides_runpath=yes
+- case $host_os in
+- sco3.2v5*)
+- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+- ;;
+- esac
+- fi
+- sys_lib_dlsearch_path_spec='/usr/lib'
+- ;;
+-
+-uts4*)
+- version_type=linux
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- ;;
+-
+-*)
+- dynamic_linker=no
+- ;;
+-esac
+-AC_MSG_RESULT([$dynamic_linker])
+-test "$dynamic_linker" = no && can_build_shared=no
+-
+-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+-if test "$GCC" = yes; then
+- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+-fi
+-])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+-
+-
+-# _LT_AC_TAGCONFIG
+-# ----------------
+-AC_DEFUN([_LT_AC_TAGCONFIG],
+-[AC_ARG_WITH([tags],
+- [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
+- [include additional configurations @<:@automatic@:>@])],
+- [tagnames="$withval"])
+-
+-if test -f "$ltmain" && test -n "$tagnames"; then
+- if test ! -f "${ofile}"; then
+- AC_MSG_WARN([output file `$ofile' does not exist])
+- fi
+-
+- if test -z "$LTCC"; then
+- eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
+- if test -z "$LTCC"; then
+- AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
+- else
+- AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
+- fi
+- fi
+- if test -z "$LTCFLAGS"; then
+- eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
+- fi
+-
+- # Extract list of available tagged configurations in $ofile.
+- # Note that this assumes the entire list is on one line.
+- available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+-
+- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+- for tagname in $tagnames; do
+- IFS="$lt_save_ifs"
+- # Check whether tagname contains only valid characters
+- case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
+- "") ;;
+- *) AC_MSG_ERROR([invalid tag name: $tagname])
+- ;;
+- esac
+-
+- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
+- then
+- AC_MSG_ERROR([tag name \"$tagname\" already exists])
+- fi
+-
+- # Update the list of available tags.
+- if test -n "$tagname"; then
+- echo appending configuration tag \"$tagname\" to $ofile
+-
+- case $tagname in
+- CXX)
+- if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+- (test "X$CXX" != "Xg++"))) ; then
+- AC_LIBTOOL_LANG_CXX_CONFIG
+- else
+- tagname=""
+- fi
+- ;;
+-
+- F77)
+- if test -n "$F77" && test "X$F77" != "Xno"; then
+- AC_LIBTOOL_LANG_F77_CONFIG
+- else
+- tagname=""
+- fi
+- ;;
+-
+- GCJ)
+- if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
+- AC_LIBTOOL_LANG_GCJ_CONFIG
+- else
+- tagname=""
+- fi
+- ;;
+-
+- RC)
+- AC_LIBTOOL_LANG_RC_CONFIG
+- ;;
+-
+- *)
+- AC_MSG_ERROR([Unsupported tag name: $tagname])
+- ;;
+- esac
+-
+- # Append the new tag name to the list of available tags.
+- if test -n "$tagname" ; then
+- available_tags="$available_tags $tagname"
+- fi
+- fi
+- done
+- IFS="$lt_save_ifs"
+-
+- # Now substitute the updated list of available tags.
+- if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
+- mv "${ofile}T" "$ofile"
+- chmod +x "$ofile"
+- else
+- rm -f "${ofile}T"
+- AC_MSG_ERROR([unable to update list of available tagged configurations.])
+- fi
+-fi
+-])# _LT_AC_TAGCONFIG
+-
+-
+-# AC_LIBTOOL_DLOPEN
+-# -----------------
+-# enable checks for dlopen support
+-AC_DEFUN([AC_LIBTOOL_DLOPEN],
+- [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
+-])# AC_LIBTOOL_DLOPEN
+-
+-
+-# AC_LIBTOOL_WIN32_DLL
+-# --------------------
+-# declare package support for building win32 DLLs
+-AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
+-[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
+-])# AC_LIBTOOL_WIN32_DLL
+-
+-
+-# AC_ENABLE_SHARED([DEFAULT])
+-# ---------------------------
+-# implement the --enable-shared flag
+-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+-AC_DEFUN([AC_ENABLE_SHARED],
+-[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
+-AC_ARG_ENABLE([shared],
+- [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+- [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
+- [p=${PACKAGE-default}
+- case $enableval in
+- yes) enable_shared=yes ;;
+- no) enable_shared=no ;;
+- *)
+- enable_shared=no
+- # Look at the argument we got. We use all the common list separators.
+- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+- for pkg in $enableval; do
+- IFS="$lt_save_ifs"
+- if test "X$pkg" = "X$p"; then
+- enable_shared=yes
+- fi
+- done
+- IFS="$lt_save_ifs"
+- ;;
+- esac],
+- [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
+-])# AC_ENABLE_SHARED
+-
+-
+-# AC_DISABLE_SHARED
+-# -----------------
+-# set the default shared flag to --disable-shared
+-AC_DEFUN([AC_DISABLE_SHARED],
+-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+-AC_ENABLE_SHARED(no)
+-])# AC_DISABLE_SHARED
+-
+-
+-# AC_ENABLE_STATIC([DEFAULT])
+-# ---------------------------
+-# implement the --enable-static flag
+-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+-AC_DEFUN([AC_ENABLE_STATIC],
+-[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
+-AC_ARG_ENABLE([static],
+- [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+- [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
+- [p=${PACKAGE-default}
+- case $enableval in
+- yes) enable_static=yes ;;
+- no) enable_static=no ;;
+- *)
+- enable_static=no
+- # Look at the argument we got. We use all the common list separators.
+- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+- for pkg in $enableval; do
+- IFS="$lt_save_ifs"
+- if test "X$pkg" = "X$p"; then
+- enable_static=yes
+- fi
+- done
+- IFS="$lt_save_ifs"
+- ;;
+- esac],
+- [enable_static=]AC_ENABLE_STATIC_DEFAULT)
+-])# AC_ENABLE_STATIC
+-
+-
+-# AC_DISABLE_STATIC
+-# -----------------
+-# set the default static flag to --disable-static
+-AC_DEFUN([AC_DISABLE_STATIC],
+-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+-AC_ENABLE_STATIC(no)
+-])# AC_DISABLE_STATIC
+-
+-
+-# AC_ENABLE_FAST_INSTALL([DEFAULT])
+-# ---------------------------------
+-# implement the --enable-fast-install flag
+-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+-AC_DEFUN([AC_ENABLE_FAST_INSTALL],
+-[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
+-AC_ARG_ENABLE([fast-install],
+- [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+- [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+- [p=${PACKAGE-default}
+- case $enableval in
+- yes) enable_fast_install=yes ;;
+- no) enable_fast_install=no ;;
+- *)
+- enable_fast_install=no
+- # Look at the argument we got. We use all the common list separators.
+- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+- for pkg in $enableval; do
+- IFS="$lt_save_ifs"
+- if test "X$pkg" = "X$p"; then
+- enable_fast_install=yes
+- fi
+- done
+- IFS="$lt_save_ifs"
+- ;;
+- esac],
+- [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
+-])# AC_ENABLE_FAST_INSTALL
+-
+-
+-# AC_DISABLE_FAST_INSTALL
+-# -----------------------
+-# set the default to --disable-fast-install
+-AC_DEFUN([AC_DISABLE_FAST_INSTALL],
+-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+-AC_ENABLE_FAST_INSTALL(no)
+-])# AC_DISABLE_FAST_INSTALL
+-
+-
+-# AC_LIBTOOL_PICMODE([MODE])
+-# --------------------------
+-# implement the --with-pic flag
+-# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
+-AC_DEFUN([AC_LIBTOOL_PICMODE],
+-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+-pic_mode=ifelse($#,1,$1,default)
+-])# AC_LIBTOOL_PICMODE
+-
+-
+-# AC_PROG_EGREP
+-# -------------
+-# This is predefined starting with Autoconf 2.54, so this conditional
+-# definition can be removed once we require Autoconf 2.54 or later.
+-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
+-[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
+- [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+- then ac_cv_prog_egrep='grep -E'
+- else ac_cv_prog_egrep='egrep'
+- fi])
+- EGREP=$ac_cv_prog_egrep
+- AC_SUBST([EGREP])
+-])])
+-
+-
+-# AC_PATH_TOOL_PREFIX
+-# -------------------
+-# find a file program which can recognise shared library
+-AC_DEFUN([AC_PATH_TOOL_PREFIX],
+-[AC_REQUIRE([AC_PROG_EGREP])dnl
+-AC_MSG_CHECKING([for $1])
+-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+-[case $MAGIC_CMD in
+-[[\\/*] | ?:[\\/]*])
+- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+- ;;
+-*)
+- lt_save_MAGIC_CMD="$MAGIC_CMD"
+- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+-dnl $ac_dummy forces splitting on constant user-supplied paths.
+-dnl POSIX.2 word splitting is done only on the output of word expansions,
+-dnl not every word. This closes a longstanding sh security hole.
+- ac_dummy="ifelse([$2], , $PATH, [$2])"
+- for ac_dir in $ac_dummy; do
+- IFS="$lt_save_ifs"
+- test -z "$ac_dir" && ac_dir=.
+- if test -f $ac_dir/$1; then
+- lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+- if test -n "$file_magic_test_file"; then
+- case $deplibs_check_method in
+- "file_magic "*)
+- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+- $EGREP "$file_magic_regex" > /dev/null; then
+- :
+- else
+- cat <<EOF 1>&2
+-
+-*** Warning: the command libtool uses to detect shared libraries,
+-*** $file_magic_cmd, produces output that libtool cannot recognize.
+-*** The result is that libtool may fail to recognize shared libraries
+-*** as such. This will affect the creation of libtool libraries that
+-*** depend on shared libraries, but programs linked with such libtool
+-*** libraries will work regardless of this problem. Nevertheless, you
+-*** may want to report the problem to your system manager and/or to
+-*** bug-libtool@gnu.org
+-
+-EOF
+- fi ;;
+- esac
+- fi
+- break
+- fi
+- done
+- IFS="$lt_save_ifs"
+- MAGIC_CMD="$lt_save_MAGIC_CMD"
+- ;;
+-esac])
+-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+-if test -n "$MAGIC_CMD"; then
+- AC_MSG_RESULT($MAGIC_CMD)
+-else
+- AC_MSG_RESULT(no)
+-fi
+-])# AC_PATH_TOOL_PREFIX
+-
+-
+-# AC_PATH_MAGIC
+-# -------------
+-# find a file program which can recognise a shared library
+-AC_DEFUN([AC_PATH_MAGIC],
+-[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+-if test -z "$lt_cv_path_MAGIC_CMD"; then
+- if test -n "$ac_tool_prefix"; then
+- AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+- else
+- MAGIC_CMD=:
+- fi
+-fi
+-])# AC_PATH_MAGIC
+-
+-
+-# AC_PROG_LD
+-# ----------
+-# find the pathname to the GNU or non-GNU linker
+-AC_DEFUN([AC_PROG_LD],
+-[AC_ARG_WITH([gnu-ld],
+- [AC_HELP_STRING([--with-gnu-ld],
+- [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+- [test "$withval" = no || with_gnu_ld=yes],
+- [with_gnu_ld=no])
+-AC_REQUIRE([LT_AC_PROG_SED])dnl
+-AC_REQUIRE([AC_PROG_CC])dnl
+-AC_REQUIRE([AC_CANONICAL_HOST])dnl
+-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+-ac_prog=ld
+-if test "$GCC" = yes; then
+- # Check if gcc -print-prog-name=ld gives a path.
+- AC_MSG_CHECKING([for ld used by $CC])
+- case $host in
+- *-*-mingw*)
+- # gcc leaves a trailing carriage return which upsets mingw
+- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+- *)
+- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+- esac
+- case $ac_prog in
+- # Accept absolute paths.
+- [[\\/]]* | ?:[[\\/]]*)
+- re_direlt='/[[^/]][[^/]]*/\.\./'
+- # Canonicalize the pathname of ld
+- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+- done
+- test -z "$LD" && LD="$ac_prog"
+- ;;
+- "")
+- # If it fails, then pretend we aren't using GCC.
+- ac_prog=ld
+- ;;
+- *)
+- # If it is relative, then search for the first ld in PATH.
+- with_gnu_ld=unknown
+- ;;
+- esac
+-elif test "$with_gnu_ld" = yes; then
+- AC_MSG_CHECKING([for GNU ld])
+-else
+- AC_MSG_CHECKING([for non-GNU ld])
+-fi
+-AC_CACHE_VAL(lt_cv_path_LD,
+-[if test -z "$LD"; then
+- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+- for ac_dir in $PATH; do
+- IFS="$lt_save_ifs"
+- test -z "$ac_dir" && ac_dir=.
+- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+- lt_cv_path_LD="$ac_dir/$ac_prog"
+- # Check to see if the program is GNU ld. I'd rather use --version,
+- # but apparently some variants of GNU ld only accept -v.
+- # Break only if it was the GNU/non-GNU ld that we prefer.
+- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+- *GNU* | *'with BFD'*)
+- test "$with_gnu_ld" != no && break
+- ;;
+- *)
+- test "$with_gnu_ld" != yes && break
+- ;;
+- esac
+- fi
+- done
+- IFS="$lt_save_ifs"
+-else
+- lt_cv_path_LD="$LD" # Let the user override the test with a path.
+-fi])
+-LD="$lt_cv_path_LD"
+-if test -n "$LD"; then
+- AC_MSG_RESULT($LD)
+-else
+- AC_MSG_RESULT(no)
+-fi
+-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+-AC_PROG_LD_GNU
+-])# AC_PROG_LD
+-
+-
+-# AC_PROG_LD_GNU
+-# --------------
+-AC_DEFUN([AC_PROG_LD_GNU],
+-[AC_REQUIRE([AC_PROG_EGREP])dnl
+-AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+-case `$LD -v 2>&1 </dev/null` in
+-*GNU* | *'with BFD'*)
+- lt_cv_prog_gnu_ld=yes
+- ;;
+-*)
+- lt_cv_prog_gnu_ld=no
+- ;;
+-esac])
+-with_gnu_ld=$lt_cv_prog_gnu_ld
+-])# AC_PROG_LD_GNU
+-
+-
+-# AC_PROG_LD_RELOAD_FLAG
+-# ----------------------
+-# find reload flag for linker
+-# -- PORTME Some linkers may need a different reload flag.
+-AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
+-[AC_CACHE_CHECK([for $LD option to reload object files],
+- lt_cv_ld_reload_flag,
+- [lt_cv_ld_reload_flag='-r'])
+-reload_flag=$lt_cv_ld_reload_flag
+-case $reload_flag in
+-"" | " "*) ;;
+-*) reload_flag=" $reload_flag" ;;
+-esac
+-reload_cmds='$LD$reload_flag -o $output$reload_objs'
+-case $host_os in
+- darwin*)
+- if test "$GCC" = yes; then
+- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+- else
+- reload_cmds='$LD$reload_flag -o $output$reload_objs'
+- fi
+- ;;
+-esac
+-])# AC_PROG_LD_RELOAD_FLAG
+-
+-
+-# AC_DEPLIBS_CHECK_METHOD
+-# -----------------------
+-# how to check for library dependencies
+-# -- PORTME fill in with the dynamic library characteristics
+-AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
+-[AC_CACHE_CHECK([how to recognise dependent libraries],
+-lt_cv_deplibs_check_method,
+-[lt_cv_file_magic_cmd='$MAGIC_CMD'
+-lt_cv_file_magic_test_file=
+-lt_cv_deplibs_check_method='unknown'
+-# Need to set the preceding variable on all platforms that support
+-# interlibrary dependencies.
+-# 'none' -- dependencies not supported.
+-# `unknown' -- same as none, but documents that we really don't know.
+-# 'pass_all' -- all dependencies passed with no checks.
+-# 'test_compile' -- check by making test program.
+-# 'file_magic [[regex]]' -- check by looking for files in library path
+-# which responds to the $file_magic_cmd with a given extended regex.
+-# If you have `file' or equivalent on your system and you're not sure
+-# whether `pass_all' will *always* work, you probably want this one.
+-
+-case $host_os in
+-aix4* | aix5*)
+- lt_cv_deplibs_check_method=pass_all
+- ;;
+-
+-beos*)
+- lt_cv_deplibs_check_method=pass_all
+- ;;
+-
+-bsdi[[45]]*)
+- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+- lt_cv_file_magic_cmd='/usr/bin/file -L'
+- lt_cv_file_magic_test_file=/shlib/libc.so
+- ;;
+-
+-cygwin*)
+- # func_win32_libid is a shell function defined in ltmain.sh
+- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+- lt_cv_file_magic_cmd='func_win32_libid'
+- ;;
+-
+-mingw* | pw32*)
+- # Base MSYS/MinGW do not provide the 'file' command needed by
+- # func_win32_libid shell function, so use a weaker test based on 'objdump'.
+- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+- lt_cv_file_magic_cmd='$OBJDUMP -f'
+- ;;
+-
+-darwin* | rhapsody*)
+- lt_cv_deplibs_check_method=pass_all
+- ;;
+-
+-freebsd* | kfreebsd*-gnu | dragonfly*)
+- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+- case $host_cpu in
+- i*86 )
+- # Not sure whether the presence of OpenBSD here was a mistake.
+- # Let's accept both of them until this is cleared up.
+- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+- lt_cv_file_magic_cmd=/usr/bin/file
+- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+- ;;
+- esac
+- else
+- lt_cv_deplibs_check_method=pass_all
+- fi
+- ;;
+-
+-gnu*)
+- lt_cv_deplibs_check_method=pass_all
+- ;;
+-
+-hpux10.20* | hpux11*)
+- lt_cv_file_magic_cmd=/usr/bin/file
+- case $host_cpu in
+- ia64*)
+- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+- ;;
+- hppa*64*)
+- [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+- ;;
+- *)
+- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+- lt_cv_file_magic_test_file=/usr/lib/libc.sl
+- ;;
+- esac
+- ;;
+-
+-interix3*)
+- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+- ;;
+-
+-irix5* | irix6* | nonstopux*)
+- case $LD in
+- *-32|*"-32 ") libmagic=32-bit;;
+- *-n32|*"-n32 ") libmagic=N32;;
+- *-64|*"-64 ") libmagic=64-bit;;
+- *) libmagic=never-match;;
+- esac
+- lt_cv_deplibs_check_method=pass_all
+- ;;
+-
+-# This must be Linux ELF.
+-linux*)
+- lt_cv_deplibs_check_method=pass_all
+- ;;
+-
+-netbsd*)
+- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+- else
+- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+- fi
+- ;;
+-
+-newos6*)
+- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+- lt_cv_file_magic_cmd=/usr/bin/file
+- lt_cv_file_magic_test_file=/usr/lib/libnls.so
+- ;;
+-
+-nto-qnx*)
+- lt_cv_deplibs_check_method=unknown
+- ;;
+-
+-openbsd*)
+- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+- else
+- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+- fi
+- ;;
+-
+-osf3* | osf4* | osf5*)
+- lt_cv_deplibs_check_method=pass_all
+- ;;
+-
+-solaris*)
+- lt_cv_deplibs_check_method=pass_all
+- ;;
+-
+-sysv4 | sysv4.3*)
+- case $host_vendor in
+- motorola)
+- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+- ;;
+- ncr)
+- lt_cv_deplibs_check_method=pass_all
+- ;;
+- sequent)
+- lt_cv_file_magic_cmd='/bin/file'
+- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+- ;;
+- sni)
+- lt_cv_file_magic_cmd='/bin/file'
+- lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+- lt_cv_file_magic_test_file=/lib/libc.so
+- ;;
+- siemens)
+- lt_cv_deplibs_check_method=pass_all
+- ;;
+- pc)
+- lt_cv_deplibs_check_method=pass_all
+- ;;
+- esac
+- ;;
+-
+-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+- lt_cv_deplibs_check_method=pass_all
+- ;;
+-esac
+-])
+-file_magic_cmd=$lt_cv_file_magic_cmd
+-deplibs_check_method=$lt_cv_deplibs_check_method
+-test -z "$deplibs_check_method" && deplibs_check_method=unknown
+-])# AC_DEPLIBS_CHECK_METHOD
+-
+-
+-# AC_PROG_NM
+-# ----------
+-# find the pathname to a BSD-compatible name lister
+-AC_DEFUN([AC_PROG_NM],
+-[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
+-[if test -n "$NM"; then
+- # Let the user override the test.
+- lt_cv_path_NM="$NM"
+-else
+- lt_nm_to_check="${ac_tool_prefix}nm"
+- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+- lt_nm_to_check="$lt_nm_to_check nm"
+- fi
+- for lt_tmp_nm in $lt_nm_to_check; do
+- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+- IFS="$lt_save_ifs"
+- test -z "$ac_dir" && ac_dir=.
+- tmp_nm="$ac_dir/$lt_tmp_nm"
+- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+- # Check to see if the nm accepts a BSD-compat flag.
+- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+- # nm: unknown option "B" ignored
+- # Tru64's nm complains that /dev/null is an invalid object file
+- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+- */dev/null* | *'Invalid file or object type'*)
+- lt_cv_path_NM="$tmp_nm -B"
+- break
+- ;;
+- *)
+- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+- */dev/null*)
+- lt_cv_path_NM="$tmp_nm -p"
+- break
+- ;;
+- *)
+- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+- continue # so that we can try to find one that supports BSD flags
+- ;;
+- esac
+- ;;
+- esac
+- fi
+- done
+- IFS="$lt_save_ifs"
+- done
+- test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+-fi])
+-NM="$lt_cv_path_NM"
+-])# AC_PROG_NM
+-
+-
+-# AC_CHECK_LIBM
+-# -------------
+-# check for math library
+-AC_DEFUN([AC_CHECK_LIBM],
+-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+-LIBM=
+-case $host in
+-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+- # These system don't have libm, or don't need it
+- ;;
+-*-ncr-sysv4.3*)
+- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+- AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+- ;;
+-*)
+- AC_CHECK_LIB(m, cos, LIBM="-lm")
+- ;;
+-esac
+-])# AC_CHECK_LIBM
+-
+-
+-# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
+-# -----------------------------------
+-# sets LIBLTDL to the link flags for the libltdl convenience library and
+-# LTDLINCL to the include flags for the libltdl header and adds
+-# --enable-ltdl-convenience to the configure arguments. Note that
+-# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
+-# it is assumed to be `libltdl'. LIBLTDL will be prefixed with
+-# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
+-# (note the single quotes!). If your package is not flat and you're not
+-# using automake, define top_builddir and top_srcdir appropriately in
+-# the Makefiles.
+-AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
+-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+- case $enable_ltdl_convenience in
+- no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
+- "") enable_ltdl_convenience=yes
+- ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
+- esac
+- LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
+- LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+- # For backwards non-gettext consistent compatibility...
+- INCLTDL="$LTDLINCL"
+-])# AC_LIBLTDL_CONVENIENCE
+-
+-
+-# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
+-# -----------------------------------
+-# sets LIBLTDL to the link flags for the libltdl installable library and
+-# LTDLINCL to the include flags for the libltdl header and adds
+-# --enable-ltdl-install to the configure arguments. Note that
+-# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
+-# and an installed libltdl is not found, it is assumed to be `libltdl'.
+-# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
+-# '${top_srcdir}/' (note the single quotes!). If your package is not
+-# flat and you're not using automake, define top_builddir and top_srcdir
+-# appropriately in the Makefiles.
+-# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
+-AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
+-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+- AC_CHECK_LIB(ltdl, lt_dlinit,
+- [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
+- [if test x"$enable_ltdl_install" = xno; then
+- AC_MSG_WARN([libltdl not installed, but installation disabled])
+- else
+- enable_ltdl_install=yes
+- fi
+- ])
+- if test x"$enable_ltdl_install" = x"yes"; then
+- ac_configure_args="$ac_configure_args --enable-ltdl-install"
+- LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
+- LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+- else
+- ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
+- LIBLTDL="-lltdl"
+- LTDLINCL=
+- fi
+- # For backwards non-gettext consistent compatibility...
+- INCLTDL="$LTDLINCL"
+-])# AC_LIBLTDL_INSTALLABLE
+-
+-
+-# AC_LIBTOOL_CXX
+-# --------------
+-# enable support for C++ libraries
+-AC_DEFUN([AC_LIBTOOL_CXX],
+-[AC_REQUIRE([_LT_AC_LANG_CXX])
+-])# AC_LIBTOOL_CXX
+-
+-
+-# _LT_AC_LANG_CXX
+-# ---------------
+-AC_DEFUN([_LT_AC_LANG_CXX],
+-[AC_REQUIRE([AC_PROG_CXX])
+-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
+-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
+-])# _LT_AC_LANG_CXX
+-
+-# _LT_AC_PROG_CXXCPP
+-# ------------------
+-AC_DEFUN([_LT_AC_PROG_CXXCPP],
+-[
+-AC_REQUIRE([AC_PROG_CXX])
+-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+- (test "X$CXX" != "Xg++"))) ; then
+- AC_PROG_CXXCPP
+-fi
+-])# _LT_AC_PROG_CXXCPP
+-
+-# AC_LIBTOOL_F77
+-# --------------
+-# enable support for Fortran 77 libraries
+-AC_DEFUN([AC_LIBTOOL_F77],
+-[AC_REQUIRE([_LT_AC_LANG_F77])
+-])# AC_LIBTOOL_F77
+-
+-
+-# _LT_AC_LANG_F77
+-# ---------------
+-AC_DEFUN([_LT_AC_LANG_F77],
+-[AC_REQUIRE([AC_PROG_F77])
+-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
+-])# _LT_AC_LANG_F77
+-
+-
+-# AC_LIBTOOL_GCJ
+-# --------------
+-# enable support for GCJ libraries
+-AC_DEFUN([AC_LIBTOOL_GCJ],
+-[AC_REQUIRE([_LT_AC_LANG_GCJ])
+-])# AC_LIBTOOL_GCJ
+-
+-
+-# _LT_AC_LANG_GCJ
+-# ---------------
+-AC_DEFUN([_LT_AC_LANG_GCJ],
+-[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
+- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
+- [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
+- [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
+- [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
+- [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
+-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
+-])# _LT_AC_LANG_GCJ
+-
+-
+-# AC_LIBTOOL_RC
+-# -------------
+-# enable support for Windows resource files
+-AC_DEFUN([AC_LIBTOOL_RC],
+-[AC_REQUIRE([LT_AC_PROG_RC])
+-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
+-])# AC_LIBTOOL_RC
+-
+-
+-# AC_LIBTOOL_LANG_C_CONFIG
+-# ------------------------
+-# Ensure that the configuration vars for the C compiler are
+-# suitably defined. Those variables are subsequently used by
+-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+-AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
+-AC_DEFUN([_LT_AC_LANG_C_CONFIG],
+-[lt_save_CC="$CC"
+-AC_LANG_PUSH(C)
+-
+-# Source file extension for C test sources.
+-ac_ext=c
+-
+-# Object file extension for compiled C test sources.
+-objext=o
+-_LT_AC_TAGVAR(objext, $1)=$objext
+-
+-# Code to be used in simple compile tests
+-lt_simple_compile_test_code="int some_variable = 0;\n"
+-
+-# Code to be used in simple link tests
+-lt_simple_link_test_code='int main(){return(0);}\n'
+-
+-_LT_AC_SYS_COMPILER
+-
+-# save warnings/boilerplate of simple test code
+-_LT_COMPILER_BOILERPLATE
+-_LT_LINKER_BOILERPLATE
+-
+-## CAVEAT EMPTOR:
+-## There is no encapsulation within the following macros, do not change
+-## the running order or otherwise move them around unless you know exactly
+-## what you are doing...
+-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+-AC_LIBTOOL_PROG_COMPILER_PIC($1)
+-AC_LIBTOOL_PROG_CC_C_O($1)
+-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+-AC_LIBTOOL_PROG_LD_SHLIBS($1)
+-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+-AC_LIBTOOL_SYS_LIB_STRIP
+-AC_LIBTOOL_DLOPEN_SELF
+-
+-# Report which library types will actually be built
+-AC_MSG_CHECKING([if libtool supports shared libraries])
+-AC_MSG_RESULT([$can_build_shared])
+-
+-AC_MSG_CHECKING([whether to build shared libraries])
+-test "$can_build_shared" = "no" && enable_shared=no
+-
+-# On AIX, shared libraries and static libraries use the same namespace, and
+-# are all built from PIC.
+-case $host_os in
+-aix3*)
+- test "$enable_shared" = yes && enable_static=no
+- if test -n "$RANLIB"; then
+- archive_cmds="$archive_cmds~\$RANLIB \$lib"
+- postinstall_cmds='$RANLIB $lib'
+- fi
+- ;;
+-
+-aix4* | aix5*)
+- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+- test "$enable_shared" = yes && enable_static=no
+- fi
+- ;;
+-esac
+-AC_MSG_RESULT([$enable_shared])
+-
+-AC_MSG_CHECKING([whether to build static libraries])
+-# Make sure either enable_shared or enable_static is yes.
+-test "$enable_shared" = yes || enable_static=yes
+-AC_MSG_RESULT([$enable_static])
+-
+-AC_LIBTOOL_CONFIG($1)
+-
+-AC_LANG_POP
+-CC="$lt_save_CC"
+-])# AC_LIBTOOL_LANG_C_CONFIG
+-
+-
+-# AC_LIBTOOL_LANG_CXX_CONFIG
+-# --------------------------
+-# Ensure that the configuration vars for the C compiler are
+-# suitably defined. Those variables are subsequently used by
+-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+-AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
+-AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
+-[AC_LANG_PUSH(C++)
+-AC_REQUIRE([AC_PROG_CXX])
+-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
+-
+-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+-_LT_AC_TAGVAR(always_export_symbols, $1)=no
+-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+-_LT_AC_TAGVAR(hardcode_direct, $1)=no
+-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+-_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+-_LT_AC_TAGVAR(module_cmds, $1)=
+-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+-_LT_AC_TAGVAR(no_undefined_flag, $1)=
+-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+-
+-# Dependencies to place before and after the object being linked:
+-_LT_AC_TAGVAR(predep_objects, $1)=
+-_LT_AC_TAGVAR(postdep_objects, $1)=
+-_LT_AC_TAGVAR(predeps, $1)=
+-_LT_AC_TAGVAR(postdeps, $1)=
+-_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
+-
+-# Source file extension for C++ test sources.
+-ac_ext=cpp
+-
+-# Object file extension for compiled C++ test sources.
+-objext=o
+-_LT_AC_TAGVAR(objext, $1)=$objext
+-
+-# Code to be used in simple compile tests
+-lt_simple_compile_test_code="int some_variable = 0;\n"
+-
+-# Code to be used in simple link tests
+-lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n'
+-
+-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+-_LT_AC_SYS_COMPILER
+-
+-# save warnings/boilerplate of simple test code
+-_LT_COMPILER_BOILERPLATE
+-_LT_LINKER_BOILERPLATE
+-
+-# Allow CC to be a program name with arguments.
+-lt_save_CC=$CC
+-lt_save_LD=$LD
+-lt_save_GCC=$GCC
+-GCC=$GXX
+-lt_save_with_gnu_ld=$with_gnu_ld
+-lt_save_path_LD=$lt_cv_path_LD
+-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+-else
+- $as_unset lt_cv_prog_gnu_ld
+-fi
+-if test -n "${lt_cv_path_LDCXX+set}"; then
+- lt_cv_path_LD=$lt_cv_path_LDCXX
+-else
+- $as_unset lt_cv_path_LD
+-fi
+-test -z "${LDCXX+set}" || LD=$LDCXX
+-CC=${CXX-"c++"}
+-compiler=$CC
+-_LT_AC_TAGVAR(compiler, $1)=$CC
+-_LT_CC_BASENAME([$compiler])
+-
+-# We don't want -fno-exception wen compiling C++ code, so set the
+-# no_builtin_flag separately
+-if test "$GXX" = yes; then
+- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+-else
+- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+-fi
+-
+-if test "$GXX" = yes; then
+- # Set up default GNU C++ configuration
+-
+- AC_PROG_LD
+-
+- # Check if GNU C++ uses GNU ld as the underlying linker, since the
+- # archiving commands below assume that GNU ld is being used.
+- if test "$with_gnu_ld" = yes; then
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+-
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+-
+- # If archive_cmds runs LD, not CC, wlarc should be empty
+- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+- # investigate it a little bit more. (MM)
+- wlarc='${wl}'
+-
+- # ancient GNU ld didn't support --whole-archive et. al.
+- if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
+- grep 'no-whole-archive' > /dev/null; then
+- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+- else
+- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+- fi
+- else
+- with_gnu_ld=no
+- wlarc=
+-
+- # A generic and very simple default shared library creation
+- # command for GNU C++ for the case where it uses the native
+- # linker, instead of GNU ld. If possible, this setting should
+- # overridden to take advantage of the native linker features on
+- # the platform it is being used on.
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+- fi
+-
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+-
+-else
+- GXX=no
+- with_gnu_ld=no
+- wlarc=
+-fi
+-
+-# PORTME: fill in a description of your system's C++ link characteristics
+-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+-_LT_AC_TAGVAR(ld_shlibs, $1)=yes
+-case $host_os in
+- aix3*)
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- aix4* | aix5*)
+- if test "$host_cpu" = ia64; then
+- # On IA64, the linker does run time linking by default, so we don't
+- # have to do anything special.
+- aix_use_runtimelinking=no
+- exp_sym_flag='-Bexport'
+- no_entry_flag=""
+- else
+- aix_use_runtimelinking=no
+-
+- # Test if we are trying to use run time linking or normal
+- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+- # need to do runtime linking.
+- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+- for ld_flag in $LDFLAGS; do
+- case $ld_flag in
+- *-brtl*)
+- aix_use_runtimelinking=yes
+- break
+- ;;
+- esac
+- done
+- ;;
+- esac
+-
+- exp_sym_flag='-bexport'
+- no_entry_flag='-bnoentry'
+- fi
+-
+- # When large executables or shared objects are built, AIX ld can
+- # have problems creating the table of contents. If linking a library
+- # or program results in "error TOC overflow" add -mminimal-toc to
+- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+-
+- _LT_AC_TAGVAR(archive_cmds, $1)=''
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+-
+- if test "$GXX" = yes; then
+- case $host_os in aix4.[[012]]|aix4.[[012]].*)
+- # We only want to do this on AIX 4.2 and lower, the check
+- # below for broken collect2 doesn't work under 4.3+
+- collect2name=`${CC} -print-prog-name=collect2`
+- if test -f "$collect2name" && \
+- strings "$collect2name" | grep resolve_lib_name >/dev/null
+- then
+- # We have reworked collect2
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+- else
+- # We have old collect2
+- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+- # It fails to find uninstalled libraries when the uninstalled
+- # path is not listed in the libpath. Setting hardcode_minus_L
+- # to unsupported forces relinking
+- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+- fi
+- ;;
+- esac
+- shared_flag='-shared'
+- if test "$aix_use_runtimelinking" = yes; then
+- shared_flag="$shared_flag "'${wl}-G'
+- fi
+- else
+- # not using gcc
+- if test "$host_cpu" = ia64; then
+- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+- # chokes on -Wl,-G. The following line is correct:
+- shared_flag='-G'
+- else
+- if test "$aix_use_runtimelinking" = yes; then
+- shared_flag='${wl}-G'
+- else
+- shared_flag='${wl}-bM:SRE'
+- fi
+- fi
+- fi
+-
+- # It seems that -bexpall does not export symbols beginning with
+- # underscore (_), so it is better to generate a list of symbols to export.
+- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+- if test "$aix_use_runtimelinking" = yes; then
+- # Warning - without using the other runtime loading flags (-brtl),
+- # -berok will link without error, but may produce a broken library.
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+- # Determine the default libpath from the value encoded in an empty executable.
+- _LT_AC_SYS_LIBPATH_AIX
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+-
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+- else
+- if test "$host_cpu" = ia64; then
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+- else
+- # Determine the default libpath from the value encoded in an empty executable.
+- _LT_AC_SYS_LIBPATH_AIX
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+- # Warning - without using the other run time loading flags,
+- # -berok will link without error, but may produce a broken library.
+- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+- # Exported symbols can be pulled into shared objects from archives
+- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+- # This is similar to how AIX traditionally builds its shared libraries.
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+- fi
+- fi
+- ;;
+-
+- beos*)
+- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+- # support --undefined. This deserves some investigation. FIXME
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- else
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- fi
+- ;;
+-
+- chorus*)
+- case $cc_basename in
+- *)
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- esac
+- ;;
+-
+- cygwin* | mingw* | pw32*)
+- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+- # as there is no search path for DLLs.
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+- _LT_AC_TAGVAR(always_export_symbols, $1)=no
+- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+-
+- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+- # If the export-symbols file already is a .def file (1st line
+- # is EXPORTS), use it as is; otherwise, prepend...
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+- cp $export_symbols $output_objdir/$soname.def;
+- else
+- echo EXPORTS > $output_objdir/$soname.def;
+- cat $export_symbols >> $output_objdir/$soname.def;
+- fi~
+- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+- else
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- fi
+- ;;
+- darwin* | rhapsody*)
+- case $host_os in
+- rhapsody* | darwin1.[[012]])
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
+- ;;
+- *) # Darwin 1.3 on
+- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+- else
+- case ${MACOSX_DEPLOYMENT_TARGET} in
+- 10.[[012]])
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+- ;;
+- 10.*)
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
+- ;;
+- esac
+- fi
+- ;;
+- esac
+- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+- _LT_AC_TAGVAR(hardcode_direct, $1)=no
+- _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+-
+- if test "$GXX" = yes ; then
+- lt_int_apple_cc_single_mod=no
+- output_verbose_link_cmd='echo'
+- if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
+- lt_int_apple_cc_single_mod=yes
+- fi
+- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+- else
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+- fi
+- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- else
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- fi
+- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- else
+- case $cc_basename in
+- xlc*)
+- output_verbose_link_cmd='echo'
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- ;;
+- *)
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- esac
+- fi
+- ;;
+-
+- dgux*)
+- case $cc_basename in
+- ec++*)
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- ghcx*)
+- # Green Hills C++ Compiler
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- *)
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- esac
+- ;;
+- freebsd[[12]]*)
+- # C++ shared libraries reported to be fairly broken before switch to ELF
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- freebsd-elf*)
+- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+- ;;
+- freebsd* | kfreebsd*-gnu | dragonfly*)
+- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+- # conventions
+- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+- ;;
+- gnu*)
+- ;;
+- hpux9*)
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+- # but as the default
+- # location of the library.
+-
+- case $cc_basename in
+- CC*)
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- aCC*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- #
+- # There doesn't appear to be a way to prevent this compiler from
+- # explicitly linking system object files so we need to strip them
+- # from the output so that they don't get included in the library
+- # dependencies.
+- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+- ;;
+- *)
+- if test "$GXX" = yes; then
+- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+- else
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- fi
+- ;;
+- esac
+- ;;
+- hpux10*|hpux11*)
+- if test $with_gnu_ld = no; then
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+-
+- case $host_cpu in
+- hppa*64*|ia64*)
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+- ;;
+- *)
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+- ;;
+- esac
+- fi
+- case $host_cpu in
+- hppa*64*|ia64*)
+- _LT_AC_TAGVAR(hardcode_direct, $1)=no
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- ;;
+- *)
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+- # but as the default
+- # location of the library.
+- ;;
+- esac
+-
+- case $cc_basename in
+- CC*)
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- aCC*)
+- case $host_cpu in
+- hppa*64*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+- ;;
+- ia64*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+- ;;
+- *)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+- ;;
+- esac
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- #
+- # There doesn't appear to be a way to prevent this compiler from
+- # explicitly linking system object files so we need to strip them
+- # from the output so that they don't get included in the library
+- # dependencies.
+- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+- ;;
+- *)
+- if test "$GXX" = yes; then
+- if test $with_gnu_ld = no; then
+- case $host_cpu in
+- hppa*64*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+- ;;
+- ia64*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+- ;;
+- *)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+- ;;
+- esac
+- fi
+- else
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- fi
+- ;;
+- esac
+- ;;
+- interix3*)
+- _LT_AC_TAGVAR(hardcode_direct, $1)=no
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+- # Instead, shared libraries are loaded at an image base (0x10000000 by
+- # default) and relocated if they conflict, which is a slow very memory
+- # consuming and fragmenting process. To avoid this, we pick a random,
+- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+- ;;
+- irix5* | irix6*)
+- case $cc_basename in
+- CC*)
+- # SGI C++
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+-
+- # Archives containing C++ object files must be created using
+- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+- # necessary to make sure instantiated templates are included
+- # in the archive.
+- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+- ;;
+- *)
+- if test "$GXX" = yes; then
+- if test "$with_gnu_ld" = no; then
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+- else
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
+- fi
+- fi
+- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+- ;;
+- esac
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+- ;;
+- linux*)
+- case $cc_basename in
+- KCC*)
+- # Kuck and Associates, Inc. (KAI) C++ Compiler
+-
+- # KCC will only create a shared library if the output file
+- # ends with ".so" (or ".sl" for HP-UX), so rename the library
+- # to its proper name (with version) after linking.
+- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- #
+- # There doesn't appear to be a way to prevent this compiler from
+- # explicitly linking system object files so we need to strip them
+- # from the output so that they don't get included in the library
+- # dependencies.
+- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+-
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+-
+- # Archives containing C++ object files must be created using
+- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+- ;;
+- icpc*)
+- # Intel C++
+- with_gnu_ld=yes
+- # version 8.0 and above of icpc choke on multiply defined symbols
+- # if we add $predep_objects and $postdep_objects, however 7.1 and
+- # earlier do not add the objects themselves.
+- case `$CC -V 2>&1` in
+- *"Version 7."*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+- ;;
+- *) # Version 8.0 or newer
+- tmp_idyn=
+- case $host_cpu in
+- ia64*) tmp_idyn=' -i_dynamic';;
+- esac
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+- ;;
+- esac
+- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+- ;;
+- pgCC*)
+- # Portland Group C++ compiler
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+-
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+- ;;
+- cxx*)
+- # Compaq C++
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+-
+- runpath_var=LD_RUN_PATH
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+-
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- #
+- # There doesn't appear to be a way to prevent this compiler from
+- # explicitly linking system object files so we need to strip them
+- # from the output so that they don't get included in the library
+- # dependencies.
+- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+- ;;
+- esac
+- ;;
+- lynxos*)
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- m88k*)
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- mvs*)
+- case $cc_basename in
+- cxx*)
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- *)
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- esac
+- ;;
+- netbsd*)
+- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+- wlarc=
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- fi
+- # Workaround some broken pre-1.5 toolchains
+- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+- ;;
+- openbsd2*)
+- # C++ shared libraries are fairly broken
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- openbsd*)
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+- fi
+- output_verbose_link_cmd='echo'
+- ;;
+- osf3*)
+- case $cc_basename in
+- KCC*)
+- # Kuck and Associates, Inc. (KAI) C++ Compiler
+-
+- # KCC will only create a shared library if the output file
+- # ends with ".so" (or ".sl" for HP-UX), so rename the library
+- # to its proper name (with version) after linking.
+- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+-
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+-
+- # Archives containing C++ object files must be created using
+- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+-
+- ;;
+- RCC*)
+- # Rational C++ 2.4.1
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- cxx*)
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+-
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+-
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- #
+- # There doesn't appear to be a way to prevent this compiler from
+- # explicitly linking system object files so we need to strip them
+- # from the output so that they don't get included in the library
+- # dependencies.
+- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+- ;;
+- *)
+- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+-
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+-
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+-
+- else
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- fi
+- ;;
+- esac
+- ;;
+- osf4* | osf5*)
+- case $cc_basename in
+- KCC*)
+- # Kuck and Associates, Inc. (KAI) C++ Compiler
+-
+- # KCC will only create a shared library if the output file
+- # ends with ".so" (or ".sl" for HP-UX), so rename the library
+- # to its proper name (with version) after linking.
+- _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+-
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+-
+- # Archives containing C++ object files must be created using
+- # the KAI C++ compiler.
+- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
+- ;;
+- RCC*)
+- # Rational C++ 2.4.1
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- cxx*)
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+- echo "-hidden">> $lib.exp~
+- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
+- $rm $lib.exp'
+-
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+-
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- #
+- # There doesn't appear to be a way to prevent this compiler from
+- # explicitly linking system object files so we need to strip them
+- # from the output so that they don't get included in the library
+- # dependencies.
+- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+- ;;
+- *)
+- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+-
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+-
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+-
+- else
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- fi
+- ;;
+- esac
+- ;;
+- psos*)
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- sunos4*)
+- case $cc_basename in
+- CC*)
+- # Sun C++ 4.x
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- lcc*)
+- # Lucid
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- *)
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- esac
+- ;;
+- solaris*)
+- case $cc_basename in
+- CC*)
+- # Sun C++ 4.2, 5.x and Centerline C++
+- _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
+- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+-
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- case $host_os in
+- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+- *)
+- # The C++ compiler is used as linker so we must use $wl
+- # flag to pass the commands to the underlying system
+- # linker. We must also pass each convience library through
+- # to the system linker between allextract/defaultextract.
+- # The C++ compiler will combine linker options so we
+- # cannot just pass the convience library names through
+- # without $wl.
+- # Supported since Solaris 2.6 (maybe 2.5.1?)
+- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+- ;;
+- esac
+- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+-
+- output_verbose_link_cmd='echo'
+-
+- # Archives containing C++ object files must be created using
+- # "CC -xar", where "CC" is the Sun C++ compiler. This is
+- # necessary to make sure instantiated templates are included
+- # in the archive.
+- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+- ;;
+- gcx*)
+- # Green Hills C++ Compiler
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+-
+- # The C++ compiler must be used to create the archive.
+- _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+- ;;
+- *)
+- # GNU C++ compiler with Solaris linker
+- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+- if $CC --version | grep -v '^2\.7' > /dev/null; then
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+-
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+- else
+- # g++ 2.7 appears to require `-G' NOT `-shared' on this
+- # platform.
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+-
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+- fi
+-
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+- fi
+- ;;
+- esac
+- ;;
+- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- runpath_var='LD_RUN_PATH'
+-
+- case $cc_basename in
+- CC*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- *)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- esac
+- ;;
+- sysv5* | sco3.2v5* | sco5v6*)
+- # Note: We can NOT use -z defs as we might desire, because we do not
+- # link with -lc, and that would cause any symbols used from libc to
+- # always be unresolved, which means just about no library would
+- # ever link correctly. If we're not using GNU ld we use -z text
+- # though, which does catch some bad symbols but isn't as heavy-handed
+- # as -z defs.
+- # For security reasons, it is highly recommended that you always
+- # use absolute paths for naming shared libraries, and exclude the
+- # DT_RUNPATH tag from executables and libraries. But doing so
+- # requires that you compile everything twice, which is a pain.
+- # So that behaviour is only enabled if SCOABSPATH is set to a
+- # non-empty value in the environment. Most likely only useful for
+- # creating official distributions of packages.
+- # This is a hack until libtool officially supports absolute path
+- # names for shared libraries.
+- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+- runpath_var='LD_RUN_PATH'
+-
+- case $cc_basename in
+- CC*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- *)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- esac
+- ;;
+- tandem*)
+- case $cc_basename in
+- NCC*)
+- # NonStop-UX NCC 3.20
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- *)
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- esac
+- ;;
+- vxworks*)
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- *)
+- # FIXME: insert proper C++ library support
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+-esac
+-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+-
+-_LT_AC_TAGVAR(GCC, $1)="$GXX"
+-_LT_AC_TAGVAR(LD, $1)="$LD"
+-
+-## CAVEAT EMPTOR:
+-## There is no encapsulation within the following macros, do not change
+-## the running order or otherwise move them around unless you know exactly
+-## what you are doing...
+-AC_LIBTOOL_POSTDEP_PREDEP($1)
+-AC_LIBTOOL_PROG_COMPILER_PIC($1)
+-AC_LIBTOOL_PROG_CC_C_O($1)
+-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+-AC_LIBTOOL_PROG_LD_SHLIBS($1)
+-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+-
+-AC_LIBTOOL_CONFIG($1)
+-
+-AC_LANG_POP
+-CC=$lt_save_CC
+-LDCXX=$LD
+-LD=$lt_save_LD
+-GCC=$lt_save_GCC
+-with_gnu_ldcxx=$with_gnu_ld
+-with_gnu_ld=$lt_save_with_gnu_ld
+-lt_cv_path_LDCXX=$lt_cv_path_LD
+-lt_cv_path_LD=$lt_save_path_LD
+-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+-])# AC_LIBTOOL_LANG_CXX_CONFIG
+-
+-# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
+-# ------------------------------------
+-# Figure out "hidden" library dependencies from verbose
+-# compiler output when linking a shared library.
+-# Parse the compiler output and extract the necessary
+-# objects, libraries and library flags.
+-AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
+-dnl we can't use the lt_simple_compile_test_code here,
+-dnl because it contains code intended for an executable,
+-dnl not a library. It's possible we should let each
+-dnl tag define a new lt_????_link_test_code variable,
+-dnl but it's only used here...
+-ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
+-int a;
+-void foo (void) { a = 0; }
+-EOF
+-],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
+-class Foo
+-{
+-public:
+- Foo (void) { a = 0; }
+-private:
+- int a;
+-};
+-EOF
+-],[$1],[F77],[cat > conftest.$ac_ext <<EOF
+- subroutine foo
+- implicit none
+- integer*4 a
+- a=0
+- return
+- end
+-EOF
+-],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
+-public class foo {
+- private int a;
+- public void bar (void) {
+- a = 0;
+- }
+-};
+-EOF
+-])
+-dnl Parse the compiler output and extract the necessary
+-dnl objects, libraries and library flags.
+-if AC_TRY_EVAL(ac_compile); then
+- # Parse the compiler output and extract the necessary
+- # objects, libraries and library flags.
+-
+- # Sentinel used to keep track of whether or not we are before
+- # the conftest object file.
+- pre_test_object_deps_done=no
+-
+- # The `*' in the case matches for architectures that use `case' in
+- # $output_verbose_cmd can trigger glob expansion during the loop
+- # eval without this substitution.
+- output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
+-
+- for p in `eval $output_verbose_link_cmd`; do
+- case $p in
+-
+- -L* | -R* | -l*)
+- # Some compilers place space between "-{L,R}" and the path.
+- # Remove the space.
+- if test $p = "-L" \
+- || test $p = "-R"; then
+- prev=$p
+- continue
+- else
+- prev=
+- fi
+-
+- if test "$pre_test_object_deps_done" = no; then
+- case $p in
+- -L* | -R*)
+- # Internal compiler library paths should come after those
+- # provided the user. The postdeps already come after the
+- # user supplied libs so there is no need to process them.
+- if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
+- _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+- else
+- _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+- fi
+- ;;
+- # The "-l" case would never come before the object being
+- # linked, so don't bother handling this case.
+- esac
+- else
+- if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
+- _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
+- else
+- _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
+- fi
+- fi
+- ;;
+-
+- *.$objext)
+- # This assumes that the test object file only shows up
+- # once in the compiler output.
+- if test "$p" = "conftest.$objext"; then
+- pre_test_object_deps_done=yes
+- continue
+- fi
+-
+- if test "$pre_test_object_deps_done" = no; then
+- if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
+- _LT_AC_TAGVAR(predep_objects, $1)="$p"
+- else
+- _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
+- fi
+- else
+- if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
+- _LT_AC_TAGVAR(postdep_objects, $1)="$p"
+- else
+- _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
+- fi
+- fi
+- ;;
+-
+- *) ;; # Ignore the rest.
+-
+- esac
+- done
+-
+- # Clean up.
+- rm -f a.out a.exe
+-else
+- echo "libtool.m4: error: problem compiling $1 test program"
+-fi
+-
+-$rm -f confest.$objext
+-
+-# PORTME: override above test on systems where it is broken
+-ifelse([$1],[CXX],
+-[case $host_os in
+-interix3*)
+- # Interix 3.5 installs completely hosed .la files for C++, so rather than
+- # hack all around it, let's just trust "g++" to DTRT.
+- _LT_AC_TAGVAR(predep_objects,$1)=
+- _LT_AC_TAGVAR(postdep_objects,$1)=
+- _LT_AC_TAGVAR(postdeps,$1)=
+- ;;
+-
+-solaris*)
+- case $cc_basename in
+- CC*)
+- # Adding this requires a known-good setup of shared libraries for
+- # Sun compiler versions before 5.6, else PIC objects from an old
+- # archive will be linked into the output, leading to subtle bugs.
+- _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
+- ;;
+- esac
+- ;;
+-esac
+-])
+-
+-case " $_LT_AC_TAGVAR(postdeps, $1) " in
+-*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+-esac
+-])# AC_LIBTOOL_POSTDEP_PREDEP
+-
+-# AC_LIBTOOL_LANG_F77_CONFIG
+-# --------------------------
+-# Ensure that the configuration vars for the C compiler are
+-# suitably defined. Those variables are subsequently used by
+-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+-AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
+-AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
+-[AC_REQUIRE([AC_PROG_F77])
+-AC_LANG_PUSH(Fortran 77)
+-
+-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+-_LT_AC_TAGVAR(always_export_symbols, $1)=no
+-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+-_LT_AC_TAGVAR(hardcode_direct, $1)=no
+-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+-_LT_AC_TAGVAR(module_cmds, $1)=
+-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+-_LT_AC_TAGVAR(no_undefined_flag, $1)=
+-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+-
+-# Source file extension for f77 test sources.
+-ac_ext=f
+-
+-# Object file extension for compiled f77 test sources.
+-objext=o
+-_LT_AC_TAGVAR(objext, $1)=$objext
+-
+-# Code to be used in simple compile tests
+-lt_simple_compile_test_code=" subroutine t\n return\n end\n"
+-
+-# Code to be used in simple link tests
+-lt_simple_link_test_code=" program t\n end\n"
+-
+-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+-_LT_AC_SYS_COMPILER
+-
+-# save warnings/boilerplate of simple test code
+-_LT_COMPILER_BOILERPLATE
+-_LT_LINKER_BOILERPLATE
+-
+-# Allow CC to be a program name with arguments.
+-lt_save_CC="$CC"
+-CC=${F77-"f77"}
+-compiler=$CC
+-_LT_AC_TAGVAR(compiler, $1)=$CC
+-_LT_CC_BASENAME([$compiler])
+-
+-AC_MSG_CHECKING([if libtool supports shared libraries])
+-AC_MSG_RESULT([$can_build_shared])
+-
+-AC_MSG_CHECKING([whether to build shared libraries])
+-test "$can_build_shared" = "no" && enable_shared=no
+-
+-# On AIX, shared libraries and static libraries use the same namespace, and
+-# are all built from PIC.
+-case $host_os in
+-aix3*)
+- test "$enable_shared" = yes && enable_static=no
+- if test -n "$RANLIB"; then
+- archive_cmds="$archive_cmds~\$RANLIB \$lib"
+- postinstall_cmds='$RANLIB $lib'
+- fi
+- ;;
+-aix4* | aix5*)
+- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+- test "$enable_shared" = yes && enable_static=no
+- fi
+- ;;
+-esac
+-AC_MSG_RESULT([$enable_shared])
+-
+-AC_MSG_CHECKING([whether to build static libraries])
+-# Make sure either enable_shared or enable_static is yes.
+-test "$enable_shared" = yes || enable_static=yes
+-AC_MSG_RESULT([$enable_static])
+-
+-_LT_AC_TAGVAR(GCC, $1)="$G77"
+-_LT_AC_TAGVAR(LD, $1)="$LD"
+-
+-AC_LIBTOOL_PROG_COMPILER_PIC($1)
+-AC_LIBTOOL_PROG_CC_C_O($1)
+-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+-AC_LIBTOOL_PROG_LD_SHLIBS($1)
+-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+-
+-AC_LIBTOOL_CONFIG($1)
+-
+-AC_LANG_POP
+-CC="$lt_save_CC"
+-])# AC_LIBTOOL_LANG_F77_CONFIG
+-
+-
+-# AC_LIBTOOL_LANG_GCJ_CONFIG
+-# --------------------------
+-# Ensure that the configuration vars for the C compiler are
+-# suitably defined. Those variables are subsequently used by
+-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+-AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
+-AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
+-[AC_LANG_SAVE
+-
+-# Source file extension for Java test sources.
+-ac_ext=java
+-
+-# Object file extension for compiled Java test sources.
+-objext=o
+-_LT_AC_TAGVAR(objext, $1)=$objext
+-
+-# Code to be used in simple compile tests
+-lt_simple_compile_test_code="class foo {}\n"
+-
+-# Code to be used in simple link tests
+-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }\n'
+-
+-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+-_LT_AC_SYS_COMPILER
+-
+-# save warnings/boilerplate of simple test code
+-_LT_COMPILER_BOILERPLATE
+-_LT_LINKER_BOILERPLATE
+-
+-# Allow CC to be a program name with arguments.
+-lt_save_CC="$CC"
+-CC=${GCJ-"gcj"}
+-compiler=$CC
+-_LT_AC_TAGVAR(compiler, $1)=$CC
+-_LT_CC_BASENAME([$compiler])
+-
+-# GCJ did not exist at the time GCC didn't implicitly link libc in.
+-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+-
+-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+-
+-## CAVEAT EMPTOR:
+-## There is no encapsulation within the following macros, do not change
+-## the running order or otherwise move them around unless you know exactly
+-## what you are doing...
+-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+-AC_LIBTOOL_PROG_COMPILER_PIC($1)
+-AC_LIBTOOL_PROG_CC_C_O($1)
+-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+-AC_LIBTOOL_PROG_LD_SHLIBS($1)
+-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+-
+-AC_LIBTOOL_CONFIG($1)
+-
+-AC_LANG_RESTORE
+-CC="$lt_save_CC"
+-])# AC_LIBTOOL_LANG_GCJ_CONFIG
+-
+-
+-# AC_LIBTOOL_LANG_RC_CONFIG
+-# -------------------------
+-# Ensure that the configuration vars for the Windows resource compiler are
+-# suitably defined. Those variables are subsequently used by
+-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+-AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
+-AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
+-[AC_LANG_SAVE
+-
+-# Source file extension for RC test sources.
+-ac_ext=rc
+-
+-# Object file extension for compiled RC test sources.
+-objext=o
+-_LT_AC_TAGVAR(objext, $1)=$objext
+-
+-# Code to be used in simple compile tests
+-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+-
+-# Code to be used in simple link tests
+-lt_simple_link_test_code="$lt_simple_compile_test_code"
+-
+-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+-_LT_AC_SYS_COMPILER
+-
+-# save warnings/boilerplate of simple test code
+-_LT_COMPILER_BOILERPLATE
+-_LT_LINKER_BOILERPLATE
+-
+-# Allow CC to be a program name with arguments.
+-lt_save_CC="$CC"
+-CC=${RC-"windres"}
+-compiler=$CC
+-_LT_AC_TAGVAR(compiler, $1)=$CC
+-_LT_CC_BASENAME([$compiler])
+-_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+-
+-AC_LIBTOOL_CONFIG($1)
+-
+-AC_LANG_RESTORE
+-CC="$lt_save_CC"
+-])# AC_LIBTOOL_LANG_RC_CONFIG
+-
+-
+-# AC_LIBTOOL_CONFIG([TAGNAME])
+-# ----------------------------
+-# If TAGNAME is not passed, then create an initial libtool script
+-# with a default configuration from the untagged config vars. Otherwise
+-# add code to config.status for appending the configuration named by
+-# TAGNAME from the matching tagged config vars.
+-AC_DEFUN([AC_LIBTOOL_CONFIG],
+-[# The else clause should only fire when bootstrapping the
+-# libtool distribution, otherwise you forgot to ship ltmain.sh
+-# with your package, and you will get complaints that there are
+-# no rules to generate ltmain.sh.
+-if test -f "$ltmain"; then
+- # See if we are running on zsh, and set the options which allow our commands through
+- # without removal of \ escapes.
+- if test -n "${ZSH_VERSION+set}" ; then
+- setopt NO_GLOB_SUBST
+- fi
+- # Now quote all the things that may contain metacharacters while being
+- # careful not to overquote the AC_SUBSTed values. We take copies of the
+- # variables and quote the copies for generation of the libtool script.
+- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+- SED SHELL STRIP \
+- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+- deplibs_check_method reload_flag reload_cmds need_locks \
+- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+- lt_cv_sys_global_symbol_to_c_name_address \
+- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+- old_postinstall_cmds old_postuninstall_cmds \
+- _LT_AC_TAGVAR(compiler, $1) \
+- _LT_AC_TAGVAR(CC, $1) \
+- _LT_AC_TAGVAR(LD, $1) \
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
+- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
+- _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
+- _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
+- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
+- _LT_AC_TAGVAR(old_archive_cmds, $1) \
+- _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
+- _LT_AC_TAGVAR(predep_objects, $1) \
+- _LT_AC_TAGVAR(postdep_objects, $1) \
+- _LT_AC_TAGVAR(predeps, $1) \
+- _LT_AC_TAGVAR(postdeps, $1) \
+- _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
+- _LT_AC_TAGVAR(archive_cmds, $1) \
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
+- _LT_AC_TAGVAR(postinstall_cmds, $1) \
+- _LT_AC_TAGVAR(postuninstall_cmds, $1) \
+- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
+- _LT_AC_TAGVAR(allow_undefined_flag, $1) \
+- _LT_AC_TAGVAR(no_undefined_flag, $1) \
+- _LT_AC_TAGVAR(export_symbols_cmds, $1) \
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
+- _LT_AC_TAGVAR(hardcode_automatic, $1) \
+- _LT_AC_TAGVAR(module_cmds, $1) \
+- _LT_AC_TAGVAR(module_expsym_cmds, $1) \
+- _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
+- _LT_AC_TAGVAR(exclude_expsyms, $1) \
+- _LT_AC_TAGVAR(include_expsyms, $1); do
+-
+- case $var in
+- _LT_AC_TAGVAR(old_archive_cmds, $1) | \
+- _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
+- _LT_AC_TAGVAR(archive_cmds, $1) | \
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
+- _LT_AC_TAGVAR(module_cmds, $1) | \
+- _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
+- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
+- _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
+- extract_expsyms_cmds | reload_cmds | finish_cmds | \
+- postinstall_cmds | postuninstall_cmds | \
+- old_postinstall_cmds | old_postuninstall_cmds | \
+- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+- # Double-quote double-evaled strings.
+- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+- ;;
+- *)
+- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+- ;;
+- esac
+- done
+-
+- case $lt_echo in
+- *'\[$]0 --fallback-echo"')
+- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
+- ;;
+- esac
+-
+-ifelse([$1], [],
+- [cfgfile="${ofile}T"
+- trap "$rm \"$cfgfile\"; exit 1" 1 2 15
+- $rm -f "$cfgfile"
+- AC_MSG_NOTICE([creating $ofile])],
+- [cfgfile="$ofile"])
+-
+- cat <<__EOF__ >> "$cfgfile"
+-ifelse([$1], [],
+-[#! $SHELL
+-
+-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+-#
+-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+-# Free Software Foundation, Inc.
+-#
+-# This file is part of GNU Libtool:
+-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+-#
+-# This program is free software; you can redistribute it and/or modify
+-# it under the terms of the GNU General Public License as published by
+-# the Free Software Foundation; either version 2 of the License, or
+-# (at your option) any later version.
+-#
+-# This program is distributed in the hope that it will be useful, but
+-# WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+-# General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+-#
+-# As a special exception to the GNU General Public License, if you
+-# distribute this file as part of a program that contains a
+-# configuration script generated by Autoconf, you may include it under
+-# the same distribution terms that you use for the rest of that program.
+-
+-# A sed program that does not truncate output.
+-SED=$lt_SED
+-
+-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+-Xsed="$SED -e 1s/^X//"
+-
+-# The HP-UX ksh and POSIX shell print the target directory to stdout
+-# if CDPATH is set.
+-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+-
+-# The names of the tagged configurations supported by this script.
+-available_tags=
+-
+-# ### BEGIN LIBTOOL CONFIG],
+-[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
+-
+-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+-
+-# Shell to use when invoking shell scripts.
+-SHELL=$lt_SHELL
+-
+-# Whether or not to build shared libraries.
+-build_libtool_libs=$enable_shared
+-
+-# Whether or not to build static libraries.
+-build_old_libs=$enable_static
+-
+-# Whether or not to add -lc for building shared libraries.
+-build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
+-
+-# Whether or not to disallow shared libs when runtime libs are static
+-allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
+-
+-# Whether or not to optimize for fast installation.
+-fast_install=$enable_fast_install
+-
+-# The host system.
+-host_alias=$host_alias
+-host=$host
+-host_os=$host_os
+-
+-# The build system.
+-build_alias=$build_alias
+-build=$build
+-build_os=$build_os
+-
+-# An echo program that does not interpret backslashes.
+-echo=$lt_echo
+-
+-# The archiver.
+-AR=$lt_AR
+-AR_FLAGS=$lt_AR_FLAGS
+-
+-# A C compiler.
+-LTCC=$lt_LTCC
+-
+-# LTCC compiler flags.
+-LTCFLAGS=$lt_LTCFLAGS
+-
+-# A language-specific compiler.
+-CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
+-
+-# Is the compiler the GNU C compiler?
+-with_gcc=$_LT_AC_TAGVAR(GCC, $1)
+-
+-# An ERE matcher.
+-EGREP=$lt_EGREP
+-
+-# The linker used to build libraries.
+-LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
+-
+-# Whether we need hard or soft links.
+-LN_S=$lt_LN_S
+-
+-# A BSD-compatible nm program.
+-NM=$lt_NM
+-
+-# A symbol stripping program
+-STRIP=$lt_STRIP
+-
+-# Used to examine libraries when file_magic_cmd begins "file"
+-MAGIC_CMD=$MAGIC_CMD
+-
+-# Used on cygwin: DLL creation program.
+-DLLTOOL="$DLLTOOL"
+-
+-# Used on cygwin: object dumper.
+-OBJDUMP="$OBJDUMP"
+-
+-# Used on cygwin: assembler.
+-AS="$AS"
+-
+-# The name of the directory that contains temporary libtool files.
+-objdir=$objdir
+-
+-# How to create reloadable object files.
+-reload_flag=$lt_reload_flag
+-reload_cmds=$lt_reload_cmds
+-
+-# How to pass a linker flag through the compiler.
+-wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+-
+-# Object file suffix (normally "o").
+-objext="$ac_objext"
+-
+-# Old archive suffix (normally "a").
+-libext="$libext"
+-
+-# Shared library suffix (normally ".so").
+-shrext_cmds='$shrext_cmds'
+-
+-# Executable file suffix (normally "").
+-exeext="$exeext"
+-
+-# Additional compiler flags for building library objects.
+-pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
+-pic_mode=$pic_mode
+-
+-# What is the maximum length of a command?
+-max_cmd_len=$lt_cv_sys_max_cmd_len
+-
+-# Does compiler simultaneously support -c and -o options?
+-compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
+-
+-# Must we lock files when doing compilation?
+-need_locks=$lt_need_locks
+-
+-# Do we need the lib prefix for modules?
+-need_lib_prefix=$need_lib_prefix
+-
+-# Do we need a version for libraries?
+-need_version=$need_version
+-
+-# Whether dlopen is supported.
+-dlopen_support=$enable_dlopen
+-
+-# Whether dlopen of programs is supported.
+-dlopen_self=$enable_dlopen_self
+-
+-# Whether dlopen of statically linked programs is supported.
+-dlopen_self_static=$enable_dlopen_self_static
+-
+-# Compiler flag to prevent dynamic linking.
+-link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
+-
+-# Compiler flag to turn off builtin functions.
+-no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
+-
+-# Compiler flag to allow reflexive dlopens.
+-export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
+-
+-# Compiler flag to generate shared objects directly from archives.
+-whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
+-
+-# Compiler flag to generate thread-safe objects.
+-thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
+-
+-# Library versioning type.
+-version_type=$version_type
+-
+-# Format of library name prefix.
+-libname_spec=$lt_libname_spec
+-
+-# List of archive names. First name is the real one, the rest are links.
+-# The last name is the one that the linker finds with -lNAME.
+-library_names_spec=$lt_library_names_spec
+-
+-# The coded name of the library, if different from the real name.
+-soname_spec=$lt_soname_spec
+-
+-# Commands used to build and install an old-style archive.
+-RANLIB=$lt_RANLIB
+-old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
+-old_postinstall_cmds=$lt_old_postinstall_cmds
+-old_postuninstall_cmds=$lt_old_postuninstall_cmds
+-
+-# Create an old-style archive from a shared archive.
+-old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
+-
+-# Create a temporary old-style archive to link instead of a shared archive.
+-old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
+-
+-# Commands used to build and install a shared archive.
+-archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
+-archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
+-postinstall_cmds=$lt_postinstall_cmds
+-postuninstall_cmds=$lt_postuninstall_cmds
+-
+-# Commands used to build a loadable module (assumed same as above if empty)
+-module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
+-module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
+-
+-# Commands to strip libraries.
+-old_striplib=$lt_old_striplib
+-striplib=$lt_striplib
+-
+-# Dependencies to place before the objects being linked to create a
+-# shared library.
+-predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
+-
+-# Dependencies to place after the objects being linked to create a
+-# shared library.
+-postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
+-
+-# Dependencies to place before the objects being linked to create a
+-# shared library.
+-predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
+-
+-# Dependencies to place after the objects being linked to create a
+-# shared library.
+-postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
+-
+-# The library search path used internally by the compiler when linking
+-# a shared library.
+-compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
+-
+-# Method to check whether dependent libraries are shared objects.
+-deplibs_check_method=$lt_deplibs_check_method
+-
+-# Command to use when deplibs_check_method == file_magic.
+-file_magic_cmd=$lt_file_magic_cmd
+-
+-# Flag that allows shared libraries with undefined symbols to be built.
+-allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
+-
+-# Flag that forces no undefined symbols.
+-no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
+-
+-# Commands used to finish a libtool library installation in a directory.
+-finish_cmds=$lt_finish_cmds
+-
+-# Same as above, but a single script fragment to be evaled but not shown.
+-finish_eval=$lt_finish_eval
+-
+-# Take the output of nm and produce a listing of raw symbols and C names.
+-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+-
+-# Transform the output of nm in a proper C declaration
+-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+-
+-# Transform the output of nm in a C name address pair
+-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+-
+-# This is the shared library runtime path variable.
+-runpath_var=$runpath_var
+-
+-# This is the shared library path variable.
+-shlibpath_var=$shlibpath_var
+-
+-# Is shlibpath searched before the hard-coded library search path?
+-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+-
+-# How to hardcode a shared library path into an executable.
+-hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
+-
+-# Whether we should hardcode library paths into libraries.
+-hardcode_into_libs=$hardcode_into_libs
+-
+-# Flag to hardcode \$libdir into a binary during linking.
+-# This must work even if \$libdir does not exist.
+-hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
+-
+-# If ld is used when linking, flag to hardcode \$libdir into
+-# a binary during linking. This must work even if \$libdir does
+-# not exist.
+-hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
+-
+-# Whether we need a single -rpath flag with a separated argument.
+-hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
+-
+-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+-# resulting binary.
+-hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
+-
+-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+-# resulting binary.
+-hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
+-
+-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+-# the resulting binary.
+-hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
+-
+-# Set to yes if building a shared library automatically hardcodes DIR into the library
+-# and all subsequent libraries and executables linked against it.
+-hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
+-
+-# Variables whose values should be saved in libtool wrapper scripts and
+-# restored at relink time.
+-variables_saved_for_relink="$variables_saved_for_relink"
+-
+-# Whether libtool must link a program against all its dependency libraries.
+-link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
+-
+-# Compile-time system search path for libraries
+-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+-
+-# Run-time system search path for libraries
+-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+-
+-# Fix the shell variable \$srcfile for the compiler.
+-fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)"
+-
+-# Set to yes if exported symbols are required.
+-always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
+-
+-# The commands to list exported symbols.
+-export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
+-
+-# The commands to extract the exported symbol list from a shared archive.
+-extract_expsyms_cmds=$lt_extract_expsyms_cmds
+-
+-# Symbols that should not be listed in the preloaded symbols.
+-exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
+-
+-# Symbols that must always be exported.
+-include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
+-
+-ifelse([$1],[],
+-[# ### END LIBTOOL CONFIG],
+-[# ### END LIBTOOL TAG CONFIG: $tagname])
+-
+-__EOF__
+-
+-ifelse([$1],[], [
+- case $host_os in
+- aix3*)
+- cat <<\EOF >> "$cfgfile"
+-
+-# AIX sometimes has problems with the GCC collect2 program. For some
+-# reason, if we set the COLLECT_NAMES environment variable, the problems
+-# vanish in a puff of smoke.
+-if test "X${COLLECT_NAMES+set}" != Xset; then
+- COLLECT_NAMES=
+- export COLLECT_NAMES
+-fi
+-EOF
+- ;;
+- esac
+-
+- # We use sed instead of cat because bash on DJGPP gets confused if
+- # if finds mixed CR/LF and LF-only lines. Since sed operates in
+- # text mode, it properly converts lines to CR/LF. This bash problem
+- # is reportedly fixed, but why not run on old versions too?
+- sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+-
+- mv -f "$cfgfile" "$ofile" || \
+- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+- chmod +x "$ofile"
+-])
+-else
+- # If there is no Makefile yet, we rely on a make rule to execute
+- # `config.status --recheck' to rerun these tests and create the
+- # libtool script then.
+- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+- if test -f "$ltmain_in"; then
+- test -f Makefile && make "$ltmain"
+- fi
+-fi
+-])# AC_LIBTOOL_CONFIG
+-
+-
+-# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
+-# -------------------------------------------
+-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
+-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+-
+-_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+-
+-if test "$GCC" = yes; then
+- _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+-
+- AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+- lt_cv_prog_compiler_rtti_exceptions,
+- [-fno-rtti -fno-exceptions], [],
+- [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+-fi
+-])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
+-
+-
+-# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+-# ---------------------------------
+-AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
+-[AC_REQUIRE([AC_CANONICAL_HOST])
+-AC_REQUIRE([AC_PROG_NM])
+-AC_REQUIRE([AC_OBJEXT])
+-# Check for command to grab the raw symbol name followed by C symbol from nm.
+-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+-[
+-# These are sane defaults that work on at least a few old systems.
+-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+-
+-# Character class describing NM global symbol codes.
+-symcode='[[BCDEGRST]]'
+-
+-# Regexp to match symbols that can be accessed directly from C.
+-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+-
+-# Transform an extracted symbol line into a proper C declaration
+-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
+-
+-# Transform an extracted symbol line into symbol name and symbol address
+-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+-
+-# Define system-specific variables.
+-case $host_os in
+-aix*)
+- symcode='[[BCDT]]'
+- ;;
+-cygwin* | mingw* | pw32*)
+- symcode='[[ABCDGISTW]]'
+- ;;
+-hpux*) # Its linker distinguishes data from code symbols
+- if test "$host_cpu" = ia64; then
+- symcode='[[ABCDEGRST]]'
+- fi
+- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+- ;;
+-linux*)
+- if test "$host_cpu" = ia64; then
+- symcode='[[ABCDGIRSTW]]'
+- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+- fi
+- ;;
+-irix* | nonstopux*)
+- symcode='[[BCDEGRST]]'
+- ;;
+-osf*)
+- symcode='[[BCDEGQRST]]'
+- ;;
+-solaris*)
+- symcode='[[BDRT]]'
+- ;;
+-sco3.2v5*)
+- symcode='[[DT]]'
+- ;;
+-sysv4.2uw2*)
+- symcode='[[DT]]'
+- ;;
+-sysv5* | sco5v6* | unixware* | OpenUNIX*)
+- symcode='[[ABDT]]'
+- ;;
+-sysv4)
+- symcode='[[DFNSTU]]'
+- ;;
+-esac
+-
+-# Handle CRLF in mingw tool chain
+-opt_cr=
+-case $build_os in
+-mingw*)
+- opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+- ;;
+-esac
+-
+-# If we're using GNU nm, then use its standard symbol codes.
+-case `$NM -V 2>&1` in
+-*GNU* | *'with BFD'*)
+- symcode='[[ABCDGIRSTW]]' ;;
+-esac
+-
+-# Try without a prefix undercore, then with it.
+-for ac_symprfx in "" "_"; do
+-
+- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+- symxfrm="\\1 $ac_symprfx\\2 \\2"
+-
+- # Write the raw and C identifiers.
+- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+-
+- # Check to see that the pipe works correctly.
+- pipe_works=no
+-
+- rm -f conftest*
+- cat > conftest.$ac_ext <<EOF
+-#ifdef __cplusplus
+-extern "C" {
+-#endif
+-char nm_test_var;
+-void nm_test_func(){}
+-#ifdef __cplusplus
+-}
+-#endif
+-int main(){nm_test_var='a';nm_test_func();return(0);}
+-EOF
+-
+- if AC_TRY_EVAL(ac_compile); then
+- # Now try to grab the symbols.
+- nlist=conftest.nm
+- if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+- # Try sorting and uniquifying the output.
+- if sort "$nlist" | uniq > "$nlist"T; then
+- mv -f "$nlist"T "$nlist"
+- else
+- rm -f "$nlist"T
+- fi
+-
+- # Make sure that we snagged all the symbols we need.
+- if grep ' nm_test_var$' "$nlist" >/dev/null; then
+- if grep ' nm_test_func$' "$nlist" >/dev/null; then
+- cat <<EOF > conftest.$ac_ext
+-#ifdef __cplusplus
+-extern "C" {
+-#endif
+-
+-EOF
+- # Now generate the symbol file.
+- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
+-
+- cat <<EOF >> conftest.$ac_ext
+-#if defined (__STDC__) && __STDC__
+-# define lt_ptr_t void *
+-#else
+-# define lt_ptr_t char *
+-# define const
+-#endif
+-
+-/* The mapping between symbol names and symbols. */
+-const struct {
+- const char *name;
+- lt_ptr_t address;
+-}
+-lt_preloaded_symbols[[]] =
+-{
+-EOF
+- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
+- cat <<\EOF >> conftest.$ac_ext
+- {0, (lt_ptr_t) 0}
+-};
+-
+-#ifdef __cplusplus
+-}
+-#endif
+-EOF
+- # Now try linking the two files.
+- mv conftest.$ac_objext conftstm.$ac_objext
+- lt_save_LIBS="$LIBS"
+- lt_save_CFLAGS="$CFLAGS"
+- LIBS="conftstm.$ac_objext"
+- CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+- pipe_works=yes
+- fi
+- LIBS="$lt_save_LIBS"
+- CFLAGS="$lt_save_CFLAGS"
+- else
+- echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+- fi
+- else
+- echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+- fi
+- else
+- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+- fi
+- else
+- echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+- cat conftest.$ac_ext >&5
+- fi
+- rm -f conftest* conftst*
+-
+- # Do not use the global_symbol_pipe unless it works.
+- if test "$pipe_works" = yes; then
+- break
+- else
+- lt_cv_sys_global_symbol_pipe=
+- fi
+-done
+-])
+-if test -z "$lt_cv_sys_global_symbol_pipe"; then
+- lt_cv_sys_global_symbol_to_cdecl=
+-fi
+-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+- AC_MSG_RESULT(failed)
+-else
+- AC_MSG_RESULT(ok)
+-fi
+-]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+-
+-
+-# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
+-# ---------------------------------------
+-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
+-[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
+-_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+-_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
+-
+-AC_MSG_CHECKING([for $compiler option to produce PIC])
+- ifelse([$1],[CXX],[
+- # C++ specific cases for pic, static, wl, etc.
+- if test "$GXX" = yes; then
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+-
+- case $host_os in
+- aix*)
+- # All AIX code is PIC.
+- if test "$host_cpu" = ia64; then
+- # AIX 5 now supports IA64 processor
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+- fi
+- ;;
+- amigaos*)
+- # FIXME: we need at least 68020 code to build shared libraries, but
+- # adding the `-m68020' flag to GCC prevents building anything better,
+- # like `-m68040'.
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+- ;;
+- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+- # PIC is the default for these OSes.
+- ;;
+- mingw* | os2* | pw32*)
+- # This hack is so that the source file can tell whether it is being
+- # built for inclusion in a dll (and should export symbols for example).
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+- ;;
+- darwin* | rhapsody*)
+- # PIC is the default on this platform
+- # Common symbols not allowed in MH_DYLIB files
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+- ;;
+- *djgpp*)
+- # DJGPP does not support shared libraries at all
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+- ;;
+- interix3*)
+- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+- # Instead, we relocate shared libraries at runtime.
+- ;;
+- sysv4*MP*)
+- if test -d /usr/nec; then
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+- fi
+- ;;
+- hpux*)
+- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+- # not for PA HP-UX.
+- case $host_cpu in
+- hppa*64*|ia64*)
+- ;;
+- *)
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+- ;;
+- esac
+- ;;
+- *)
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+- ;;
+- esac
+- else
+- case $host_os in
+- aix4* | aix5*)
+- # All AIX code is PIC.
+- if test "$host_cpu" = ia64; then
+- # AIX 5 now supports IA64 processor
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+- else
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+- fi
+- ;;
+- chorus*)
+- case $cc_basename in
+- cxch68*)
+- # Green Hills C++ Compiler
+- # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+- ;;
+- esac
+- ;;
+- darwin*)
+- # PIC is the default on this platform
+- # Common symbols not allowed in MH_DYLIB files
+- case $cc_basename in
+- xlc*)
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- ;;
+- esac
+- ;;
+- dgux*)
+- case $cc_basename in
+- ec++*)
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+- ;;
+- ghcx*)
+- # Green Hills C++ Compiler
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+- ;;
+- *)
+- ;;
+- esac
+- ;;
+- freebsd* | kfreebsd*-gnu | dragonfly*)
+- # FreeBSD uses GNU C++
+- ;;
+- hpux9* | hpux10* | hpux11*)
+- case $cc_basename in
+- CC*)
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+- if test "$host_cpu" != ia64; then
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+- fi
+- ;;
+- aCC*)
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+- case $host_cpu in
+- hppa*64*|ia64*)
+- # +Z the default
+- ;;
+- *)
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+- ;;
+- esac
+- ;;
+- *)
+- ;;
+- esac
+- ;;
+- interix*)
+- # This is c89, which is MS Visual C++ (no shared libs)
+- # Anyone wants to do a port?
+- ;;
+- irix5* | irix6* | nonstopux*)
+- case $cc_basename in
+- CC*)
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+- # CC pic flag -KPIC is the default.
+- ;;
+- *)
+- ;;
+- esac
+- ;;
+- linux*)
+- case $cc_basename in
+- KCC*)
+- # KAI C++ Compiler
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+- ;;
+- icpc* | ecpc*)
+- # Intel C++
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+- ;;
+- pgCC*)
+- # Portland Group C++ compiler.
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+- ;;
+- cxx*)
+- # Compaq C++
+- # Make sure the PIC flag is empty. It appears that all Alpha
+- # Linux and Compaq Tru64 Unix objects are PIC.
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+- ;;
+- *)
+- ;;
+- esac
+- ;;
+- lynxos*)
+- ;;
+- m88k*)
+- ;;
+- mvs*)
+- case $cc_basename in
+- cxx*)
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+- ;;
+- *)
+- ;;
+- esac
+- ;;
+- netbsd*)
+- ;;
+- osf3* | osf4* | osf5*)
+- case $cc_basename in
+- KCC*)
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+- ;;
+- RCC*)
+- # Rational C++ 2.4.1
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+- ;;
+- cxx*)
+- # Digital/Compaq C++
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- # Make sure the PIC flag is empty. It appears that all Alpha
+- # Linux and Compaq Tru64 Unix objects are PIC.
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+- ;;
+- *)
+- ;;
+- esac
+- ;;
+- psos*)
+- ;;
+- solaris*)
+- case $cc_basename in
+- CC*)
+- # Sun C++ 4.2, 5.x and Centerline C++
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+- ;;
+- gcx*)
+- # Green Hills C++ Compiler
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+- ;;
+- *)
+- ;;
+- esac
+- ;;
+- sunos4*)
+- case $cc_basename in
+- CC*)
+- # Sun C++ 4.x
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+- ;;
+- lcc*)
+- # Lucid
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+- ;;
+- *)
+- ;;
+- esac
+- ;;
+- tandem*)
+- case $cc_basename in
+- NCC*)
+- # NonStop-UX NCC 3.20
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+- ;;
+- *)
+- ;;
+- esac
+- ;;
+- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+- case $cc_basename in
+- CC*)
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+- ;;
+- esac
+- ;;
+- vxworks*)
+- ;;
+- *)
+- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+- ;;
+- esac
+- fi
+-],
+-[
+- if test "$GCC" = yes; then
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+-
+- case $host_os in
+- aix*)
+- # All AIX code is PIC.
+- if test "$host_cpu" = ia64; then
+- # AIX 5 now supports IA64 processor
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+- fi
+- ;;
+-
+- amigaos*)
+- # FIXME: we need at least 68020 code to build shared libraries, but
+- # adding the `-m68020' flag to GCC prevents building anything better,
+- # like `-m68040'.
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+- ;;
+-
+- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+- # PIC is the default for these OSes.
+- ;;
+-
+- mingw* | pw32* | os2*)
+- # This hack is so that the source file can tell whether it is being
+- # built for inclusion in a dll (and should export symbols for example).
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+- ;;
+-
+- darwin* | rhapsody*)
+- # PIC is the default on this platform
+- # Common symbols not allowed in MH_DYLIB files
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+- ;;
+-
+- interix3*)
+- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+- # Instead, we relocate shared libraries at runtime.
+- ;;
+-
+- msdosdjgpp*)
+- # Just because we use GCC doesn't mean we suddenly get shared libraries
+- # on systems that don't support them.
+- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+- enable_shared=no
+- ;;
+-
+- sysv4*MP*)
+- if test -d /usr/nec; then
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+- fi
+- ;;
+-
+- hpux*)
+- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+- # not for PA HP-UX.
+- case $host_cpu in
+- hppa*64*|ia64*)
+- # +Z the default
+- ;;
+- *)
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+- ;;
+- esac
+- ;;
+-
+- *)
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+- ;;
+- esac
+- else
+- # PORTME Check for flag to pass linker flags through the system compiler.
+- case $host_os in
+- aix*)
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- if test "$host_cpu" = ia64; then
+- # AIX 5 now supports IA64 processor
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+- else
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+- fi
+- ;;
+- darwin*)
+- # PIC is the default on this platform
+- # Common symbols not allowed in MH_DYLIB files
+- case $cc_basename in
+- xlc*)
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- ;;
+- esac
+- ;;
+-
+- mingw* | pw32* | os2*)
+- # This hack is so that the source file can tell whether it is being
+- # built for inclusion in a dll (and should export symbols for example).
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+- ;;
+-
+- hpux9* | hpux10* | hpux11*)
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+- # not for PA HP-UX.
+- case $host_cpu in
+- hppa*64*|ia64*)
+- # +Z the default
+- ;;
+- *)
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+- ;;
+- esac
+- # Is there a better lt_prog_compiler_static that works with the bundled CC?
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+- ;;
+-
+- irix5* | irix6* | nonstopux*)
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- # PIC (with -KPIC) is the default.
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+- ;;
+-
+- newsos6)
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+- ;;
+-
+- linux*)
+- case $cc_basename in
+- icc* | ecc*)
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+- ;;
+- pgcc* | pgf77* | pgf90* | pgf95*)
+- # Portland Group compilers (*not* the Pentium gcc compiler,
+- # which looks to be a dead project)
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+- ;;
+- ccc*)
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- # All Alpha code is PIC.
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+- ;;
+- esac
+- ;;
+-
+- osf3* | osf4* | osf5*)
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- # All OSF/1 code is PIC.
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+- ;;
+-
+- solaris*)
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+- case $cc_basename in
+- f77* | f90* | f95*)
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+- *)
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+- esac
+- ;;
+-
+- sunos4*)
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+- ;;
+-
+- sysv4 | sysv4.2uw2* | sysv4.3*)
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+- ;;
+-
+- sysv4*MP*)
+- if test -d /usr/nec ;then
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+- fi
+- ;;
+-
+- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+- ;;
+-
+- unicos*)
+- _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+- ;;
+-
+- uts4*)
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+- _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+- ;;
+-
+- *)
+- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+- ;;
+- esac
+- fi
+-])
+-AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
+-
+-#
+-# Check to make sure the PIC flag actually works.
+-#
+-if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
+- AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
+- _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
+- [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
+- [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
+- "" | " "*) ;;
+- *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+- esac],
+- [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+- _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+-fi
+-case $host_os in
+- # For platforms which do not support PIC, -DPIC is meaningless:
+- *djgpp*)
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+- ;;
+- *)
+- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
+- ;;
+-esac
+-
+-#
+-# Check to make sure the static flag actually works.
+-#
+-wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
+-AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+- _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
+- $lt_tmp_static_flag,
+- [],
+- [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
+-])
+-
+-
+-# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
+-# ------------------------------------
+-# See if the linker supports building shared libraries.
+-AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
+-[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+-ifelse([$1],[CXX],[
+- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+- case $host_os in
+- aix4* | aix5*)
+- # If we're using GNU nm, then we don't want the "-C" option.
+- # -C means demangle to AIX nm, but means don't demangle with GNU nm
+- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+- else
+- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+- fi
+- ;;
+- pw32*)
+- _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+- ;;
+- cygwin* | mingw*)
+- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+- ;;
+- *)
+- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+- ;;
+- esac
+-],[
+- runpath_var=
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+- _LT_AC_TAGVAR(archive_cmds, $1)=
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
+- _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+- _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+- _LT_AC_TAGVAR(hardcode_direct, $1)=no
+- _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+- _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+- _LT_AC_TAGVAR(hardcode_automatic, $1)=no
+- _LT_AC_TAGVAR(module_cmds, $1)=
+- _LT_AC_TAGVAR(module_expsym_cmds, $1)=
+- _LT_AC_TAGVAR(always_export_symbols, $1)=no
+- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+- # include_expsyms should be a list of space-separated symbols to be *always*
+- # included in the symbol list
+- _LT_AC_TAGVAR(include_expsyms, $1)=
+- # exclude_expsyms can be an extended regexp of symbols to exclude
+- # it will be wrapped by ` (' and `)$', so one must not match beginning or
+- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+- # as well as any symbol that contains `d'.
+- _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
+- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+- # platforms (ab)use it in PIC code, but their linkers get confused if
+- # the symbol is explicitly referenced. Since portable code cannot
+- # rely on this symbol name, it's probably fine to never include it in
+- # preloaded symbol tables.
+- extract_expsyms_cmds=
+- # Just being paranoid about ensuring that cc_basename is set.
+- _LT_CC_BASENAME([$compiler])
+- case $host_os in
+- cygwin* | mingw* | pw32*)
+- # FIXME: the MSVC++ port hasn't been tested in a loooong time
+- # When not using gcc, we currently assume that we are using
+- # Microsoft Visual C++.
+- if test "$GCC" != yes; then
+- with_gnu_ld=no
+- fi
+- ;;
+- interix*)
+- # we just hope/assume this is gcc and not c89 (= MSVC++)
+- with_gnu_ld=yes
+- ;;
+- openbsd*)
+- with_gnu_ld=no
+- ;;
+- esac
+-
+- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+- if test "$with_gnu_ld" = yes; then
+- # If archive_cmds runs LD, not CC, wlarc should be empty
+- wlarc='${wl}'
+-
+- # Set some defaults for GNU ld with shared library support. These
+- # are reset later if shared libraries are not supported. Putting them
+- # here allows them to be overridden if necessary.
+- runpath_var=LD_RUN_PATH
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+- # ancient GNU ld didn't support --whole-archive et. al.
+- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+- else
+- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+- fi
+- supports_anon_versioning=no
+- case `$LD -v 2>/dev/null` in
+- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+- *\ 2.11.*) ;; # other 2.11 versions
+- *) supports_anon_versioning=yes ;;
+- esac
+-
+- # See if GNU ld supports shared libraries.
+- case $host_os in
+- aix3* | aix4* | aix5*)
+- # On AIX/PPC, the GNU linker is very broken
+- if test "$host_cpu" != ia64; then
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- cat <<EOF 1>&2
+-
+-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+-*** to be unable to reliably create shared libraries on AIX.
+-*** Therefore, libtool is disabling shared libraries support. If you
+-*** really care for shared libraries, you may want to modify your PATH
+-*** so that a non-GNU linker is found, and then restart.
+-
+-EOF
+- fi
+- ;;
+-
+- amigaos*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+-
+- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
+- # that the semantics of dynamic libraries on AmigaOS, at least up
+- # to version 4, is to share data among multiple programs linked
+- # with the same dynamic library. Since this doesn't match the
+- # behavior of shared libraries on other platforms, we can't use
+- # them.
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+-
+- beos*)
+- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+- # support --undefined. This deserves some investigation. FIXME
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- else
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- fi
+- ;;
+-
+- cygwin* | mingw* | pw32*)
+- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+- # as there is no search path for DLLs.
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+- _LT_AC_TAGVAR(always_export_symbols, $1)=no
+- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols'
+-
+- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+- # If the export-symbols file already is a .def file (1st line
+- # is EXPORTS), use it as is; otherwise, prepend...
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+- cp $export_symbols $output_objdir/$soname.def;
+- else
+- echo EXPORTS > $output_objdir/$soname.def;
+- cat $export_symbols >> $output_objdir/$soname.def;
+- fi~
+- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+- else
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- fi
+- ;;
+-
+- interix3*)
+- _LT_AC_TAGVAR(hardcode_direct, $1)=no
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+- # Instead, shared libraries are loaded at an image base (0x10000000 by
+- # default) and relocated if they conflict, which is a slow very memory
+- # consuming and fragmenting process. To avoid this, we pick a random,
+- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+- ;;
+-
+- linux*)
+- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- tmp_addflag=
+- case $cc_basename,$host_cpu in
+- pgcc*) # Portland Group C compiler
+- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+- tmp_addflag=' $pic_flag'
+- ;;
+- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
+- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+- tmp_addflag=' $pic_flag -Mnomain' ;;
+- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+- tmp_addflag=' -i_dynamic' ;;
+- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+- tmp_addflag=' -i_dynamic -nofor_main' ;;
+- ifc* | ifort*) # Intel Fortran compiler
+- tmp_addflag=' -nofor_main' ;;
+- esac
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+-
+- if test $supports_anon_versioning = yes; then
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
+- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+- $echo "local: *; };" >> $output_objdir/$libname.ver~
+- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+- fi
+- else
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- fi
+- ;;
+-
+- netbsd*)
+- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+- wlarc=
+- else
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+- fi
+- ;;
+-
+- solaris*)
+- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- cat <<EOF 1>&2
+-
+-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+-*** create shared libraries on Solaris systems. Therefore, libtool
+-*** is disabling shared libraries support. We urge you to upgrade GNU
+-*** binutils to release 2.9.1 or newer. Another option is to modify
+-*** your PATH or compiler configuration so that the native linker is
+-*** used, and then restart.
+-
+-EOF
+- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+- else
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- fi
+- ;;
+-
+- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+- case `$LD -v 2>&1` in
+- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- cat <<_LT_EOF 1>&2
+-
+-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+-*** reliably create shared libraries on SCO systems. Therefore, libtool
+-*** is disabling shared libraries support. We urge you to upgrade GNU
+-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+-*** your PATH or compiler configuration so that the native linker is
+-*** used, and then restart.
+-
+-_LT_EOF
+- ;;
+- *)
+- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+- else
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- fi
+- ;;
+- esac
+- ;;
+-
+- sunos4*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+- wlarc=
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- ;;
+-
+- *)
+- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+- else
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- fi
+- ;;
+- esac
+-
+- if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
+- runpath_var=
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+- fi
+- else
+- # PORTME fill in a description of your system's linker (not GNU ld)
+- case $host_os in
+- aix3*)
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+- # Note: this linker hardcodes the directories in LIBPATH if there
+- # are no directories specified by -L.
+- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+- # Neither direct hardcoding nor static linking is supported with a
+- # broken collect2.
+- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+- fi
+- ;;
+-
+- aix4* | aix5*)
+- if test "$host_cpu" = ia64; then
+- # On IA64, the linker does run time linking by default, so we don't
+- # have to do anything special.
+- aix_use_runtimelinking=no
+- exp_sym_flag='-Bexport'
+- no_entry_flag=""
+- else
+- # If we're using GNU nm, then we don't want the "-C" option.
+- # -C means demangle to AIX nm, but means don't demangle with GNU nm
+- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+- else
+- _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+- fi
+- aix_use_runtimelinking=no
+-
+- # Test if we are trying to use run time linking or normal
+- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+- # need to do runtime linking.
+- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+- for ld_flag in $LDFLAGS; do
+- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+- aix_use_runtimelinking=yes
+- break
+- fi
+- done
+- ;;
+- esac
+-
+- exp_sym_flag='-bexport'
+- no_entry_flag='-bnoentry'
+- fi
+-
+- # When large executables or shared objects are built, AIX ld can
+- # have problems creating the table of contents. If linking a library
+- # or program results in "error TOC overflow" add -mminimal-toc to
+- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+-
+- _LT_AC_TAGVAR(archive_cmds, $1)=''
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+-
+- if test "$GCC" = yes; then
+- case $host_os in aix4.[[012]]|aix4.[[012]].*)
+- # We only want to do this on AIX 4.2 and lower, the check
+- # below for broken collect2 doesn't work under 4.3+
+- collect2name=`${CC} -print-prog-name=collect2`
+- if test -f "$collect2name" && \
+- strings "$collect2name" | grep resolve_lib_name >/dev/null
+- then
+- # We have reworked collect2
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+- else
+- # We have old collect2
+- _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+- # It fails to find uninstalled libraries when the uninstalled
+- # path is not listed in the libpath. Setting hardcode_minus_L
+- # to unsupported forces relinking
+- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+- fi
+- ;;
+- esac
+- shared_flag='-shared'
+- if test "$aix_use_runtimelinking" = yes; then
+- shared_flag="$shared_flag "'${wl}-G'
+- fi
+- else
+- # not using gcc
+- if test "$host_cpu" = ia64; then
+- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+- # chokes on -Wl,-G. The following line is correct:
+- shared_flag='-G'
+- else
+- if test "$aix_use_runtimelinking" = yes; then
+- shared_flag='${wl}-G'
+- else
+- shared_flag='${wl}-bM:SRE'
+- fi
+- fi
+- fi
+-
+- # It seems that -bexpall does not export symbols beginning with
+- # underscore (_), so it is better to generate a list of symbols to export.
+- _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+- if test "$aix_use_runtimelinking" = yes; then
+- # Warning - without using the other runtime loading flags (-brtl),
+- # -berok will link without error, but may produce a broken library.
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+- # Determine the default libpath from the value encoded in an empty executable.
+- _LT_AC_SYS_LIBPATH_AIX
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+- else
+- if test "$host_cpu" = ia64; then
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+- else
+- # Determine the default libpath from the value encoded in an empty executable.
+- _LT_AC_SYS_LIBPATH_AIX
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+- # Warning - without using the other run time loading flags,
+- # -berok will link without error, but may produce a broken library.
+- _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+- # Exported symbols can be pulled into shared objects from archives
+- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+- # This is similar to how AIX traditionally builds its shared libraries.
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+- fi
+- fi
+- ;;
+-
+- amigaos*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+- # see comment about different semantics on the GNU ld section
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+-
+- bsdi[[45]]*)
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+- ;;
+-
+- cygwin* | mingw* | pw32*)
+- # When not using gcc, we currently assume that we are using
+- # Microsoft Visual C++.
+- # hardcode_libdir_flag_spec is actually meaningless, as there is
+- # no search path for DLLs.
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+- # Tell ltmain to make .lib files, not .a files.
+- libext=lib
+- # Tell ltmain to make .dll files, not .so files.
+- shrext_cmds=".dll"
+- # FIXME: Setting linknames here is a bad hack.
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+- # The linker will automatically build a .lib file if we build a DLL.
+- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
+- # FIXME: Should let the user specify the lib program.
+- _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs'
+- _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+- _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+- ;;
+-
+- darwin* | rhapsody*)
+- case $host_os in
+- rhapsody* | darwin1.[[012]])
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
+- ;;
+- *) # Darwin 1.3 on
+- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+- else
+- case ${MACOSX_DEPLOYMENT_TARGET} in
+- 10.[[012]])
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+- ;;
+- 10.*)
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
+- ;;
+- esac
+- fi
+- ;;
+- esac
+- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+- _LT_AC_TAGVAR(hardcode_direct, $1)=no
+- _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+- if test "$GCC" = yes ; then
+- output_verbose_link_cmd='echo'
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- else
+- case $cc_basename in
+- xlc*)
+- output_verbose_link_cmd='echo'
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+- _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- ;;
+- *)
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- esac
+- fi
+- ;;
+-
+- dgux*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- ;;
+-
+- freebsd1*)
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+-
+- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+- # support. Future versions do this automatically, but an explicit c++rt0.o
+- # does not break anything, and helps significantly (at the cost of a little
+- # extra space).
+- freebsd2.2*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- ;;
+-
+- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+- freebsd2*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- ;;
+-
+- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+- freebsd* | kfreebsd*-gnu | dragonfly*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- ;;
+-
+- hpux9*)
+- if test "$GCC" = yes; then
+- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+- else
+- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+- fi
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+-
+- # hardcode_minus_L: Not really in the search PATH,
+- # but as the default location of the library.
+- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+- ;;
+-
+- hpux10*)
+- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+- else
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+- fi
+- if test "$with_gnu_ld" = no; then
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+-
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+-
+- # hardcode_minus_L: Not really in the search PATH,
+- # but as the default location of the library.
+- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+- fi
+- ;;
+-
+- hpux11*)
+- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+- case $host_cpu in
+- hppa*64*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- ia64*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- *)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- esac
+- else
+- case $host_cpu in
+- hppa*64*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- ia64*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- *)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- esac
+- fi
+- if test "$with_gnu_ld" = no; then
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+-
+- case $host_cpu in
+- hppa*64*|ia64*)
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+- _LT_AC_TAGVAR(hardcode_direct, $1)=no
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- ;;
+- *)
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+-
+- # hardcode_minus_L: Not really in the search PATH,
+- # but as the default location of the library.
+- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+- ;;
+- esac
+- fi
+- ;;
+-
+- irix5* | irix6* | nonstopux*)
+- if test "$GCC" = yes; then
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+- else
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+- fi
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+- ;;
+-
+- netbsd*)
+- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+- else
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+- fi
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- ;;
+-
+- newsos6)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- ;;
+-
+- openbsd*)
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+- else
+- case $host_os in
+- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+- ;;
+- *)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+- ;;
+- esac
+- fi
+- ;;
+-
+- os2*)
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+- _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+- _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+- ;;
+-
+- osf3*)
+- if test "$GCC" = yes; then
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+- else
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+- fi
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+- ;;
+-
+- osf4* | osf5*) # as osf3* with the addition of -msym flag
+- if test "$GCC" = yes; then
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+- else
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+-
+- # Both c and cxx compiler support -rpath directly
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+- fi
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+- ;;
+-
+- solaris*)
+- _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
+- if test "$GCC" = yes; then
+- wlarc='${wl}'
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+- else
+- wlarc=''
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+- fi
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- case $host_os in
+- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+- *)
+- # The compiler driver will combine linker options so we
+- # cannot just pass the convience library names through
+- # without $wl, iff we do not link with $LD.
+- # Luckily, gcc supports the same syntax we need for Sun Studio.
+- # Supported since Solaris 2.6 (maybe 2.5.1?)
+- case $wlarc in
+- '')
+- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;;
+- *)
+- _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+- esac ;;
+- esac
+- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+- ;;
+-
+- sunos4*)
+- if test "x$host_vendor" = xsequent; then
+- # Use $CC to link under sequent, because it throws in some extra .o
+- # files that make .init and .fini sections work.
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+- else
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+- fi
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- ;;
+-
+- sysv4)
+- case $host_vendor in
+- sni)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+- ;;
+- siemens)
+- ## LD is ld it makes a PLAMLIB
+- ## CC just makes a GrossModule.
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+- _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+- _LT_AC_TAGVAR(hardcode_direct, $1)=no
+- ;;
+- motorola)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+- ;;
+- esac
+- runpath_var='LD_RUN_PATH'
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- ;;
+-
+- sysv4.3*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+- ;;
+-
+- sysv4*MP*)
+- if test -d /usr/nec; then
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- runpath_var=LD_RUN_PATH
+- hardcode_runpath_var=yes
+- _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+- fi
+- ;;
+-
+- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*)
+- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- runpath_var='LD_RUN_PATH'
+-
+- if test "$GCC" = yes; then
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- else
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- fi
+- ;;
+-
+- sysv5* | sco3.2v5* | sco5v6*)
+- # Note: We can NOT use -z defs as we might desire, because we do not
+- # link with -lc, and that would cause any symbols used from libc to
+- # always be unresolved, which means just about no library would
+- # ever link correctly. If we're not using GNU ld we use -z text
+- # though, which does catch some bad symbols but isn't as heavy-handed
+- # as -z defs.
+- _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+- _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+- runpath_var='LD_RUN_PATH'
+-
+- if test "$GCC" = yes; then
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- else
+- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- fi
+- ;;
+-
+- uts4*)
+- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+- ;;
+-
+- *)
+- _LT_AC_TAGVAR(ld_shlibs, $1)=no
+- ;;
+- esac
+- fi
+-])
+-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+-
+-#
+-# Do we need to explicitly link libc?
+-#
+-case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
+-x|xyes)
+- # Assume -lc should be added
+- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+-
+- if test "$enable_shared" = yes && test "$GCC" = yes; then
+- case $_LT_AC_TAGVAR(archive_cmds, $1) in
+- *'~'*)
+- # FIXME: we may have to deal with multi-command sequences.
+- ;;
+- '$CC '*)
+- # Test whether the compiler implicitly links with -lc since on some
+- # systems, -lgcc has to come before -lc. If gcc already passes -lc
+- # to ld, don't add -lc before -lgcc.
+- AC_MSG_CHECKING([whether -lc should be explicitly linked in])
+- $rm conftest*
+- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+-
+- if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+- soname=conftest
+- lib=conftest
+- libobjs=conftest.$ac_objext
+- deplibs=
+- wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+- pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
+- compiler_flags=-v
+- linker_flags=-v
+- verstring=
+- output_objdir=.
+- libname=conftest
+- lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+- if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
+- then
+- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+- else
+- _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+- fi
+- _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+- else
+- cat conftest.err 1>&5
+- fi
+- $rm conftest*
+- AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
+- ;;
+- esac
+- fi
+- ;;
+-esac
+-])# AC_LIBTOOL_PROG_LD_SHLIBS
+-
+-
+-# _LT_AC_FILE_LTDLL_C
+-# -------------------
+-# Be careful that the start marker always follows a newline.
+-AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
+-# /* ltdll.c starts here */
+-# #define WIN32_LEAN_AND_MEAN
+-# #include <windows.h>
+-# #undef WIN32_LEAN_AND_MEAN
+-# #include <stdio.h>
+-#
+-# #ifndef __CYGWIN__
+-# # ifdef __CYGWIN32__
+-# # define __CYGWIN__ __CYGWIN32__
+-# # endif
+-# #endif
+-#
+-# #ifdef __cplusplus
+-# extern "C" {
+-# #endif
+-# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
+-# #ifdef __cplusplus
+-# }
+-# #endif
+-#
+-# #ifdef __CYGWIN__
+-# #include <cygwin/cygwin_dll.h>
+-# DECLARE_CYGWIN_DLL( DllMain );
+-# #endif
+-# HINSTANCE __hDllInstance_base;
+-#
+-# BOOL APIENTRY
+-# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
+-# {
+-# __hDllInstance_base = hInst;
+-# return TRUE;
+-# }
+-# /* ltdll.c ends here */
+-])# _LT_AC_FILE_LTDLL_C
+-
+-
+-# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
+-# ---------------------------------
+-AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
+-
+-
+-# old names
+-AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])
+-AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+-AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+-AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+-AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+-AC_DEFUN([AM_PROG_LD], [AC_PROG_LD])
+-AC_DEFUN([AM_PROG_NM], [AC_PROG_NM])
+-
+-# This is just to silence aclocal about the macro not being used
+-ifelse([AC_DISABLE_FAST_INSTALL])
+-
+-AC_DEFUN([LT_AC_PROG_GCJ],
+-[AC_CHECK_TOOL(GCJ, gcj, no)
+- test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+- AC_SUBST(GCJFLAGS)
+-])
+-
+-AC_DEFUN([LT_AC_PROG_RC],
+-[AC_CHECK_TOOL(RC, windres, no)
+-])
+-
+-############################################################
+-# NOTE: This macro has been submitted for inclusion into #
+-# GNU Autoconf as AC_PROG_SED. When it is available in #
+-# a released version of Autoconf we should remove this #
+-# macro and use it instead. #
+-############################################################
+-# LT_AC_PROG_SED
+-# --------------
+-# Check for a fully-functional sed program, that truncates
+-# as few characters as possible. Prefer GNU sed if found.
+-AC_DEFUN([LT_AC_PROG_SED],
+-[AC_MSG_CHECKING([for a sed that does not truncate output])
+-AC_CACHE_VAL(lt_cv_path_SED,
+-[# Loop through the user's path and test for sed and gsed.
+-# Then use that list of sed's as ones to test for truncation.
+-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for lt_ac_prog in sed gsed; do
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+- fi
+- done
+- done
+-done
+-lt_ac_max=0
+-lt_ac_count=0
+-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+-# along with /bin/sed that truncates output.
+-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+- test ! -f $lt_ac_sed && continue
+- cat /dev/null > conftest.in
+- lt_ac_count=0
+- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+- # Check for GNU sed and select it if it is found.
+- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+- lt_cv_path_SED=$lt_ac_sed
+- break
+- fi
+- while true; do
+- cat conftest.in conftest.in >conftest.tmp
+- mv conftest.tmp conftest.in
+- cp conftest.in conftest.nl
+- echo >>conftest.nl
+- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+- cmp -s conftest.out conftest.nl || break
+- # 10000 chars as input seems more than enough
+- test $lt_ac_count -gt 10 && break
+- lt_ac_count=`expr $lt_ac_count + 1`
+- if test $lt_ac_count -gt $lt_ac_max; then
+- lt_ac_max=$lt_ac_count
+- lt_cv_path_SED=$lt_ac_sed
+- fi
+- done
+-done
+-])
+-SED=$lt_cv_path_SED
+-AC_MSG_RESULT([$SED])
+-])
+diff -Nur LibVNCServer-0.9.1.orig/aclocal.m4 LibVNCServer-0.9.1/aclocal.m4
+--- LibVNCServer-0.9.1.orig/aclocal.m4 2008-10-31 18:44:00.000000000 -0200
++++ LibVNCServer-0.9.1/aclocal.m4 2008-10-31 18:46:23.000000000 -0200
+@@ -1,7 +1,7 @@
+-# generated automatically by aclocal 1.9.5 -*- Autoconf -*-
++# generated automatically by aclocal 1.10 -*- Autoconf -*-
+
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+-# 2005 Free Software Foundation, Inc.
++# 2005, 2006 Free Software Foundation, Inc.
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -11,7 +11,7911 @@
+ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ # PARTICULAR PURPOSE.
+
+-# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
++m4_if(m4_PACKAGE_VERSION, [2.61],,
++[m4_fatal([this file was generated for autoconf 2.61.
++You have another version of autoconf. If you want to use that,
++you should regenerate the build system entirely.], [63])])
++
++# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
++#
++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
++# 2006, 2007, 2008 Free Software Foundation, Inc.
++# Written by Gordon Matzigkeit, 1996
++#
++# This file is free software; the Free Software Foundation gives
++# unlimited permission to copy and/or distribute it, with or without
++# modifications, as long as this notice is preserved.
++
++m4_define([_LT_COPYING], [dnl
++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
++# 2006, 2007, 2008 Free Software Foundation, Inc.
++# Written by Gordon Matzigkeit, 1996
++#
++# This file is part of GNU Libtool.
++#
++# GNU Libtool 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.
++#
++# As a special exception to the GNU General Public License,
++# if you distribute this file as part of a program or library that
++# is built using GNU Libtool, you may include this file under the
++# same distribution terms that you use for the rest of that program.
++#
++# GNU Libtool 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.
++#
++# You should have received a copy of the GNU General Public License
++# along with GNU Libtool; see the file COPYING. If not, a copy
++# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
++# obtained by writing to the Free Software Foundation, Inc.,
++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++])
++
++# serial 56 LT_INIT
++
++
++# LT_PREREQ(VERSION)
++# ------------------
++# Complain and exit if this libtool version is less that VERSION.
++m4_defun([LT_PREREQ],
++[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
++ [m4_default([$3],
++ [m4_fatal([Libtool version $1 or higher is required],
++ 63)])],
++ [$2])])
++
++
++# _LT_CHECK_BUILDDIR
++# ------------------
++# Complain if the absolute build directory name contains unusual characters
++m4_defun([_LT_CHECK_BUILDDIR],
++[case `pwd` in
++ *\ * | *\ *)
++ AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
++esac
++])
++
++
++# LT_INIT([OPTIONS])
++# ------------------
++AC_DEFUN([LT_INIT],
++[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
++AC_BEFORE([$0], [LT_LANG])dnl
++AC_BEFORE([$0], [LT_OUTPUT])dnl
++AC_BEFORE([$0], [LTDL_INIT])dnl
++m4_require([_LT_CHECK_BUILDDIR])dnl
++
++dnl Autoconf doesn't catch unexpanded LT_ macros by default:
++m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
++m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
++dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
++dnl unless we require an AC_DEFUNed macro:
++AC_REQUIRE([LTOPTIONS_VERSION])dnl
++AC_REQUIRE([LTSUGAR_VERSION])dnl
++AC_REQUIRE([LTVERSION_VERSION])dnl
++AC_REQUIRE([LTOBSOLETE_VERSION])dnl
++m4_require([_LT_PROG_LTMAIN])dnl
++
++dnl Parse OPTIONS
++_LT_SET_OPTIONS([$0], [$1])
++
++# This can be used to rebuild libtool when needed
++LIBTOOL_DEPS="$ltmain"
++
++# Always use our own libtool.
++LIBTOOL='$(SHELL) $(top_builddir)'
++LIBTOOL="$LIBTOOL/$host_alias-libtool"
++AC_SUBST(LIBTOOL)dnl
++
++_LT_SETUP
++
++# Only expand once:
++m4_define([LT_INIT])
++])# LT_INIT
++
++# Old names:
++AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
++AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
++dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
++
++
++# _LT_CC_BASENAME(CC)
++# -------------------
++# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
++m4_defun([_LT_CC_BASENAME],
++[for cc_temp in $1""; do
++ case $cc_temp in
++ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
++ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
++ \-*) ;;
++ *) break;;
++ esac
++done
++cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
++])
++
++
++# _LT_FILEUTILS_DEFAULTS
++# ----------------------
++# It is okay to use these file commands and assume they have been set
++# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
++m4_defun([_LT_FILEUTILS_DEFAULTS],
++[: ${CP="cp -f"}
++: ${MV="mv -f"}
++: ${RM="rm -f"}
++])# _LT_FILEUTILS_DEFAULTS
++
++
++# _LT_SETUP
++# ---------
++m4_defun([_LT_SETUP],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++AC_REQUIRE([AC_CANONICAL_BUILD])dnl
++_LT_DECL([], [host_alias], [0], [The host system])dnl
++_LT_DECL([], [host], [0])dnl
++_LT_DECL([], [host_os], [0])dnl
++dnl
++_LT_DECL([], [build_alias], [0], [The build system])dnl
++_LT_DECL([], [build], [0])dnl
++_LT_DECL([], [build_os], [0])dnl
++dnl
++AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([LT_PATH_LD])dnl
++AC_REQUIRE([LT_PATH_NM])dnl
++dnl
++AC_REQUIRE([AC_PROG_LN_S])dnl
++test -z "$LN_S" && LN_S="ln -s"
++_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
++dnl
++AC_REQUIRE([LT_CMD_MAX_LEN])dnl
++_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
++_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
++dnl
++m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_CHECK_SHELL_FEATURES])dnl
++m4_require([_LT_CMD_RELOAD])dnl
++m4_require([_LT_CHECK_MAGIC_METHOD])dnl
++m4_require([_LT_CMD_OLD_ARCHIVE])dnl
++m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
++
++_LT_CONFIG_LIBTOOL_INIT([
++# See if we are running on zsh, and set the options which allow our
++# commands through without removal of \ escapes INIT.
++if test -n "\${ZSH_VERSION+set}" ; then
++ setopt NO_GLOB_SUBST
++fi
++])
++if test -n "${ZSH_VERSION+set}" ; then
++ setopt NO_GLOB_SUBST
++fi
++
++_LT_CHECK_OBJDIR
++
++m4_require([_LT_TAG_COMPILER])dnl
++_LT_PROG_ECHO_BACKSLASH
++
++case $host_os in
++aix3*)
++ # AIX sometimes has problems with the GCC collect2 program. For some
++ # reason, if we set the COLLECT_NAMES environment variable, the problems
++ # vanish in a puff of smoke.
++ if test "X${COLLECT_NAMES+set}" != Xset; then
++ COLLECT_NAMES=
++ export COLLECT_NAMES
++ fi
++ ;;
++esac
++
++# Sed substitution that helps us do robust quoting. It backslashifies
++# metacharacters that are still active within double-quoted strings.
++sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
++
++# Same as above, but do not quote variable references.
++double_quote_subst='s/\([["`\\]]\)/\\\1/g'
++
++# Sed substitution to delay expansion of an escaped shell variable in a
++# double_quote_subst'ed string.
++delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
++
++# Sed substitution to delay expansion of an escaped single quote.
++delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
++
++# Sed substitution to avoid accidental globbing in evaled expressions
++no_glob_subst='s/\*/\\\*/g'
++
++# Global variables:
++ofile=${host_alias}-libtool
++can_build_shared=yes
++
++# All known linkers require a `.a' archive for static linking (except MSVC,
++# which needs '.lib').
++libext=a
++
++with_gnu_ld="$lt_cv_prog_gnu_ld"
++
++old_CC="$CC"
++old_CFLAGS="$CFLAGS"
++
++# Set sane defaults for various variables
++test -z "$CC" && CC=cc
++test -z "$LTCC" && LTCC=$CC
++test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
++test -z "$LD" && LD=ld
++test -z "$ac_objext" && ac_objext=o
++
++_LT_CC_BASENAME([$compiler])
++
++# Only perform the check for file, if the check method requires it
++test -z "$MAGIC_CMD" && MAGIC_CMD=file
++case $deplibs_check_method in
++file_magic*)
++ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
++ _LT_PATH_MAGIC
++ fi
++ ;;
++esac
++
++# Use C for the default configuration in the libtool script
++LT_SUPPORTED_TAG([CC])
++_LT_LANG_C_CONFIG
++_LT_LANG_DEFAULT_CONFIG
++_LT_CONFIG_COMMANDS
++])# _LT_SETUP
++
++
++# _LT_PROG_LTMAIN
++# ---------------
++# Note that this code is called both from `configure', and `config.status'
++# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
++# `config.status' has no value for ac_aux_dir unless we are using Automake,
++# so we pass a copy along to make sure it has a sensible value anyway.
++m4_defun([_LT_PROG_LTMAIN],
++[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
++_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
++ltmain="$ac_aux_dir/ltmain.sh"
++])# _LT_PROG_LTMAIN
++
++
++
++# So that we can recreate a full libtool script including additional
++# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
++# in macros and then make a single call at the end using the `libtool'
++# label.
++
++
++# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
++# ----------------------------------------
++# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
++m4_define([_LT_CONFIG_LIBTOOL_INIT],
++[m4_ifval([$1],
++ [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
++ [$1
++])])])
++
++# Initialize.
++m4_define([_LT_OUTPUT_LIBTOOL_INIT])
++
++
++# _LT_CONFIG_LIBTOOL([COMMANDS])
++# ------------------------------
++# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
++m4_define([_LT_CONFIG_LIBTOOL],
++[m4_ifval([$1],
++ [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
++ [$1
++])])])
++
++# Initialize.
++m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
++
++
++# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
++# -----------------------------------------------------
++m4_defun([_LT_CONFIG_SAVE_COMMANDS],
++[_LT_CONFIG_LIBTOOL([$1])
++_LT_CONFIG_LIBTOOL_INIT([$2])
++])
++
++
++# _LT_FORMAT_COMMENT([COMMENT])
++# -----------------------------
++# Add leading comment marks to the start of each line, and a trailing
++# full-stop to the whole comment if one is not present already.
++m4_define([_LT_FORMAT_COMMENT],
++[m4_ifval([$1], [
++m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
++ [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
++)])
++
++
++
++
++
++# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
++# -------------------------------------------------------------------
++# CONFIGNAME is the name given to the value in the libtool script.
++# VARNAME is the (base) name used in the configure script.
++# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
++# VARNAME. Any other value will be used directly.
++m4_define([_LT_DECL],
++[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
++ [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
++ [m4_ifval([$1], [$1], [$2])])
++ lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
++ m4_ifval([$4],
++ [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
++ lt_dict_add_subkey([lt_decl_dict], [$2],
++ [tagged?], [m4_ifval([$5], [yes], [no])])])
++])
++
++
++# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
++# --------------------------------------------------------
++m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
++
++
++# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
++# ------------------------------------------------
++m4_define([lt_decl_tag_varnames],
++[_lt_decl_filter([tagged?], [yes], $@)])
++
++
++# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
++# ---------------------------------------------------------
++m4_define([_lt_decl_filter],
++[m4_case([$#],
++ [0], [m4_fatal([$0: too few arguments: $#])],
++ [1], [m4_fatal([$0: too few arguments: $#: $1])],
++ [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
++ [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
++ [lt_dict_filter([lt_decl_dict], $@)])[]dnl
++])
++
++
++# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
++# --------------------------------------------------
++m4_define([lt_decl_quote_varnames],
++[_lt_decl_filter([value], [1], $@)])
++
++
++# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
++# ---------------------------------------------------
++m4_define([lt_decl_dquote_varnames],
++[_lt_decl_filter([value], [2], $@)])
++
++
++# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
++# ---------------------------------------------------
++m4_define([lt_decl_varnames_tagged],
++[_$0(m4_quote(m4_default([$1], [[, ]])),
++ m4_quote(m4_if([$2], [],
++ m4_quote(lt_decl_tag_varnames),
++ m4_quote(m4_shift($@)))),
++ m4_split(m4_normalize(m4_quote(_LT_TAGS))))])
++m4_define([_lt_decl_varnames_tagged], [lt_combine([$1], [$2], [_], $3)])
++
++
++# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
++# ------------------------------------------------
++m4_define([lt_decl_all_varnames],
++[_$0(m4_quote(m4_default([$1], [[, ]])),
++ m4_if([$2], [],
++ m4_quote(lt_decl_varnames),
++ m4_quote(m4_shift($@))))[]dnl
++])
++m4_define([_lt_decl_all_varnames],
++[lt_join($@, lt_decl_varnames_tagged([$1],
++ lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
++])
++
++
++# _LT_CONFIG_STATUS_DECLARE([VARNAME])
++# ------------------------------------
++# Quote a variable value, and forward it to `config.status' so that its
++# declaration there will have the same value as in `configure'. VARNAME
++# must have a single quote delimited value for this to work.
++m4_define([_LT_CONFIG_STATUS_DECLARE],
++[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
++
++
++# _LT_CONFIG_STATUS_DECLARATIONS
++# ------------------------------
++# We delimit libtool config variables with single quotes, so when
++# we write them to config.status, we have to be sure to quote all
++# embedded single quotes properly. In configure, this macro expands
++# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
++#
++# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
++m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
++[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
++ [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
++
++
++# _LT_LIBTOOL_TAGS
++# ----------------
++# Output comment and list of tags supported by the script
++m4_defun([_LT_LIBTOOL_TAGS],
++[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
++available_tags="_LT_TAGS"dnl
++])
++
++
++# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
++# -----------------------------------
++# Extract the dictionary values for VARNAME (optionally with TAG) and
++# expand to a commented shell variable setting:
++#
++# # Some comment about what VAR is for.
++# visible_name=$lt_internal_name
++m4_define([_LT_LIBTOOL_DECLARE],
++[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
++ [description])))[]dnl
++m4_pushdef([_libtool_name],
++ m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
++m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
++ [0], [_libtool_name=[$]$1],
++ [1], [_libtool_name=$lt_[]$1],
++ [2], [_libtool_name=$lt_[]$1],
++ [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
++m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
++])
++
++
++# _LT_LIBTOOL_CONFIG_VARS
++# -----------------------
++# Produce commented declarations of non-tagged libtool config variables
++# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
++# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
++# section) are produced by _LT_LIBTOOL_TAG_VARS.
++m4_defun([_LT_LIBTOOL_CONFIG_VARS],
++[m4_foreach([_lt_var],
++ m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
++ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
++
++
++# _LT_LIBTOOL_TAG_VARS(TAG)
++# -------------------------
++m4_define([_LT_LIBTOOL_TAG_VARS],
++[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
++ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
++
++
++# _LT_TAGVAR(VARNAME, [TAGNAME])
++# ------------------------------
++m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
++
++
++# _LT_CONFIG_COMMANDS
++# -------------------
++# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
++# variables for single and double quote escaping we saved from calls
++# to _LT_DECL, we can put quote escaped variables declarations
++# into `config.status', and then the shell code to quote escape them in
++# for loops in `config.status'. Finally, any additional code accumulated
++# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
++m4_defun([_LT_CONFIG_COMMANDS],
++[AC_PROVIDE_IFELSE([LT_OUTPUT],
++ dnl If the libtool generation code has been placed in $CONFIG_LT,
++ dnl instead of duplicating it all over again into config.status,
++ dnl then we will have config.status run $CONFIG_LT later, so it
++ dnl needs to know what name is stored there:
++ [AC_CONFIG_COMMANDS([libtool],
++ [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
++ dnl If the libtool generation code is destined for config.status,
++ dnl expand the accumulated commands and init code now:
++ [AC_CONFIG_COMMANDS([libtool],
++ [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
++])#_LT_CONFIG_COMMANDS
++
++
++# Initialize.
++m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
++[
++
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
++
++sed_quote_subst='$sed_quote_subst'
++double_quote_subst='$double_quote_subst'
++delay_variable_subst='$delay_variable_subst'
++_LT_CONFIG_STATUS_DECLARATIONS
++LTCC='$LTCC'
++LTCFLAGS='$LTCFLAGS'
++compiler='$compiler_DEFAULT'
++
++# Quote evaled strings.
++for var in lt_decl_all_varnames([[ \
++]], lt_decl_quote_varnames); do
++ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
++ *[[\\\\\\\`\\"\\\$]]*)
++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
++ ;;
++ *)
++ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
++ ;;
++ esac
++done
++
++# Double-quote double-evaled strings.
++for var in lt_decl_all_varnames([[ \
++]], lt_decl_dquote_varnames); do
++ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
++ *[[\\\\\\\`\\"\\\$]]*)
++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
++ ;;
++ *)
++ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
++ ;;
++ esac
++done
++
++# Fix-up fallback echo if it was mangled by the above quoting rules.
++case \$lt_ECHO in
++*'\\\[$]0 --fallback-echo"')dnl "
++ lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
++ ;;
++esac
++
++_LT_OUTPUT_LIBTOOL_INIT
++])
++
++
++# LT_OUTPUT
++# ---------
++# This macro allows early generation of the libtool script (before
++# AC_OUTPUT is called), incase it is used in configure for compilation
++# tests.
++AC_DEFUN([LT_OUTPUT],
++[: ${CONFIG_LT=./config.lt}
++AC_MSG_NOTICE([creating $CONFIG_LT])
++cat >"$CONFIG_LT" <<_LTEOF
++#! $SHELL
++# Generated by $as_me.
++# Run this file to recreate a libtool stub with the current configuration.
++
++lt_cl_silent=false
++SHELL=\${CONFIG_SHELL-$SHELL}
++_LTEOF
++
++cat >>"$CONFIG_LT" <<\_LTEOF
++AS_SHELL_SANITIZE
++_AS_PREPARE
++
++exec AS_MESSAGE_FD>&1
++exec AS_MESSAGE_LOG_FD>>config.log
++{
++ echo
++ AS_BOX([Running $as_me.])
++} >&AS_MESSAGE_LOG_FD
++
++lt_cl_help="\
++\`$as_me' creates a local libtool stub from the current configuration,
++for use in further configure time tests before the real libtool is
++generated.
++
++Usage: $[0] [[OPTIONS]]
++
++ -h, --help print this help, then exit
++ -V, --version print version number, then exit
++ -q, --quiet do not print progress messages
++ -d, --debug don't remove temporary files
++
++Report bugs to <bug-libtool@gnu.org>."
++
++lt_cl_version="\
++m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
++m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
++configured by $[0], generated by m4_PACKAGE_STRING.
++
++Copyright (C) 2008 Free Software Foundation, Inc.
++This config.lt script is free software; the Free Software Foundation
++gives unlimited permision to copy, distribute and modify it."
++
++while test $[#] != 0
++do
++ case $[1] in
++ --version | --v* | -V )
++ echo "$lt_cl_version"; exit 0 ;;
++ --help | --h* | -h )
++ echo "$lt_cl_help"; exit 0 ;;
++ --debug | --d* | -d )
++ debug=: ;;
++ --quiet | --q* | --silent | --s* | -q )
++ lt_cl_silent=: ;;
++
++ -*) AC_MSG_ERROR([unrecognized option: $[1]
++Try \`$[0] --help' for more information.]) ;;
++
++ *) AC_MSG_ERROR([unrecognized argument: $[1]
++Try \`$[0] --help' for more information.]) ;;
++ esac
++ shift
++done
++
++if $lt_cl_silent; then
++ exec AS_MESSAGE_FD>/dev/null
++fi
++_LTEOF
++
++cat >>"$CONFIG_LT" <<_LTEOF
++_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
++_LTEOF
++
++cat >>"$CONFIG_LT" <<\_LTEOF
++AC_MSG_NOTICE([creating $ofile])
++_LT_OUTPUT_LIBTOOL_COMMANDS
++AS_EXIT(0)
++_LTEOF
++chmod +x "$CONFIG_LT"
++
++# configure is writing to config.log, but config.lt does its own redirection,
++# appending to config.log, which fails on DOS, as config.log is still kept
++# open by configure. Here we exec the FD to /dev/null, effectively closing
++# config.log, so it can be properly (re)opened and appended to by config.lt.
++if test "$no_create" != yes; then
++ lt_cl_success=:
++ test "$silent" = yes &&
++ lt_config_lt_args="$lt_config_lt_args --quiet"
++ exec AS_MESSAGE_LOG_FD>/dev/null
++ $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
++ exec AS_MESSAGE_LOG_FD>>config.log
++ $lt_cl_success || AS_EXIT(1)
++fi
++])# LT_OUTPUT
++
++
++# _LT_CONFIG(TAG)
++# ---------------
++# If TAG is the built-in tag, create an initial libtool script with a
++# default configuration from the untagged config vars. Otherwise add code
++# to config.status for appending the configuration named by TAG from the
++# matching tagged config vars.
++m4_defun([_LT_CONFIG],
++[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++_LT_CONFIG_SAVE_COMMANDS([
++ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
++ m4_if(_LT_TAG, [C], [
++ # See if we are running on zsh, and set the options which allow our
++ # commands through without removal of \ escapes.
++ if test -n "${ZSH_VERSION+set}" ; then
++ setopt NO_GLOB_SUBST
++ fi
++
++ cfgfile="${ofile}T"
++ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
++ $RM "$cfgfile"
++
++ cat <<_LT_EOF >> "$cfgfile"
++#! $SHELL
++
++# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
++# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
++# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
++# NOTE: Changes made to this file will be lost: look at ltmain.sh.
++#
++_LT_COPYING
++_LT_LIBTOOL_TAGS
++
++# ### BEGIN LIBTOOL CONFIG
++_LT_LIBTOOL_CONFIG_VARS
++_LT_LIBTOOL_TAG_VARS
++# ### END LIBTOOL CONFIG
++
++_LT_EOF
++
++ case $host_os in
++ aix3*)
++ cat <<\_LT_EOF >> "$cfgfile"
++# AIX sometimes has problems with the GCC collect2 program. For some
++# reason, if we set the COLLECT_NAMES environment variable, the problems
++# vanish in a puff of smoke.
++if test "X${COLLECT_NAMES+set}" != Xset; then
++ COLLECT_NAMES=
++ export COLLECT_NAMES
++fi
++_LT_EOF
++ ;;
++ esac
++
++ _LT_PROG_LTMAIN
++
++ # We use sed instead of cat because bash on DJGPP gets confused if
++ # if finds mixed CR/LF and LF-only lines. Since sed operates in
++ # text mode, it properly converts lines to CR/LF. This bash problem
++ # is reportedly fixed, but why not run on old versions too?
++ sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
++
++ _LT_PROG_XSI_SHELLFNS
++
++ sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
++
++ mv -f "$cfgfile" "$ofile" ||
++ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
++ chmod +x "$ofile"
++],
++[cat <<_LT_EOF >> "$ofile"
++
++dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
++dnl in a comment (ie after a #).
++# ### BEGIN LIBTOOL TAG CONFIG: $1
++_LT_LIBTOOL_TAG_VARS(_LT_TAG)
++# ### END LIBTOOL TAG CONFIG: $1
++_LT_EOF
++])dnl /m4_if
++],
++[m4_if([$1], [], [
++ PACKAGE='$PACKAGE'
++ VERSION='$VERSION'
++ TIMESTAMP='$TIMESTAMP'
++ RM='$RM'
++ ofile='$ofile'], [])
++])dnl /_LT_CONFIG_SAVE_COMMANDS
++])# _LT_CONFIG
++
++
++# LT_SUPPORTED_TAG(TAG)
++# ---------------------
++# Trace this macro to discover what tags are supported by the libtool
++# --tag option, using:
++# autoconf --trace 'LT_SUPPORTED_TAG:$1'
++AC_DEFUN([LT_SUPPORTED_TAG], [])
++
++
++# C support is built-in for now
++m4_define([_LT_LANG_C_enabled], [])
++m4_define([_LT_TAGS], [])
++
++
++# LT_LANG(LANG)
++# -------------
++# Enable libtool support for the given language if not already enabled.
++AC_DEFUN([LT_LANG],
++[AC_BEFORE([$0], [LT_OUTPUT])dnl
++m4_case([$1],
++ [C], [_LT_LANG(C)],
++ [C++], [_LT_LANG(CXX)],
++ [Java], [_LT_LANG(GCJ)],
++ [Fortran 77], [_LT_LANG(F77)],
++ [Fortran], [_LT_LANG(FC)],
++ [Windows Resource], [_LT_LANG(RC)],
++ [m4_ifdef([_LT_LANG_]$1[_CONFIG],
++ [_LT_LANG($1)],
++ [m4_fatal([$0: unsupported language: "$1"])])])dnl
++])# LT_LANG
++
++
++# _LT_LANG(LANGNAME)
++# ------------------
++m4_defun([_LT_LANG],
++[m4_ifdef([_LT_LANG_]$1[_enabled], [],
++ [LT_SUPPORTED_TAG([$1])dnl
++ m4_append([_LT_TAGS], [$1 ])dnl
++ m4_define([_LT_LANG_]$1[_enabled], [])dnl
++ _LT_LANG_$1_CONFIG($1)])dnl
++])# _LT_LANG
++
++
++# _LT_LANG_DEFAULT_CONFIG
++# -----------------------
++m4_defun([_LT_LANG_DEFAULT_CONFIG],
++[AC_PROVIDE_IFELSE([AC_PROG_CXX],
++ [LT_LANG(CXX)],
++ [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
++
++AC_PROVIDE_IFELSE([AC_PROG_F77],
++ [LT_LANG(F77)],
++ [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
++
++AC_PROVIDE_IFELSE([AC_PROG_FC],
++ [LT_LANG(FC)],
++ [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
++
++dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
++dnl pulling things in needlessly.
++AC_PROVIDE_IFELSE([AC_PROG_GCJ],
++ [LT_LANG(GCJ)],
++ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
++ [LT_LANG(GCJ)],
++ [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
++ [LT_LANG(GCJ)],
++ [m4_ifdef([AC_PROG_GCJ],
++ [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
++ m4_ifdef([A][M_PROG_GCJ],
++ [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
++ m4_ifdef([LT_PROG_GCJ],
++ [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
++
++AC_PROVIDE_IFELSE([LT_PROG_RC],
++ [LT_LANG(RC)],
++ [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
++])# _LT_LANG_DEFAULT_CONFIG
++
++# Obsolete macros:
++AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
++AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
++AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
++AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
++dnl AC_DEFUN([AC_LIBTOOL_F77], [])
++dnl AC_DEFUN([AC_LIBTOOL_FC], [])
++dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
++
++
++# _LT_TAG_COMPILER
++# ----------------
++m4_defun([_LT_TAG_COMPILER],
++[AC_REQUIRE([AC_PROG_CC])dnl
++
++_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
++_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
++_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
++_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
++
++# If no C compiler was specified, use CC.
++LTCC=${LTCC-"$CC"}
++
++# If no C compiler flags were specified, use CFLAGS.
++LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
++
++# Allow CC to be a program name with arguments.
++compiler=$CC
++])# _LT_TAG_COMPILER
++
++
++# _LT_COMPILER_BOILERPLATE
++# ------------------------
++# Check for compiler boilerplate output or warnings with
++# the simple compiler test code.
++m4_defun([_LT_COMPILER_BOILERPLATE],
++[m4_require([_LT_DECL_SED])dnl
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_compile_test_code" >conftest.$ac_ext
++eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_compiler_boilerplate=`cat conftest.err`
++$RM conftest*
++])# _LT_COMPILER_BOILERPLATE
++
++
++# _LT_LINKER_BOILERPLATE
++# ----------------------
++# Check for linker boilerplate output or warnings with
++# the simple link test code.
++m4_defun([_LT_LINKER_BOILERPLATE],
++[m4_require([_LT_DECL_SED])dnl
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_link_test_code" >conftest.$ac_ext
++eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_linker_boilerplate=`cat conftest.err`
++$RM -r conftest*
++])# _LT_LINKER_BOILERPLATE
++
++# _LT_REQUIRED_DARWIN_CHECKS
++# -------------------------
++m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
++ case $host_os in
++ rhapsody* | darwin*)
++ AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
++ AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
++ AC_CHECK_TOOL([LIPO], [lipo], [:])
++ AC_CHECK_TOOL([OTOOL], [otool], [:])
++ AC_CHECK_TOOL([OTOOL64], [otool64], [:])
++ _LT_DECL([], [DSYMUTIL], [1],
++ [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
++ _LT_DECL([], [NMEDIT], [1],
++ [Tool to change global to local symbols on Mac OS X])
++ _LT_DECL([], [LIPO], [1],
++ [Tool to manipulate fat objects and archives on Mac OS X])
++ _LT_DECL([], [OTOOL], [1],
++ [ldd/readelf like tool for Mach-O binaries on Mac OS X])
++ _LT_DECL([], [OTOOL64], [1],
++ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
++
++ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
++ [lt_cv_apple_cc_single_mod=no
++ if test -z "${LT_MULTI_MODULE}"; then
++ # By default we will add the -single_module flag. You can override
++ # by either setting the environment variable LT_MULTI_MODULE
++ # non-empty at configure time, or by adding -multi_module to the
++ # link flags.
++ rm -rf libconftest.dylib*
++ echo "int foo(void){return 1;}" > conftest.c
++ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
++-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
++ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
++ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
++ _lt_result=$?
++ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
++ lt_cv_apple_cc_single_mod=yes
++ else
++ cat conftest.err >&AS_MESSAGE_LOG_FD
++ fi
++ rm -rf libconftest.dylib*
++ rm -f conftest.*
++ fi])
++ AC_CACHE_CHECK([for -exported_symbols_list linker flag],
++ [lt_cv_ld_exported_symbols_list],
++ [lt_cv_ld_exported_symbols_list=no
++ save_LDFLAGS=$LDFLAGS
++ echo "_main" > conftest.sym
++ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
++ [lt_cv_ld_exported_symbols_list=yes],
++ [lt_cv_ld_exported_symbols_list=no])
++ LDFLAGS="$save_LDFLAGS"
++ ])
++ case $host_os in
++ rhapsody* | darwin1.[[012]])
++ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
++ darwin1.*)
++ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
++ darwin*) # darwin 5.x on
++ # if running on 10.5 or later, the deployment target defaults
++ # to the OS version, if on x86, and 10.4, the deployment
++ # target defaults to 10.4. Don't you love it?
++ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
++ 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
++ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
++ 10.[[012]]*)
++ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
++ 10.*)
++ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
++ esac
++ ;;
++ esac
++ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
++ _lt_dar_single_mod='$single_module'
++ fi
++ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
++ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
++ else
++ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
++ fi
++ if test "$DSYMUTIL" != ":"; then
++ _lt_dsymutil='~$DSYMUTIL $lib || :'
++ else
++ _lt_dsymutil=
++ fi
++ ;;
++ esac
++])
++
++
++# _LT_DARWIN_LINKER_FEATURES
++# --------------------------
++# Checks for linker and compiler features on darwin
++m4_defun([_LT_DARWIN_LINKER_FEATURES],
++[
++ m4_require([_LT_REQUIRED_DARWIN_CHECKS])
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++ _LT_TAGVAR(hardcode_direct, $1)=no
++ _LT_TAGVAR(hardcode_automatic, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
++ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
++ _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
++ if test "$GCC" = "yes"; then
++ output_verbose_link_cmd=echo
++ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
++ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
++ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
++ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
++ m4_if([$1], [CXX],
++[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
++ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
++ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
++ fi
++],[])
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++])
++
++# _LT_SYS_MODULE_PATH_AIX
++# -----------------------
++# Links a minimal program and checks the executable
++# for the system default hardcoded library path. In most cases,
++# this is /usr/lib:/lib, but when the MPI compilers are used
++# the location of the communication and MPI libs are included too.
++# If we don't find anything, use the default library path according
++# to the aix ld manual.
++m4_defun([_LT_SYS_MODULE_PATH_AIX],
++[m4_require([_LT_DECL_SED])dnl
++AC_LINK_IFELSE(AC_LANG_PROGRAM,[
++lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\(.*\)$/\1/
++ p
++ }
++ }'
++aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++# Check for a 64-bit object if we didn't find anything.
++if test -z "$aix_libpath"; then
++ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++fi],[])
++if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++])# _LT_SYS_MODULE_PATH_AIX
++
++
++# _LT_SHELL_INIT(ARG)
++# -------------------
++m4_define([_LT_SHELL_INIT],
++[ifdef([AC_DIVERSION_NOTICE],
++ [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
++ [AC_DIVERT_PUSH(NOTICE)])
++$1
++AC_DIVERT_POP
++])# _LT_SHELL_INIT
++
++
++# _LT_PROG_ECHO_BACKSLASH
++# -----------------------
++# Add some code to the start of the generated configure script which
++# will find an echo command which doesn't interpret backslashes.
++m4_defun([_LT_PROG_ECHO_BACKSLASH],
++[_LT_SHELL_INIT([
++# Check that we are running under the correct shell.
++SHELL=${CONFIG_SHELL-/bin/sh}
++
++case X$lt_ECHO in
++X*--fallback-echo)
++ # Remove one level of quotation (which was required for Make).
++ ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
++ ;;
++esac
++
++ECHO=${lt_ECHO-echo}
++if test "X[$]1" = X--no-reexec; then
++ # Discard the --no-reexec flag, and continue.
++ shift
++elif test "X[$]1" = X--fallback-echo; then
++ # Avoid inline document here, it may be left over
++ :
++elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
++ # Yippee, $ECHO works!
++ :
++else
++ # Restart under the correct shell.
++ exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
++fi
++
++if test "X[$]1" = X--fallback-echo; then
++ # used as fallback echo
++ shift
++ cat <<_LT_EOF
++[$]*
++_LT_EOF
++ exit 0
++fi
++
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
++
++if test -z "$lt_ECHO"; then
++ if test "X${echo_test_string+set}" != Xset; then
++ # find a string as large as possible, as long as the shell can cope with it
++ for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
++ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
++ if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
++ { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
++ then
++ break
++ fi
++ done
++ fi
++
++ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ :
++ else
++ # The Solaris, AIX, and Digital Unix default echo programs unquote
++ # backslashes. This makes it impossible to quote backslashes using
++ # echo "$something" | sed 's/\\/\\\\/g'
++ #
++ # So, first we look for a working echo in the user's PATH.
++
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ for dir in $PATH /usr/ucb; do
++ IFS="$lt_save_ifs"
++ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
++ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ ECHO="$dir/echo"
++ break
++ fi
++ done
++ IFS="$lt_save_ifs"
++
++ if test "X$ECHO" = Xecho; then
++ # We didn't find a better echo, so look for alternatives.
++ if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ # This shell has a builtin print -r that does the trick.
++ ECHO='print -r'
++ elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
++ test "X$CONFIG_SHELL" != X/bin/ksh; then
++ # If we have ksh, try running configure again with it.
++ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
++ export ORIGINAL_CONFIG_SHELL
++ CONFIG_SHELL=/bin/ksh
++ export CONFIG_SHELL
++ exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
++ else
++ # Try using printf.
++ ECHO='printf %s\n'
++ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ # Cool, printf works
++ :
++ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
++ test "X$echo_testing_string" = 'X\t' &&
++ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
++ export CONFIG_SHELL
++ SHELL="$CONFIG_SHELL"
++ export SHELL
++ ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
++ elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
++ test "X$echo_testing_string" = 'X\t' &&
++ echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
++ else
++ # maybe with a smaller string...
++ prev=:
++
++ for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
++ if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
++ then
++ break
++ fi
++ prev="$cmd"
++ done
++
++ if test "$prev" != 'sed 50q "[$]0"'; then
++ echo_test_string=`eval $prev`
++ export echo_test_string
++ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
++ else
++ # Oops. We lost completely, so just stick with echo.
++ ECHO=echo
++ fi
++ fi
++ fi
++ fi
++ fi
++fi
++
++# Copy echo and quote the copy suitably for passing to libtool from
++# the Makefile, instead of quoting the original, which is used later.
++lt_ECHO=$ECHO
++if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
++ lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
++fi
++
++AC_SUBST(lt_ECHO)
++])
++_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
++_LT_DECL([], [ECHO], [1],
++ [An echo program that does not interpret backslashes])
++])# _LT_PROG_ECHO_BACKSLASH
++
++
++# _LT_ENABLE_LOCK
++# ---------------
++m4_defun([_LT_ENABLE_LOCK],
++[AC_ARG_ENABLE([libtool-lock],
++ [AS_HELP_STRING([--disable-libtool-lock],
++ [avoid locking (might break parallel builds)])])
++test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
++
++# Some flags need to be propagated to the compiler or linker for good
++# libtool support.
++case $host in
++ia64-*-hpux*)
++ # Find out which ABI we are using.
++ echo 'int i;' > conftest.$ac_ext
++ if AC_TRY_EVAL(ac_compile); then
++ case `/usr/bin/file conftest.$ac_objext` in
++ *ELF-32*)
++ HPUX_IA64_MODE="32"
++ ;;
++ *ELF-64*)
++ HPUX_IA64_MODE="64"
++ ;;
++ esac
++ fi
++ rm -rf conftest*
++ ;;
++*-*-irix6*)
++ # Find out which ABI we are using.
++ echo '[#]line __oline__ "configure"' > conftest.$ac_ext
++ if AC_TRY_EVAL(ac_compile); then
++ if test "$lt_cv_prog_gnu_ld" = yes; then
++ case `/usr/bin/file conftest.$ac_objext` in
++ *32-bit*)
++ LD="${LD-ld} -melf32bsmip"
++ ;;
++ *N32*)
++ LD="${LD-ld} -melf32bmipn32"
++ ;;
++ *64-bit*)
++ LD="${LD-ld} -melf64bmip"
++ ;;
++ esac
++ else
++ case `/usr/bin/file conftest.$ac_objext` in
++ *32-bit*)
++ LD="${LD-ld} -32"
++ ;;
++ *N32*)
++ LD="${LD-ld} -n32"
++ ;;
++ *64-bit*)
++ LD="${LD-ld} -64"
++ ;;
++ esac
++ fi
++ fi
++ rm -rf conftest*
++ ;;
++
++x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
++s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
++ # Find out which ABI we are using.
++ echo 'int i;' > conftest.$ac_ext
++ if AC_TRY_EVAL(ac_compile); then
++ case `/usr/bin/file conftest.o` in
++ *32-bit*)
++ case $host in
++ x86_64-*kfreebsd*-gnu)
++ LD="${LD-ld} -m elf_i386_fbsd"
++ ;;
++ x86_64-*linux*)
++ LD="${LD-ld} -m elf_i386"
++ ;;
++ ppc64-*linux*|powerpc64-*linux*)
++ LD="${LD-ld} -m elf32ppclinux"
++ ;;
++ s390x-*linux*)
++ LD="${LD-ld} -m elf_s390"
++ ;;
++ sparc64-*linux*)
++ LD="${LD-ld} -m elf32_sparc"
++ ;;
++ esac
++ ;;
++ *64-bit*)
++ case $host in
++ x86_64-*kfreebsd*-gnu)
++ LD="${LD-ld} -m elf_x86_64_fbsd"
++ ;;
++ x86_64-*linux*)
++ LD="${LD-ld} -m elf_x86_64"
++ ;;
++ ppc*-*linux*|powerpc*-*linux*)
++ LD="${LD-ld} -m elf64ppc"
++ ;;
++ s390*-*linux*|s390*-*tpf*)
++ LD="${LD-ld} -m elf64_s390"
++ ;;
++ sparc*-*linux*)
++ LD="${LD-ld} -m elf64_sparc"
++ ;;
++ esac
++ ;;
++ esac
++ fi
++ rm -rf conftest*
++ ;;
++
++*-*-sco3.2v5*)
++ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
++ SAVE_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS -belf"
++ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
++ [AC_LANG_PUSH(C)
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
++ AC_LANG_POP])
++ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
++ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
++ CFLAGS="$SAVE_CFLAGS"
++ fi
++ ;;
++sparc*-*solaris*)
++ # Find out which ABI we are using.
++ echo 'int i;' > conftest.$ac_ext
++ if AC_TRY_EVAL(ac_compile); then
++ case `/usr/bin/file conftest.o` in
++ *64-bit*)
++ case $lt_cv_prog_gnu_ld in
++ yes*) LD="${LD-ld} -m elf64_sparc" ;;
++ *)
++ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
++ LD="${LD-ld} -64"
++ fi
++ ;;
++ esac
++ ;;
++ esac
++ fi
++ rm -rf conftest*
++ ;;
++esac
++
++need_locks="$enable_libtool_lock"
++])# _LT_ENABLE_LOCK
++
++
++# _LT_CMD_OLD_ARCHIVE
++# -------------------
++m4_defun([_LT_CMD_OLD_ARCHIVE],
++[AC_CHECK_TOOL(AR, ar, false)
++test -z "$AR" && AR=ar
++test -z "$AR_FLAGS" && AR_FLAGS=cru
++_LT_DECL([], [AR], [1], [The archiver])
++_LT_DECL([], [AR_FLAGS], [1])
++
++AC_CHECK_TOOL(STRIP, strip, :)
++test -z "$STRIP" && STRIP=:
++_LT_DECL([], [STRIP], [1], [A symbol stripping program])
++
++AC_CHECK_TOOL(RANLIB, ranlib, :)
++test -z "$RANLIB" && RANLIB=:
++_LT_DECL([], [RANLIB], [1],
++ [Commands used to install an old-style archive])
++
++# Determine commands to create old-style static archives.
++old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
++old_postinstall_cmds='chmod 644 $oldlib'
++old_postuninstall_cmds=
++
++if test -n "$RANLIB"; then
++ case $host_os in
++ openbsd*)
++ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
++ ;;
++ *)
++ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
++ ;;
++ esac
++ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
++fi
++_LT_DECL([], [old_postinstall_cmds], [2])
++_LT_DECL([], [old_postuninstall_cmds], [2])
++_LT_TAGDECL([], [old_archive_cmds], [2],
++ [Commands used to build an old-style archive])
++])# _LT_CMD_OLD_ARCHIVE
++
++
++# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
++# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
++# ----------------------------------------------------------------
++# Check whether the given compiler option works
++AC_DEFUN([_LT_COMPILER_OPTION],
++[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_DECL_SED])dnl
++AC_CACHE_CHECK([$1], [$2],
++ [$2=no
++ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++ lt_compiler_flag="$3"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ # The option is referenced via a variable to avoid confusing sed.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
++ (eval "$lt_compile" 2>conftest.err)
++ ac_status=$?
++ cat conftest.err >&AS_MESSAGE_LOG_FD
++ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
++ if (exit $ac_status) && test -s "$ac_outfile"; then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings other than the usual output.
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
++ $2=yes
++ fi
++ fi
++ $RM conftest*
++])
++
++if test x"[$]$2" = xyes; then
++ m4_if([$5], , :, [$5])
++else
++ m4_if([$6], , :, [$6])
++fi
++])# _LT_COMPILER_OPTION
++
++# Old name:
++AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
++
++
++# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
++# [ACTION-SUCCESS], [ACTION-FAILURE])
++# ----------------------------------------------------
++# Check whether the given linker option works
++AC_DEFUN([_LT_LINKER_OPTION],
++[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_DECL_SED])dnl
++AC_CACHE_CHECK([$1], [$2],
++ [$2=no
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS $3"
++ echo "$lt_simple_link_test_code" > conftest.$ac_ext
++ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
++ # The linker can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ if test -s conftest.err; then
++ # Append any errors to the config.log.
++ cat conftest.err 1>&AS_MESSAGE_LOG_FD
++ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++ if diff conftest.exp conftest.er2 >/dev/null; then
++ $2=yes
++ fi
++ else
++ $2=yes
++ fi
++ fi
++ $RM -r conftest*
++ LDFLAGS="$save_LDFLAGS"
++])
++
++if test x"[$]$2" = xyes; then
++ m4_if([$4], , :, [$4])
++else
++ m4_if([$5], , :, [$5])
++fi
++])# _LT_LINKER_OPTION
++
++# Old name:
++AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
++
++
++# LT_CMD_MAX_LEN
++#---------------
++AC_DEFUN([LT_CMD_MAX_LEN],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++# find the maximum length of command line arguments
++AC_MSG_CHECKING([the maximum length of command line arguments])
++AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
++ i=0
++ teststring="ABCD"
++
++ case $build_os in
++ msdosdjgpp*)
++ # On DJGPP, this test can blow up pretty badly due to problems in libc
++ # (any single argument exceeding 2000 bytes causes a buffer overrun
++ # during glob expansion). Even if it were fixed, the result of this
++ # check would be larger than it should be.
++ lt_cv_sys_max_cmd_len=12288; # 12K is about right
++ ;;
++
++ gnu*)
++ # Under GNU Hurd, this test is not required because there is
++ # no limit to the length of command line arguments.
++ # Libtool will interpret -1 as no limit whatsoever
++ lt_cv_sys_max_cmd_len=-1;
++ ;;
++
++ cygwin* | mingw*)
++ # On Win9x/ME, this test blows up -- it succeeds, but takes
++ # about 5 minutes as the teststring grows exponentially.
++ # Worse, since 9x/ME are not pre-emptively multitasking,
++ # you end up with a "frozen" computer, even though with patience
++ # the test eventually succeeds (with a max line length of 256k).
++ # Instead, let's just punt: use the minimum linelength reported by
++ # all of the supported platforms: 8192 (on NT/2K/XP).
++ lt_cv_sys_max_cmd_len=8192;
++ ;;
++
++ amigaos*)
++ # On AmigaOS with pdksh, this test takes hours, literally.
++ # So we just punt and use a minimum line length of 8192.
++ lt_cv_sys_max_cmd_len=8192;
++ ;;
++
++ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
++ # This has been around since 386BSD, at least. Likely further.
++ if test -x /sbin/sysctl; then
++ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
++ elif test -x /usr/sbin/sysctl; then
++ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
++ else
++ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
++ fi
++ # And add a safety zone
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
++ ;;
++
++ interix*)
++ # We know the value 262144 and hardcode it with a safety zone (like BSD)
++ lt_cv_sys_max_cmd_len=196608
++ ;;
++
++ osf*)
++ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
++ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
++ # nice to cause kernel panics so lets avoid the loop below.
++ # First set a reasonable default.
++ lt_cv_sys_max_cmd_len=16384
++ #
++ if test -x /sbin/sysconfig; then
++ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
++ *1*) lt_cv_sys_max_cmd_len=-1 ;;
++ esac
++ fi
++ ;;
++ sco3.2v5*)
++ lt_cv_sys_max_cmd_len=102400
++ ;;
++ sysv5* | sco5v6* | sysv4.2uw2*)
++ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
++ if test -n "$kargmax"; then
++ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
++ else
++ lt_cv_sys_max_cmd_len=32768
++ fi
++ ;;
++ *)
++ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
++ if test -n "$lt_cv_sys_max_cmd_len"; then
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
++ else
++ # Make teststring a little bigger before we do anything with it.
++ # a 1K string should be a reasonable start.
++ for i in 1 2 3 4 5 6 7 8 ; do
++ teststring=$teststring$teststring
++ done
++ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
++ # If test is not a shell built-in, we'll probably end up computing a
++ # maximum length that is only half of the actual maximum length, but
++ # we can't tell.
++ while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
++ = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
++ test $i != 17 # 1/2 MB should be enough
++ do
++ i=`expr $i + 1`
++ teststring=$teststring$teststring
++ done
++ # Only check the string length outside the loop.
++ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
++ teststring=
++ # Add a significant safety factor because C++ compilers can tack on
++ # massive amounts of additional arguments before passing them to the
++ # linker. It appears as though 1/2 is a usable value.
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
++ fi
++ ;;
++ esac
++])
++if test -n $lt_cv_sys_max_cmd_len ; then
++ AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
++else
++ AC_MSG_RESULT(none)
++fi
++max_cmd_len=$lt_cv_sys_max_cmd_len
++_LT_DECL([], [max_cmd_len], [0],
++ [What is the maximum length of a command?])
++])# LT_CMD_MAX_LEN
++
++# Old name:
++AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
++
++
++# _LT_HEADER_DLFCN
++# ----------------
++m4_defun([_LT_HEADER_DLFCN],
++[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
++])# _LT_HEADER_DLFCN
++
++
++# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
++# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
++# ----------------------------------------------------------------
++m4_defun([_LT_TRY_DLOPEN_SELF],
++[m4_require([_LT_HEADER_DLFCN])dnl
++if test "$cross_compiling" = yes; then :
++ [$4]
++else
++ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
++ lt_status=$lt_dlunknown
++ cat > conftest.$ac_ext <<_LT_EOF
++[#line __oline__ "configure"
++#include "confdefs.h"
++
++#if HAVE_DLFCN_H
++#include <dlfcn.h>
++#endif
++
++#include <stdio.h>
++
++#ifdef RTLD_GLOBAL
++# define LT_DLGLOBAL RTLD_GLOBAL
++#else
++# ifdef DL_GLOBAL
++# define LT_DLGLOBAL DL_GLOBAL
++# else
++# define LT_DLGLOBAL 0
++# endif
++#endif
++
++/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
++ find out it does not work in some platform. */
++#ifndef LT_DLLAZY_OR_NOW
++# ifdef RTLD_LAZY
++# define LT_DLLAZY_OR_NOW RTLD_LAZY
++# else
++# ifdef DL_LAZY
++# define LT_DLLAZY_OR_NOW DL_LAZY
++# else
++# ifdef RTLD_NOW
++# define LT_DLLAZY_OR_NOW RTLD_NOW
++# else
++# ifdef DL_NOW
++# define LT_DLLAZY_OR_NOW DL_NOW
++# else
++# define LT_DLLAZY_OR_NOW 0
++# endif
++# endif
++# endif
++# endif
++#endif
++
++#ifdef __cplusplus
++extern "C" void exit (int);
++#endif
++
++void fnord() { int i=42;}
++int main ()
++{
++ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
++ int status = $lt_dlunknown;
++
++ if (self)
++ {
++ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
++ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
++ /* dlclose (self); */
++ }
++ else
++ puts (dlerror ());
++
++ exit (status);
++}]
++_LT_EOF
++ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
++ (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
++ lt_status=$?
++ case x$lt_status in
++ x$lt_dlno_uscore) $1 ;;
++ x$lt_dlneed_uscore) $2 ;;
++ x$lt_dlunknown|x*) $3 ;;
++ esac
++ else :
++ # compilation failed
++ $3
++ fi
++fi
++rm -fr conftest*
++])# _LT_TRY_DLOPEN_SELF
++
++
++# LT_SYS_DLOPEN_SELF
++# ------------------
++AC_DEFUN([LT_SYS_DLOPEN_SELF],
++[m4_require([_LT_HEADER_DLFCN])dnl
++if test "x$enable_dlopen" != xyes; then
++ enable_dlopen=unknown
++ enable_dlopen_self=unknown
++ enable_dlopen_self_static=unknown
++else
++ lt_cv_dlopen=no
++ lt_cv_dlopen_libs=
++
++ case $host_os in
++ beos*)
++ lt_cv_dlopen="load_add_on"
++ lt_cv_dlopen_libs=
++ lt_cv_dlopen_self=yes
++ ;;
++
++ mingw* | pw32*)
++ lt_cv_dlopen="LoadLibrary"
++ lt_cv_dlopen_libs=
++ ;;
++
++ cygwin*)
++ lt_cv_dlopen="dlopen"
++ lt_cv_dlopen_libs=
++ ;;
++
++ darwin*)
++ # if libdl is installed we need to link against it
++ AC_CHECK_LIB([dl], [dlopen],
++ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
++ lt_cv_dlopen="dyld"
++ lt_cv_dlopen_libs=
++ lt_cv_dlopen_self=yes
++ ])
++ ;;
++
++ *)
++ AC_CHECK_FUNC([shl_load],
++ [lt_cv_dlopen="shl_load"],
++ [AC_CHECK_LIB([dld], [shl_load],
++ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
++ [AC_CHECK_FUNC([dlopen],
++ [lt_cv_dlopen="dlopen"],
++ [AC_CHECK_LIB([dl], [dlopen],
++ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
++ [AC_CHECK_LIB([svld], [dlopen],
++ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
++ [AC_CHECK_LIB([dld], [dld_link],
++ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
++ ])
++ ])
++ ])
++ ])
++ ])
++ ;;
++ esac
++
++ if test "x$lt_cv_dlopen" != xno; then
++ enable_dlopen=yes
++ else
++ enable_dlopen=no
++ fi
++
++ case $lt_cv_dlopen in
++ dlopen)
++ save_CPPFLAGS="$CPPFLAGS"
++ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
++
++ save_LDFLAGS="$LDFLAGS"
++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
++
++ save_LIBS="$LIBS"
++ LIBS="$lt_cv_dlopen_libs $LIBS"
++
++ AC_CACHE_CHECK([whether a program can dlopen itself],
++ lt_cv_dlopen_self, [dnl
++ _LT_TRY_DLOPEN_SELF(
++ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
++ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
++ ])
++
++ if test "x$lt_cv_dlopen_self" = xyes; then
++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
++ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
++ lt_cv_dlopen_self_static, [dnl
++ _LT_TRY_DLOPEN_SELF(
++ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
++ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
++ ])
++ fi
++
++ CPPFLAGS="$save_CPPFLAGS"
++ LDFLAGS="$save_LDFLAGS"
++ LIBS="$save_LIBS"
++ ;;
++ esac
++
++ case $lt_cv_dlopen_self in
++ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
++ *) enable_dlopen_self=unknown ;;
++ esac
++
++ case $lt_cv_dlopen_self_static in
++ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
++ *) enable_dlopen_self_static=unknown ;;
++ esac
++fi
++_LT_DECL([dlopen_support], [enable_dlopen], [0],
++ [Whether dlopen is supported])
++_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
++ [Whether dlopen of programs is supported])
++_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
++ [Whether dlopen of statically linked programs is supported])
++])# LT_SYS_DLOPEN_SELF
++
++# Old name:
++AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
++
++
++# _LT_COMPILER_C_O([TAGNAME])
++# ---------------------------
++# Check to see if options -c and -o are simultaneously supported by compiler.
++# This macro does not hard code the compiler like AC_PROG_CC_C_O.
++m4_defun([_LT_COMPILER_C_O],
++[m4_require([_LT_DECL_SED])dnl
++m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_TAG_COMPILER])dnl
++AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
++ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
++ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
++ $RM -r conftest 2>/dev/null
++ mkdir conftest
++ cd conftest
++ mkdir out
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++
++ lt_compiler_flag="-o out/conftest2.$ac_objext"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
++ (eval "$lt_compile" 2>out/conftest.err)
++ ac_status=$?
++ cat out/conftest.err >&AS_MESSAGE_LOG_FD
++ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
++ if (exit $ac_status) && test -s out/conftest2.$ac_objext
++ then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
++ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
++ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
++ _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
++ fi
++ fi
++ chmod u+w . 2>&AS_MESSAGE_LOG_FD
++ $RM conftest*
++ # SGI C++ compiler will create directory out/ii_files/ for
++ # template instantiation
++ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
++ $RM out/* && rmdir out
++ cd ..
++ $RM -r conftest
++ $RM conftest*
++])
++_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
++ [Does compiler simultaneously support -c and -o options?])
++])# _LT_COMPILER_C_O
++
++
++# _LT_COMPILER_FILE_LOCKS([TAGNAME])
++# ----------------------------------
++# Check to see if we can do hard links to lock some files if needed
++m4_defun([_LT_COMPILER_FILE_LOCKS],
++[m4_require([_LT_ENABLE_LOCK])dnl
++m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++_LT_COMPILER_C_O([$1])
++
++hard_links="nottested"
++if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
++ # do not overwrite the value of need_locks provided by the user
++ AC_MSG_CHECKING([if we can lock with hard links])
++ hard_links=yes
++ $RM conftest*
++ ln conftest.a conftest.b 2>/dev/null && hard_links=no
++ touch conftest.a
++ ln conftest.a conftest.b 2>&5 || hard_links=no
++ ln conftest.a conftest.b 2>/dev/null && hard_links=no
++ AC_MSG_RESULT([$hard_links])
++ if test "$hard_links" = no; then
++ AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
++ need_locks=warn
++ fi
++else
++ need_locks=no
++fi
++_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
++])# _LT_COMPILER_FILE_LOCKS
++
++
++# _LT_CHECK_OBJDIR
++# ----------------
++m4_defun([_LT_CHECK_OBJDIR],
++[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
++[rm -f .libs 2>/dev/null
++mkdir .libs 2>/dev/null
++if test -d .libs; then
++ lt_cv_objdir=.libs
++else
++ # MS-DOS does not allow filenames that begin with a dot.
++ lt_cv_objdir=_libs
++fi
++rmdir .libs 2>/dev/null])
++objdir=$lt_cv_objdir
++_LT_DECL([], [objdir], [0],
++ [The name of the directory that contains temporary libtool files])dnl
++m4_pattern_allow([LT_OBJDIR])dnl
++AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
++ [Define to the sub-directory in which libtool stores uninstalled libraries.])
++])# _LT_CHECK_OBJDIR
++
++
++# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
++# --------------------------------------
++# Check hardcoding attributes.
++m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
++[AC_MSG_CHECKING([how to hardcode library paths into programs])
++_LT_TAGVAR(hardcode_action, $1)=
++if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
++ test -n "$_LT_TAGVAR(runpath_var, $1)" ||
++ test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
++
++ # We can hardcode non-existent directories.
++ if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
++ # If the only mechanism to avoid hardcoding is shlibpath_var, we
++ # have to relink, otherwise we might link with an installed library
++ # when we should be linking with a yet-to-be-installed one
++ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
++ test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
++ # Linking always hardcodes the temporary library directory.
++ _LT_TAGVAR(hardcode_action, $1)=relink
++ else
++ # We can link without hardcoding, and we can hardcode nonexisting dirs.
++ _LT_TAGVAR(hardcode_action, $1)=immediate
++ fi
++else
++ # We cannot hardcode anything, or else we can only hardcode existing
++ # directories.
++ _LT_TAGVAR(hardcode_action, $1)=unsupported
++fi
++AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
++
++if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
++ test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
++ # Fast installation is not supported
++ enable_fast_install=no
++elif test "$shlibpath_overrides_runpath" = yes ||
++ test "$enable_shared" = no; then
++ # Fast installation is not necessary
++ enable_fast_install=needless
++fi
++_LT_TAGDECL([], [hardcode_action], [0],
++ [How to hardcode a shared library path into an executable])
++])# _LT_LINKER_HARDCODE_LIBPATH
++
++
++# _LT_CMD_STRIPLIB
++# ----------------
++m4_defun([_LT_CMD_STRIPLIB],
++[m4_require([_LT_DECL_EGREP])
++striplib=
++old_striplib=
++AC_MSG_CHECKING([whether stripping libraries is possible])
++if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
++ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
++ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
++ AC_MSG_RESULT([yes])
++else
++# FIXME - insert some real tests, host_os isn't really good enough
++ case $host_os in
++ darwin*)
++ if test -n "$STRIP" ; then
++ striplib="$STRIP -x"
++ old_striplib="$STRIP -S"
++ AC_MSG_RESULT([yes])
++ else
++ AC_MSG_RESULT([no])
++ fi
++ ;;
++ *)
++ AC_MSG_RESULT([no])
++ ;;
++ esac
++fi
++_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
++_LT_DECL([], [striplib], [1])
++])# _LT_CMD_STRIPLIB
++
++
++# _LT_SYS_DYNAMIC_LINKER([TAG])
++# -----------------------------
++# PORTME Fill in your ld.so characteristics
++m4_defun([_LT_SYS_DYNAMIC_LINKER],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++m4_require([_LT_DECL_EGREP])dnl
++m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_DECL_SED])dnl
++AC_MSG_CHECKING([dynamic linker characteristics])
++m4_if([$1],
++ [], [
++if test "$GCC" = yes; then
++ case $host_os in
++ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
++ *) lt_awk_arg="/^libraries:/" ;;
++ esac
++ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
++ if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
++ # if the path contains ";" then we assume it to be the separator
++ # otherwise default to the standard path separator (i.e. ":") - it is
++ # assumed that no part of a normal pathname contains ";" but that should
++ # okay in the real world where ";" in dirpaths is itself problematic.
++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ # Ok, now we have the path, separated by spaces, we can step through it
++ # and add multilib dir if necessary.
++ lt_tmp_lt_search_path_spec=
++ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
++ for lt_sys_path in $lt_search_path_spec; do
++ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
++ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
++ else
++ test -d "$lt_sys_path" && \
++ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
++ fi
++ done
++ lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
++BEGIN {RS=" "; FS="/|\n";} {
++ lt_foo="";
++ lt_count=0;
++ for (lt_i = NF; lt_i > 0; lt_i--) {
++ if ($lt_i != "" && $lt_i != ".") {
++ if ($lt_i == "..") {
++ lt_count++;
++ } else {
++ if (lt_count == 0) {
++ lt_foo="/" $lt_i lt_foo;
++ } else {
++ lt_count--;
++ }
++ }
++ }
++ }
++ if (lt_foo != "") { lt_freq[[lt_foo]]++; }
++ if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
++}'`
++ sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
++else
++ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
++fi])
++library_names_spec=
++libname_spec='lib$name'
++soname_spec=
++shrext_cmds=".so"
++postinstall_cmds=
++postuninstall_cmds=
++finish_cmds=
++finish_eval=
++shlibpath_var=
++shlibpath_overrides_runpath=unknown
++version_type=none
++dynamic_linker="$host_os ld.so"
++sys_lib_dlsearch_path_spec="/lib /usr/lib"
++need_lib_prefix=unknown
++hardcode_into_libs=no
++
++# when you set need_version to no, make sure it does not cause -set_version
++# flags to be left without arguments
++need_version=unknown
++
++case $host_os in
++aix3*)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
++ shlibpath_var=LIBPATH
++
++ # AIX 3 has no versioning support, so we append a major version to the name.
++ soname_spec='${libname}${release}${shared_ext}$major'
++ ;;
++
++aix[[4-9]]*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ hardcode_into_libs=yes
++ if test "$host_cpu" = ia64; then
++ # AIX 5 supports IA64
++ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ else
++ # With GCC up to 2.95.x, collect2 would create an import file
++ # for dependence libraries. The import file would start with
++ # the line `#! .'. This would cause the generated library to
++ # depend on `.', always an invalid library. This was fixed in
++ # development snapshots of GCC prior to 3.0.
++ case $host_os in
++ aix4 | aix4.[[01]] | aix4.[[01]].*)
++ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
++ echo ' yes '
++ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
++ :
++ else
++ can_build_shared=no
++ fi
++ ;;
++ esac
++ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
++ # soname into executable. Probably we can add versioning support to
++ # collect2, so additional links can be useful in future.
++ if test "$aix_use_runtimelinking" = yes; then
++ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
++ # instead of lib<name>.a to let people know that these are not
++ # typical AIX shared libraries.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ else
++ # We preserve .a as extension for shared libraries through AIX4.2
++ # and later when we are not doing run time linking.
++ library_names_spec='${libname}${release}.a $libname.a'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ fi
++ shlibpath_var=LIBPATH
++ fi
++ ;;
++
++amigaos*)
++ case $host_cpu in
++ powerpc)
++ # Since July 2007 AmigaOS4 officially supports .so libraries.
++ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ ;;
++ m68k)
++ library_names_spec='$libname.ixlibrary $libname.a'
++ # Create ${libname}_ixlibrary.a entries in /sys/libs.
++ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
++ ;;
++ esac
++ ;;
++
++beos*)
++ library_names_spec='${libname}${shared_ext}'
++ dynamic_linker="$host_os ld.so"
++ shlibpath_var=LIBRARY_PATH
++ ;;
++
++bsdi[[45]]*)
++ version_type=linux
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
++ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
++ # the default ld.so.conf also contains /usr/contrib/lib and
++ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
++ # libtool to hard-code these into programs
++ ;;
++
++cygwin* | mingw* | pw32*)
++ version_type=windows
++ shrext_cmds=".dll"
++ need_version=no
++ need_lib_prefix=no
++
++ case $GCC,$host_os in
++ yes,cygwin* | yes,mingw* | yes,pw32*)
++ library_names_spec='$libname.dll.a'
++ # DLL is installed to $(libdir)/../bin by postinstall_cmds
++ postinstall_cmds='base_file=`basename \${file}`~
++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++ dldir=$destdir/`dirname \$dlpath`~
++ test -d \$dldir || mkdir -p \$dldir~
++ $install_prog $dir/$dlname \$dldir/$dlname~
++ chmod a+x \$dldir/$dlname~
++ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
++ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
++ fi'
++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++ dlpath=$dir/\$dldll~
++ $RM \$dlpath'
++ shlibpath_overrides_runpath=yes
++
++ case $host_os in
++ cygwin*)
++ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
++ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
++ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
++ ;;
++ mingw*)
++ # MinGW DLLs use traditional 'lib' prefix
++ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
++ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
++ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
++ # It is most probably a Windows format PATH printed by
++ # mingw gcc, but we are running on Cygwin. Gcc prints its search
++ # path with ; separators, and with drive letters. We can handle the
++ # drive letters (cygwin fileutils understands them), so leave them,
++ # especially as we might pass files found there to a mingw objdump,
++ # which wouldn't understand a cygwinified path. Ahh.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ ;;
++ pw32*)
++ # pw32 DLLs use 'pw' prefix rather than 'lib'
++ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
++ ;;
++ esac
++ ;;
++
++ *)
++ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
++ ;;
++ esac
++ dynamic_linker='Win32 ld.exe'
++ # FIXME: first we should search . and the directory the executable is in
++ shlibpath_var=PATH
++ ;;
++
++darwin* | rhapsody*)
++ dynamic_linker="$host_os dyld"
++ version_type=darwin
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
++ soname_spec='${libname}${release}${major}$shared_ext'
++ shlibpath_overrides_runpath=yes
++ shlibpath_var=DYLD_LIBRARY_PATH
++ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
++m4_if([$1], [],[
++ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
++ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
++ ;;
++
++dgux*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ ;;
++
++freebsd1*)
++ dynamic_linker=no
++ ;;
++
++freebsd* | dragonfly*)
++ # DragonFly does not have aout. When/if they implement a new
++ # versioning mechanism, adjust this.
++ if test -x /usr/bin/objformat; then
++ objformat=`/usr/bin/objformat`
++ else
++ case $host_os in
++ freebsd[[123]]*) objformat=aout ;;
++ *) objformat=elf ;;
++ esac
++ fi
++ version_type=freebsd-$objformat
++ case $version_type in
++ freebsd-elf*)
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
++ need_version=no
++ need_lib_prefix=no
++ ;;
++ freebsd-*)
++ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
++ need_version=yes
++ ;;
++ esac
++ shlibpath_var=LD_LIBRARY_PATH
++ case $host_os in
++ freebsd2*)
++ shlibpath_overrides_runpath=yes
++ ;;
++ freebsd3.[[01]]* | freebsdelf3.[[01]]*)
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ ;;
++ freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
++ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ ;;
++ *) # from 4.6 on, and DragonFly
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ ;;
++ esac
++ ;;
++
++gnu*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ hardcode_into_libs=yes
++ ;;
++
++hpux9* | hpux10* | hpux11*)
++ # Give a soname corresponding to the major version so that dld.sl refuses to
++ # link against other versions.
++ version_type=sunos
++ need_lib_prefix=no
++ need_version=no
++ case $host_cpu in
++ ia64*)
++ shrext_cmds='.so'
++ hardcode_into_libs=yes
++ dynamic_linker="$host_os dld.so"
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ if test "X$HPUX_IA64_MODE" = X32; then
++ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
++ else
++ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
++ fi
++ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
++ ;;
++ hppa*64*)
++ shrext_cmds='.sl'
++ hardcode_into_libs=yes
++ dynamic_linker="$host_os dld.sl"
++ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
++ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
++ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
++ ;;
++ *)
++ shrext_cmds='.sl'
++ dynamic_linker="$host_os dld.sl"
++ shlibpath_var=SHLIB_PATH
++ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ ;;
++ esac
++ # HP-UX runs *really* slowly unless shared libraries are mode 555.
++ postinstall_cmds='chmod 555 $lib'
++ ;;
++
++interix[[3-9]]*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ ;;
++
++irix5* | irix6* | nonstopux*)
++ case $host_os in
++ nonstopux*) version_type=nonstopux ;;
++ *)
++ if test "$lt_cv_prog_gnu_ld" = yes; then
++ version_type=linux
++ else
++ version_type=irix
++ fi ;;
++ esac
++ need_lib_prefix=no
++ need_version=no
++ soname_spec='${libname}${release}${shared_ext}$major'
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
++ case $host_os in
++ irix5* | nonstopux*)
++ libsuff= shlibsuff=
++ ;;
++ *)
++ case $LD in # libtool.m4 will add one of these switches to LD
++ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
++ libsuff= shlibsuff= libmagic=32-bit;;
++ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
++ libsuff=32 shlibsuff=N32 libmagic=N32;;
++ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
++ libsuff=64 shlibsuff=64 libmagic=64-bit;;
++ *) libsuff= shlibsuff= libmagic=never-match;;
++ esac
++ ;;
++ esac
++ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
++ shlibpath_overrides_runpath=no
++ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
++ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
++ hardcode_into_libs=yes
++ ;;
++
++# No shared lib support for Linux oldld, aout, or coff.
++linux*oldld* | linux*aout* | linux*coff*)
++ dynamic_linker=no
++ ;;
++
++# This must be Linux ELF.
++linux* | k*bsd*-gnu)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ # Some binutils ld are patched to set DT_RUNPATH
++ save_LDFLAGS=$LDFLAGS
++ save_libdir=$libdir
++ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
++ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
++ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
++ [shlibpath_overrides_runpath=yes])])
++ LDFLAGS=$save_LDFLAGS
++ libdir=$save_libdir
++
++ # This implies no fast_install, which is unacceptable.
++ # Some rework will be needed to allow for fast_install
++ # before this can be enabled.
++ hardcode_into_libs=yes
++
++ # Append ld.so.conf contents to the search path
++ if test -f /etc/ld.so.conf; then
++ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
++ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
++ fi
++
++ # We used to test for /lib/ld.so.1 and disable shared libraries on
++ # powerpc, because MkLinux only supported shared libraries with the
++ # GNU dynamic linker. Since this was broken with cross compilers,
++ # most powerpc-linux boxes support dynamic linking these days and
++ # people can always --disable-shared, the test was removed, and we
++ # assume the GNU/Linux dynamic linker is in use.
++ dynamic_linker='GNU/Linux ld.so'
++ ;;
++
++netbsd*)
++ version_type=sunos
++ need_lib_prefix=no
++ need_version=no
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
++ dynamic_linker='NetBSD (a.out) ld.so'
++ else
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ dynamic_linker='NetBSD ld.elf_so'
++ fi
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ ;;
++
++newsos6)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ ;;
++
++*nto* | *qnx*)
++ version_type=qnx
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ dynamic_linker='ldqnx.so'
++ ;;
++
++openbsd*)
++ version_type=sunos
++ sys_lib_dlsearch_path_spec="/usr/lib"
++ need_lib_prefix=no
++ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
++ case $host_os in
++ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
++ *) need_version=no ;;
++ esac
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ case $host_os in
++ openbsd2.[[89]] | openbsd2.[[89]].*)
++ shlibpath_overrides_runpath=no
++ ;;
++ *)
++ shlibpath_overrides_runpath=yes
++ ;;
++ esac
++ else
++ shlibpath_overrides_runpath=yes
++ fi
++ ;;
++
++os2*)
++ libname_spec='$name'
++ shrext_cmds=".dll"
++ need_lib_prefix=no
++ library_names_spec='$libname${shared_ext} $libname.a'
++ dynamic_linker='OS/2 ld.exe'
++ shlibpath_var=LIBPATH
++ ;;
++
++osf3* | osf4* | osf5*)
++ version_type=osf
++ need_lib_prefix=no
++ need_version=no
++ soname_spec='${libname}${release}${shared_ext}$major'
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
++ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
++ ;;
++
++rdos*)
++ dynamic_linker=no
++ ;;
++
++solaris*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ # ldd complains unless libraries are executable
++ postinstall_cmds='chmod +x $lib'
++ ;;
++
++sunos4*)
++ version_type=sunos
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ if test "$with_gnu_ld" = yes; then
++ need_lib_prefix=no
++ fi
++ need_version=yes
++ ;;
++
++sysv4 | sysv4.3*)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ case $host_vendor in
++ sni)
++ shlibpath_overrides_runpath=no
++ need_lib_prefix=no
++ runpath_var=LD_RUN_PATH
++ ;;
++ siemens)
++ need_lib_prefix=no
++ ;;
++ motorola)
++ need_lib_prefix=no
++ need_version=no
++ shlibpath_overrides_runpath=no
++ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
++ ;;
++ esac
++ ;;
++
++sysv4*MP*)
++ if test -d /usr/nec ;then
++ version_type=linux
++ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
++ soname_spec='$libname${shared_ext}.$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ fi
++ ;;
++
++sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
++ version_type=freebsd-elf
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ if test "$with_gnu_ld" = yes; then
++ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
++ else
++ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
++ case $host_os in
++ sco3.2v5*)
++ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
++ ;;
++ esac
++ fi
++ sys_lib_dlsearch_path_spec='/usr/lib'
++ ;;
++
++tpf*)
++ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ ;;
++
++uts4*)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ ;;
++
++*)
++ dynamic_linker=no
++ ;;
++esac
++AC_MSG_RESULT([$dynamic_linker])
++test "$dynamic_linker" = no && can_build_shared=no
++
++variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
++if test "$GCC" = yes; then
++ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
++fi
++
++if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
++ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
++fi
++if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
++ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
++fi
++
++_LT_DECL([], [variables_saved_for_relink], [1],
++ [Variables whose values should be saved in libtool wrapper scripts and
++ restored at link time])
++_LT_DECL([], [need_lib_prefix], [0],
++ [Do we need the "lib" prefix for modules?])
++_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
++_LT_DECL([], [version_type], [0], [Library versioning type])
++_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
++_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
++_LT_DECL([], [shlibpath_overrides_runpath], [0],
++ [Is shlibpath searched before the hard-coded library search path?])
++_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
++_LT_DECL([], [library_names_spec], [1],
++ [[List of archive names. First name is the real one, the rest are links.
++ The last name is the one that the linker finds with -lNAME]])
++_LT_DECL([], [soname_spec], [1],
++ [[The coded name of the library, if different from the real name]])
++_LT_DECL([], [postinstall_cmds], [2],
++ [Command to use after installation of a shared archive])
++_LT_DECL([], [postuninstall_cmds], [2],
++ [Command to use after uninstallation of a shared archive])
++_LT_DECL([], [finish_cmds], [2],
++ [Commands used to finish a libtool library installation in a directory])
++_LT_DECL([], [finish_eval], [1],
++ [[As "finish_cmds", except a single script fragment to be evaled but
++ not shown]])
++_LT_DECL([], [hardcode_into_libs], [0],
++ [Whether we should hardcode library paths into libraries])
++_LT_DECL([], [sys_lib_search_path_spec], [2],
++ [Compile-time system search path for libraries])
++_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
++ [Run-time system search path for libraries])
++])# _LT_SYS_DYNAMIC_LINKER
++
++
++# _LT_PATH_TOOL_PREFIX(TOOL)
++# --------------------------
++# find a file program which can recognize shared library
++AC_DEFUN([_LT_PATH_TOOL_PREFIX],
++[m4_require([_LT_DECL_EGREP])dnl
++AC_MSG_CHECKING([for $1])
++AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
++[case $MAGIC_CMD in
++[[\\/*] | ?:[\\/]*])
++ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
++ ;;
++*)
++ lt_save_MAGIC_CMD="$MAGIC_CMD"
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++dnl $ac_dummy forces splitting on constant user-supplied paths.
++dnl POSIX.2 word splitting is done only on the output of word expansions,
++dnl not every word. This closes a longstanding sh security hole.
++ ac_dummy="m4_if([$2], , $PATH, [$2])"
++ for ac_dir in $ac_dummy; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ if test -f $ac_dir/$1; then
++ lt_cv_path_MAGIC_CMD="$ac_dir/$1"
++ if test -n "$file_magic_test_file"; then
++ case $deplibs_check_method in
++ "file_magic "*)
++ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
++ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
++ $EGREP "$file_magic_regex" > /dev/null; then
++ :
++ else
++ cat <<_LT_EOF 1>&2
++
++*** Warning: the command libtool uses to detect shared libraries,
++*** $file_magic_cmd, produces output that libtool cannot recognize.
++*** The result is that libtool may fail to recognize shared libraries
++*** as such. This will affect the creation of libtool libraries that
++*** depend on shared libraries, but programs linked with such libtool
++*** libraries will work regardless of this problem. Nevertheless, you
++*** may want to report the problem to your system manager and/or to
++*** bug-libtool@gnu.org
++
++_LT_EOF
++ fi ;;
++ esac
++ fi
++ break
++ fi
++ done
++ IFS="$lt_save_ifs"
++ MAGIC_CMD="$lt_save_MAGIC_CMD"
++ ;;
++esac])
++MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++if test -n "$MAGIC_CMD"; then
++ AC_MSG_RESULT($MAGIC_CMD)
++else
++ AC_MSG_RESULT(no)
++fi
++_LT_DECL([], [MAGIC_CMD], [0],
++ [Used to examine libraries when file_magic_cmd begins with "file"])dnl
++])# _LT_PATH_TOOL_PREFIX
++
++# Old name:
++AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
++
++
++# _LT_PATH_MAGIC
++# --------------
++# find a file program which can recognize a shared library
++m4_defun([_LT_PATH_MAGIC],
++[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
++if test -z "$lt_cv_path_MAGIC_CMD"; then
++ if test -n "$ac_tool_prefix"; then
++ _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
++ else
++ MAGIC_CMD=:
++ fi
++fi
++])# _LT_PATH_MAGIC
++
++
++# LT_PATH_LD
++# ----------
++# find the pathname to the GNU or non-GNU linker
++AC_DEFUN([LT_PATH_LD],
++[AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([AC_CANONICAL_HOST])dnl
++AC_REQUIRE([AC_CANONICAL_BUILD])dnl
++m4_require([_LT_DECL_SED])dnl
++m4_require([_LT_DECL_EGREP])dnl
++
++AC_ARG_WITH([gnu-ld],
++ [AS_HELP_STRING([--with-gnu-ld],
++ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
++ [test "$withval" = no || with_gnu_ld=yes],
++ [with_gnu_ld=no])dnl
++
++ac_prog=ld
++if test "$GCC" = yes; then
++ # Check if gcc -print-prog-name=ld gives a path.
++ AC_MSG_CHECKING([for ld used by $CC])
++ case $host in
++ *-*-mingw*)
++ # gcc leaves a trailing carriage return which upsets mingw
++ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
++ *)
++ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
++ esac
++ case $ac_prog in
++ # Accept absolute paths.
++ [[\\/]]* | ?:[[\\/]]*)
++ re_direlt='/[[^/]][[^/]]*/\.\./'
++ # Canonicalize the pathname of ld
++ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
++ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
++ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
++ done
++ test -z "$LD" && LD="$ac_prog"
++ ;;
++ "")
++ # If it fails, then pretend we aren't using GCC.
++ ac_prog=ld
++ ;;
++ *)
++ # If it is relative, then search for the first ld in PATH.
++ with_gnu_ld=unknown
++ ;;
++ esac
++elif test "$with_gnu_ld" = yes; then
++ AC_MSG_CHECKING([for GNU ld])
++else
++ AC_MSG_CHECKING([for non-GNU ld])
++fi
++AC_CACHE_VAL(lt_cv_path_LD,
++[if test -z "$LD"; then
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ for ac_dir in $PATH; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
++ lt_cv_path_LD="$ac_dir/$ac_prog"
++ # Check to see if the program is GNU ld. I'd rather use --version,
++ # but apparently some variants of GNU ld only accept -v.
++ # Break only if it was the GNU/non-GNU ld that we prefer.
++ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
++ *GNU* | *'with BFD'*)
++ test "$with_gnu_ld" != no && break
++ ;;
++ *)
++ test "$with_gnu_ld" != yes && break
++ ;;
++ esac
++ fi
++ done
++ IFS="$lt_save_ifs"
++else
++ lt_cv_path_LD="$LD" # Let the user override the test with a path.
++fi])
++LD="$lt_cv_path_LD"
++if test -n "$LD"; then
++ AC_MSG_RESULT($LD)
++else
++ AC_MSG_RESULT(no)
++fi
++test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
++_LT_PATH_LD_GNU
++AC_SUBST([LD])
++
++_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
++])# LT_PATH_LD
++
++# Old names:
++AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
++AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AM_PROG_LD], [])
++dnl AC_DEFUN([AC_PROG_LD], [])
++
++
++# _LT_PATH_LD_GNU
++#- --------------
++m4_defun([_LT_PATH_LD_GNU],
++[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
++[# I'd rather use --version here, but apparently some GNU lds only accept -v.
++case `$LD -v 2>&1 </dev/null` in
++*GNU* | *'with BFD'*)
++ lt_cv_prog_gnu_ld=yes
++ ;;
++*)
++ lt_cv_prog_gnu_ld=no
++ ;;
++esac])
++with_gnu_ld=$lt_cv_prog_gnu_ld
++])# _LT_PATH_LD_GNU
++
++
++# _LT_CMD_RELOAD
++# --------------
++# find reload flag for linker
++# -- PORTME Some linkers may need a different reload flag.
++m4_defun([_LT_CMD_RELOAD],
++[AC_CACHE_CHECK([for $LD option to reload object files],
++ lt_cv_ld_reload_flag,
++ [lt_cv_ld_reload_flag='-r'])
++reload_flag=$lt_cv_ld_reload_flag
++case $reload_flag in
++"" | " "*) ;;
++*) reload_flag=" $reload_flag" ;;
++esac
++reload_cmds='$LD$reload_flag -o $output$reload_objs'
++case $host_os in
++ darwin*)
++ if test "$GCC" = yes; then
++ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
++ else
++ reload_cmds='$LD$reload_flag -o $output$reload_objs'
++ fi
++ ;;
++esac
++_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
++_LT_DECL([], [reload_cmds], [2])dnl
++])# _LT_CMD_RELOAD
++
++
++# _LT_CHECK_MAGIC_METHOD
++# ----------------------
++# how to check for library dependencies
++# -- PORTME fill in with the dynamic library characteristics
++m4_defun([_LT_CHECK_MAGIC_METHOD],
++[m4_require([_LT_DECL_EGREP])
++AC_CACHE_CHECK([how to recognize dependent libraries],
++lt_cv_deplibs_check_method,
++[lt_cv_file_magic_cmd='$MAGIC_CMD'
++lt_cv_file_magic_test_file=
++lt_cv_deplibs_check_method='unknown'
++# Need to set the preceding variable on all platforms that support
++# interlibrary dependencies.
++# 'none' -- dependencies not supported.
++# `unknown' -- same as none, but documents that we really don't know.
++# 'pass_all' -- all dependencies passed with no checks.
++# 'test_compile' -- check by making test program.
++# 'file_magic [[regex]]' -- check by looking for files in library path
++# which responds to the $file_magic_cmd with a given extended regex.
++# If you have `file' or equivalent on your system and you're not sure
++# whether `pass_all' will *always* work, you probably want this one.
++
++case $host_os in
++aix[[4-9]]*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++beos*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++bsdi[[45]]*)
++ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
++ lt_cv_file_magic_cmd='/usr/bin/file -L'
++ lt_cv_file_magic_test_file=/shlib/libc.so
++ ;;
++
++cygwin*)
++ # func_win32_libid is a shell function defined in ltmain.sh
++ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
++ lt_cv_file_magic_cmd='func_win32_libid'
++ ;;
++
++mingw* | pw32*)
++ # Base MSYS/MinGW do not provide the 'file' command needed by
++ # func_win32_libid shell function, so use a weaker test based on 'objdump',
++ # unless we find 'file', for example because we are cross-compiling.
++ if ( file / ) >/dev/null 2>&1; then
++ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
++ lt_cv_file_magic_cmd='func_win32_libid'
++ else
++ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
++ lt_cv_file_magic_cmd='$OBJDUMP -f'
++ fi
++ ;;
++
++darwin* | rhapsody*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++freebsd* | dragonfly*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
++ case $host_cpu in
++ i*86 )
++ # Not sure whether the presence of OpenBSD here was a mistake.
++ # Let's accept both of them until this is cleared up.
++ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
++ lt_cv_file_magic_cmd=/usr/bin/file
++ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
++ ;;
++ esac
++ else
++ lt_cv_deplibs_check_method=pass_all
++ fi
++ ;;
++
++gnu*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++hpux10.20* | hpux11*)
++ lt_cv_file_magic_cmd=/usr/bin/file
++ case $host_cpu in
++ ia64*)
++ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
++ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
++ ;;
++ hppa*64*)
++ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
++ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
++ ;;
++ *)
++ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
++ lt_cv_file_magic_test_file=/usr/lib/libc.sl
++ ;;
++ esac
++ ;;
++
++interix[[3-9]]*)
++ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
++ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
++ ;;
++
++irix5* | irix6* | nonstopux*)
++ case $LD in
++ *-32|*"-32 ") libmagic=32-bit;;
++ *-n32|*"-n32 ") libmagic=N32;;
++ *-64|*"-64 ") libmagic=64-bit;;
++ *) libmagic=never-match;;
++ esac
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++# This must be Linux ELF.
++linux* | k*bsd*-gnu)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++netbsd*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
++ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
++ else
++ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
++ fi
++ ;;
++
++newos6*)
++ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
++ lt_cv_file_magic_cmd=/usr/bin/file
++ lt_cv_file_magic_test_file=/usr/lib/libnls.so
++ ;;
++
++*nto* | *qnx*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++openbsd*)
++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
++ else
++ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
++ fi
++ ;;
++
++osf3* | osf4* | osf5*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++rdos*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++solaris*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++sysv4 | sysv4.3*)
++ case $host_vendor in
++ motorola)
++ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
++ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
++ ;;
++ ncr)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++ sequent)
++ lt_cv_file_magic_cmd='/bin/file'
++ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
++ ;;
++ sni)
++ lt_cv_file_magic_cmd='/bin/file'
++ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
++ lt_cv_file_magic_test_file=/lib/libc.so
++ ;;
++ siemens)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++ pc)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++ esac
++ ;;
++
++tpf*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++esac
++])
++file_magic_cmd=$lt_cv_file_magic_cmd
++deplibs_check_method=$lt_cv_deplibs_check_method
++test -z "$deplibs_check_method" && deplibs_check_method=unknown
++
++_LT_DECL([], [deplibs_check_method], [1],
++ [Method to check whether dependent libraries are shared objects])
++_LT_DECL([], [file_magic_cmd], [1],
++ [Command to use when deplibs_check_method == "file_magic"])
++])# _LT_CHECK_MAGIC_METHOD
++
++
++# LT_PATH_NM
++# ----------
++# find the pathname to a BSD- or MS-compatible name lister
++AC_DEFUN([LT_PATH_NM],
++[AC_REQUIRE([AC_PROG_CC])dnl
++AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
++[if test -n "$NM"; then
++ # Let the user override the test.
++ lt_cv_path_NM="$NM"
++else
++ lt_nm_to_check="${ac_tool_prefix}nm"
++ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
++ lt_nm_to_check="$lt_nm_to_check nm"
++ fi
++ for lt_tmp_nm in $lt_nm_to_check; do
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ tmp_nm="$ac_dir/$lt_tmp_nm"
++ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
++ # Check to see if the nm accepts a BSD-compat flag.
++ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
++ # nm: unknown option "B" ignored
++ # Tru64's nm complains that /dev/null is an invalid object file
++ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
++ */dev/null* | *'Invalid file or object type'*)
++ lt_cv_path_NM="$tmp_nm -B"
++ break
++ ;;
++ *)
++ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
++ */dev/null*)
++ lt_cv_path_NM="$tmp_nm -p"
++ break
++ ;;
++ *)
++ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
++ continue # so that we can try to find one that supports BSD flags
++ ;;
++ esac
++ ;;
++ esac
++ fi
++ done
++ IFS="$lt_save_ifs"
++ done
++ : ${lt_cv_path_NM=no}
++fi])
++if test "$lt_cv_path_NM" != "no"; then
++ NM="$lt_cv_path_NM"
++else
++ # Didn't find any BSD compatible name lister, look for dumpbin.
++ AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
++ AC_SUBST([DUMPBIN])
++ if test "$DUMPBIN" != ":"; then
++ NM="$DUMPBIN"
++ fi
++fi
++test -z "$NM" && NM=nm
++AC_SUBST([NM])
++_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
++
++AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
++ [lt_cv_nm_interface="BSD nm"
++ echo "int some_variable = 0;" > conftest.$ac_ext
++ (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
++ (eval "$ac_compile" 2>conftest.err)
++ cat conftest.err >&AS_MESSAGE_LOG_FD
++ (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
++ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
++ cat conftest.err >&AS_MESSAGE_LOG_FD
++ (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
++ cat conftest.out >&AS_MESSAGE_LOG_FD
++ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
++ lt_cv_nm_interface="MS dumpbin"
++ fi
++ rm -f conftest*])
++])# LT_PATH_NM
++
++# Old names:
++AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
++AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AM_PROG_NM], [])
++dnl AC_DEFUN([AC_PROG_NM], [])
++
++
++# LT_LIB_M
++# --------
++# check for math library
++AC_DEFUN([LT_LIB_M],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++LIBM=
++case $host in
++*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
++ # These system don't have libm, or don't need it
++ ;;
++*-ncr-sysv4.3*)
++ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
++ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
++ ;;
++*)
++ AC_CHECK_LIB(m, cos, LIBM="-lm")
++ ;;
++esac
++AC_SUBST([LIBM])
++])# LT_LIB_M
++
++# Old name:
++AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_CHECK_LIBM], [])
++
++
++# _LT_COMPILER_NO_RTTI([TAGNAME])
++# -------------------------------
++m4_defun([_LT_COMPILER_NO_RTTI],
++[m4_require([_LT_TAG_COMPILER])dnl
++
++_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
++
++if test "$GCC" = yes; then
++ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
++
++ _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
++ lt_cv_prog_compiler_rtti_exceptions,
++ [-fno-rtti -fno-exceptions], [],
++ [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
++fi
++_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
++ [Compiler flag to turn off builtin functions])
++])# _LT_COMPILER_NO_RTTI
++
++
++# _LT_CMD_GLOBAL_SYMBOLS
++# ----------------------
++m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([LT_PATH_NM])dnl
++AC_REQUIRE([LT_PATH_LD])dnl
++m4_require([_LT_DECL_SED])dnl
++m4_require([_LT_DECL_EGREP])dnl
++m4_require([_LT_TAG_COMPILER])dnl
++
++# Check for command to grab the raw symbol name followed by C symbol from nm.
++AC_MSG_CHECKING([command to parse $NM output from $compiler object])
++AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
++[
++# These are sane defaults that work on at least a few old systems.
++# [They come from Ultrix. What could be older than Ultrix?!! ;)]
++
++# Character class describing NM global symbol codes.
++symcode='[[BCDEGRST]]'
++
++# Regexp to match symbols that can be accessed directly from C.
++sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
++
++# Define system-specific variables.
++case $host_os in
++aix*)
++ symcode='[[BCDT]]'
++ ;;
++cygwin* | mingw* | pw32*)
++ symcode='[[ABCDGISTW]]'
++ ;;
++hpux*)
++ if test "$host_cpu" = ia64; then
++ symcode='[[ABCDEGRST]]'
++ fi
++ ;;
++irix* | nonstopux*)
++ symcode='[[BCDEGRST]]'
++ ;;
++osf*)
++ symcode='[[BCDEGQRST]]'
++ ;;
++solaris*)
++ symcode='[[BDRT]]'
++ ;;
++sco3.2v5*)
++ symcode='[[DT]]'
++ ;;
++sysv4.2uw2*)
++ symcode='[[DT]]'
++ ;;
++sysv5* | sco5v6* | unixware* | OpenUNIX*)
++ symcode='[[ABDT]]'
++ ;;
++sysv4)
++ symcode='[[DFNSTU]]'
++ ;;
++esac
++
++# If we're using GNU nm, then use its standard symbol codes.
++case `$NM -V 2>&1` in
++*GNU* | *'with BFD'*)
++ symcode='[[ABCDGIRSTW]]' ;;
++esac
++
++# Transform an extracted symbol line into a proper C declaration.
++# Some systems (esp. on ia64) link data and code symbols differently,
++# so use this general approach.
++lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
++
++# Transform an extracted symbol line into symbol name and symbol address
++lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
++
++# Handle CRLF in mingw tool chain
++opt_cr=
++case $build_os in
++mingw*)
++ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
++ ;;
++esac
++
++# Try without a prefix underscore, then with it.
++for ac_symprfx in "" "_"; do
++
++ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
++ symxfrm="\\1 $ac_symprfx\\2 \\2"
++
++ # Write the raw and C identifiers.
++ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++ # Fake it for dumpbin and say T for any non-static function
++ # and D for any global variable.
++ # Also find C++ and __fastcall symbols from MSVC++,
++ # which start with @ or ?.
++ lt_cv_sys_global_symbol_pipe="$AWK ['"\
++" {last_section=section; section=\$ 3};"\
++" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
++" \$ 0!~/External *\|/{next};"\
++" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
++" {if(hide[section]) next};"\
++" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
++" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
++" s[1]~/^[@?]/{print s[1], s[1]; next};"\
++" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
++" ' prfx=^$ac_symprfx]"
++ else
++ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
++ fi
++
++ # Check to see that the pipe works correctly.
++ pipe_works=no
++
++ rm -f conftest*
++ cat > conftest.$ac_ext <<_LT_EOF
++#ifdef __cplusplus
++extern "C" {
++#endif
++char nm_test_var;
++void nm_test_func(void);
++void nm_test_func(void){}
++#ifdef __cplusplus
++}
++#endif
++int main(){nm_test_var='a';nm_test_func();return(0);}
++_LT_EOF
++
++ if AC_TRY_EVAL(ac_compile); then
++ # Now try to grab the symbols.
++ nlist=conftest.nm
++ if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
++ # Try sorting and uniquifying the output.
++ if sort "$nlist" | uniq > "$nlist"T; then
++ mv -f "$nlist"T "$nlist"
++ else
++ rm -f "$nlist"T
++ fi
++
++ # Make sure that we snagged all the symbols we need.
++ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
++ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
++ cat <<_LT_EOF > conftest.$ac_ext
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++_LT_EOF
++ # Now generate the symbol file.
++ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
++
++ cat <<_LT_EOF >> conftest.$ac_ext
++
++/* The mapping between symbol names and symbols. */
++const struct {
++ const char *name;
++ void *address;
++}
++lt__PROGRAM__LTX_preloaded_symbols[[]] =
++{
++ { "@PROGRAM@", (void *) 0 },
++_LT_EOF
++ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
++ cat <<\_LT_EOF >> conftest.$ac_ext
++ {0, (void *) 0}
++};
++
++/* This works around a problem in FreeBSD linker */
++#ifdef FREEBSD_WORKAROUND
++static const void *lt_preloaded_setup() {
++ return lt__PROGRAM__LTX_preloaded_symbols;
++}
++#endif
++
++#ifdef __cplusplus
++}
++#endif
++_LT_EOF
++ # Now try linking the two files.
++ mv conftest.$ac_objext conftstm.$ac_objext
++ lt_save_LIBS="$LIBS"
++ lt_save_CFLAGS="$CFLAGS"
++ LIBS="conftstm.$ac_objext"
++ CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
++ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
++ pipe_works=yes
++ fi
++ LIBS="$lt_save_LIBS"
++ CFLAGS="$lt_save_CFLAGS"
++ else
++ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
++ fi
++ else
++ echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
++ fi
++ else
++ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
++ fi
++ else
++ echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
++ cat conftest.$ac_ext >&5
++ fi
++ rm -rf conftest* conftst*
++
++ # Do not use the global_symbol_pipe unless it works.
++ if test "$pipe_works" = yes; then
++ break
++ else
++ lt_cv_sys_global_symbol_pipe=
++ fi
++done
++])
++if test -z "$lt_cv_sys_global_symbol_pipe"; then
++ lt_cv_sys_global_symbol_to_cdecl=
++fi
++if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
++ AC_MSG_RESULT(failed)
++else
++ AC_MSG_RESULT(ok)
++fi
++
++_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
++ [Take the output of nm and produce a listing of raw symbols and C names])
++_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
++ [Transform the output of nm in a proper C declaration])
++_LT_DECL([global_symbol_to_c_name_address],
++ [lt_cv_sys_global_symbol_to_c_name_address], [1],
++ [Transform the output of nm in a C name address pair])
++_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
++ [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
++ [Transform the output of nm in a C name address pair when lib prefix is needed])
++]) # _LT_CMD_GLOBAL_SYMBOLS
++
++
++# _LT_COMPILER_PIC([TAGNAME])
++# ---------------------------
++m4_defun([_LT_COMPILER_PIC],
++[m4_require([_LT_TAG_COMPILER])dnl
++_LT_TAGVAR(lt_prog_compiler_wl, $1)=
++_LT_TAGVAR(lt_prog_compiler_pic, $1)=
++_LT_TAGVAR(lt_prog_compiler_static, $1)=
++
++AC_MSG_CHECKING([for $compiler option to produce PIC])
++m4_if([$1], [CXX], [
++ # C++ specific cases for pic, static, wl, etc.
++ if test "$GXX" = yes; then
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
++
++ case $host_os in
++ aix*)
++ # All AIX code is PIC.
++ if test "$host_cpu" = ia64; then
++ # AIX 5 now supports IA64 processor
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ fi
++ ;;
++
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++ ;;
++ m68k)
++ # FIXME: we need at least 68020 code to build shared libraries, but
++ # adding the `-m68020' flag to GCC prevents building anything better,
++ # like `-m68040'.
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
++ ;;
++ esac
++ ;;
++
++ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
++ # PIC is the default for these OSes.
++ ;;
++ mingw* | cygwin* | os2* | pw32*)
++ # This hack is so that the source file can tell whether it is being
++ # built for inclusion in a dll (and should export symbols for example).
++ # Although the cygwin gcc ignores -fPIC, still need this for old-style
++ # (--disable-auto-import) libraries
++ m4_if([$1], [GCJ], [],
++ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
++ ;;
++ darwin* | rhapsody*)
++ # PIC is the default on this platform
++ # Common symbols not allowed in MH_DYLIB files
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
++ ;;
++ *djgpp*)
++ # DJGPP does not support shared libraries at all
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
++ ;;
++ interix[[3-9]]*)
++ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
++ # Instead, we relocate shared libraries at runtime.
++ ;;
++ sysv4*MP*)
++ if test -d /usr/nec; then
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
++ fi
++ ;;
++ hpux*)
++ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
++ # not for PA HP-UX.
++ case $host_cpu in
++ hppa*64*|ia64*)
++ ;;
++ *)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++ ;;
++ esac
++ ;;
++ *qnx* | *nto*)
++ # QNX uses GNU C++, but need to define -shared option too, otherwise
++ # it will coredump.
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
++ ;;
++ *)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++ ;;
++ esac
++ else
++ case $host_os in
++ aix[[4-9]]*)
++ # All AIX code is PIC.
++ if test "$host_cpu" = ia64; then
++ # AIX 5 now supports IA64 processor
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ else
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
++ fi
++ ;;
++ chorus*)
++ case $cc_basename in
++ cxch68*)
++ # Green Hills C++ Compiler
++ # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
++ ;;
++ esac
++ ;;
++ dgux*)
++ case $cc_basename in
++ ec++*)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ ;;
++ ghcx*)
++ # Green Hills C++ Compiler
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
++ ;;
++ *)
++ ;;
++ esac
++ ;;
++ freebsd* | dragonfly*)
++ # FreeBSD uses GNU C++
++ ;;
++ hpux9* | hpux10* | hpux11*)
++ case $cc_basename in
++ CC*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
++ if test "$host_cpu" != ia64; then
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
++ fi
++ ;;
++ aCC*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
++ case $host_cpu in
++ hppa*64*|ia64*)
++ # +Z the default
++ ;;
++ *)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
++ ;;
++ esac
++ ;;
++ *)
++ ;;
++ esac
++ ;;
++ interix*)
++ # This is c89, which is MS Visual C++ (no shared libs)
++ # Anyone wants to do a port?
++ ;;
++ irix5* | irix6* | nonstopux*)
++ case $cc_basename in
++ CC*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++ # CC pic flag -KPIC is the default.
++ ;;
++ *)
++ ;;
++ esac
++ ;;
++ linux* | k*bsd*-gnu)
++ case $cc_basename in
++ KCC*)
++ # KAI C++ Compiler
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++ ;;
++ icpc* | ecpc* )
++ # Intel C++
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
++ ;;
++ pgCC* | pgcpp*)
++ # Portland Group C++ compiler
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
++ cxx*)
++ # Compaq C++
++ # Make sure the PIC flag is empty. It appears that all Alpha
++ # Linux and Compaq Tru64 Unix objects are PIC.
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++ ;;
++ xlc* | xlC*)
++ # IBM XL 8.0 on PPC
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
++ ;;
++ *)
++ case `$CC -V 2>&1 | sed 5q` in
++ *Sun\ C*)
++ # Sun C++ 5.9
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
++ ;;
++ esac
++ ;;
++ esac
++ ;;
++ lynxos*)
++ ;;
++ m88k*)
++ ;;
++ mvs*)
++ case $cc_basename in
++ cxx*)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
++ ;;
++ *)
++ ;;
++ esac
++ ;;
++ netbsd*)
++ ;;
++ *qnx* | *nto*)
++ # QNX uses GNU C++, but need to define -shared option too, otherwise
++ # it will coredump.
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
++ ;;
++ osf3* | osf4* | osf5*)
++ case $cc_basename in
++ KCC*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
++ ;;
++ RCC*)
++ # Rational C++ 2.4.1
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
++ ;;
++ cxx*)
++ # Digital/Compaq C++
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ # Make sure the PIC flag is empty. It appears that all Alpha
++ # Linux and Compaq Tru64 Unix objects are PIC.
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++ ;;
++ *)
++ ;;
++ esac
++ ;;
++ psos*)
++ ;;
++ solaris*)
++ case $cc_basename in
++ CC*)
++ # Sun C++ 4.2, 5.x and Centerline C++
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
++ ;;
++ gcx*)
++ # Green Hills C++ Compiler
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
++ ;;
++ *)
++ ;;
++ esac
++ ;;
++ sunos4*)
++ case $cc_basename in
++ CC*)
++ # Sun C++ 4.x
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
++ lcc*)
++ # Lucid
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
++ ;;
++ *)
++ ;;
++ esac
++ ;;
++ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
++ case $cc_basename in
++ CC*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
++ esac
++ ;;
++ tandem*)
++ case $cc_basename in
++ NCC*)
++ # NonStop-UX NCC 3.20
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ ;;
++ *)
++ ;;
++ esac
++ ;;
++ vxworks*)
++ ;;
++ *)
++ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
++ ;;
++ esac
++ fi
++],
++[
++ if test "$GCC" = yes; then
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
++
++ case $host_os in
++ aix*)
++ # All AIX code is PIC.
++ if test "$host_cpu" = ia64; then
++ # AIX 5 now supports IA64 processor
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ fi
++ ;;
++
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++ ;;
++ m68k)
++ # FIXME: we need at least 68020 code to build shared libraries, but
++ # adding the `-m68020' flag to GCC prevents building anything better,
++ # like `-m68040'.
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
++ ;;
++ esac
++ ;;
++
++ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
++ # PIC is the default for these OSes.
++ ;;
++
++ mingw* | cygwin* | pw32* | os2*)
++ # This hack is so that the source file can tell whether it is being
++ # built for inclusion in a dll (and should export symbols for example).
++ # Although the cygwin gcc ignores -fPIC, still need this for old-style
++ # (--disable-auto-import) libraries
++ m4_if([$1], [GCJ], [],
++ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
++ ;;
++
++ darwin* | rhapsody*)
++ # PIC is the default on this platform
++ # Common symbols not allowed in MH_DYLIB files
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
++ ;;
++
++ hpux*)
++ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
++ # not for PA HP-UX.
++ case $host_cpu in
++ hppa*64*|ia64*)
++ # +Z the default
++ ;;
++ *)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++ ;;
++ esac
++ ;;
++
++ interix[[3-9]]*)
++ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
++ # Instead, we relocate shared libraries at runtime.
++ ;;
++
++ msdosdjgpp*)
++ # Just because we use GCC doesn't mean we suddenly get shared libraries
++ # on systems that don't support them.
++ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
++ enable_shared=no
++ ;;
++
++ *nto* | *qnx*)
++ # QNX uses GNU C++, but need to define -shared option too, otherwise
++ # it will coredump.
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
++ ;;
++
++ sysv4*MP*)
++ if test -d /usr/nec; then
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
++ fi
++ ;;
++
++ *)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++ ;;
++ esac
++ else
++ # PORTME Check for flag to pass linker flags through the system compiler.
++ case $host_os in
++ aix*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ if test "$host_cpu" = ia64; then
++ # AIX 5 now supports IA64 processor
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ else
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
++ fi
++ ;;
++
++ mingw* | cygwin* | pw32* | os2*)
++ # This hack is so that the source file can tell whether it is being
++ # built for inclusion in a dll (and should export symbols for example).
++ m4_if([$1], [GCJ], [],
++ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
++ ;;
++
++ hpux9* | hpux10* | hpux11*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
++ # not for PA HP-UX.
++ case $host_cpu in
++ hppa*64*|ia64*)
++ # +Z the default
++ ;;
++ *)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
++ ;;
++ esac
++ # Is there a better lt_prog_compiler_static that works with the bundled CC?
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
++ ;;
++
++ irix5* | irix6* | nonstopux*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ # PIC (with -KPIC) is the default.
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++ ;;
++
++ linux* | k*bsd*-gnu)
++ case $cc_basename in
++ icc* | ecc* | ifort*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
++ ;;
++ pgcc* | pgf77* | pgf90* | pgf95*)
++ # Portland Group compilers (*not* the Pentium gcc compiler,
++ # which looks to be a dead project)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
++ ccc*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ # All Alpha code is PIC.
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++ ;;
++ xl*)
++ # IBM XL C 8.0/Fortran 10.1 on PPC
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
++ ;;
++ *)
++ case `$CC -V 2>&1 | sed 5q` in
++ *Sun\ C*)
++ # Sun C 5.9
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ ;;
++ *Sun\ F*)
++ # Sun Fortran 8.3 passes all unrecognized flags to the linker
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
++ ;;
++ esac
++ ;;
++ esac
++ ;;
++
++ newsos6)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
++
++ *nto* | *qnx*)
++ # QNX uses GNU C++, but need to define -shared option too, otherwise
++ # it will coredump.
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
++ ;;
++
++ osf3* | osf4* | osf5*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ # All OSF/1 code is PIC.
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++ ;;
++
++ rdos*)
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
++ ;;
++
++ solaris*)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ case $cc_basename in
++ f77* | f90* | f95*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
++ *)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
++ esac
++ ;;
++
++ sunos4*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
++
++ sysv4 | sysv4.2uw2* | sysv4.3*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
++
++ sysv4*MP*)
++ if test -d /usr/nec ;then
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ fi
++ ;;
++
++ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
++
++ unicos*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
++ ;;
++
++ uts4*)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
++ ;;
++
++ *)
++ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
++ ;;
++ esac
++ fi
++])
++case $host_os in
++ # For platforms which do not support PIC, -DPIC is meaningless:
++ *djgpp*)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
++ ;;
++ *)
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
++ ;;
++esac
++AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
++_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
++ [How to pass a linker flag through the compiler])
++
++#
++# Check to make sure the PIC flag actually works.
++#
++if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
++ _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
++ [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
++ [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
++ [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
++ "" | " "*) ;;
++ *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
++ esac],
++ [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
++ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
++fi
++_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
++ [Additional compiler flags for building library objects])
++
++#
++# Check to make sure the static flag actually works.
++#
++wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
++_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
++ _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
++ $lt_tmp_static_flag,
++ [],
++ [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
++_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
++ [Compiler flag to prevent dynamic linking])
++])# _LT_COMPILER_PIC
++
++
++# _LT_LINKER_SHLIBS([TAGNAME])
++# ----------------------------
++# See if the linker supports building shared libraries.
++m4_defun([_LT_LINKER_SHLIBS],
++[AC_REQUIRE([LT_PATH_LD])dnl
++AC_REQUIRE([LT_PATH_NM])dnl
++m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_DECL_EGREP])dnl
++m4_require([_LT_DECL_SED])dnl
++m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
++m4_require([_LT_TAG_COMPILER])dnl
++AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
++m4_if([$1], [CXX], [
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
++ case $host_os in
++ aix[[4-9]]*)
++ # If we're using GNU nm, then we don't want the "-C" option.
++ # -C means demangle to AIX nm, but means don't demangle with GNU nm
++ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ else
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ fi
++ ;;
++ pw32*)
++ _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
++ ;;
++ cygwin* | mingw*)
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
++ ;;
++ *)
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
++ ;;
++ esac
++ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
++], [
++ runpath_var=
++ _LT_TAGVAR(allow_undefined_flag, $1)=
++ _LT_TAGVAR(always_export_symbols, $1)=no
++ _LT_TAGVAR(archive_cmds, $1)=
++ _LT_TAGVAR(archive_expsym_cmds, $1)=
++ _LT_TAGVAR(compiler_needs_object, $1)=no
++ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
++ _LT_TAGVAR(hardcode_automatic, $1)=no
++ _LT_TAGVAR(hardcode_direct, $1)=no
++ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
++ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=
++ _LT_TAGVAR(hardcode_minus_L, $1)=no
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
++ _LT_TAGVAR(inherit_rpath, $1)=no
++ _LT_TAGVAR(link_all_deplibs, $1)=unknown
++ _LT_TAGVAR(module_cmds, $1)=
++ _LT_TAGVAR(module_expsym_cmds, $1)=
++ _LT_TAGVAR(old_archive_from_new_cmds, $1)=
++ _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
++ _LT_TAGVAR(thread_safe_flag_spec, $1)=
++ _LT_TAGVAR(whole_archive_flag_spec, $1)=
++ # include_expsyms should be a list of space-separated symbols to be *always*
++ # included in the symbol list
++ _LT_TAGVAR(include_expsyms, $1)=
++ # exclude_expsyms can be an extended regexp of symbols to exclude
++ # it will be wrapped by ` (' and `)$', so one must not match beginning or
++ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
++ # as well as any symbol that contains `d'.
++ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
++ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
++ # platforms (ab)use it in PIC code, but their linkers get confused if
++ # the symbol is explicitly referenced. Since portable code cannot
++ # rely on this symbol name, it's probably fine to never include it in
++ # preloaded symbol tables.
++ # Exclude shared library initialization/finalization symbols.
++dnl Note also adjust exclude_expsyms for C++ above.
++ extract_expsyms_cmds=
++
++ case $host_os in
++ cygwin* | mingw* | pw32*)
++ # FIXME: the MSVC++ port hasn't been tested in a loooong time
++ # When not using gcc, we currently assume that we are using
++ # Microsoft Visual C++.
++ if test "$GCC" != yes; then
++ with_gnu_ld=no
++ fi
++ ;;
++ interix*)
++ # we just hope/assume this is gcc and not c89 (= MSVC++)
++ with_gnu_ld=yes
++ ;;
++ openbsd*)
++ with_gnu_ld=no
++ ;;
++ esac
++
++ _LT_TAGVAR(ld_shlibs, $1)=yes
++ if test "$with_gnu_ld" = yes; then
++ # If archive_cmds runs LD, not CC, wlarc should be empty
++ wlarc='${wl}'
++
++ # Set some defaults for GNU ld with shared library support. These
++ # are reset later if shared libraries are not supported. Putting them
++ # here allows them to be overridden if necessary.
++ runpath_var=LD_RUN_PATH
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
++ # ancient GNU ld didn't support --whole-archive et. al.
++ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
++ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
++ else
++ _LT_TAGVAR(whole_archive_flag_spec, $1)=
++ fi
++ supports_anon_versioning=no
++ case `$LD -v 2>&1` in
++ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
++ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
++ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
++ *\ 2.11.*) ;; # other 2.11 versions
++ *) supports_anon_versioning=yes ;;
++ esac
++
++ # See if GNU ld supports shared libraries.
++ case $host_os in
++ aix[[3-9]]*)
++ # On AIX/PPC, the GNU linker is very broken
++ if test "$host_cpu" != ia64; then
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ cat <<_LT_EOF 1>&2
++
++*** Warning: the GNU linker, at least up to release 2.9.1, is reported
++*** to be unable to reliably create shared libraries on AIX.
++*** Therefore, libtool is disabling shared libraries support. If you
++*** really care for shared libraries, you may want to modify your PATH
++*** so that a non-GNU linker is found, and then restart.
++
++_LT_EOF
++ fi
++ ;;
++
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)=''
++ ;;
++ m68k)
++ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ ;;
++ esac
++ ;;
++
++ beos*)
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
++ # support --undefined. This deserves some investigation. FIXME
++ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++
++ cygwin* | mingw* | pw32*)
++ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
++ # as there is no search path for DLLs.
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++ _LT_TAGVAR(always_export_symbols, $1)=no
++ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
++
++ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ # If the export-symbols file already is a .def file (1st line
++ # is EXPORTS), use it as is; otherwise, prepend...
++ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ cp $export_symbols $output_objdir/$soname.def;
++ else
++ echo EXPORTS > $output_objdir/$soname.def;
++ cat $export_symbols >> $output_objdir/$soname.def;
++ fi~
++ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++
++ interix[[3-9]]*)
++ _LT_TAGVAR(hardcode_direct, $1)=no
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
++ # Instead, shared libraries are loaded at an image base (0x10000000 by
++ # default) and relocated if they conflict, which is a slow very memory
++ # consuming and fragmenting process. To avoid this, we pick a random,
++ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
++ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++ ;;
++
++ gnu* | linux* | tpf* | k*bsd*-gnu)
++ tmp_diet=no
++ if test "$host_os" = linux-dietlibc; then
++ case $cc_basename in
++ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
++ esac
++ fi
++ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
++ && test "$tmp_diet" = no
++ then
++ tmp_addflag=
++ tmp_sharedflag='-shared'
++ case $cc_basename,$host_cpu in
++ pgcc*) # Portland Group C compiler
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ tmp_addflag=' $pic_flag'
++ ;;
++ pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ tmp_addflag=' $pic_flag -Mnomain' ;;
++ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
++ tmp_addflag=' -i_dynamic' ;;
++ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
++ tmp_addflag=' -i_dynamic -nofor_main' ;;
++ ifc* | ifort*) # Intel Fortran compiler
++ tmp_addflag=' -nofor_main' ;;
++ xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
++ tmp_sharedflag='-qmkshrobj'
++ tmp_addflag= ;;
++ esac
++ case `$CC -V 2>&1 | sed 5q` in
++ *Sun\ C*) # Sun C 5.9
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ _LT_TAGVAR(compiler_needs_object, $1)=yes
++ tmp_sharedflag='-G' ;;
++ *Sun\ F*) # Sun Fortran 8.3
++ tmp_sharedflag='-G' ;;
++ esac
++ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++
++ if test "x$supports_anon_versioning" = xyes; then
++ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
++ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
++ echo "local: *; };" >> $output_objdir/$libname.ver~
++ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
++ fi
++
++ case $cc_basename in
++ xlf*)
++ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
++ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
++ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
++ if test "x$supports_anon_versioning" = xyes; then
++ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
++ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
++ echo "local: *; };" >> $output_objdir/$libname.ver~
++ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
++ fi
++ ;;
++ esac
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++
++ netbsd*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
++ wlarc=
++ else
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ fi
++ ;;
++
++ solaris*)
++ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ cat <<_LT_EOF 1>&2
++
++*** Warning: The releases 2.8.* of the GNU linker cannot reliably
++*** create shared libraries on Solaris systems. Therefore, libtool
++*** is disabling shared libraries support. We urge you to upgrade GNU
++*** binutils to release 2.9.1 or newer. Another option is to modify
++*** your PATH or compiler configuration so that the native linker is
++*** used, and then restart.
++
++_LT_EOF
++ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++
++ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
++ case `$LD -v 2>&1` in
++ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ cat <<_LT_EOF 1>&2
++
++*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
++*** reliably create shared libraries on SCO systems. Therefore, libtool
++*** is disabling shared libraries support. We urge you to upgrade GNU
++*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
++*** your PATH or compiler configuration so that the native linker is
++*** used, and then restart.
++
++_LT_EOF
++ ;;
++ *)
++ # For security reasons, it is highly recommended that you always
++ # use absolute paths for naming shared libraries, and exclude the
++ # DT_RUNPATH tag from executables and libraries. But doing so
++ # requires that you compile everything twice, which is a pain.
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++ esac
++ ;;
++
++ sunos4*)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++ wlarc=
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
++
++ *)
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++ esac
++
++ if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
++ runpath_var=
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
++ _LT_TAGVAR(whole_archive_flag_spec, $1)=
++ fi
++ else
++ # PORTME fill in a description of your system's linker (not GNU ld)
++ case $host_os in
++ aix3*)
++ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++ _LT_TAGVAR(always_export_symbols, $1)=yes
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
++ # Note: this linker hardcodes the directories in LIBPATH if there
++ # are no directories specified by -L.
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
++ # Neither direct hardcoding nor static linking is supported with a
++ # broken collect2.
++ _LT_TAGVAR(hardcode_direct, $1)=unsupported
++ fi
++ ;;
++
++ aix[[4-9]]*)
++ if test "$host_cpu" = ia64; then
++ # On IA64, the linker does run time linking by default, so we don't
++ # have to do anything special.
++ aix_use_runtimelinking=no
++ exp_sym_flag='-Bexport'
++ no_entry_flag=""
++ else
++ # If we're using GNU nm, then we don't want the "-C" option.
++ # -C means demangle to AIX nm, but means don't demangle with GNU nm
++ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ else
++ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ fi
++ aix_use_runtimelinking=no
++
++ # Test if we are trying to use run time linking or normal
++ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
++ # need to do runtime linking.
++ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
++ for ld_flag in $LDFLAGS; do
++ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
++ aix_use_runtimelinking=yes
++ break
++ fi
++ done
++ ;;
++ esac
++
++ exp_sym_flag='-bexport'
++ no_entry_flag='-bnoentry'
++ fi
++
++ # When large executables or shared objects are built, AIX ld can
++ # have problems creating the table of contents. If linking a library
++ # or program results in "error TOC overflow" add -mminimal-toc to
++ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
++ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
++
++ _LT_TAGVAR(archive_cmds, $1)=''
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
++ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
++
++ if test "$GCC" = yes; then
++ case $host_os in aix4.[[012]]|aix4.[[012]].*)
++ # We only want to do this on AIX 4.2 and lower, the check
++ # below for broken collect2 doesn't work under 4.3+
++ collect2name=`${CC} -print-prog-name=collect2`
++ if test -f "$collect2name" &&
++ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
++ then
++ # We have reworked collect2
++ :
++ else
++ # We have old collect2
++ _LT_TAGVAR(hardcode_direct, $1)=unsupported
++ # It fails to find uninstalled libraries when the uninstalled
++ # path is not listed in the libpath. Setting hardcode_minus_L
++ # to unsupported forces relinking
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=
++ fi
++ ;;
++ esac
++ shared_flag='-shared'
++ if test "$aix_use_runtimelinking" = yes; then
++ shared_flag="$shared_flag "'${wl}-G'
++ fi
++ else
++ # not using gcc
++ if test "$host_cpu" = ia64; then
++ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
++ # chokes on -Wl,-G. The following line is correct:
++ shared_flag='-G'
++ else
++ if test "$aix_use_runtimelinking" = yes; then
++ shared_flag='${wl}-G'
++ else
++ shared_flag='${wl}-bM:SRE'
++ fi
++ fi
++ fi
++
++ # It seems that -bexpall does not export symbols beginning with
++ # underscore (_), so it is better to generate a list of symbols to export.
++ _LT_TAGVAR(always_export_symbols, $1)=yes
++ if test "$aix_use_runtimelinking" = yes; then
++ # Warning - without using the other runtime loading flags (-brtl),
++ # -berok will link without error, but may produce a broken library.
++ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
++ # Determine the default libpath from the value encoded in an
++ # empty executable.
++ _LT_SYS_MODULE_PATH_AIX
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
++ else
++ if test "$host_cpu" = ia64; then
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
++ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
++ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
++ else
++ # Determine the default libpath from the value encoded in an
++ # empty executable.
++ _LT_SYS_MODULE_PATH_AIX
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
++ # Warning - without using the other run time loading flags,
++ # -berok will link without error, but may produce a broken library.
++ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
++ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
++ # Exported symbols can be pulled into shared objects from archives
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
++ # This is similar to how AIX traditionally builds its shared libraries.
++ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
++ fi
++ fi
++ ;;
++
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)=''
++ ;;
++ m68k)
++ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ ;;
++ esac
++ ;;
++
++ bsdi[[45]]*)
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
++ ;;
++
++ cygwin* | mingw* | pw32*)
++ # When not using gcc, we currently assume that we are using
++ # Microsoft Visual C++.
++ # hardcode_libdir_flag_spec is actually meaningless, as there is
++ # no search path for DLLs.
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
++ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
++ # The linker will automatically build a .lib file if we build a DLL.
++ _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
++ # FIXME: Should let the user specify the lib program.
++ _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
++ _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
++ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
++ ;;
++
++ darwin* | rhapsody*)
++ _LT_DARWIN_LINKER_FEATURES($1)
++ ;;
++
++ dgux*)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
++
++ freebsd1*)
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++
++ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
++ # support. Future versions do this automatically, but an explicit c++rt0.o
++ # does not break anything, and helps significantly (at the cost of a little
++ # extra space).
++ freebsd2.2*)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
++
++ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
++ freebsd2*)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
++
++ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
++ freebsd* | dragonfly*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
++
++ hpux9*)
++ if test "$GCC" = yes; then
++ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ else
++ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ fi
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++ ;;
++
++ hpux10*)
++ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
++ fi
++ if test "$with_gnu_ld" = no; then
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ fi
++ ;;
++
++ hpux11*)
++ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
++ case $host_cpu in
++ hppa*64*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ ia64*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ *)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ esac
++ else
++ case $host_cpu in
++ hppa*64*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ ia64*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ *)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ esac
++ fi
++ if test "$with_gnu_ld" = no; then
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++
++ case $host_cpu in
++ hppa*64*|ia64*)
++ _LT_TAGVAR(hardcode_direct, $1)=no
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
++ *)
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ ;;
++ esac
++ fi
++ ;;
++
++ irix5* | irix6* | nonstopux*)
++ if test "$GCC" = yes; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ # Try to use the -exported_symbol ld option, if it does not
++ # work, assume that -exports_file does not work either and
++ # implicitly export all symbols.
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++ AC_LINK_IFELSE(int foo(void) {},
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
++ )
++ LDFLAGS="$save_LDFLAGS"
++ else
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
++ fi
++ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++ _LT_TAGVAR(inherit_rpath, $1)=yes
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
++ ;;
++
++ netbsd*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
++ else
++ _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
++ fi
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
++
++ newsos6)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
++
++ *nto* | *qnx*)
++ ;;
++
++ openbsd*)
++ if test -f /usr/libexec/ld.so; then
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++ else
++ case $host_os in
++ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++ ;;
++ *)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++ ;;
++ esac
++ fi
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++
++ os2*)
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
++ _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
++ ;;
++
++ osf3*)
++ if test "$GCC" = yes; then
++ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ else
++ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ fi
++ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++ ;;
++
++ osf4* | osf5*) # as osf3* with the addition of -msym flag
++ if test "$GCC" = yes; then
++ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ else
++ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
++ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
++
++ # Both c and cxx compiler support -rpath directly
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
++ fi
++ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++ ;;
++
++ solaris*)
++ _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
++ if test "$GCC" = yes; then
++ wlarc='${wl}'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ else
++ case `$CC -V 2>&1` in
++ *"Compilers 5.0"*)
++ wlarc=''
++ _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
++ ;;
++ *)
++ wlarc='${wl}'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ ;;
++ esac
++ fi
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ case $host_os in
++ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
++ *)
++ # The compiler driver will combine and reorder linker options,
++ # but understands `-z linker_flag'. GCC discards it without `$wl',
++ # but is careful enough not to reorder.
++ # Supported since Solaris 2.6 (maybe 2.5.1?)
++ if test "$GCC" = yes; then
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
++ else
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
++ fi
++ ;;
++ esac
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
++ ;;
++
++ sunos4*)
++ if test "x$host_vendor" = xsequent; then
++ # Use $CC to link under sequent, because it throws in some extra .o
++ # files that make .init and .fini sections work.
++ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
++ fi
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
++
++ sysv4)
++ case $host_vendor in
++ sni)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
++ ;;
++ siemens)
++ ## LD is ld it makes a PLAMLIB
++ ## CC just makes a GrossModule.
++ _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
++ _LT_TAGVAR(hardcode_direct, $1)=no
++ ;;
++ motorola)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
++ ;;
++ esac
++ runpath_var='LD_RUN_PATH'
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
++
++ sysv4.3*)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
++ ;;
++
++ sysv4*MP*)
++ if test -d /usr/nec; then
++ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ runpath_var=LD_RUN_PATH
++ hardcode_runpath_var=yes
++ _LT_TAGVAR(ld_shlibs, $1)=yes
++ fi
++ ;;
++
++ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
++ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ runpath_var='LD_RUN_PATH'
++
++ if test "$GCC" = yes; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ fi
++ ;;
++
++ sysv5* | sco3.2v5* | sco5v6*)
++ # Note: We can NOT use -z defs as we might desire, because we do not
++ # link with -lc, and that would cause any symbols used from libc to
++ # always be unresolved, which means just about no library would
++ # ever link correctly. If we're not using GNU ld we use -z text
++ # though, which does catch some bad symbols but isn't as heavy-handed
++ # as -z defs.
++ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
++ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
++ runpath_var='LD_RUN_PATH'
++
++ if test "$GCC" = yes; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ fi
++ ;;
++
++ uts4*)
++ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
++
++ *)
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ esac
++
++ if test x$host_vendor = xsni; then
++ case $host in
++ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
++ ;;
++ esac
++ fi
++ fi
++])
++AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
++test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
++
++_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
++
++_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
++_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
++_LT_DECL([], [extract_expsyms_cmds], [2],
++ [The commands to extract the exported symbol list from a shared archive])
++
++#
++# Do we need to explicitly link libc?
++#
++case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
++x|xyes)
++ # Assume -lc should be added
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
++
++ if test "$enable_shared" = yes && test "$GCC" = yes; then
++ case $_LT_TAGVAR(archive_cmds, $1) in
++ *'~'*)
++ # FIXME: we may have to deal with multi-command sequences.
++ ;;
++ '$CC '*)
++ # Test whether the compiler implicitly links with -lc since on some
++ # systems, -lgcc has to come before -lc. If gcc already passes -lc
++ # to ld, don't add -lc before -lgcc.
++ AC_MSG_CHECKING([whether -lc should be explicitly linked in])
++ $RM conftest*
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++
++ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
++ soname=conftest
++ lib=conftest
++ libobjs=conftest.$ac_objext
++ deplibs=
++ wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
++ pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
++ compiler_flags=-v
++ linker_flags=-v
++ verstring=
++ output_objdir=.
++ libname=conftest
++ lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
++ _LT_TAGVAR(allow_undefined_flag, $1)=
++ if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
++ then
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++ else
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
++ fi
++ _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
++ else
++ cat conftest.err 1>&5
++ fi
++ $RM conftest*
++ AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
++ ;;
++ esac
++ fi
++ ;;
++esac
++
++_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
++ [Whether or not to add -lc for building shared libraries])
++_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
++ [enable_shared_with_static_runtimes], [0],
++ [Whether or not to disallow shared libs when runtime libs are static])
++_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
++ [Compiler flag to allow reflexive dlopens])
++_LT_TAGDECL([], [whole_archive_flag_spec], [1],
++ [Compiler flag to generate shared objects directly from archives])
++_LT_TAGDECL([], [compiler_needs_object], [1],
++ [Whether the compiler copes with passing no objects directly])
++_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
++ [Create an old-style archive from a shared archive])
++_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
++ [Create a temporary old-style archive to link instead of a shared archive])
++_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
++_LT_TAGDECL([], [archive_expsym_cmds], [2])
++_LT_TAGDECL([], [module_cmds], [2],
++ [Commands used to build a loadable module if different from building
++ a shared archive.])
++_LT_TAGDECL([], [module_expsym_cmds], [2])
++_LT_TAGDECL([], [with_gnu_ld], [1],
++ [Whether we are building with GNU ld or not])
++_LT_TAGDECL([], [allow_undefined_flag], [1],
++ [Flag that allows shared libraries with undefined symbols to be built])
++_LT_TAGDECL([], [no_undefined_flag], [1],
++ [Flag that enforces no undefined symbols])
++_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
++ [Flag to hardcode $libdir into a binary during linking.
++ This must work even if $libdir does not exist])
++_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
++ [[If ld is used when linking, flag to hardcode $libdir into a binary
++ during linking. This must work even if $libdir does not exist]])
++_LT_TAGDECL([], [hardcode_libdir_separator], [1],
++ [Whether we need a single "-rpath" flag with a separated argument])
++_LT_TAGDECL([], [hardcode_direct], [0],
++ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
++ DIR into the resulting binary])
++_LT_TAGDECL([], [hardcode_direct_absolute], [0],
++ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
++ DIR into the resulting binary and the resulting library dependency is
++ "absolute", i.e impossible to change by setting ${shlibpath_var} if the
++ library is relocated])
++_LT_TAGDECL([], [hardcode_minus_L], [0],
++ [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
++ into the resulting binary])
++_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
++ [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
++ into the resulting binary])
++_LT_TAGDECL([], [hardcode_automatic], [0],
++ [Set to "yes" if building a shared library automatically hardcodes DIR
++ into the library and all subsequent libraries and executables linked
++ against it])
++_LT_TAGDECL([], [inherit_rpath], [0],
++ [Set to yes if linker adds runtime paths of dependent libraries
++ to runtime path list])
++_LT_TAGDECL([], [link_all_deplibs], [0],
++ [Whether libtool must link a program against all its dependency libraries])
++_LT_TAGDECL([], [fix_srcfile_path], [1],
++ [Fix the shell variable $srcfile for the compiler])
++_LT_TAGDECL([], [always_export_symbols], [0],
++ [Set to "yes" if exported symbols are required])
++_LT_TAGDECL([], [export_symbols_cmds], [2],
++ [The commands to list exported symbols])
++_LT_TAGDECL([], [exclude_expsyms], [1],
++ [Symbols that should not be listed in the preloaded symbols])
++_LT_TAGDECL([], [include_expsyms], [1],
++ [Symbols that must always be exported])
++_LT_TAGDECL([], [prelink_cmds], [2],
++ [Commands necessary for linking programs (against libraries) with templates])
++_LT_TAGDECL([], [file_list_spec], [1],
++ [Specify filename containing input files])
++dnl FIXME: Not yet implemented
++dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
++dnl [Compiler flag to generate thread safe objects])
++])# _LT_LINKER_SHLIBS
++
++
++# _LT_LANG_C_CONFIG([TAG])
++# ------------------------
++# Ensure that the configuration variables for a C compiler are suitably
++# defined. These variables are subsequently used by _LT_CONFIG to write
++# the compiler configuration to `libtool'.
++m4_defun([_LT_LANG_C_CONFIG],
++[m4_require([_LT_DECL_EGREP])dnl
++lt_save_CC="$CC"
++AC_LANG_PUSH(C)
++
++# Source file extension for C test sources.
++ac_ext=c
++
++# Object file extension for compiled C test sources.
++objext=o
++_LT_TAGVAR(objext, $1)=$objext
++
++# Code to be used in simple compile tests
++lt_simple_compile_test_code="int some_variable = 0;"
++
++# Code to be used in simple link tests
++lt_simple_link_test_code='int main(){return(0);}'
++
++_LT_TAG_COMPILER
++# Save the default compiler, since it gets overwritten when the other
++# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
++compiler_DEFAULT=$CC
++
++# save warnings/boilerplate of simple test code
++_LT_COMPILER_BOILERPLATE
++_LT_LINKER_BOILERPLATE
++
++if test -n "$compiler"; then
++ _LT_COMPILER_NO_RTTI($1)
++ _LT_COMPILER_PIC($1)
++ _LT_COMPILER_C_O($1)
++ _LT_COMPILER_FILE_LOCKS($1)
++ _LT_LINKER_SHLIBS($1)
++ _LT_SYS_DYNAMIC_LINKER($1)
++ _LT_LINKER_HARDCODE_LIBPATH($1)
++ LT_SYS_DLOPEN_SELF
++ _LT_CMD_STRIPLIB
++
++ # Report which library types will actually be built
++ AC_MSG_CHECKING([if libtool supports shared libraries])
++ AC_MSG_RESULT([$can_build_shared])
++
++ AC_MSG_CHECKING([whether to build shared libraries])
++ test "$can_build_shared" = "no" && enable_shared=no
++
++ # On AIX, shared libraries and static libraries use the same namespace, and
++ # are all built from PIC.
++ case $host_os in
++ aix3*)
++ test "$enable_shared" = yes && enable_static=no
++ if test -n "$RANLIB"; then
++ archive_cmds="$archive_cmds~\$RANLIB \$lib"
++ postinstall_cmds='$RANLIB $lib'
++ fi
++ ;;
++
++ aix[[4-9]]*)
++ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
++ test "$enable_shared" = yes && enable_static=no
++ fi
++ ;;
++ esac
++ AC_MSG_RESULT([$enable_shared])
++
++ AC_MSG_CHECKING([whether to build static libraries])
++ # Make sure either enable_shared or enable_static is yes.
++ test "$enable_shared" = yes || enable_static=yes
++ AC_MSG_RESULT([$enable_static])
++
++ _LT_CONFIG($1)
++fi
++AC_LANG_POP
++CC="$lt_save_CC"
++])# _LT_LANG_C_CONFIG
++
++
++# _LT_PROG_CXX
++# ------------
++# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
++# compiler, we have our own version here.
++m4_defun([_LT_PROG_CXX],
++[
++pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
++AC_PROG_CXX
++if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
++ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
++ (test "X$CXX" != "Xg++"))) ; then
++ AC_PROG_CXXCPP
++else
++ _lt_caught_CXX_error=yes
++fi
++popdef([AC_MSG_ERROR])
++])# _LT_PROG_CXX
++
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([_LT_PROG_CXX], [])
++
++
++# _LT_LANG_CXX_CONFIG([TAG])
++# --------------------------
++# Ensure that the configuration variables for a C++ compiler are suitably
++# defined. These variables are subsequently used by _LT_CONFIG to write
++# the compiler configuration to `libtool'.
++m4_defun([_LT_LANG_CXX_CONFIG],
++[AC_REQUIRE([_LT_PROG_CXX])dnl
++m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_DECL_EGREP])dnl
++
++AC_LANG_PUSH(C++)
++_LT_TAGVAR(archive_cmds_need_lc, $1)=no
++_LT_TAGVAR(allow_undefined_flag, $1)=
++_LT_TAGVAR(always_export_symbols, $1)=no
++_LT_TAGVAR(archive_expsym_cmds, $1)=
++_LT_TAGVAR(compiler_needs_object, $1)=no
++_LT_TAGVAR(export_dynamic_flag_spec, $1)=
++_LT_TAGVAR(hardcode_direct, $1)=no
++_LT_TAGVAR(hardcode_direct_absolute, $1)=no
++_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
++_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
++_LT_TAGVAR(hardcode_libdir_separator, $1)=
++_LT_TAGVAR(hardcode_minus_L, $1)=no
++_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
++_LT_TAGVAR(hardcode_automatic, $1)=no
++_LT_TAGVAR(inherit_rpath, $1)=no
++_LT_TAGVAR(module_cmds, $1)=
++_LT_TAGVAR(module_expsym_cmds, $1)=
++_LT_TAGVAR(link_all_deplibs, $1)=unknown
++_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
++_LT_TAGVAR(no_undefined_flag, $1)=
++_LT_TAGVAR(whole_archive_flag_spec, $1)=
++_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
++
++# Source file extension for C++ test sources.
++ac_ext=cpp
++
++# Object file extension for compiled C++ test sources.
++objext=o
++_LT_TAGVAR(objext, $1)=$objext
++
++# No sense in running all these tests if we already determined that
++# the CXX compiler isn't working. Some variables (like enable_shared)
++# are currently assumed to apply to all compilers on this platform,
++# and will be corrupted by setting them based on a non-working compiler.
++if test "$_lt_caught_CXX_error" != yes; then
++ # Code to be used in simple compile tests
++ lt_simple_compile_test_code="int some_variable = 0;"
++
++ # Code to be used in simple link tests
++ lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
++
++ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
++ _LT_TAG_COMPILER
++
++ # save warnings/boilerplate of simple test code
++ _LT_COMPILER_BOILERPLATE
++ _LT_LINKER_BOILERPLATE
++
++ # Allow CC to be a program name with arguments.
++ lt_save_CC=$CC
++ lt_save_LD=$LD
++ lt_save_GCC=$GCC
++ GCC=$GXX
++ lt_save_with_gnu_ld=$with_gnu_ld
++ lt_save_path_LD=$lt_cv_path_LD
++ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
++ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
++ else
++ $as_unset lt_cv_prog_gnu_ld
++ fi
++ if test -n "${lt_cv_path_LDCXX+set}"; then
++ lt_cv_path_LD=$lt_cv_path_LDCXX
++ else
++ $as_unset lt_cv_path_LD
++ fi
++ test -z "${LDCXX+set}" || LD=$LDCXX
++ CC=${CXX-"c++"}
++ compiler=$CC
++ _LT_TAGVAR(compiler, $1)=$CC
++ _LT_CC_BASENAME([$compiler])
++
++ if test -n "$compiler"; then
++ # We don't want -fno-exception when compiling C++ code, so set the
++ # no_builtin_flag separately
++ if test "$GXX" = yes; then
++ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
++ else
++ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
++ fi
++
++ if test "$GXX" = yes; then
++ # Set up default GNU C++ configuration
++
++ LT_PATH_LD
++
++ # Check if GNU C++ uses GNU ld as the underlying linker, since the
++ # archiving commands below assume that GNU ld is being used.
++ if test "$with_gnu_ld" = yes; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
++
++ # If archive_cmds runs LD, not CC, wlarc should be empty
++ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
++ # investigate it a little bit more. (MM)
++ wlarc='${wl}'
++
++ # ancient GNU ld didn't support --whole-archive et. al.
++ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
++ $GREP 'no-whole-archive' > /dev/null; then
++ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
++ else
++ _LT_TAGVAR(whole_archive_flag_spec, $1)=
++ fi
++ else
++ with_gnu_ld=no
++ wlarc=
++
++ # A generic and very simple default shared library creation
++ # command for GNU C++ for the case where it uses the native
++ # linker, instead of GNU ld. If possible, this setting should
++ # overridden to take advantage of the native linker features on
++ # the platform it is being used on.
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
++ fi
++
++ # Commands to make compiler produce verbose output that lists
++ # what "hidden" libraries, object files and flags are used when
++ # linking a shared library.
++ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
++
++ else
++ GXX=no
++ with_gnu_ld=no
++ wlarc=
++ fi
++
++ # PORTME: fill in a description of your system's C++ link characteristics
++ AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
++ _LT_TAGVAR(ld_shlibs, $1)=yes
++ case $host_os in
++ aix3*)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ aix[[4-9]]*)
++ if test "$host_cpu" = ia64; then
++ # On IA64, the linker does run time linking by default, so we don't
++ # have to do anything special.
++ aix_use_runtimelinking=no
++ exp_sym_flag='-Bexport'
++ no_entry_flag=""
++ else
++ aix_use_runtimelinking=no
++
++ # Test if we are trying to use run time linking or normal
++ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
++ # need to do runtime linking.
++ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
++ for ld_flag in $LDFLAGS; do
++ case $ld_flag in
++ *-brtl*)
++ aix_use_runtimelinking=yes
++ break
++ ;;
++ esac
++ done
++ ;;
++ esac
++
++ exp_sym_flag='-bexport'
++ no_entry_flag='-bnoentry'
++ fi
++
++ # When large executables or shared objects are built, AIX ld can
++ # have problems creating the table of contents. If linking a library
++ # or program results in "error TOC overflow" add -mminimal-toc to
++ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
++ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
++
++ _LT_TAGVAR(archive_cmds, $1)=''
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
++ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
++
++ if test "$GXX" = yes; then
++ case $host_os in aix4.[[012]]|aix4.[[012]].*)
++ # We only want to do this on AIX 4.2 and lower, the check
++ # below for broken collect2 doesn't work under 4.3+
++ collect2name=`${CC} -print-prog-name=collect2`
++ if test -f "$collect2name" &&
++ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
++ then
++ # We have reworked collect2
++ :
++ else
++ # We have old collect2
++ _LT_TAGVAR(hardcode_direct, $1)=unsupported
++ # It fails to find uninstalled libraries when the uninstalled
++ # path is not listed in the libpath. Setting hardcode_minus_L
++ # to unsupported forces relinking
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=
++ fi
++ esac
++ shared_flag='-shared'
++ if test "$aix_use_runtimelinking" = yes; then
++ shared_flag="$shared_flag "'${wl}-G'
++ fi
++ else
++ # not using gcc
++ if test "$host_cpu" = ia64; then
++ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
++ # chokes on -Wl,-G. The following line is correct:
++ shared_flag='-G'
++ else
++ if test "$aix_use_runtimelinking" = yes; then
++ shared_flag='${wl}-G'
++ else
++ shared_flag='${wl}-bM:SRE'
++ fi
++ fi
++ fi
++
++ # It seems that -bexpall does not export symbols beginning with
++ # underscore (_), so it is better to generate a list of symbols to
++ # export.
++ _LT_TAGVAR(always_export_symbols, $1)=yes
++ if test "$aix_use_runtimelinking" = yes; then
++ # Warning - without using the other runtime loading flags (-brtl),
++ # -berok will link without error, but may produce a broken library.
++ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
++ # Determine the default libpath from the value encoded in an empty
++ # executable.
++ _LT_SYS_MODULE_PATH_AIX
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
++
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
++ else
++ if test "$host_cpu" = ia64; then
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
++ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
++ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
++ else
++ # Determine the default libpath from the value encoded in an
++ # empty executable.
++ _LT_SYS_MODULE_PATH_AIX
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
++ # Warning - without using the other run time loading flags,
++ # -berok will link without error, but may produce a broken library.
++ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
++ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
++ # Exported symbols can be pulled into shared objects from archives
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
++ # This is similar to how AIX traditionally builds its shared
++ # libraries.
++ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
++ fi
++ fi
++ ;;
++
++ beos*)
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
++ # support --undefined. This deserves some investigation. FIXME
++ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++
++ chorus*)
++ case $cc_basename in
++ *)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ esac
++ ;;
++
++ cygwin* | mingw* | pw32*)
++ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
++ # as there is no search path for DLLs.
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
++ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
++ _LT_TAGVAR(always_export_symbols, $1)=no
++ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
++
++ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ # If the export-symbols file already is a .def file (1st line
++ # is EXPORTS), use it as is; otherwise, prepend...
++ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ cp $export_symbols $output_objdir/$soname.def;
++ else
++ echo EXPORTS > $output_objdir/$soname.def;
++ cat $export_symbols >> $output_objdir/$soname.def;
++ fi~
++ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++ darwin* | rhapsody*)
++ _LT_DARWIN_LINKER_FEATURES($1)
++ ;;
++
++ dgux*)
++ case $cc_basename in
++ ec++*)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ ghcx*)
++ # Green Hills C++ Compiler
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ *)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ esac
++ ;;
++
++ freebsd[[12]]*)
++ # C++ shared libraries reported to be fairly broken before
++ # switch to ELF
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++
++ freebsd-elf*)
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++ ;;
++
++ freebsd* | dragonfly*)
++ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
++ # conventions
++ _LT_TAGVAR(ld_shlibs, $1)=yes
++ ;;
++
++ gnu*)
++ ;;
++
++ hpux9*)
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
++ # but as the default
++ # location of the library.
++
++ case $cc_basename in
++ CC*)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ aCC*)
++ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ # Commands to make compiler produce verbose output that lists
++ # what "hidden" libraries, object files and flags are used when
++ # linking a shared library.
++ #
++ # There doesn't appear to be a way to prevent this compiler from
++ # explicitly linking system object files so we need to strip them
++ # from the output so that they don't get included in the library
++ # dependencies.
++ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
++ ;;
++ *)
++ if test "$GXX" = yes; then
++ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ else
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++ esac
++ ;;
++
++ hpux10*|hpux11*)
++ if test $with_gnu_ld = no; then
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++
++ case $host_cpu in
++ hppa*64*|ia64*)
++ ;;
++ *)
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++ ;;
++ esac
++ fi
++ case $host_cpu in
++ hppa*64*|ia64*)
++ _LT_TAGVAR(hardcode_direct, $1)=no
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ ;;
++ *)
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
++ # but as the default
++ # location of the library.
++ ;;
++ esac
++
++ case $cc_basename in
++ CC*)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ aCC*)
++ case $host_cpu in
++ hppa*64*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ ;;
++ ia64*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ ;;
++ *)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ ;;
++ esac
++ # Commands to make compiler produce verbose output that lists
++ # what "hidden" libraries, object files and flags are used when
++ # linking a shared library.
++ #
++ # There doesn't appear to be a way to prevent this compiler from
++ # explicitly linking system object files so we need to strip them
++ # from the output so that they don't get included in the library
++ # dependencies.
++ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
++ ;;
++ *)
++ if test "$GXX" = yes; then
++ if test $with_gnu_ld = no; then
++ case $host_cpu in
++ hppa*64*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ ;;
++ ia64*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ ;;
++ *)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ ;;
++ esac
++ fi
++ else
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++ esac
++ ;;
++
++ interix[[3-9]]*)
++ _LT_TAGVAR(hardcode_direct, $1)=no
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
++ # Instead, shared libraries are loaded at an image base (0x10000000 by
++ # default) and relocated if they conflict, which is a slow very memory
++ # consuming and fragmenting process. To avoid this, we pick a random,
++ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
++ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++ ;;
++ irix5* | irix6*)
++ case $cc_basename in
++ CC*)
++ # SGI C++
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++
++ # Archives containing C++ object files must be created using
++ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
++ # necessary to make sure instantiated templates are included
++ # in the archive.
++ _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
++ ;;
++ *)
++ if test "$GXX" = yes; then
++ if test "$with_gnu_ld" = no; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ else
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
++ fi
++ fi
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
++ ;;
++ esac
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++ _LT_TAGVAR(inherit_rpath, $1)=yes
++ ;;
++
++ linux* | k*bsd*-gnu)
++ case $cc_basename in
++ KCC*)
++ # Kuck and Associates, Inc. (KAI) C++ Compiler
++
++ # KCC will only create a shared library if the output file
++ # ends with ".so" (or ".sl" for HP-UX), so rename the library
++ # to its proper name (with version) after linking.
++ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
++ # Commands to make compiler produce verbose output that lists
++ # what "hidden" libraries, object files and flags are used when
++ # linking a shared library.
++ #
++ # There doesn't appear to be a way to prevent this compiler from
++ # explicitly linking system object files so we need to strip them
++ # from the output so that they don't get included in the library
++ # dependencies.
++ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
++
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
++
++ # Archives containing C++ object files must be created using
++ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
++ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
++ ;;
++ icpc* | ecpc* )
++ # Intel C++
++ with_gnu_ld=yes
++ # version 8.0 and above of icpc choke on multiply defined symbols
++ # if we add $predep_objects and $postdep_objects, however 7.1 and
++ # earlier do not add the objects themselves.
++ case `$CC -V 2>&1` in
++ *"Version 7."*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ ;;
++ *) # Version 8.0 or newer
++ tmp_idyn=
++ case $host_cpu in
++ ia64*) tmp_idyn=' -i_dynamic';;
++ esac
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ ;;
++ esac
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
++ ;;
++ pgCC* | pgcpp*)
++ # Portland Group C++ compiler
++ case `$CC -V` in
++ *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
++ _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
++ rm -rf $tpldir~
++ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
++ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
++ _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
++ rm -rf $tpldir~
++ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
++ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
++ $RANLIB $oldlib'
++ _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
++ rm -rf $tpldir~
++ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
++ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
++ rm -rf $tpldir~
++ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
++ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
++ ;;
++ *) # Version 6 will use weak symbols
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
++ ;;
++ esac
++
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ ;;
++ cxx*)
++ # Compaq C++
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
++
++ runpath_var=LD_RUN_PATH
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++
++ # Commands to make compiler produce verbose output that lists
++ # what "hidden" libraries, object files and flags are used when
++ # linking a shared library.
++ #
++ # There doesn't appear to be a way to prevent this compiler from
++ # explicitly linking system object files so we need to strip them
++ # from the output so that they don't get included in the library
++ # dependencies.
++ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
++ ;;
++ xl*)
++ # IBM XL 8.0 on PPC, with GNU ld
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ if test "x$supports_anon_versioning" = xyes; then
++ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
++ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
++ echo "local: *; };" >> $output_objdir/$libname.ver~
++ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
++ fi
++ ;;
++ *)
++ case `$CC -V 2>&1 | sed 5q` in
++ *Sun\ C*)
++ # Sun C++ 5.9
++ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ _LT_TAGVAR(compiler_needs_object, $1)=yes
++
++ # Not sure whether something based on
++ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
++ # would be better.
++ output_verbose_link_cmd='echo'
++
++ # Archives containing C++ object files must be created using
++ # "CC -xar", where "CC" is the Sun C++ compiler. This is
++ # necessary to make sure instantiated templates are included
++ # in the archive.
++ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
++ ;;
++ esac
++ ;;
++ esac
++ ;;
++
++ lynxos*)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++
++ m88k*)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++
++ mvs*)
++ case $cc_basename in
++ cxx*)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ *)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ esac
++ ;;
++
++ netbsd*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
++ wlarc=
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ fi
++ # Workaround some broken pre-1.5 toolchains
++ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
++ ;;
++
++ *nto* | *qnx*)
++ _LT_TAGVAR(ld_shlibs, $1)=yes
++ ;;
++
++ openbsd2*)
++ # C++ shared libraries are fairly broken
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++
++ openbsd*)
++ if test -f /usr/libexec/ld.so; then
++ _LT_TAGVAR(hardcode_direct, $1)=yes
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
++ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
++ fi
++ output_verbose_link_cmd=echo
++ else
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++
++ osf3* | osf4* | osf5*)
++ case $cc_basename in
++ KCC*)
++ # Kuck and Associates, Inc. (KAI) C++ Compiler
++
++ # KCC will only create a shared library if the output file
++ # ends with ".so" (or ".sl" for HP-UX), so rename the library
++ # to its proper name (with version) after linking.
++ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
++
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++
++ # Archives containing C++ object files must be created using
++ # the KAI C++ compiler.
++ case $host in
++ osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
++ *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
++ esac
++ ;;
++ RCC*)
++ # Rational C++ 2.4.1
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ cxx*)
++ case $host in
++ osf3*)
++ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ ;;
++ *)
++ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
++ echo "-hidden">> $lib.exp~
++ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
++ $RM $lib.exp'
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
++ ;;
++ esac
++
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++
++ # Commands to make compiler produce verbose output that lists
++ # what "hidden" libraries, object files and flags are used when
++ # linking a shared library.
++ #
++ # There doesn't appear to be a way to prevent this compiler from
++ # explicitly linking system object files so we need to strip them
++ # from the output so that they don't get included in the library
++ # dependencies.
++ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
++ ;;
++ *)
++ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
++ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
++ case $host in
++ osf3*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ ;;
++ *)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ ;;
++ esac
++
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
++
++ # Commands to make compiler produce verbose output that lists
++ # what "hidden" libraries, object files and flags are used when
++ # linking a shared library.
++ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
++
++ else
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ fi
++ ;;
++ esac
++ ;;
++
++ psos*)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++
++ sunos4*)
++ case $cc_basename in
++ CC*)
++ # Sun C++ 4.x
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ lcc*)
++ # Lucid
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ *)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ esac
++ ;;
++
++ solaris*)
++ case $cc_basename in
++ CC*)
++ # Sun C++ 4.2, 5.x and Centerline C++
++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
++ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
++ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
++
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ case $host_os in
++ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
++ *)
++ # The compiler driver will combine and reorder linker options,
++ # but understands `-z linker_flag'.
++ # Supported since Solaris 2.6 (maybe 2.5.1?)
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
++ ;;
++ esac
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
++
++ output_verbose_link_cmd='echo'
++
++ # Archives containing C++ object files must be created using
++ # "CC -xar", where "CC" is the Sun C++ compiler. This is
++ # necessary to make sure instantiated templates are included
++ # in the archive.
++ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
++ ;;
++ gcx*)
++ # Green Hills C++ Compiler
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
++
++ # The C++ compiler must be used to create the archive.
++ _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
++ ;;
++ *)
++ # GNU C++ compiler with Solaris linker
++ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
++ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
++ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
++
++ # Commands to make compiler produce verbose output that lists
++ # what "hidden" libraries, object files and flags are used when
++ # linking a shared library.
++ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
++ else
++ # g++ 2.7 appears to require `-G' NOT `-shared' on this
++ # platform.
++ _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
++
++ # Commands to make compiler produce verbose output that lists
++ # what "hidden" libraries, object files and flags are used when
++ # linking a shared library.
++ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
++ fi
++
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
++ case $host_os in
++ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
++ *)
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
++ ;;
++ esac
++ fi
++ ;;
++ esac
++ ;;
++
++ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
++ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ runpath_var='LD_RUN_PATH'
++
++ case $cc_basename in
++ CC*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ *)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ esac
++ ;;
++
++ sysv5* | sco3.2v5* | sco5v6*)
++ # Note: We can NOT use -z defs as we might desire, because we do not
++ # link with -lc, and that would cause any symbols used from libc to
++ # always be unresolved, which means just about no library would
++ # ever link correctly. If we're not using GNU ld we use -z text
++ # though, which does catch some bad symbols but isn't as heavy-handed
++ # as -z defs.
++ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
++ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
++ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
++ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
++ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
++ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
++ _LT_TAGVAR(link_all_deplibs, $1)=yes
++ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
++ runpath_var='LD_RUN_PATH'
++
++ case $cc_basename in
++ CC*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ *)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ esac
++ ;;
++
++ tandem*)
++ case $cc_basename in
++ NCC*)
++ # NonStop-UX NCC 3.20
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ *)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ esac
++ ;;
++
++ vxworks*)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++
++ *)
++ # FIXME: insert proper C++ library support
++ _LT_TAGVAR(ld_shlibs, $1)=no
++ ;;
++ esac
++
++ AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
++ test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
++
++ _LT_TAGVAR(GCC, $1)="$GXX"
++ _LT_TAGVAR(LD, $1)="$LD"
++
++ ## CAVEAT EMPTOR:
++ ## There is no encapsulation within the following macros, do not change
++ ## the running order or otherwise move them around unless you know exactly
++ ## what you are doing...
++ _LT_SYS_HIDDEN_LIBDEPS($1)
++ _LT_COMPILER_PIC($1)
++ _LT_COMPILER_C_O($1)
++ _LT_COMPILER_FILE_LOCKS($1)
++ _LT_LINKER_SHLIBS($1)
++ _LT_SYS_DYNAMIC_LINKER($1)
++ _LT_LINKER_HARDCODE_LIBPATH($1)
++
++ _LT_CONFIG($1)
++ fi # test -n "$compiler"
++
++ CC=$lt_save_CC
++ LDCXX=$LD
++ LD=$lt_save_LD
++ GCC=$lt_save_GCC
++ with_gnu_ld=$lt_save_with_gnu_ld
++ lt_cv_path_LDCXX=$lt_cv_path_LD
++ lt_cv_path_LD=$lt_save_path_LD
++ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
++ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
++fi # test "$_lt_caught_CXX_error" != yes
++
++AC_LANG_POP
++])# _LT_LANG_CXX_CONFIG
++
++
++# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
++# ---------------------------------
++# Figure out "hidden" library dependencies from verbose
++# compiler output when linking a shared library.
++# Parse the compiler output and extract the necessary
++# objects, libraries and library flags.
++m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
++[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++# Dependencies to place before and after the object being linked:
++_LT_TAGVAR(predep_objects, $1)=
++_LT_TAGVAR(postdep_objects, $1)=
++_LT_TAGVAR(predeps, $1)=
++_LT_TAGVAR(postdeps, $1)=
++_LT_TAGVAR(compiler_lib_search_path, $1)=
++
++dnl we can't use the lt_simple_compile_test_code here,
++dnl because it contains code intended for an executable,
++dnl not a library. It's possible we should let each
++dnl tag define a new lt_????_link_test_code variable,
++dnl but it's only used here...
++m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
++int a;
++void foo (void) { a = 0; }
++_LT_EOF
++], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
++class Foo
++{
++public:
++ Foo (void) { a = 0; }
++private:
++ int a;
++};
++_LT_EOF
++], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
++ subroutine foo
++ implicit none
++ integer*4 a
++ a=0
++ return
++ end
++_LT_EOF
++], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
++ subroutine foo
++ implicit none
++ integer a
++ a=0
++ return
++ end
++_LT_EOF
++], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
++public class foo {
++ private int a;
++ public void bar (void) {
++ a = 0;
++ }
++};
++_LT_EOF
++])
++dnl Parse the compiler output and extract the necessary
++dnl objects, libraries and library flags.
++if AC_TRY_EVAL(ac_compile); then
++ # Parse the compiler output and extract the necessary
++ # objects, libraries and library flags.
++
++ # Sentinel used to keep track of whether or not we are before
++ # the conftest object file.
++ pre_test_object_deps_done=no
++
++ for p in `eval "$output_verbose_link_cmd"`; do
++ case $p in
++
++ -L* | -R* | -l*)
++ # Some compilers place space between "-{L,R}" and the path.
++ # Remove the space.
++ if test $p = "-L" ||
++ test $p = "-R"; then
++ prev=$p
++ continue
++ else
++ prev=
++ fi
++
++ if test "$pre_test_object_deps_done" = no; then
++ case $p in
++ -L* | -R*)
++ # Internal compiler library paths should come after those
++ # provided the user. The postdeps already come after the
++ # user supplied libs so there is no need to process them.
++ if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
++ _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
++ else
++ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
++ fi
++ ;;
++ # The "-l" case would never come before the object being
++ # linked, so don't bother handling this case.
++ esac
++ else
++ if test -z "$_LT_TAGVAR(postdeps, $1)"; then
++ _LT_TAGVAR(postdeps, $1)="${prev}${p}"
++ else
++ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
++ fi
++ fi
++ ;;
++
++ *.$objext)
++ # This assumes that the test object file only shows up
++ # once in the compiler output.
++ if test "$p" = "conftest.$objext"; then
++ pre_test_object_deps_done=yes
++ continue
++ fi
++
++ if test "$pre_test_object_deps_done" = no; then
++ if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
++ _LT_TAGVAR(predep_objects, $1)="$p"
++ else
++ _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
++ fi
++ else
++ if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
++ _LT_TAGVAR(postdep_objects, $1)="$p"
++ else
++ _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
++ fi
++ fi
++ ;;
++
++ *) ;; # Ignore the rest.
++
++ esac
++ done
++
++ # Clean up.
++ rm -f a.out a.exe
++else
++ echo "libtool.m4: error: problem compiling $1 test program"
++fi
++
++$RM -f confest.$objext
++
++# PORTME: override above test on systems where it is broken
++m4_if([$1], [CXX],
++[case $host_os in
++interix[[3-9]]*)
++ # Interix 3.5 installs completely hosed .la files for C++, so rather than
++ # hack all around it, let's just trust "g++" to DTRT.
++ _LT_TAGVAR(predep_objects,$1)=
++ _LT_TAGVAR(postdep_objects,$1)=
++ _LT_TAGVAR(postdeps,$1)=
++ ;;
++
++linux*)
++ case `$CC -V 2>&1 | sed 5q` in
++ *Sun\ C*)
++ # Sun C++ 5.9
++
++ # The more standards-conforming stlport4 library is
++ # incompatible with the Cstd library. Avoid specifying
++ # it if it's in CXXFLAGS. Ignore libCrun as
++ # -library=stlport4 depends on it.
++ case " $CXX $CXXFLAGS " in
++ *" -library=stlport4 "*)
++ solaris_use_stlport4=yes
++ ;;
++ esac
++
++ if test "$solaris_use_stlport4" != yes; then
++ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
++ fi
++ ;;
++ esac
++ ;;
++
++solaris*)
++ case $cc_basename in
++ CC*)
++ # The more standards-conforming stlport4 library is
++ # incompatible with the Cstd library. Avoid specifying
++ # it if it's in CXXFLAGS. Ignore libCrun as
++ # -library=stlport4 depends on it.
++ case " $CXX $CXXFLAGS " in
++ *" -library=stlport4 "*)
++ solaris_use_stlport4=yes
++ ;;
++ esac
++
++ # Adding this requires a known-good setup of shared libraries for
++ # Sun compiler versions before 5.6, else PIC objects from an old
++ # archive will be linked into the output, leading to subtle bugs.
++ if test "$solaris_use_stlport4" != yes; then
++ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
++ fi
++ ;;
++ esac
++ ;;
++esac
++])
++
++case " $_LT_TAGVAR(postdeps, $1) " in
++*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
++esac
++ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
++if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
++ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
++fi
++_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
++ [The directories searched by this compiler when creating a shared library])
++_LT_TAGDECL([], [predep_objects], [1],
++ [Dependencies to place before and after the objects being linked to
++ create a shared library])
++_LT_TAGDECL([], [postdep_objects], [1])
++_LT_TAGDECL([], [predeps], [1])
++_LT_TAGDECL([], [postdeps], [1])
++_LT_TAGDECL([], [compiler_lib_search_path], [1],
++ [The library search path used internally by the compiler when linking
++ a shared library])
++])# _LT_SYS_HIDDEN_LIBDEPS
++
++
++# _LT_PROG_F77
++# ------------
++# Since AC_PROG_F77 is broken, in that it returns the empty string
++# if there is no fortran compiler, we have our own version here.
++m4_defun([_LT_PROG_F77],
++[
++pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
++AC_PROG_F77
++if test -z "$F77" || test "X$F77" = "Xno"; then
++ _lt_disable_F77=yes
++fi
++popdef([AC_MSG_ERROR])
++])# _LT_PROG_F77
++
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([_LT_PROG_F77], [])
++
++
++# _LT_LANG_F77_CONFIG([TAG])
++# --------------------------
++# Ensure that the configuration variables for a Fortran 77 compiler are
++# suitably defined. These variables are subsequently used by _LT_CONFIG
++# to write the compiler configuration to `libtool'.
++m4_defun([_LT_LANG_F77_CONFIG],
++[AC_REQUIRE([_LT_PROG_F77])dnl
++AC_LANG_PUSH(Fortran 77)
++
++_LT_TAGVAR(archive_cmds_need_lc, $1)=no
++_LT_TAGVAR(allow_undefined_flag, $1)=
++_LT_TAGVAR(always_export_symbols, $1)=no
++_LT_TAGVAR(archive_expsym_cmds, $1)=
++_LT_TAGVAR(export_dynamic_flag_spec, $1)=
++_LT_TAGVAR(hardcode_direct, $1)=no
++_LT_TAGVAR(hardcode_direct_absolute, $1)=no
++_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
++_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
++_LT_TAGVAR(hardcode_libdir_separator, $1)=
++_LT_TAGVAR(hardcode_minus_L, $1)=no
++_LT_TAGVAR(hardcode_automatic, $1)=no
++_LT_TAGVAR(inherit_rpath, $1)=no
++_LT_TAGVAR(module_cmds, $1)=
++_LT_TAGVAR(module_expsym_cmds, $1)=
++_LT_TAGVAR(link_all_deplibs, $1)=unknown
++_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
++_LT_TAGVAR(no_undefined_flag, $1)=
++_LT_TAGVAR(whole_archive_flag_spec, $1)=
++_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
++
++# Source file extension for f77 test sources.
++ac_ext=f
++
++# Object file extension for compiled f77 test sources.
++objext=o
++_LT_TAGVAR(objext, $1)=$objext
++
++# No sense in running all these tests if we already determined that
++# the F77 compiler isn't working. Some variables (like enable_shared)
++# are currently assumed to apply to all compilers on this platform,
++# and will be corrupted by setting them based on a non-working compiler.
++if test "$_lt_disable_F77" != yes; then
++ # Code to be used in simple compile tests
++ lt_simple_compile_test_code="\
++ subroutine t
++ return
++ end
++"
++
++ # Code to be used in simple link tests
++ lt_simple_link_test_code="\
++ program t
++ end
++"
++
++ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
++ _LT_TAG_COMPILER
++
++ # save warnings/boilerplate of simple test code
++ _LT_COMPILER_BOILERPLATE
++ _LT_LINKER_BOILERPLATE
++
++ # Allow CC to be a program name with arguments.
++ lt_save_CC="$CC"
++ lt_save_GCC=$GCC
++ CC=${F77-"f77"}
++ compiler=$CC
++ _LT_TAGVAR(compiler, $1)=$CC
++ _LT_CC_BASENAME([$compiler])
++ GCC=$G77
++ if test -n "$compiler"; then
++ AC_MSG_CHECKING([if libtool supports shared libraries])
++ AC_MSG_RESULT([$can_build_shared])
++
++ AC_MSG_CHECKING([whether to build shared libraries])
++ test "$can_build_shared" = "no" && enable_shared=no
++
++ # On AIX, shared libraries and static libraries use the same namespace, and
++ # are all built from PIC.
++ case $host_os in
++ aix3*)
++ test "$enable_shared" = yes && enable_static=no
++ if test -n "$RANLIB"; then
++ archive_cmds="$archive_cmds~\$RANLIB \$lib"
++ postinstall_cmds='$RANLIB $lib'
++ fi
++ ;;
++ aix[[4-9]]*)
++ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
++ test "$enable_shared" = yes && enable_static=no
++ fi
++ ;;
++ esac
++ AC_MSG_RESULT([$enable_shared])
++
++ AC_MSG_CHECKING([whether to build static libraries])
++ # Make sure either enable_shared or enable_static is yes.
++ test "$enable_shared" = yes || enable_static=yes
++ AC_MSG_RESULT([$enable_static])
++
++ _LT_TAGVAR(GCC, $1)="$G77"
++ _LT_TAGVAR(LD, $1)="$LD"
++
++ ## CAVEAT EMPTOR:
++ ## There is no encapsulation within the following macros, do not change
++ ## the running order or otherwise move them around unless you know exactly
++ ## what you are doing...
++ _LT_COMPILER_PIC($1)
++ _LT_COMPILER_C_O($1)
++ _LT_COMPILER_FILE_LOCKS($1)
++ _LT_LINKER_SHLIBS($1)
++ _LT_SYS_DYNAMIC_LINKER($1)
++ _LT_LINKER_HARDCODE_LIBPATH($1)
++
++ _LT_CONFIG($1)
++ fi # test -n "$compiler"
++
++ GCC=$lt_save_GCC
++ CC="$lt_save_CC"
++fi # test "$_lt_disable_F77" != yes
++
++AC_LANG_POP
++])# _LT_LANG_F77_CONFIG
++
++
++# _LT_PROG_FC
++# -----------
++# Since AC_PROG_FC is broken, in that it returns the empty string
++# if there is no fortran compiler, we have our own version here.
++m4_defun([_LT_PROG_FC],
++[
++pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
++AC_PROG_FC
++if test -z "$FC" || test "X$FC" = "Xno"; then
++ _lt_disable_FC=yes
++fi
++popdef([AC_MSG_ERROR])
++])# _LT_PROG_FC
++
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([_LT_PROG_FC], [])
++
++
++# _LT_LANG_FC_CONFIG([TAG])
++# -------------------------
++# Ensure that the configuration variables for a Fortran compiler are
++# suitably defined. These variables are subsequently used by _LT_CONFIG
++# to write the compiler configuration to `libtool'.
++m4_defun([_LT_LANG_FC_CONFIG],
++[AC_REQUIRE([_LT_PROG_FC])dnl
++AC_LANG_PUSH(Fortran)
++
++_LT_TAGVAR(archive_cmds_need_lc, $1)=no
++_LT_TAGVAR(allow_undefined_flag, $1)=
++_LT_TAGVAR(always_export_symbols, $1)=no
++_LT_TAGVAR(archive_expsym_cmds, $1)=
++_LT_TAGVAR(export_dynamic_flag_spec, $1)=
++_LT_TAGVAR(hardcode_direct, $1)=no
++_LT_TAGVAR(hardcode_direct_absolute, $1)=no
++_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
++_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
++_LT_TAGVAR(hardcode_libdir_separator, $1)=
++_LT_TAGVAR(hardcode_minus_L, $1)=no
++_LT_TAGVAR(hardcode_automatic, $1)=no
++_LT_TAGVAR(inherit_rpath, $1)=no
++_LT_TAGVAR(module_cmds, $1)=
++_LT_TAGVAR(module_expsym_cmds, $1)=
++_LT_TAGVAR(link_all_deplibs, $1)=unknown
++_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
++_LT_TAGVAR(no_undefined_flag, $1)=
++_LT_TAGVAR(whole_archive_flag_spec, $1)=
++_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
++
++# Source file extension for fc test sources.
++ac_ext=${ac_fc_srcext-f}
++
++# Object file extension for compiled fc test sources.
++objext=o
++_LT_TAGVAR(objext, $1)=$objext
++
++# No sense in running all these tests if we already determined that
++# the FC compiler isn't working. Some variables (like enable_shared)
++# are currently assumed to apply to all compilers on this platform,
++# and will be corrupted by setting them based on a non-working compiler.
++if test "$_lt_disable_FC" != yes; then
++ # Code to be used in simple compile tests
++ lt_simple_compile_test_code="\
++ subroutine t
++ return
++ end
++"
++
++ # Code to be used in simple link tests
++ lt_simple_link_test_code="\
++ program t
++ end
++"
++
++ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
++ _LT_TAG_COMPILER
++
++ # save warnings/boilerplate of simple test code
++ _LT_COMPILER_BOILERPLATE
++ _LT_LINKER_BOILERPLATE
++
++ # Allow CC to be a program name with arguments.
++ lt_save_CC="$CC"
++ lt_save_GCC=$GCC
++ CC=${FC-"f95"}
++ compiler=$CC
++ GCC=$ac_cv_fc_compiler_gnu
++
++ _LT_TAGVAR(compiler, $1)=$CC
++ _LT_CC_BASENAME([$compiler])
++
++ if test -n "$compiler"; then
++ AC_MSG_CHECKING([if libtool supports shared libraries])
++ AC_MSG_RESULT([$can_build_shared])
++
++ AC_MSG_CHECKING([whether to build shared libraries])
++ test "$can_build_shared" = "no" && enable_shared=no
++
++ # On AIX, shared libraries and static libraries use the same namespace, and
++ # are all built from PIC.
++ case $host_os in
++ aix3*)
++ test "$enable_shared" = yes && enable_static=no
++ if test -n "$RANLIB"; then
++ archive_cmds="$archive_cmds~\$RANLIB \$lib"
++ postinstall_cmds='$RANLIB $lib'
++ fi
++ ;;
++ aix[[4-9]]*)
++ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
++ test "$enable_shared" = yes && enable_static=no
++ fi
++ ;;
++ esac
++ AC_MSG_RESULT([$enable_shared])
++
++ AC_MSG_CHECKING([whether to build static libraries])
++ # Make sure either enable_shared or enable_static is yes.
++ test "$enable_shared" = yes || enable_static=yes
++ AC_MSG_RESULT([$enable_static])
++
++ _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
++ _LT_TAGVAR(LD, $1)="$LD"
++
++ ## CAVEAT EMPTOR:
++ ## There is no encapsulation within the following macros, do not change
++ ## the running order or otherwise move them around unless you know exactly
++ ## what you are doing...
++ _LT_SYS_HIDDEN_LIBDEPS($1)
++ _LT_COMPILER_PIC($1)
++ _LT_COMPILER_C_O($1)
++ _LT_COMPILER_FILE_LOCKS($1)
++ _LT_LINKER_SHLIBS($1)
++ _LT_SYS_DYNAMIC_LINKER($1)
++ _LT_LINKER_HARDCODE_LIBPATH($1)
++
++ _LT_CONFIG($1)
++ fi # test -n "$compiler"
++
++ GCC=$lt_save_GCC
++ CC="$lt_save_CC"
++fi # test "$_lt_disable_FC" != yes
++
++AC_LANG_POP
++])# _LT_LANG_FC_CONFIG
++
++
++# _LT_LANG_GCJ_CONFIG([TAG])
++# --------------------------
++# Ensure that the configuration variables for the GNU Java Compiler compiler
++# are suitably defined. These variables are subsequently used by _LT_CONFIG
++# to write the compiler configuration to `libtool'.
++m4_defun([_LT_LANG_GCJ_CONFIG],
++[AC_REQUIRE([LT_PROG_GCJ])dnl
++AC_LANG_SAVE
++
++# Source file extension for Java test sources.
++ac_ext=java
++
++# Object file extension for compiled Java test sources.
++objext=o
++_LT_TAGVAR(objext, $1)=$objext
++
++# Code to be used in simple compile tests
++lt_simple_compile_test_code="class foo {}"
++
++# Code to be used in simple link tests
++lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
++
++# ltmain only uses $CC for tagged configurations so make sure $CC is set.
++_LT_TAG_COMPILER
++
++# save warnings/boilerplate of simple test code
++_LT_COMPILER_BOILERPLATE
++_LT_LINKER_BOILERPLATE
++
++# Allow CC to be a program name with arguments.
++lt_save_CC="$CC"
++lt_save_GCC=$GCC
++GCC=yes
++CC=${GCJ-"gcj"}
++compiler=$CC
++_LT_TAGVAR(compiler, $1)=$CC
++_LT_TAGVAR(LD, $1)="$LD"
++_LT_CC_BASENAME([$compiler])
++
++# GCJ did not exist at the time GCC didn't implicitly link libc in.
++_LT_TAGVAR(archive_cmds_need_lc, $1)=no
++
++_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
++
++if test -n "$compiler"; then
++ _LT_COMPILER_NO_RTTI($1)
++ _LT_COMPILER_PIC($1)
++ _LT_COMPILER_C_O($1)
++ _LT_COMPILER_FILE_LOCKS($1)
++ _LT_LINKER_SHLIBS($1)
++ _LT_LINKER_HARDCODE_LIBPATH($1)
++
++ _LT_CONFIG($1)
++fi
++
++AC_LANG_RESTORE
++
++GCC=$lt_save_GCC
++CC="$lt_save_CC"
++])# _LT_LANG_GCJ_CONFIG
++
++
++# _LT_LANG_RC_CONFIG([TAG])
++# -------------------------
++# Ensure that the configuration variables for the Windows resource compiler
++# are suitably defined. These variables are subsequently used by _LT_CONFIG
++# to write the compiler configuration to `libtool'.
++m4_defun([_LT_LANG_RC_CONFIG],
++[AC_REQUIRE([LT_PROG_RC])dnl
++AC_LANG_SAVE
++
++# Source file extension for RC test sources.
++ac_ext=rc
++
++# Object file extension for compiled RC test sources.
++objext=o
++_LT_TAGVAR(objext, $1)=$objext
++
++# Code to be used in simple compile tests
++lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
++
++# Code to be used in simple link tests
++lt_simple_link_test_code="$lt_simple_compile_test_code"
++
++# ltmain only uses $CC for tagged configurations so make sure $CC is set.
++_LT_TAG_COMPILER
++
++# save warnings/boilerplate of simple test code
++_LT_COMPILER_BOILERPLATE
++_LT_LINKER_BOILERPLATE
++
++# Allow CC to be a program name with arguments.
++lt_save_CC="$CC"
++lt_save_GCC=$GCC
++GCC=
++CC=${RC-"windres"}
++compiler=$CC
++_LT_TAGVAR(compiler, $1)=$CC
++_LT_CC_BASENAME([$compiler])
++_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
++
++if test -n "$compiler"; then
++ :
++ _LT_CONFIG($1)
++fi
++
++GCC=$lt_save_GCC
++AC_LANG_RESTORE
++CC="$lt_save_CC"
++])# _LT_LANG_RC_CONFIG
++
++
++# LT_PROG_GCJ
++# -----------
++AC_DEFUN([LT_PROG_GCJ],
++[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
++ [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
++ [AC_CHECK_TOOL(GCJ, gcj,)
++ test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
++ AC_SUBST(GCJFLAGS)])])[]dnl
++])
++
++# Old name:
++AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
++
++
++# LT_PROG_RC
++# ----------
++AC_DEFUN([LT_PROG_RC],
++[AC_CHECK_TOOL(RC, windres,)
++])
++
++# Old name:
++AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([LT_AC_PROG_RC], [])
++
++
++# _LT_DECL_EGREP
++# --------------
++# If we don't have a new enough Autoconf to choose the best grep
++# available, choose the one first in the user's PATH.
++m4_defun([_LT_DECL_EGREP],
++[AC_REQUIRE([AC_PROG_EGREP])dnl
++AC_REQUIRE([AC_PROG_FGREP])dnl
++test -z "$GREP" && GREP=grep
++_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
++_LT_DECL([], [EGREP], [1], [An ERE matcher])
++_LT_DECL([], [FGREP], [1], [A literal string matcher])
++dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
++AC_SUBST([GREP])
++])
++
++
++# _LT_DECL_SED
++# ------------
++# Check for a fully-functional sed program, that truncates
++# as few characters as possible. Prefer GNU sed if found.
++m4_defun([_LT_DECL_SED],
++[AC_PROG_SED
++test -z "$SED" && SED=sed
++Xsed="$SED -e 1s/^X//"
++_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
++_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
++ [Sed that helps us avoid accidentally triggering echo(1) options like -n])
++])# _LT_DECL_SED
++
++m4_ifndef([AC_PROG_SED], [
++# NOTE: This macro has been submitted for inclusion into #
++# GNU Autoconf as AC_PROG_SED. When it is available in #
++# a released version of Autoconf we should remove this #
++# macro and use it instead. #
++
++m4_defun([AC_PROG_SED],
++[AC_MSG_CHECKING([for a sed that does not truncate output])
++AC_CACHE_VAL(lt_cv_path_SED,
++[# Loop through the user's path and test for sed and gsed.
++# Then use that list of sed's as ones to test for truncation.
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for lt_ac_prog in sed gsed; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
++ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
++ fi
++ done
++ done
++done
++IFS=$as_save_IFS
++lt_ac_max=0
++lt_ac_count=0
++# Add /usr/xpg4/bin/sed as it is typically found on Solaris
++# along with /bin/sed that truncates output.
++for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
++ test ! -f $lt_ac_sed && continue
++ cat /dev/null > conftest.in
++ lt_ac_count=0
++ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
++ # Check for GNU sed and select it if it is found.
++ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
++ lt_cv_path_SED=$lt_ac_sed
++ break
++ fi
++ while true; do
++ cat conftest.in conftest.in >conftest.tmp
++ mv conftest.tmp conftest.in
++ cp conftest.in conftest.nl
++ echo >>conftest.nl
++ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
++ cmp -s conftest.out conftest.nl || break
++ # 10000 chars as input seems more than enough
++ test $lt_ac_count -gt 10 && break
++ lt_ac_count=`expr $lt_ac_count + 1`
++ if test $lt_ac_count -gt $lt_ac_max; then
++ lt_ac_max=$lt_ac_count
++ lt_cv_path_SED=$lt_ac_sed
++ fi
++ done
++done
++])
++SED=$lt_cv_path_SED
++AC_SUBST([SED])
++AC_MSG_RESULT([$SED])
++])#AC_PROG_SED
++])#m4_ifndef
++
++# Old name:
++AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([LT_AC_PROG_SED], [])
++
++
++# _LT_CHECK_SHELL_FEATURES
++# ------------------------
++# Find out whether the shell is Bourne or XSI compatible,
++# or has some other useful features.
++m4_defun([_LT_CHECK_SHELL_FEATURES],
++[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
++# Try some XSI features
++xsi_shell=no
++( _lt_dummy="a/b/c"
++ test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
++ = c,a/b,, \
++ && eval 'test $(( 1 + 1 )) -eq 2 \
++ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
++ && xsi_shell=yes
++AC_MSG_RESULT([$xsi_shell])
++_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
++
++AC_MSG_CHECKING([whether the shell understands "+="])
++lt_shell_append=no
++( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
++ >/dev/null 2>&1 \
++ && lt_shell_append=yes
++AC_MSG_RESULT([$lt_shell_append])
++_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
++
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++ lt_unset=unset
++else
++ lt_unset=false
++fi
++_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
++
++# test EBCDIC or ASCII
++case `echo X|tr X '\101'` in
++ A) # ASCII based system
++ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
++ lt_SP2NL='tr \040 \012'
++ lt_NL2SP='tr \015\012 \040\040'
++ ;;
++ *) # EBCDIC based system
++ lt_SP2NL='tr \100 \n'
++ lt_NL2SP='tr \r\n \100\100'
++ ;;
++esac
++_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
++_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
++])# _LT_CHECK_SHELL_FEATURES
++
++
++# _LT_PROG_XSI_SHELLFNS
++# ---------------------
++# Bourne and XSI compatible variants of some useful shell functions.
++m4_defun([_LT_PROG_XSI_SHELLFNS],
++[case $xsi_shell in
++ yes)
++ cat << \_LT_EOF >> "$cfgfile"
++
++# func_dirname file append nondir_replacement
++# Compute the dirname of FILE. If nonempty, add APPEND to the result,
++# otherwise set result to NONDIR_REPLACEMENT.
++func_dirname ()
++{
++ case ${1} in
++ */*) func_dirname_result="${1%/*}${2}" ;;
++ * ) func_dirname_result="${3}" ;;
++ esac
++}
++
++# func_basename file
++func_basename ()
++{
++ func_basename_result="${1##*/}"
++}
++
++# func_dirname_and_basename file append nondir_replacement
++# perform func_basename and func_dirname in a single function
++# call:
++# dirname: Compute the dirname of FILE. If nonempty,
++# add APPEND to the result, otherwise set result
++# to NONDIR_REPLACEMENT.
++# value returned in "$func_dirname_result"
++# basename: Compute filename of FILE.
++# value retuned in "$func_basename_result"
++# Implementation must be kept synchronized with func_dirname
++# and func_basename. For efficiency, we do not delegate to
++# those functions but instead duplicate the functionality here.
++func_dirname_and_basename ()
++{
++ case ${1} in
++ */*) func_dirname_result="${1%/*}${2}" ;;
++ * ) func_dirname_result="${3}" ;;
++ esac
++ func_basename_result="${1##*/}"
++}
++
++# func_stripname prefix suffix name
++# strip PREFIX and SUFFIX off of NAME.
++# PREFIX and SUFFIX must not contain globbing or regex special
++# characters, hashes, percent signs, but SUFFIX may contain a leading
++# dot (in which case that matches only a dot).
++func_stripname ()
++{
++ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
++ # positional parameters, so assign one to ordinary parameter first.
++ func_stripname_result=${3}
++ func_stripname_result=${func_stripname_result#"${1}"}
++ func_stripname_result=${func_stripname_result%"${2}"}
++}
++
++# func_opt_split
++func_opt_split ()
++{
++ func_opt_split_opt=${1%%=*}
++ func_opt_split_arg=${1#*=}
++}
++
++# func_lo2o object
++func_lo2o ()
++{
++ case ${1} in
++ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
++ *) func_lo2o_result=${1} ;;
++ esac
++}
++
++# func_xform libobj-or-source
++func_xform ()
++{
++ func_xform_result=${1%.*}.lo
++}
++
++# func_arith arithmetic-term...
++func_arith ()
++{
++ func_arith_result=$(( $[*] ))
++}
++
++# func_len string
++# STRING may not start with a hyphen.
++func_len ()
++{
++ func_len_result=${#1}
++}
++
++_LT_EOF
++ ;;
++ *) # Bourne compatible functions.
++ cat << \_LT_EOF >> "$cfgfile"
++
++# func_dirname file append nondir_replacement
++# Compute the dirname of FILE. If nonempty, add APPEND to the result,
++# otherwise set result to NONDIR_REPLACEMENT.
++func_dirname ()
++{
++ # Extract subdirectory from the argument.
++ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
++ if test "X$func_dirname_result" = "X${1}"; then
++ func_dirname_result="${3}"
++ else
++ func_dirname_result="$func_dirname_result${2}"
++ fi
++}
++
++# func_basename file
++func_basename ()
++{
++ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
++}
++
++dnl func_dirname_and_basename
++dnl A portable version of this function is already defined in general.m4sh
++dnl so there is no need for it here.
++
++# func_stripname prefix suffix name
++# strip PREFIX and SUFFIX off of NAME.
++# PREFIX and SUFFIX must not contain globbing or regex special
++# characters, hashes, percent signs, but SUFFIX may contain a leading
++# dot (in which case that matches only a dot).
++# func_strip_suffix prefix name
++func_stripname ()
++{
++ case ${2} in
++ .*) func_stripname_result=`$ECHO "X${3}" \
++ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
++ *) func_stripname_result=`$ECHO "X${3}" \
++ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
++ esac
++}
++
++# sed scripts:
++my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
++my_sed_long_arg='1s/^-[[^=]]*=//'
++
++# func_opt_split
++func_opt_split ()
++{
++ func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
++ func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
++}
++
++# func_lo2o object
++func_lo2o ()
++{
++ func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
++}
++
++# func_xform libobj-or-source
++func_xform ()
++{
++ func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
++}
++
++# func_arith arithmetic-term...
++func_arith ()
++{
++ func_arith_result=`expr "$[@]"`
++}
++
++# func_len string
++# STRING may not start with a hyphen.
++func_len ()
++{
++ func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
++}
++
++_LT_EOF
++esac
++
++case $lt_shell_append in
++ yes)
++ cat << \_LT_EOF >> "$cfgfile"
++
++# func_append var value
++# Append VALUE to the end of shell variable VAR.
++func_append ()
++{
++ eval "$[1]+=\$[2]"
++}
++_LT_EOF
++ ;;
++ *)
++ cat << \_LT_EOF >> "$cfgfile"
++
++# func_append var value
++# Append VALUE to the end of shell variable VAR.
++func_append ()
++{
++ eval "$[1]=\$$[1]\$[2]"
++}
++
++_LT_EOF
++ ;;
++ esac
++])
++
++# Helper functions for option handling. -*- Autoconf -*-
++#
++# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
++# Written by Gary V. Vaughan, 2004
++#
++# This file is free software; the Free Software Foundation gives
++# unlimited permission to copy and/or distribute it, with or without
++# modifications, as long as this notice is preserved.
++
++# serial 6 ltoptions.m4
++
++# This is to help aclocal find these macros, as it can't see m4_define.
++AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
++
++
++# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
++# ------------------------------------------
++m4_define([_LT_MANGLE_OPTION],
++[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
++
++
++# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
++# ---------------------------------------
++# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
++# matching handler defined, dispatch to it. Other OPTION-NAMEs are
++# saved as a flag.
++m4_define([_LT_SET_OPTION],
++[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
++m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
++ _LT_MANGLE_DEFUN([$1], [$2]),
++ [m4_warning([Unknown $1 option `$2'])])[]dnl
++])
++
++
++# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
++# ------------------------------------------------------------
++# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
++m4_define([_LT_IF_OPTION],
++[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
++
++
++# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
++# -------------------------------------------------------
++# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
++# are set.
++m4_define([_LT_UNLESS_OPTIONS],
++[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
++ [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
++ [m4_define([$0_found])])])[]dnl
++m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
++])[]dnl
++])
++
++
++# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
++# ----------------------------------------
++# OPTION-LIST is a space-separated list of Libtool options associated
++# with MACRO-NAME. If any OPTION has a matching handler declared with
++# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
++# the unknown option and exit.
++m4_defun([_LT_SET_OPTIONS],
++[# Set options
++m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
++ [_LT_SET_OPTION([$1], _LT_Option)])
++
++m4_if([$1],[LT_INIT],[
++ dnl
++ dnl Simply set some default values (i.e off) if boolean options were not
++ dnl specified:
++ _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
++ ])
++ _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
++ ])
++ dnl
++ dnl If no reference was made to various pairs of opposing options, then
++ dnl we run the default mode handler for the pair. For example, if neither
++ dnl `shared' nor `disable-shared' was passed, we enable building of shared
++ dnl archives by default:
++ _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
++ _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
++ _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
++ _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
++ [_LT_ENABLE_FAST_INSTALL])
++ ])
++])# _LT_SET_OPTIONS
++
++
++
++# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
++# -----------------------------------------
++m4_define([_LT_MANGLE_DEFUN],
++[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
++
++
++# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
++# -----------------------------------------------
++m4_define([LT_OPTION_DEFINE],
++[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
++])# LT_OPTION_DEFINE
++
++
++# dlopen
++# ------
++LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
++])
++
++AU_DEFUN([AC_LIBTOOL_DLOPEN],
++[_LT_SET_OPTION([LT_INIT], [dlopen])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you
++put the `dlopen' option into LT_INIT's first parameter.])
++])
++
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
++
++
++# win32-dll
++# ---------
++# Declare package support for building win32 dll's.
++LT_OPTION_DEFINE([LT_INIT], [win32-dll],
++[enable_win32_dll=yes
++
++case $host in
++*-*-cygwin* | *-*-mingw* | *-*-pw32*)
++ AC_CHECK_TOOL(AS, as, false)
++ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
++ AC_CHECK_TOOL(OBJDUMP, objdump, false)
++ ;;
++esac
++
++test -z "$AS" && AS=as
++_LT_DECL([], [AS], [0], [Assembler program])dnl
++
++test -z "$DLLTOOL" && DLLTOOL=dlltool
++_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
++
++test -z "$OBJDUMP" && OBJDUMP=objdump
++_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
++])# win32-dll
++
++AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
++[AC_REQUIRE([AC_CANONICAL_HOST])dnl
++_LT_SET_OPTION([LT_INIT], [win32-dll])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you
++put the `win32-dll' option into LT_INIT's first parameter.])
++])
++
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
++
++
++# _LT_ENABLE_SHARED([DEFAULT])
++# ----------------------------
++# implement the --enable-shared flag, and supports the `shared' and
++# `disable-shared' LT_INIT options.
++# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
++m4_define([_LT_ENABLE_SHARED],
++[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
++AC_ARG_ENABLE([shared],
++ [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
++ [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
++ [p=${PACKAGE-default}
++ case $enableval in
++ yes) enable_shared=yes ;;
++ no) enable_shared=no ;;
++ *)
++ enable_shared=no
++ # Look at the argument we got. We use all the common list separators.
++ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++ for pkg in $enableval; do
++ IFS="$lt_save_ifs"
++ if test "X$pkg" = "X$p"; then
++ enable_shared=yes
++ fi
++ done
++ IFS="$lt_save_ifs"
++ ;;
++ esac],
++ [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
++
++ _LT_DECL([build_libtool_libs], [enable_shared], [0],
++ [Whether or not to build shared libraries])
++])# _LT_ENABLE_SHARED
++
++LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
++LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
++
++# Old names:
++AC_DEFUN([AC_ENABLE_SHARED],
++[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
++])
++
++AC_DEFUN([AC_DISABLE_SHARED],
++[_LT_SET_OPTION([LT_INIT], [disable-shared])
++])
++
++AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
++AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
++
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AM_ENABLE_SHARED], [])
++dnl AC_DEFUN([AM_DISABLE_SHARED], [])
++
++
++
++# _LT_ENABLE_STATIC([DEFAULT])
++# ----------------------------
++# implement the --enable-static flag, and support the `static' and
++# `disable-static' LT_INIT options.
++# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
++m4_define([_LT_ENABLE_STATIC],
++[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
++AC_ARG_ENABLE([static],
++ [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
++ [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
++ [p=${PACKAGE-default}
++ case $enableval in
++ yes) enable_static=yes ;;
++ no) enable_static=no ;;
++ *)
++ enable_static=no
++ # Look at the argument we got. We use all the common list separators.
++ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++ for pkg in $enableval; do
++ IFS="$lt_save_ifs"
++ if test "X$pkg" = "X$p"; then
++ enable_static=yes
++ fi
++ done
++ IFS="$lt_save_ifs"
++ ;;
++ esac],
++ [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
++
++ _LT_DECL([build_old_libs], [enable_static], [0],
++ [Whether or not to build static libraries])
++])# _LT_ENABLE_STATIC
++
++LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
++LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
++
++# Old names:
++AC_DEFUN([AC_ENABLE_STATIC],
++[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
++])
++
++AC_DEFUN([AC_DISABLE_STATIC],
++[_LT_SET_OPTION([LT_INIT], [disable-static])
++])
++
++AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
++AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
++
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AM_ENABLE_STATIC], [])
++dnl AC_DEFUN([AM_DISABLE_STATIC], [])
++
++
++
++# _LT_ENABLE_FAST_INSTALL([DEFAULT])
++# ----------------------------------
++# implement the --enable-fast-install flag, and support the `fast-install'
++# and `disable-fast-install' LT_INIT options.
++# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
++m4_define([_LT_ENABLE_FAST_INSTALL],
++[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
++AC_ARG_ENABLE([fast-install],
++ [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
++ [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
++ [p=${PACKAGE-default}
++ case $enableval in
++ yes) enable_fast_install=yes ;;
++ no) enable_fast_install=no ;;
++ *)
++ enable_fast_install=no
++ # Look at the argument we got. We use all the common list separators.
++ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++ for pkg in $enableval; do
++ IFS="$lt_save_ifs"
++ if test "X$pkg" = "X$p"; then
++ enable_fast_install=yes
++ fi
++ done
++ IFS="$lt_save_ifs"
++ ;;
++ esac],
++ [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
++
++_LT_DECL([fast_install], [enable_fast_install], [0],
++ [Whether or not to optimize for fast installation])dnl
++])# _LT_ENABLE_FAST_INSTALL
++
++LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
++LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
++
++# Old names:
++AU_DEFUN([AC_ENABLE_FAST_INSTALL],
++[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you put
++the `fast-install' option into LT_INIT's first parameter.])
++])
++
++AU_DEFUN([AC_DISABLE_FAST_INSTALL],
++[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you put
++the `disable-fast-install' option into LT_INIT's first parameter.])
++])
++
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
++dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
++
++
++# _LT_WITH_PIC([MODE])
++# --------------------
++# implement the --with-pic flag, and support the `pic-only' and `no-pic'
++# LT_INIT options.
++# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
++m4_define([_LT_WITH_PIC],
++[AC_ARG_WITH([pic],
++ [AS_HELP_STRING([--with-pic],
++ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
++ [pic_mode="$withval"],
++ [pic_mode=default])
++
++test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
++
++_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
++])# _LT_WITH_PIC
++
++LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
++LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
++
++# Old name:
++AU_DEFUN([AC_LIBTOOL_PICMODE],
++[_LT_SET_OPTION([LT_INIT], [pic-only])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you
++put the `pic-only' option into LT_INIT's first parameter.])
++])
++
++dnl aclocal-1.4 backwards compatibility:
++dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
++
++
++m4_define([_LTDL_MODE], [])
++LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
++ [m4_define([_LTDL_MODE], [nonrecursive])])
++LT_OPTION_DEFINE([LTDL_INIT], [recursive],
++ [m4_define([_LTDL_MODE], [recursive])])
++LT_OPTION_DEFINE([LTDL_INIT], [subproject],
++ [m4_define([_LTDL_MODE], [subproject])])
++
++m4_define([_LTDL_TYPE], [])
++LT_OPTION_DEFINE([LTDL_INIT], [installable],
++ [m4_define([_LTDL_TYPE], [installable])])
++LT_OPTION_DEFINE([LTDL_INIT], [convenience],
++ [m4_define([_LTDL_TYPE], [convenience])])
++
++# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
++#
++# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
++# Written by Gary V. Vaughan, 2004
++#
++# This file is free software; the Free Software Foundation gives
++# unlimited permission to copy and/or distribute it, with or without
++# modifications, as long as this notice is preserved.
++
++# serial 5 ltsugar.m4
++
++# This is to help aclocal find these macros, as it can't see m4_define.
++AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
++
++
++# lt_join(SEP, ARG1, [ARG2...])
++# -----------------------------
++# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
++# associated separator.
++# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
++# versions in m4sugar had bugs.
++m4_define([lt_join],
++[m4_if([$#], [1], [],
++ [$#], [2], [[$2]],
++ [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
++m4_define([_lt_join],
++[m4_if([$#$2], [2], [],
++ [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
++
++
++# lt_car(LIST)
++# lt_cdr(LIST)
++# ------------
++# Manipulate m4 lists.
++# These macros are necessary as long as will still need to support
++# Autoconf-2.59 which quotes differently.
++m4_define([lt_car], [[$1]])
++m4_define([lt_cdr],
++[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
++ [$#], 1, [],
++ [m4_dquote(m4_shift($@))])])
++m4_define([lt_unquote], $1)
++
++
++# lt_append(MACRO-NAME, STRING, [SEPARATOR])
++# ------------------------------------------
++# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
++# Note that neither SEPARATOR nor STRING are expanded; they are appended
++# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
++# No SEPARATOR is output if MACRO-NAME was previously undefined (different
++# than defined and empty).
++#
++# This macro is needed until we can rely on Autoconf 2.62, since earlier
++# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
++m4_define([lt_append],
++[m4_define([$1],
++ m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
++
++
++
++# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
++# ----------------------------------------------------------
++# Produce a SEP delimited list of all paired combinations of elements of
++# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
++# has the form PREFIXmINFIXSUFFIXn.
++m4_define([lt_combine],
++[m4_if([$2], [], [],
++ [m4_if([$4], [], [],
++ [lt_join(m4_quote(m4_default([$1], [[, ]])),
++ lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_prefix, [$2],
++ [m4_foreach(_Lt_suffix, lt_car([m4_shiftn(3, $@)]),
++ [_Lt_prefix[]$3[]_Lt_suffix ])])))))])])dnl
++])
++
++
++# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
++# -----------------------------------------------------------------------
++# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
++# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
++m4_define([lt_if_append_uniq],
++[m4_ifdef([$1],
++ [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
++ [lt_append([$1], [$2], [$3])$4],
++ [$5])],
++ [lt_append([$1], [$2], [$3])$4])])
++
++
++# lt_dict_add(DICT, KEY, VALUE)
++# -----------------------------
++m4_define([lt_dict_add],
++[m4_define([$1($2)], [$3])])
++
++
++# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
++# --------------------------------------------
++m4_define([lt_dict_add_subkey],
++[m4_define([$1($2:$3)], [$4])])
++
++
++# lt_dict_fetch(DICT, KEY, [SUBKEY])
++# ----------------------------------
++m4_define([lt_dict_fetch],
++[m4_ifval([$3],
++ m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
++ m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
++
++
++# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
++# -----------------------------------------------------------------
++m4_define([lt_if_dict_fetch],
++[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
++ [$5],
++ [$6])])
++
++
++# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
++# --------------------------------------------------------------
++m4_define([lt_dict_filter],
++[m4_if([$5], [], [],
++ [lt_join(m4_quote(m4_default([$4], [[, ]])),
++ lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
++ [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
++])
++
++# ltversion.m4 -- version numbers -*- Autoconf -*-
++#
++# Copyright (C) 2004 Free Software Foundation, Inc.
++# Written by Scott James Remnant, 2004
++#
++# This file is free software; the Free Software Foundation gives
++# unlimited permission to copy and/or distribute it, with or without
++# modifications, as long as this notice is preserved.
++
++# Generated from ltversion.in.
++
++# serial 2976 ltversion.m4
++# This file is part of GNU Libtool
++
++m4_define([LT_PACKAGE_VERSION], [2.2.4])
++m4_define([LT_PACKAGE_REVISION], [1.2976])
++
++AC_DEFUN([LTVERSION_VERSION],
++[macro_version='2.2.4'
++macro_revision='1.2976'
++_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
++_LT_DECL(, macro_revision, 0)
++])
++
++# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
++#
++# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
++# Written by Scott James Remnant, 2004.
++#
++# This file is free software; the Free Software Foundation gives
++# unlimited permission to copy and/or distribute it, with or without
++# modifications, as long as this notice is preserved.
++
++# serial 4 lt~obsolete.m4
++
++# These exist entirely to fool aclocal when bootstrapping libtool.
++#
++# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
++# which have later been changed to m4_define as they aren't part of the
++# exported API, or moved to Autoconf or Automake where they belong.
++#
++# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
++# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
++# using a macro with the same name in our local m4/libtool.m4 it'll
++# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
++# and doesn't know about Autoconf macros at all.)
++#
++# So we provide this file, which has a silly filename so it's always
++# included after everything else. This provides aclocal with the
++# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
++# because those macros already exist, or will be overwritten later.
++# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
++#
++# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
++# Yes, that means every name once taken will need to remain here until
++# we give up compatibility with versions before 1.7, at which point
++# we need to keep only those names which we still refer to.
++
++# This is to help aclocal find these macros, as it can't see m4_define.
++AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
++
++m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
++m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
++m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
++m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
++m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
++m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
++m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
++m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
++m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
++m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
++m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
++m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
++m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
++m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
++m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
++m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
++m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
++m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
++m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
++m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
++m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
++m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
++m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
++m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
++m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
++m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
++m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
++m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
++m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
++m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
++m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
++m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
++m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
++m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
++m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
++m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
++m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
++m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
++m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
++m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
++m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
++m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
++m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
++m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
++m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
++m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
++m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
++m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
++m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
++m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
++m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
++m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
++m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
++m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
++m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
++
++# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -21,14 +7925,29 @@
+ # ----------------------------
+ # Automake X.Y traces this macro to ensure aclocal.m4 has been
+ # generated from the m4 files accompanying Automake X.Y.
+-AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
++# (This private macro should not be called outside this file.)
++AC_DEFUN([AM_AUTOMAKE_VERSION],
++[am__api_version='1.10'
++dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
++dnl require some minimum version. Point them to the right macro.
++m4_if([$1], [1.10], [],
++ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
++])
++
++# _AM_AUTOCONF_VERSION(VERSION)
++# -----------------------------
++# aclocal traces this macro to find the Autoconf version.
++# This is a private macro too. Using m4_define simplifies
++# the logic in aclocal, which can simply ignore this definition.
++m4_define([_AM_AUTOCONF_VERSION], [])
+
+ # AM_SET_CURRENT_AUTOMAKE_VERSION
+ # -------------------------------
+-# Call AM_AUTOMAKE_VERSION so it can be traced.
++# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+ # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+ AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+- [AM_AUTOMAKE_VERSION([1.9.5])])
++[AM_AUTOMAKE_VERSION([1.10])dnl
++_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
+
+ # AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+@@ -85,14 +8004,14 @@
+
+ # AM_CONDITIONAL -*- Autoconf -*-
+
+-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
++# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
+ # Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+
+-# serial 7
++# serial 8
+
+ # AM_CONDITIONAL(NAME, SHELL-CONDITION)
+ # -------------------------------------
+@@ -101,8 +8020,10 @@
+ [AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+-AC_SUBST([$1_TRUE])
+-AC_SUBST([$1_FALSE])
++AC_SUBST([$1_TRUE])dnl
++AC_SUBST([$1_FALSE])dnl
++_AM_SUBST_NOTMAKE([$1_TRUE])dnl
++_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+ if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+@@ -116,15 +8037,14 @@
+ Usually this means the macro was only invoked conditionally.]])
+ fi])])
+
+-
+-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
++# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+ # Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+
+-# serial 8
++# serial 9
+
+ # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+ # written in clear, in which case automake, when reading aclocal.m4,
+@@ -152,6 +8072,7 @@
+ ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
++ [$1], UPC, [depcc="$UPC" am_compiler_list=],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+@@ -217,6 +8138,7 @@
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
++ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+@@ -269,7 +8191,8 @@
+ AMDEPBACKSLASH='\'
+ fi
+ AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+-AC_SUBST([AMDEPBACKSLASH])
++AC_SUBST([AMDEPBACKSLASH])dnl
++_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+ ])
+
+ # Generate code to set up dependency tracking. -*- Autoconf -*-
+@@ -294,8 +8217,9 @@
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+- # So let's grep whole file.
+- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
++ # Grep'ing the whole file is not good either: AIX grep has a line
++ # limit of 2048, but all sed's we know have understand at least 4000.
++ if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+@@ -354,8 +8278,8 @@
+
+ # Do all the work for Automake. -*- Autoconf -*-
+
+-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+-# Free Software Foundation, Inc.
++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
++# 2005, 2006 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -378,16 +8302,20 @@
+ # arguments mandatory, and then we can depend on a new Autoconf
+ # release and drop the old call support.
+ AC_DEFUN([AM_INIT_AUTOMAKE],
+-[AC_PREREQ([2.58])dnl
++[AC_PREREQ([2.60])dnl
+ dnl Autoconf wants to disallow AM_ names. We explicitly allow
+ dnl the ones we care about.
+ m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+ AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+ AC_REQUIRE([AC_PROG_INSTALL])dnl
+-# test to see if srcdir already configured
+-if test "`cd $srcdir && pwd`" != "`pwd`" &&
+- test -f $srcdir/config.status; then
+- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
++if test "`cd $srcdir && pwd`" != "`pwd`"; then
++ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
++ # is not polluted with repeated "-I."
++ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
++ # test to see if srcdir already configured
++ if test -f $srcdir/config.status; then
++ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
++ fi
+ fi
+
+ # test whether we have cygpath
+@@ -407,6 +8335,9 @@
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+ [_AM_SET_OPTIONS([$1])dnl
++dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
++m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
++ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+@@ -442,6 +8373,10 @@
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
++AC_PROVIDE_IFELSE([AC_PROG_OBJC],
++ [_AM_DEPENDENCIES(OBJC)],
++ [define([AC_PROG_OBJC],
++ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+ ])
+ ])
+
+@@ -477,7 +8412,7 @@
+ # Define $install_sh.
+ AC_DEFUN([AM_PROG_INSTALL_SH],
+ [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+-install_sh=${install_sh-"$am_aux_dir/install-sh"}
++install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+ AC_SUBST(install_sh)])
+
+ # Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+@@ -555,14 +8490,14 @@
+
+ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
++# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+ # Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+
+-# serial 4
++# serial 5
+
+ # AM_MISSING_PROG(NAME, PROGRAM)
+ # ------------------------------
+@@ -578,6 +8513,7 @@
+ # If it does, set am_missing_run to use it, otherwise, to nothing.
+ AC_DEFUN([AM_MISSING_HAS_RUN],
+ [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
++AC_REQUIRE_AUX_FILE([missing])dnl
+ test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+ # Use eval to expand $SHELL
+ if eval "$MISSING --run true"; then
+@@ -588,7 +8524,7 @@
+ fi
+ ])
+
+-# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
++# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -596,60 +8532,23 @@
+
+ # AM_PROG_MKDIR_P
+ # ---------------
+-# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
+-#
+-# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
+-# created by `make install' are always world readable, even if the
+-# installer happens to have an overly restrictive umask (e.g. 077).
+-# This was a mistake. There are at least two reasons why we must not
+-# use `-m 0755':
+-# - it causes special bits like SGID to be ignored,
+-# - it may be too restrictive (some setups expect 775 directories).
+-#
+-# Do not use -m 0755 and let people choose whatever they expect by
+-# setting umask.
+-#
+-# We cannot accept any implementation of `mkdir' that recognizes `-p'.
+-# Some implementations (such as Solaris 8's) are not thread-safe: if a
+-# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
+-# concurrently, both version can detect that a/ is missing, but only
+-# one can create it and the other will error out. Consequently we
+-# restrict ourselves to GNU make (using the --version option ensures
+-# this.)
++# Check for `mkdir -p'.
+ AC_DEFUN([AM_PROG_MKDIR_P],
+-[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+- # We used to keeping the `.' as first argument, in order to
+- # allow $(mkdir_p) to be used without argument. As in
+- # $(mkdir_p) $(somedir)
+- # where $(somedir) is conditionally defined. However this is wrong
+- # for two reasons:
+- # 1. if the package is installed by a user who cannot write `.'
+- # make install will fail,
+- # 2. the above comment should most certainly read
+- # $(mkdir_p) $(DESTDIR)$(somedir)
+- # so it does not work when $(somedir) is undefined and
+- # $(DESTDIR) is not.
+- # To support the latter case, we have to write
+- # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+- # so the `.' trick is pointless.
+- mkdir_p='mkdir -p --'
+-else
+- # On NextStep and OpenStep, the `mkdir' command does not
+- # recognize any option. It will interpret all options as
+- # directories to create, and then abort because `.' already
+- # exists.
+- for d in ./-p ./--version;
+- do
+- test -d $d && rmdir $d
+- done
+- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+- if test -f "$ac_aux_dir/mkinstalldirs"; then
+- mkdir_p='$(mkinstalldirs)'
+- else
+- mkdir_p='$(install_sh) -d'
+- fi
+-fi
+-AC_SUBST([mkdir_p])])
++[AC_PREREQ([2.60])dnl
++AC_REQUIRE([AC_PROG_MKDIR_P])dnl
++dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
++dnl while keeping a definition of mkdir_p for backward compatibility.
++dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
++dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
++dnl Makefile.ins that do not define MKDIR_P, so we do our own
++dnl adjustment using top_builddir (which is defined more often than
++dnl MKDIR_P).
++AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
++case $mkdir_p in
++ [[\\/$]]* | ?:[[\\/]]*) ;;
++ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
++esac
++])
+
+ # Helper functions for option handling. -*- Autoconf -*-
+
+@@ -761,9 +8660,21 @@
+ if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+ fi
+-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
++INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+ AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
++# Copyright (C) 2006 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# _AM_SUBST_NOTMAKE(VARIABLE)
++# ---------------------------
++# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
++# This macro is traced by Automake.
++AC_DEFUN([_AM_SUBST_NOTMAKE])
++
+ # Check how to create a tarball. -*- Autoconf -*-
+
+ # Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+diff -Nur LibVNCServer-0.9.1.orig/autom4te.cache/output.0 LibVNCServer-0.9.1/autom4te.cache/output.0
+--- LibVNCServer-0.9.1.orig/autom4te.cache/output.0 1969-12-31 21:00:00.000000000 -0300
++++ LibVNCServer-0.9.1/autom4te.cache/output.0 2008-10-31 18:46:23.000000000 -0200
+@@ -0,0 +1,22643 @@
++@%:@! /bin/sh
++@%:@ Guess values for system-dependent variables and create Makefiles.
++@%:@ Generated by GNU Autoconf 2.61 for LibVNCServer 0.9.1.
++@%:@
++@%:@ Report bugs to <http://sourceforge.net/projects/libvncserver>.
++@%:@
++@%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
++@%:@ 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
++@%:@ This configure script is free software; the Free Software Foundation
++@%:@ gives unlimited permission to copy, distribute and modify it.
++## --------------------- ##
++## M4sh Initialization. ##
++## --------------------- ##
++
++# Be more Bourne compatible
++DUALCASE=1; export DUALCASE # for MKS sh
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '${1+"$@"}'='"$@"'
++ setopt NO_GLOB_SUBST
++else
++ case `(set -o) 2>/dev/null` in
++ *posix*) set -o posix ;;
++esac
++
++fi
++
++
++
++
++# PATH needs CR
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
++ else
++ PATH_SEPARATOR=:
++ fi
++ rm -f conf$$.sh
++fi
++
++# Support unset when possible.
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++ as_unset=unset
++else
++ as_unset=false
++fi
++
++
++# IFS
++# We need space, tab and new line, in precisely that order. Quoting is
++# there to prevent editors from complaining about space-tab.
++# (If _AS_PATH_WALK were called with IFS unset, it would disable word
++# splitting by setting IFS to empty value.)
++as_nl='
++'
++IFS=" "" $as_nl"
++
++# Find who we are. Look in the path if we contain no directory separator.
++case $0 in
++ *[\\/]* ) as_myself=$0 ;;
++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
++done
++IFS=$as_save_IFS
++
++ ;;
++esac
++# We did not find ourselves, most probably we were run as `sh COMMAND'
++# in which case we are not to be found in the path.
++if test "x$as_myself" = x; then
++ as_myself=$0
++fi
++if test ! -f "$as_myself"; then
++ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++ { (exit 1); exit 1; }
++fi
++
++# Work around bugs in pre-3.0 UWIN ksh.
++for as_var in ENV MAIL MAILPATH
++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++done
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++for as_var in \
++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
++ LC_TELEPHONE LC_TIME
++do
++ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
++ eval $as_var=C; export $as_var
++ else
++ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++ fi
++done
++
++# Required to use basename.
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
++ as_basename=basename
++else
++ as_basename=false
++fi
++
++
++# Name of the executable.
++as_me=`$as_basename -- "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++ X"$0" : 'X\(//\)$' \| \
++ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++echo X/"$0" |
++ sed '/^.*\/\([^/][^/]*\)\/*$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++
++# CDPATH.
++$as_unset CDPATH
++
++
++if test "x$CONFIG_SHELL" = x; then
++ if (eval ":") 2>/dev/null; then
++ as_have_required=yes
++else
++ as_have_required=no
++fi
++
++ if test $as_have_required = yes && (eval ":
++(as_func_return () {
++ (exit \$1)
++}
++as_func_success () {
++ as_func_return 0
++}
++as_func_failure () {
++ as_func_return 1
++}
++as_func_ret_success () {
++ return 0
++}
++as_func_ret_failure () {
++ return 1
++}
++
++exitcode=0
++if as_func_success; then
++ :
++else
++ exitcode=1
++ echo as_func_success failed.
++fi
++
++if as_func_failure; then
++ exitcode=1
++ echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++ :
++else
++ exitcode=1
++ echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++ exitcode=1
++ echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
++ :
++else
++ exitcode=1
++ echo positional parameters were not saved.
++fi
++
++test \$exitcode = 0) || { (exit 1); exit 1; }
++
++(
++ as_lineno_1=\$LINENO
++ as_lineno_2=\$LINENO
++ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
++ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
++") 2> /dev/null; then
++ :
++else
++ as_candidate_shells=
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ case $as_dir in
++ /*)
++ for as_base in sh bash ksh sh5; do
++ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
++ done;;
++ esac
++done
++IFS=$as_save_IFS
++
++
++ for as_shell in $as_candidate_shells $SHELL; do
++ # Try only shells that exist, to save several forks.
++ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
++ { ("$as_shell") 2> /dev/null <<\_ASEOF
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '${1+"$@"}'='"$@"'
++ setopt NO_GLOB_SUBST
++else
++ case `(set -o) 2>/dev/null` in
++ *posix*) set -o posix ;;
++esac
++
++fi
++
++
++:
++_ASEOF
++}; then
++ CONFIG_SHELL=$as_shell
++ as_have_required=yes
++ if { "$as_shell" 2> /dev/null <<\_ASEOF
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '${1+"$@"}'='"$@"'
++ setopt NO_GLOB_SUBST
++else
++ case `(set -o) 2>/dev/null` in
++ *posix*) set -o posix ;;
++esac
++
++fi
++
++
++:
++(as_func_return () {
++ (exit $1)
++}
++as_func_success () {
++ as_func_return 0
++}
++as_func_failure () {
++ as_func_return 1
++}
++as_func_ret_success () {
++ return 0
++}
++as_func_ret_failure () {
++ return 1
++}
++
++exitcode=0
++if as_func_success; then
++ :
++else
++ exitcode=1
++ echo as_func_success failed.
++fi
++
++if as_func_failure; then
++ exitcode=1
++ echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++ :
++else
++ exitcode=1
++ echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++ exitcode=1
++ echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = "$1" ); then
++ :
++else
++ exitcode=1
++ echo positional parameters were not saved.
++fi
++
++test $exitcode = 0) || { (exit 1); exit 1; }
++
++(
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
++
++_ASEOF
++}; then
++ break
++fi
++
++fi
++
++ done
++
++ if test "x$CONFIG_SHELL" != x; then
++ for as_var in BASH_ENV ENV
++ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++ done
++ export CONFIG_SHELL
++ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
++fi
++
++
++ if test $as_have_required = no; then
++ echo This script requires a shell more modern than all the
++ echo shells that I found on your system. Please install a
++ echo modern shell, or manually run the script under such a
++ echo shell if you do have one.
++ { (exit 1); exit 1; }
++fi
++
++
++fi
++
++fi
++
++
++
++(eval "as_func_return () {
++ (exit \$1)
++}
++as_func_success () {
++ as_func_return 0
++}
++as_func_failure () {
++ as_func_return 1
++}
++as_func_ret_success () {
++ return 0
++}
++as_func_ret_failure () {
++ return 1
++}
++
++exitcode=0
++if as_func_success; then
++ :
++else
++ exitcode=1
++ echo as_func_success failed.
++fi
++
++if as_func_failure; then
++ exitcode=1
++ echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++ :
++else
++ exitcode=1
++ echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++ exitcode=1
++ echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
++ :
++else
++ exitcode=1
++ echo positional parameters were not saved.
++fi
++
++test \$exitcode = 0") || {
++ echo No shell found that supports shell functions.
++ echo Please tell autoconf@gnu.org about your system,
++ echo including any error possibly output before this
++ echo message
++}
++
++
++
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
++
++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
++ # uniformly replaced by the line number. The first 'sed' inserts a
++ # line-number line after each line using $LINENO; the second 'sed'
++ # does the real work. The second script uses 'N' to pair each
++ # line-number line with the line containing $LINENO, and appends
++ # trailing '-' during substitution so that $LINENO is not a special
++ # case at line end.
++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
++ # scripts with optimization help from Paolo Bonzini. Blame Lee
++ # E. McMahon (1931-1989) for sed's syntax. :-)
++ sed -n '
++ p
++ /[$]LINENO/=
++ ' <$as_myself |
++ sed '
++ s/[$]LINENO.*/&-/
++ t lineno
++ b
++ :lineno
++ N
++ :loop
++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
++ t loop
++ s/-\n.*//
++ ' >$as_me.lineno &&
++ chmod +x "$as_me.lineno" ||
++ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
++ { (exit 1); exit 1; }; }
++
++ # Don't try to exec as it changes $[0], causing all sort of problems
++ # (the dirname of $[0] is not the place where we might find the
++ # original and so on. Autoconf is especially sensitive to this).
++ . "./$as_me.lineno"
++ # Exit status is that of the last command.
++ exit
++}
++
++
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++ as_dirname=dirname
++else
++ as_dirname=false
++fi
++
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in
++-n*)
++ case `echo 'x\c'` in
++ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
++ *) ECHO_C='\c';;
++ esac;;
++*)
++ ECHO_N='-n';;
++esac
++
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++rm -f conf$$ conf$$.exe conf$$.file
++if test -d conf$$.dir; then
++ rm -f conf$$.dir/conf$$.file
++else
++ rm -f conf$$.dir
++ mkdir conf$$.dir
++fi
++echo >conf$$.file
++if ln -s conf$$.file conf$$ 2>/dev/null; then
++ as_ln_s='ln -s'
++ # ... but there are two gotchas:
++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
++ # In both cases, we have to default to `cp -p'.
++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
++ as_ln_s='cp -p'
++elif ln conf$$.file conf$$ 2>/dev/null; then
++ as_ln_s=ln
++else
++ as_ln_s='cp -p'
++fi
++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
++rmdir conf$$.dir 2>/dev/null
++
++if mkdir -p . 2>/dev/null; then
++ as_mkdir_p=:
++else
++ test -d ./-p && rmdir ./-p
++ as_mkdir_p=false
++fi
++
++if test -x / >/dev/null 2>&1; then
++ as_test_x='test -x'
++else
++ if ls -dL / >/dev/null 2>&1; then
++ as_ls_L_option=L
++ else
++ as_ls_L_option=
++ fi
++ as_test_x='
++ eval sh -c '\''
++ if test -d "$1"; then
++ test -d "$1/.";
++ else
++ case $1 in
++ -*)set "./$1";;
++ esac;
++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
++ ???[sx]*):;;*)false;;esac;fi
++ '\'' sh
++ '
++fi
++as_executable_p=$as_test_x
++
++# Sed expression to map a string onto a valid CPP name.
++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
++
++# Sed expression to map a string onto a valid variable name.
++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
++
++
++
++
++# Check that we are running under the correct shell.
++SHELL=${CONFIG_SHELL-/bin/sh}
++
++case X$lt_ECHO in
++X*--fallback-echo)
++ # Remove one level of quotation (which was required for Make).
++ ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
++ ;;
++esac
++
++ECHO=${lt_ECHO-echo}
++if test "X$1" = X--no-reexec; then
++ # Discard the --no-reexec flag, and continue.
++ shift
++elif test "X$1" = X--fallback-echo; then
++ # Avoid inline document here, it may be left over
++ :
++elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
++ # Yippee, $ECHO works!
++ :
++else
++ # Restart under the correct shell.
++ exec $SHELL "$0" --no-reexec ${1+"$@"}
++fi
++
++if test "X$1" = X--fallback-echo; then
++ # used as fallback echo
++ shift
++ cat <<_LT_EOF
++$*
++_LT_EOF
++ exit 0
++fi
++
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
++
++if test -z "$lt_ECHO"; then
++ if test "X${echo_test_string+set}" != Xset; then
++ # find a string as large as possible, as long as the shell can cope with it
++ for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
++ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
++ if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
++ { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
++ then
++ break
++ fi
++ done
++ fi
++
++ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ :
++ else
++ # The Solaris, AIX, and Digital Unix default echo programs unquote
++ # backslashes. This makes it impossible to quote backslashes using
++ # echo "$something" | sed 's/\\/\\\\/g'
++ #
++ # So, first we look for a working echo in the user's PATH.
++
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ for dir in $PATH /usr/ucb; do
++ IFS="$lt_save_ifs"
++ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
++ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ ECHO="$dir/echo"
++ break
++ fi
++ done
++ IFS="$lt_save_ifs"
++
++ if test "X$ECHO" = Xecho; then
++ # We didn't find a better echo, so look for alternatives.
++ if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ # This shell has a builtin print -r that does the trick.
++ ECHO='print -r'
++ elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
++ test "X$CONFIG_SHELL" != X/bin/ksh; then
++ # If we have ksh, try running configure again with it.
++ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
++ export ORIGINAL_CONFIG_SHELL
++ CONFIG_SHELL=/bin/ksh
++ export CONFIG_SHELL
++ exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
++ else
++ # Try using printf.
++ ECHO='printf %s\n'
++ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ # Cool, printf works
++ :
++ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
++ test "X$echo_testing_string" = 'X\t' &&
++ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
++ export CONFIG_SHELL
++ SHELL="$CONFIG_SHELL"
++ export SHELL
++ ECHO="$CONFIG_SHELL $0 --fallback-echo"
++ elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
++ test "X$echo_testing_string" = 'X\t' &&
++ echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ ECHO="$CONFIG_SHELL $0 --fallback-echo"
++ else
++ # maybe with a smaller string...
++ prev=:
++
++ for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
++ if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
++ then
++ break
++ fi
++ prev="$cmd"
++ done
++
++ if test "$prev" != 'sed 50q "$0"'; then
++ echo_test_string=`eval $prev`
++ export echo_test_string
++ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
++ else
++ # Oops. We lost completely, so just stick with echo.
++ ECHO=echo
++ fi
++ fi
++ fi
++ fi
++ fi
++fi
++
++# Copy echo and quote the copy suitably for passing to libtool from
++# the Makefile, instead of quoting the original, which is used later.
++lt_ECHO=$ECHO
++if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
++ lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
++fi
++
++
++
++
++exec 7<&0 </dev/null 6>&1
++
++# Name of the host.
++# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
++# so uname gets run too.
++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
++
++#
++# Initializations.
++#
++ac_default_prefix=/usr/local
++ac_clean_files=
++ac_config_libobj_dir=.
++LIB@&t@OBJS=
++cross_compiling=no
++subdirs=
++MFLAGS=
++MAKEFLAGS=
++SHELL=${CONFIG_SHELL-/bin/sh}
++
++# Identity of this package.
++PACKAGE_NAME='LibVNCServer'
++PACKAGE_TARNAME='libvncserver'
++PACKAGE_VERSION='0.9.1'
++PACKAGE_STRING='LibVNCServer 0.9.1'
++PACKAGE_BUGREPORT='http://sourceforge.net/projects/libvncserver'
++
++# Factoring default headers for most tests.
++ac_includes_default="\
++#include <stdio.h>
++#ifdef HAVE_SYS_TYPES_H
++# include <sys/types.h>
++#endif
++#ifdef HAVE_SYS_STAT_H
++# include <sys/stat.h>
++#endif
++#ifdef STDC_HEADERS
++# include <stdlib.h>
++# include <stddef.h>
++#else
++# ifdef HAVE_STDLIB_H
++# include <stdlib.h>
++# endif
++#endif
++#ifdef HAVE_STRING_H
++# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
++# include <memory.h>
++# endif
++# include <string.h>
++#endif
++#ifdef HAVE_STRINGS_H
++# include <strings.h>
++#endif
++#ifdef HAVE_INTTYPES_H
++# include <inttypes.h>
++#endif
++#ifdef HAVE_STDINT_H
++# include <stdint.h>
++#endif
++#ifdef HAVE_UNISTD_H
++# include <unistd.h>
++#endif"
++
++ac_subst_vars='SHELL
++PATH_SEPARATOR
++PACKAGE_NAME
++PACKAGE_TARNAME
++PACKAGE_VERSION
++PACKAGE_STRING
++PACKAGE_BUGREPORT
++exec_prefix
++prefix
++program_transform_name
++bindir
++sbindir
++libexecdir
++datarootdir
++datadir
++sysconfdir
++sharedstatedir
++localstatedir
++includedir
++oldincludedir
++docdir
++infodir
++htmldir
++dvidir
++pdfdir
++psdir
++libdir
++localedir
++mandir
++DEFS
++ECHO_C
++ECHO_N
++ECHO_T
++LIBS
++build_alias
++host_alias
++target_alias
++INSTALL_PROGRAM
++INSTALL_SCRIPT
++INSTALL_DATA
++am__isrc
++CYGPATH_W
++PACKAGE
++VERSION
++ACLOCAL
++AUTOCONF
++AUTOMAKE
++AUTOHEADER
++MAKEINFO
++install_sh
++STRIP
++INSTALL_STRIP_PROGRAM
++mkdir_p
++AWK
++SET_MAKE
++am__leading_dot
++AMTAR
++am__tar
++am__untar
++CC
++CFLAGS
++LDFLAGS
++CPPFLAGS
++ac_ct_CC
++EXEEXT
++OBJEXT
++DEPDIR
++am__include
++am__quote
++AMDEP_TRUE
++AMDEP_FALSE
++AMDEPBACKSLASH
++CCDEPMODE
++am__fastdepCC_TRUE
++am__fastdepCC_FALSE
++LIBTOOL
++build
++build_cpu
++build_vendor
++build_os
++host
++host_cpu
++host_vendor
++host_os
++SED
++GREP
++EGREP
++FGREP
++LD
++DUMPBIN
++ac_ct_DUMPBIN
++NM
++LN_S
++AR
++RANLIB
++lt_ECHO
++DSYMUTIL
++NMEDIT
++LIPO
++OTOOL
++OTOOL64
++CPP
++with_ffmpeg
++WITH_FFMPEG_TRUE
++WITH_FFMPEG_FALSE
++HAVE_MP3LAME_TRUE
++HAVE_MP3LAME_FALSE
++X_CFLAGS
++X_PRE_LIBS
++X_LIBS
++X_EXTRA_LIBS
++HAVE_X_TRUE
++HAVE_X_FALSE
++CRYPT_LIBS
++SSL_LIBS
++AVAHI_CFLAGS
++AVAHI_LIBS
++SYSTEM_LIBVNCSERVER_CFLAGS
++SYSTEM_LIBVNCSERVER_LIBS
++HAVE_SYSTEM_LIBVNCSERVER_TRUE
++HAVE_SYSTEM_LIBVNCSERVER_FALSE
++HAVE_LIBPTHREAD_TRUE
++HAVE_LIBPTHREAD_FALSE
++WITH_TIGHTVNC_FILETRANSFER_TRUE
++WITH_TIGHTVNC_FILETRANSFER_FALSE
++HAVE_LIBZ_TRUE
++HAVE_LIBZ_FALSE
++HAVE_LIBJPEG_TRUE
++HAVE_LIBJPEG_FALSE
++HAVE_LIBSDL_TRUE
++HAVE_LIBSDL_FALSE
++SDL_CFLAGS
++SDL_LIBS
++MINGW_TRUE
++MINGW_FALSE
++WSOCKLIB
++LIB@&t@OBJS
++CYGIPC_TRUE
++CYGIPC_FALSE
++LINUX_TRUE
++LINUX_FALSE
++OSX_TRUE
++OSX_FALSE
++HAVE_RPM_TRUE
++HAVE_RPM_FALSE
++RPMSOURCEDIR
++LTLIBOBJS'
++ac_subst_files=''
++ ac_precious_vars='build_alias
++host_alias
++target_alias
++CC
++CFLAGS
++LDFLAGS
++LIBS
++CPPFLAGS
++CPP'
++
++
++# Initialize some variables set by options.
++ac_init_help=
++ac_init_version=false
++# The variables have the same names as the options, with
++# dashes changed to underlines.
++cache_file=/dev/null
++exec_prefix=NONE
++no_create=
++no_recursion=
++prefix=NONE
++program_prefix=NONE
++program_suffix=NONE
++program_transform_name=s,x,x,
++silent=
++site=
++srcdir=
++verbose=
++x_includes=NONE
++x_libraries=NONE
++
++# Installation directory options.
++# These are left unexpanded so users can "make install exec_prefix=/foo"
++# and all the variables that are supposed to be based on exec_prefix
++# by default will actually change.
++# Use braces instead of parens because sh, perl, etc. also accept them.
++# (The list follows the same order as the GNU Coding Standards.)
++bindir='${exec_prefix}/bin'
++sbindir='${exec_prefix}/sbin'
++libexecdir='${exec_prefix}/libexec'
++datarootdir='${prefix}/share'
++datadir='${datarootdir}'
++sysconfdir='${prefix}/etc'
++sharedstatedir='${prefix}/com'
++localstatedir='${prefix}/var'
++includedir='${prefix}/include'
++oldincludedir='/usr/include'
++docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
++infodir='${datarootdir}/info'
++htmldir='${docdir}'
++dvidir='${docdir}'
++pdfdir='${docdir}'
++psdir='${docdir}'
++libdir='${exec_prefix}/lib'
++localedir='${datarootdir}/locale'
++mandir='${datarootdir}/man'
++
++ac_prev=
++ac_dashdash=
++for ac_option
++do
++ # If the previous option needs an argument, assign it.
++ if test -n "$ac_prev"; then
++ eval $ac_prev=\$ac_option
++ ac_prev=
++ continue
++ fi
++
++ case $ac_option in
++ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
++ *) ac_optarg=yes ;;
++ esac
++
++ # Accept the important Cygnus configure options, so we can diagnose typos.
++
++ case $ac_dashdash$ac_option in
++ --)
++ ac_dashdash=yes ;;
++
++ -bindir | --bindir | --bindi | --bind | --bin | --bi)
++ ac_prev=bindir ;;
++ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
++ bindir=$ac_optarg ;;
++
++ -build | --build | --buil | --bui | --bu)
++ ac_prev=build_alias ;;
++ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
++ build_alias=$ac_optarg ;;
++
++ -cache-file | --cache-file | --cache-fil | --cache-fi \
++ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
++ ac_prev=cache_file ;;
++ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
++ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
++ cache_file=$ac_optarg ;;
++
++ --config-cache | -C)
++ cache_file=config.cache ;;
++
++ -datadir | --datadir | --datadi | --datad)
++ ac_prev=datadir ;;
++ -datadir=* | --datadir=* | --datadi=* | --datad=*)
++ datadir=$ac_optarg ;;
++
++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
++ | --dataroo | --dataro | --datar)
++ ac_prev=datarootdir ;;
++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
++ datarootdir=$ac_optarg ;;
++
++ -disable-* | --disable-*)
++ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
++ { (exit 1); exit 1; }; }
++ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
++ eval enable_$ac_feature=no ;;
++
++ -docdir | --docdir | --docdi | --doc | --do)
++ ac_prev=docdir ;;
++ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
++ docdir=$ac_optarg ;;
++
++ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
++ ac_prev=dvidir ;;
++ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
++ dvidir=$ac_optarg ;;
++
++ -enable-* | --enable-*)
++ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
++ { (exit 1); exit 1; }; }
++ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
++ eval enable_$ac_feature=\$ac_optarg ;;
++
++ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
++ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
++ | --exec | --exe | --ex)
++ ac_prev=exec_prefix ;;
++ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
++ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
++ | --exec=* | --exe=* | --ex=*)
++ exec_prefix=$ac_optarg ;;
++
++ -gas | --gas | --ga | --g)
++ # Obsolete; use --with-gas.
++ with_gas=yes ;;
++
++ -help | --help | --hel | --he | -h)
++ ac_init_help=long ;;
++ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
++ ac_init_help=recursive ;;
++ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
++ ac_init_help=short ;;
++
++ -host | --host | --hos | --ho)
++ ac_prev=host_alias ;;
++ -host=* | --host=* | --hos=* | --ho=*)
++ host_alias=$ac_optarg ;;
++
++ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
++ ac_prev=htmldir ;;
++ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
++ | --ht=*)
++ htmldir=$ac_optarg ;;
++
++ -includedir | --includedir | --includedi | --included | --include \
++ | --includ | --inclu | --incl | --inc)
++ ac_prev=includedir ;;
++ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
++ | --includ=* | --inclu=* | --incl=* | --inc=*)
++ includedir=$ac_optarg ;;
++
++ -infodir | --infodir | --infodi | --infod | --info | --inf)
++ ac_prev=infodir ;;
++ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
++ infodir=$ac_optarg ;;
++
++ -libdir | --libdir | --libdi | --libd)
++ ac_prev=libdir ;;
++ -libdir=* | --libdir=* | --libdi=* | --libd=*)
++ libdir=$ac_optarg ;;
++
++ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
++ | --libexe | --libex | --libe)
++ ac_prev=libexecdir ;;
++ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
++ | --libexe=* | --libex=* | --libe=*)
++ libexecdir=$ac_optarg ;;
++
++ -localedir | --localedir | --localedi | --localed | --locale)
++ ac_prev=localedir ;;
++ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
++ localedir=$ac_optarg ;;
++
++ -localstatedir | --localstatedir | --localstatedi | --localstated \
++ | --localstate | --localstat | --localsta | --localst | --locals)
++ ac_prev=localstatedir ;;
++ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
++ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
++ localstatedir=$ac_optarg ;;
++
++ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
++ ac_prev=mandir ;;
++ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
++ mandir=$ac_optarg ;;
++
++ -nfp | --nfp | --nf)
++ # Obsolete; use --without-fp.
++ with_fp=no ;;
++
++ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
++ | --no-cr | --no-c | -n)
++ no_create=yes ;;
++
++ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
++ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
++ no_recursion=yes ;;
++
++ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
++ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
++ | --oldin | --oldi | --old | --ol | --o)
++ ac_prev=oldincludedir ;;
++ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
++ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
++ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
++ oldincludedir=$ac_optarg ;;
++
++ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
++ ac_prev=prefix ;;
++ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
++ prefix=$ac_optarg ;;
++
++ -program-prefix | --program-prefix | --program-prefi | --program-pref \
++ | --program-pre | --program-pr | --program-p)
++ ac_prev=program_prefix ;;
++ -program-prefix=* | --program-prefix=* | --program-prefi=* \
++ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
++ program_prefix=$ac_optarg ;;
++
++ -program-suffix | --program-suffix | --program-suffi | --program-suff \
++ | --program-suf | --program-su | --program-s)
++ ac_prev=program_suffix ;;
++ -program-suffix=* | --program-suffix=* | --program-suffi=* \
++ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
++ program_suffix=$ac_optarg ;;
++
++ -program-transform-name | --program-transform-name \
++ | --program-transform-nam | --program-transform-na \
++ | --program-transform-n | --program-transform- \
++ | --program-transform | --program-transfor \
++ | --program-transfo | --program-transf \
++ | --program-trans | --program-tran \
++ | --progr-tra | --program-tr | --program-t)
++ ac_prev=program_transform_name ;;
++ -program-transform-name=* | --program-transform-name=* \
++ | --program-transform-nam=* | --program-transform-na=* \
++ | --program-transform-n=* | --program-transform-=* \
++ | --program-transform=* | --program-transfor=* \
++ | --program-transfo=* | --program-transf=* \
++ | --program-trans=* | --program-tran=* \
++ | --progr-tra=* | --program-tr=* | --program-t=*)
++ program_transform_name=$ac_optarg ;;
++
++ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
++ ac_prev=pdfdir ;;
++ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
++ pdfdir=$ac_optarg ;;
++
++ -psdir | --psdir | --psdi | --psd | --ps)
++ ac_prev=psdir ;;
++ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
++ psdir=$ac_optarg ;;
++
++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++ | -silent | --silent | --silen | --sile | --sil)
++ silent=yes ;;
++
++ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
++ ac_prev=sbindir ;;
++ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
++ | --sbi=* | --sb=*)
++ sbindir=$ac_optarg ;;
++
++ -sharedstatedir | --sharedstatedir | --sharedstatedi \
++ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
++ | --sharedst | --shareds | --shared | --share | --shar \
++ | --sha | --sh)
++ ac_prev=sharedstatedir ;;
++ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
++ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
++ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
++ | --sha=* | --sh=*)
++ sharedstatedir=$ac_optarg ;;
++
++ -site | --site | --sit)
++ ac_prev=site ;;
++ -site=* | --site=* | --sit=*)
++ site=$ac_optarg ;;
++
++ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
++ ac_prev=srcdir ;;
++ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
++ srcdir=$ac_optarg ;;
++
++ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
++ | --syscon | --sysco | --sysc | --sys | --sy)
++ ac_prev=sysconfdir ;;
++ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
++ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
++ sysconfdir=$ac_optarg ;;
++
++ -target | --target | --targe | --targ | --tar | --ta | --t)
++ ac_prev=target_alias ;;
++ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
++ target_alias=$ac_optarg ;;
++
++ -v | -verbose | --verbose | --verbos | --verbo | --verb)
++ verbose=yes ;;
++
++ -version | --version | --versio | --versi | --vers | -V)
++ ac_init_version=: ;;
++
++ -with-* | --with-*)
++ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid package name: $ac_package" >&2
++ { (exit 1); exit 1; }; }
++ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
++ eval with_$ac_package=\$ac_optarg ;;
++
++ -without-* | --without-*)
++ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid package name: $ac_package" >&2
++ { (exit 1); exit 1; }; }
++ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
++ eval with_$ac_package=no ;;
++
++ --x)
++ # Obsolete; use --with-x.
++ with_x=yes ;;
++
++ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
++ | --x-incl | --x-inc | --x-in | --x-i)
++ ac_prev=x_includes ;;
++ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
++ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
++ x_includes=$ac_optarg ;;
++
++ -x-libraries | --x-libraries | --x-librarie | --x-librari \
++ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
++ ac_prev=x_libraries ;;
++ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
++ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
++ x_libraries=$ac_optarg ;;
++
++ -*) { echo "$as_me: error: unrecognized option: $ac_option
++Try \`$0 --help' for more information." >&2
++ { (exit 1); exit 1; }; }
++ ;;
++
++ *=*)
++ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
++ { (exit 1); exit 1; }; }
++ eval $ac_envvar=\$ac_optarg
++ export $ac_envvar ;;
++
++ *)
++ # FIXME: should be removed in autoconf 3.0.
++ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
++ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
++ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
++ ;;
++
++ esac
++done
++
++if test -n "$ac_prev"; then
++ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
++ { echo "$as_me: error: missing argument to $ac_option" >&2
++ { (exit 1); exit 1; }; }
++fi
++
++# Be sure to have absolute directory names.
++for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
++ datadir sysconfdir sharedstatedir localstatedir includedir \
++ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
++ libdir localedir mandir
++do
++ eval ac_val=\$$ac_var
++ case $ac_val in
++ [\\/$]* | ?:[\\/]* ) continue;;
++ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
++ esac
++ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
++ { (exit 1); exit 1; }; }
++done
++
++# There might be people who depend on the old broken behavior: `$host'
++# used to hold the argument of --host etc.
++# FIXME: To remove some day.
++build=$build_alias
++host=$host_alias
++target=$target_alias
++
++# FIXME: To remove some day.
++if test "x$host_alias" != x; then
++ if test "x$build_alias" = x; then
++ cross_compiling=maybe
++ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
++ If a cross compiler is detected then cross compile mode will be used." >&2
++ elif test "x$build_alias" != "x$host_alias"; then
++ cross_compiling=yes
++ fi
++fi
++
++ac_tool_prefix=
++test -n "$host_alias" && ac_tool_prefix=$host_alias-
++
++test "$silent" = yes && exec 6>/dev/null
++
++
++ac_pwd=`pwd` && test -n "$ac_pwd" &&
++ac_ls_di=`ls -di .` &&
++ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
++ { echo "$as_me: error: Working directory cannot be determined" >&2
++ { (exit 1); exit 1; }; }
++test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
++ { echo "$as_me: error: pwd does not report name of working directory" >&2
++ { (exit 1); exit 1; }; }
++
++
++# Find the source files, if location was not specified.
++if test -z "$srcdir"; then
++ ac_srcdir_defaulted=yes
++ # Try the directory containing this script, then the parent directory.
++ ac_confdir=`$as_dirname -- "$0" ||
++$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$0" : 'X\(//\)[^/]' \| \
++ X"$0" : 'X\(//\)$' \| \
++ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$0" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ srcdir=$ac_confdir
++ if test ! -r "$srcdir/$ac_unique_file"; then
++ srcdir=..
++ fi
++else
++ ac_srcdir_defaulted=no
++fi
++if test ! -r "$srcdir/$ac_unique_file"; then
++ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
++ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
++ { (exit 1); exit 1; }; }
++fi
++ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
++ac_abs_confdir=`(
++ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
++ { (exit 1); exit 1; }; }
++ pwd)`
++# When building in place, set srcdir=.
++if test "$ac_abs_confdir" = "$ac_pwd"; then
++ srcdir=.
++fi
++# Remove unnecessary trailing slashes from srcdir.
++# Double slashes in file names in object file debugging info
++# mess up M-x gdb in Emacs.
++case $srcdir in
++*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
++esac
++for ac_var in $ac_precious_vars; do
++ eval ac_env_${ac_var}_set=\${${ac_var}+set}
++ eval ac_env_${ac_var}_value=\$${ac_var}
++ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
++ eval ac_cv_env_${ac_var}_value=\$${ac_var}
++done
++
++#
++# Report the --help message.
++#
++if test "$ac_init_help" = "long"; then
++ # Omit some internal or obsolete options to make the list less imposing.
++ # This message is too long to be a string in the A/UX 3.1 sh.
++ cat <<_ACEOF
++\`configure' configures LibVNCServer 0.9.1 to adapt to many kinds of systems.
++
++Usage: $0 [OPTION]... [VAR=VALUE]...
++
++To assign environment variables (e.g., CC, CFLAGS...), specify them as
++VAR=VALUE. See below for descriptions of some of the useful variables.
++
++Defaults for the options are specified in brackets.
++
++Configuration:
++ -h, --help display this help and exit
++ --help=short display options specific to this package
++ --help=recursive display the short help of all the included packages
++ -V, --version display version information and exit
++ -q, --quiet, --silent do not print \`checking...' messages
++ --cache-file=FILE cache test results in FILE [disabled]
++ -C, --config-cache alias for \`--cache-file=config.cache'
++ -n, --no-create do not create output files
++ --srcdir=DIR find the sources in DIR [configure dir or \`..']
++
++Installation directories:
++ --prefix=PREFIX install architecture-independent files in PREFIX
++ [$ac_default_prefix]
++ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
++ [PREFIX]
++
++By default, \`make install' will install all the files in
++\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
++an installation prefix other than \`$ac_default_prefix' using \`--prefix',
++for instance \`--prefix=\$HOME'.
++
++For better control, use the options below.
++
++Fine tuning of the installation directories:
++ --bindir=DIR user executables [EPREFIX/bin]
++ --sbindir=DIR system admin executables [EPREFIX/sbin]
++ --libexecdir=DIR program executables [EPREFIX/libexec]
++ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
++ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
++ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
++ --libdir=DIR object code libraries [EPREFIX/lib]
++ --includedir=DIR C header files [PREFIX/include]
++ --oldincludedir=DIR C header files for non-gcc [/usr/include]
++ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
++ --infodir=DIR info documentation [DATAROOTDIR/info]
++ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
++ --mandir=DIR man documentation [DATAROOTDIR/man]
++ --docdir=DIR documentation root @<:@DATAROOTDIR/doc/libvncserver@:>@
++ --htmldir=DIR html documentation [DOCDIR]
++ --dvidir=DIR dvi documentation [DOCDIR]
++ --pdfdir=DIR pdf documentation [DOCDIR]
++ --psdir=DIR ps documentation [DOCDIR]
++_ACEOF
++
++ cat <<\_ACEOF
++
++Program names:
++ --program-prefix=PREFIX prepend PREFIX to installed program names
++ --program-suffix=SUFFIX append SUFFIX to installed program names
++ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
++
++X features:
++ --x-includes=DIR X include files are in DIR
++ --x-libraries=DIR X library files are in DIR
++
++System types:
++ --build=BUILD configure for building on BUILD [guessed]
++ --host=HOST cross-compile to build programs to run on HOST [BUILD]
++_ACEOF
++fi
++
++if test -n "$ac_init_help"; then
++ case $ac_init_help in
++ short | recursive ) echo "Configuration of LibVNCServer 0.9.1:";;
++ esac
++ cat <<\_ACEOF
++
++Optional Features:
++ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
++ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
++ --disable-dependency-tracking speeds up one-time build
++ --enable-dependency-tracking do not reject slow dependency extractors
++ --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=yes@:>@
++ --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=yes@:>@
++ --enable-fast-install@<:@=PKGS@:>@
++ optimize for fast installation @<:@default=yes@:>@
++ --disable-libtool-lock avoid locking (might break parallel builds)
++
++Optional Packages:
++ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
++ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
++ --with-pic try to use only PIC/non-PIC objects @<:@default=use
++ both@:>@
++ --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@
++ --without-filetransfer disable TightVNC file transfer protocol
++ --without-24bpp disable 24 bpp framebuffers
++ --with-ffmpeg=dir set ffmpeg home directory
++ --with-x use the X Window System
++ --with-system-libvncserver use installed libvncserver for x11vnc
++ --with-system-libvncserver=DIR use libvncserver installed in DIR for x11vnc
++ --with-x11vnc configure for building the x11vnc subdir (if present)
++ you will need to cd to x11vnc and run 'make' etc.
++ --without-xkeyboard disable xkeyboard extension support
++ --without-xinerama disable xinerama extension support
++ --without-xrandr disable xrandr extension support
++ --without-xfixes disable xfixes extension support
++ --without-xdamage disable xdamage extension support
++ --without-xtrap disable xtrap extension support
++ --without-xrecord disable xrecord extension support
++ --without-fbpm disable fbpm extension support
++ --without-dpms disable dpms extension support
++ --without-v4l disable video4linux support
++ --without-fbdev disable linux fb device support
++ --without-uinput disable linux uinput device support
++ --without-macosx-native disable MacOS X native display support
++ --without-crypt disable support for libcrypt
++ --without-crypto disable support for openssl libcrypto
++ --without-ssl disable support for openssl libssl
++ --without-avahi disable support for Avahi/mDNS
++ --with-avahi=DIR use avahi include/library files in DIR
++ --without-jpeg disable support for jpeg
++ --with-jpeg=DIR use jpeg include/library files in DIR
++ --without-libz disable support for deflate
++ --without-zlib disable support for deflate
++ --with-zlib=DIR use zlib include/library files in DIR
++ --without-pthread disable support for libpthread
++
++Some influential environment variables:
++ CC C compiler command
++ CFLAGS C compiler flags
++ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
++ nonstandard directory <lib dir>
++ LIBS libraries to pass to the linker, e.g. -l<library>
++ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
++ you have headers in a nonstandard directory <include dir>
++ CPP C preprocessor
++
++Use these variables to override the choices made by `configure' or to help
++it to find libraries and programs with nonstandard names/locations.
++
++Report bugs to <http://sourceforge.net/projects/libvncserver>.
++_ACEOF
++ac_status=$?
++fi
++
++if test "$ac_init_help" = "recursive"; then
++ # If there are subdirs, report their specific --help.
++ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
++ test -d "$ac_dir" || continue
++ ac_builddir=.
++
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
++ # A ".." for each directory in $ac_dir_suffix.
++ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
++ case $ac_top_builddir_sub in
++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
++ esac ;;
++esac
++ac_abs_top_builddir=$ac_pwd
++ac_abs_builddir=$ac_pwd$ac_dir_suffix
++# for backward compatibility:
++ac_top_builddir=$ac_top_build_prefix
++
++case $srcdir in
++ .) # We are building in place.
++ ac_srcdir=.
++ ac_top_srcdir=$ac_top_builddir_sub
++ ac_abs_top_srcdir=$ac_pwd ;;
++ [\\/]* | ?:[\\/]* ) # Absolute name.
++ ac_srcdir=$srcdir$ac_dir_suffix;
++ ac_top_srcdir=$srcdir
++ ac_abs_top_srcdir=$srcdir ;;
++ *) # Relative name.
++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
++ ac_top_srcdir=$ac_top_build_prefix$srcdir
++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
++esac
++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
++
++ cd "$ac_dir" || { ac_status=$?; continue; }
++ # Check for guested configure.
++ if test -f "$ac_srcdir/configure.gnu"; then
++ echo &&
++ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
++ elif test -f "$ac_srcdir/configure"; then
++ echo &&
++ $SHELL "$ac_srcdir/configure" --help=recursive
++ else
++ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
++ fi || ac_status=$?
++ cd "$ac_pwd" || { ac_status=$?; break; }
++ done
++fi
++
++test -n "$ac_init_help" && exit $ac_status
++if $ac_init_version; then
++ cat <<\_ACEOF
++LibVNCServer configure 0.9.1
++generated by GNU Autoconf 2.61
++
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
++2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
++This configure script is free software; the Free Software Foundation
++gives unlimited permission to copy, distribute and modify it.
++_ACEOF
++ exit
++fi
++cat >config.log <<_ACEOF
++This file contains any messages produced by compilers while
++running configure, to aid debugging if configure makes a mistake.
++
++It was created by LibVNCServer $as_me 0.9.1, which was
++generated by GNU Autoconf 2.61. Invocation command line was
++
++ $ $0 $@
++
++_ACEOF
++exec 5>>config.log
++{
++cat <<_ASUNAME
++@%:@@%:@ --------- @%:@@%:@
++@%:@@%:@ Platform. @%:@@%:@
++@%:@@%:@ --------- @%:@@%:@
++
++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
++uname -m = `(uname -m) 2>/dev/null || echo unknown`
++uname -r = `(uname -r) 2>/dev/null || echo unknown`
++uname -s = `(uname -s) 2>/dev/null || echo unknown`
++uname -v = `(uname -v) 2>/dev/null || echo unknown`
++
++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
++/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
++
++/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
++/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
++/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
++/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
++/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
++/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
++
++_ASUNAME
++
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ echo "PATH: $as_dir"
++done
++IFS=$as_save_IFS
++
++} >&5
++
++cat >&5 <<_ACEOF
++
++
++@%:@@%:@ ----------- @%:@@%:@
++@%:@@%:@ Core tests. @%:@@%:@
++@%:@@%:@ ----------- @%:@@%:@
++
++_ACEOF
++
++
++# Keep a trace of the command line.
++# Strip out --no-create and --no-recursion so they do not pile up.
++# Strip out --silent because we don't want to record it for future runs.
++# Also quote any args containing shell meta-characters.
++# Make two passes to allow for proper duplicate-argument suppression.
++ac_configure_args=
++ac_configure_args0=
++ac_configure_args1=
++ac_must_keep_next=false
++for ac_pass in 1 2
++do
++ for ac_arg
++ do
++ case $ac_arg in
++ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++ | -silent | --silent | --silen | --sile | --sil)
++ continue ;;
++ *\'*)
++ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
++ esac
++ case $ac_pass in
++ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
++ 2)
++ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
++ if test $ac_must_keep_next = true; then
++ ac_must_keep_next=false # Got value, back to normal.
++ else
++ case $ac_arg in
++ *=* | --config-cache | -C | -disable-* | --disable-* \
++ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
++ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
++ | -with-* | --with-* | -without-* | --without-* | --x)
++ case "$ac_configure_args0 " in
++ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
++ esac
++ ;;
++ -* ) ac_must_keep_next=true ;;
++ esac
++ fi
++ ac_configure_args="$ac_configure_args '$ac_arg'"
++ ;;
++ esac
++ done
++done
++$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
++$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
++
++# When interrupted or exit'd, cleanup temporary files, and complete
++# config.log. We remove comments because anyway the quotes in there
++# would cause problems or look ugly.
++# WARNING: Use '\'' to represent an apostrophe within the trap.
++# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
++trap 'exit_status=$?
++ # Save into config.log some information that might help in debugging.
++ {
++ echo
++
++ cat <<\_ASBOX
++@%:@@%:@ ---------------- @%:@@%:@
++@%:@@%:@ Cache variables. @%:@@%:@
++@%:@@%:@ ---------------- @%:@@%:@
++_ASBOX
++ echo
++ # The following way of writing the cache mishandles newlines in values,
++(
++ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
++ eval ac_val=\$$ac_var
++ case $ac_val in #(
++ *${as_nl}*)
++ case $ac_var in #(
++ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
++echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
++ esac
++ case $ac_var in #(
++ _ | IFS | as_nl) ;; #(
++ *) $as_unset $ac_var ;;
++ esac ;;
++ esac
++ done
++ (set) 2>&1 |
++ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
++ *${as_nl}ac_space=\ *)
++ sed -n \
++ "s/'\''/'\''\\\\'\'''\''/g;
++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
++ ;; #(
++ *)
++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
++ ;;
++ esac |
++ sort
++)
++ echo
++
++ cat <<\_ASBOX
++@%:@@%:@ ----------------- @%:@@%:@
++@%:@@%:@ Output variables. @%:@@%:@
++@%:@@%:@ ----------------- @%:@@%:@
++_ASBOX
++ echo
++ for ac_var in $ac_subst_vars
++ do
++ eval ac_val=\$$ac_var
++ case $ac_val in
++ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++ esac
++ echo "$ac_var='\''$ac_val'\''"
++ done | sort
++ echo
++
++ if test -n "$ac_subst_files"; then
++ cat <<\_ASBOX
++@%:@@%:@ ------------------- @%:@@%:@
++@%:@@%:@ File substitutions. @%:@@%:@
++@%:@@%:@ ------------------- @%:@@%:@
++_ASBOX
++ echo
++ for ac_var in $ac_subst_files
++ do
++ eval ac_val=\$$ac_var
++ case $ac_val in
++ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++ esac
++ echo "$ac_var='\''$ac_val'\''"
++ done | sort
++ echo
++ fi
++
++ if test -s confdefs.h; then
++ cat <<\_ASBOX
++@%:@@%:@ ----------- @%:@@%:@
++@%:@@%:@ confdefs.h. @%:@@%:@
++@%:@@%:@ ----------- @%:@@%:@
++_ASBOX
++ echo
++ cat confdefs.h
++ echo
++ fi
++ test "$ac_signal" != 0 &&
++ echo "$as_me: caught signal $ac_signal"
++ echo "$as_me: exit $exit_status"
++ } >&5
++ rm -f core *.core core.conftest.* &&
++ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
++ exit $exit_status
++' 0
++for ac_signal in 1 2 13 15; do
++ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
++done
++ac_signal=0
++
++# confdefs.h avoids OS command line length limits that DEFS can exceed.
++rm -f -r conftest* confdefs.h
++
++# Predefined preprocessor variables.
++
++cat >>confdefs.h <<_ACEOF
++@%:@define PACKAGE_NAME "$PACKAGE_NAME"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++@%:@define PACKAGE_STRING "$PACKAGE_STRING"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
++_ACEOF
++
++
++# Let the site file select an alternate cache file if it wants to.
++# Prefer explicitly selected file to automatically selected ones.
++if test -n "$CONFIG_SITE"; then
++ set x $CONFIG_SITE
++elif test "x$prefix" != xNONE; then
++ set x "$prefix/share/config.site" "$prefix/etc/config.site"
++else
++ set x "$ac_default_prefix/share/config.site" \
++ "$ac_default_prefix/etc/config.site"
++fi
++shift
++for ac_site_file
++do
++ if test -r "$ac_site_file"; then
++ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
++echo "$as_me: loading site script $ac_site_file" >&6;}
++ sed 's/^/| /' "$ac_site_file" >&5
++ . "$ac_site_file"
++ fi
++done
++
++if test -r "$cache_file"; then
++ # Some versions of bash will fail to source /dev/null (special
++ # files actually), so we avoid doing that.
++ if test -f "$cache_file"; then
++ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
++echo "$as_me: loading cache $cache_file" >&6;}
++ case $cache_file in
++ [\\/]* | ?:[\\/]* ) . "$cache_file";;
++ *) . "./$cache_file";;
++ esac
++ fi
++else
++ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
++echo "$as_me: creating cache $cache_file" >&6;}
++ >$cache_file
++fi
++
++# Check that the precious variables saved in the cache have kept the same
++# value.
++ac_cache_corrupted=false
++for ac_var in $ac_precious_vars; do
++ eval ac_old_set=\$ac_cv_env_${ac_var}_set
++ eval ac_new_set=\$ac_env_${ac_var}_set
++ eval ac_old_val=\$ac_cv_env_${ac_var}_value
++ eval ac_new_val=\$ac_env_${ac_var}_value
++ case $ac_old_set,$ac_new_set in
++ set,)
++ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
++echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
++ ac_cache_corrupted=: ;;
++ ,set)
++ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
++echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
++ ac_cache_corrupted=: ;;
++ ,);;
++ *)
++ if test "x$ac_old_val" != "x$ac_new_val"; then
++ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
++echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
++ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
++echo "$as_me: former value: $ac_old_val" >&2;}
++ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
++echo "$as_me: current value: $ac_new_val" >&2;}
++ ac_cache_corrupted=:
++ fi;;
++ esac
++ # Pass precious variables to config.status.
++ if test "$ac_new_set" = set; then
++ case $ac_new_val in
++ *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
++ *) ac_arg=$ac_var=$ac_new_val ;;
++ esac
++ case " $ac_configure_args " in
++ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
++ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
++ esac
++ fi
++done
++if $ac_cache_corrupted; then
++ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
++echo "$as_me: error: changes in the environment can compromise the build" >&2;}
++ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
++echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++am__api_version='1.10'
++
++ac_aux_dir=
++for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
++ if test -f "$ac_dir/install-sh"; then
++ ac_aux_dir=$ac_dir
++ ac_install_sh="$ac_aux_dir/install-sh -c"
++ break
++ elif test -f "$ac_dir/install.sh"; then
++ ac_aux_dir=$ac_dir
++ ac_install_sh="$ac_aux_dir/install.sh -c"
++ break
++ elif test -f "$ac_dir/shtool"; then
++ ac_aux_dir=$ac_dir
++ ac_install_sh="$ac_aux_dir/shtool install -c"
++ break
++ fi
++done
++if test -z "$ac_aux_dir"; then
++ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
++echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++# These three variables are undocumented and unsupported,
++# and are intended to be withdrawn in a future Autoconf release.
++# They can cause serious problems if a builder's source tree is in a directory
++# whose full name contains unusual characters.
++ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
++ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
++ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
++
++
++# Find a good install program. We prefer a C program (faster),
++# so one script is as good as another. But avoid the broken or
++# incompatible versions:
++# SysV /etc/install, /usr/sbin/install
++# SunOS /usr/etc/install
++# IRIX /sbin/install
++# AIX /bin/install
++# AmigaOS /C/install, which installs bootblocks on floppy discs
++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
++# AFS /usr/afsws/bin/install, which mishandles nonexistent args
++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
++# OS/2's system install, which has a completely different semantic
++# ./install, which can be erroneously created by make from ./install.sh.
++{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
++echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
++if test -z "$INSTALL"; then
++if test "${ac_cv_path_install+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ # Account for people who put trailing slashes in PATH elements.
++case $as_dir/ in
++ ./ | .// | /cC/* | \
++ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
++ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
++ /usr/ucb/* ) ;;
++ *)
++ # OSF1 and SCO ODT 3.0 have their own names for install.
++ # Don't use installbsd from OSF since it installs stuff as root
++ # by default.
++ for ac_prog in ginstall scoinst install; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
++ if test $ac_prog = install &&
++ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
++ # AIX install. It has an incompatible calling convention.
++ :
++ elif test $ac_prog = install &&
++ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
++ # program-specific install script used by HP pwplus--don't use.
++ :
++ else
++ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
++ break 3
++ fi
++ fi
++ done
++ done
++ ;;
++esac
++done
++IFS=$as_save_IFS
++
++
++fi
++ if test "${ac_cv_path_install+set}" = set; then
++ INSTALL=$ac_cv_path_install
++ else
++ # As a last resort, use the slow shell script. Don't cache a
++ # value for INSTALL within a source directory, because that will
++ # break other packages using the cache if that directory is
++ # removed, or if the value is a relative name.
++ INSTALL=$ac_install_sh
++ fi
++fi
++{ echo "$as_me:$LINENO: result: $INSTALL" >&5
++echo "${ECHO_T}$INSTALL" >&6; }
++
++# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
++# It thinks the first close brace ends the variable substitution.
++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
++
++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
++
++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
++
++{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
++echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
++# Just in case
++sleep 1
++echo timestamp > conftest.file
++# Do `set' in a subshell so we don't clobber the current shell's
++# arguments. Must try -L first in case configure is actually a
++# symlink; some systems play weird games with the mod time of symlinks
++# (eg FreeBSD returns the mod time of the symlink's containing
++# directory).
++if (
++ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
++ if test "$*" = "X"; then
++ # -L didn't work.
++ set X `ls -t $srcdir/configure conftest.file`
++ fi
++ rm -f conftest.file
++ if test "$*" != "X $srcdir/configure conftest.file" \
++ && test "$*" != "X conftest.file $srcdir/configure"; then
++
++ # If neither matched, then we have a broken ls. This can happen
++ # if, for instance, CONFIG_SHELL is bash and it inherits a
++ # broken ls alias from the environment. This has actually
++ # happened. Such a system could not be considered "sane".
++ { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
++alias in your environment" >&5
++echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
++alias in your environment" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++
++ test "$2" = conftest.file
++ )
++then
++ # Ok.
++ :
++else
++ { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
++Check your system clock" >&5
++echo "$as_me: error: newly created file is older than distributed files!
++Check your system clock" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++{ echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++test "$program_prefix" != NONE &&
++ program_transform_name="s&^&$program_prefix&;$program_transform_name"
++# Use a double $ so make ignores it.
++test "$program_suffix" != NONE &&
++ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
++# Double any \ or $. echo might interpret backslashes.
++# By default was `s,x,x', remove it if useless.
++cat <<\_ACEOF >conftest.sed
++s/[\\$]/&&/g;s/;s,x,x,$//
++_ACEOF
++program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
++rm -f conftest.sed
++
++# expand $ac_aux_dir to an absolute path
++am_aux_dir=`cd $ac_aux_dir && pwd`
++
++test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
++# Use eval to expand $SHELL
++if eval "$MISSING --run true"; then
++ am_missing_run="$MISSING --run "
++else
++ am_missing_run=
++ { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
++echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
++fi
++
++{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
++echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
++if test -z "$MKDIR_P"; then
++ if test "${ac_cv_path_mkdir+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_prog in mkdir gmkdir; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
++ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
++ 'mkdir (GNU coreutils) '* | \
++ 'mkdir (coreutils) '* | \
++ 'mkdir (fileutils) '4.1*)
++ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
++ break 3;;
++ esac
++ done
++ done
++done
++IFS=$as_save_IFS
++
++fi
++
++ if test "${ac_cv_path_mkdir+set}" = set; then
++ MKDIR_P="$ac_cv_path_mkdir -p"
++ else
++ # As a last resort, use the slow shell script. Don't cache a
++ # value for MKDIR_P within a source directory, because that will
++ # break other packages using the cache if that directory is
++ # removed, or if the value is a relative name.
++ test -d ./--version && rmdir ./--version
++ MKDIR_P="$ac_install_sh -d"
++ fi
++fi
++{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
++echo "${ECHO_T}$MKDIR_P" >&6; }
++
++mkdir_p="$MKDIR_P"
++case $mkdir_p in
++ [\\/$]* | ?:[\\/]*) ;;
++ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
++esac
++
++for ac_prog in gawk mawk nawk awk
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_AWK+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$AWK"; then
++ ac_cv_prog_AWK="$AWK" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_AWK="$ac_prog"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++AWK=$ac_cv_prog_AWK
++if test -n "$AWK"; then
++ { echo "$as_me:$LINENO: result: $AWK" >&5
++echo "${ECHO_T}$AWK" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++ test -n "$AWK" && break
++done
++
++{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
++echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
++set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
++if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.make <<\_ACEOF
++SHELL = /bin/sh
++all:
++ @echo '@@@%%%=$(MAKE)=@@@%%%'
++_ACEOF
++# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
++case `${MAKE-make} -f conftest.make 2>/dev/null` in
++ *@@@%%%=?*=@@@%%%*)
++ eval ac_cv_prog_make_${ac_make}_set=yes;;
++ *)
++ eval ac_cv_prog_make_${ac_make}_set=no;;
++esac
++rm -f conftest.make
++fi
++if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
++ { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++ SET_MAKE=
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++ SET_MAKE="MAKE=${MAKE-make}"
++fi
++
++rm -rf .tst 2>/dev/null
++mkdir .tst 2>/dev/null
++if test -d .tst; then
++ am__leading_dot=.
++else
++ am__leading_dot=_
++fi
++rmdir .tst 2>/dev/null
++
++if test "`cd $srcdir && pwd`" != "`pwd`"; then
++ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
++ # is not polluted with repeated "-I."
++ am__isrc=' -I$(srcdir)'
++ # test to see if srcdir already configured
++ if test -f $srcdir/config.status; then
++ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
++echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++fi
++
++# test whether we have cygpath
++if test -z "$CYGPATH_W"; then
++ if (cygpath --version) >/dev/null 2>/dev/null; then
++ CYGPATH_W='cygpath -w'
++ else
++ CYGPATH_W=echo
++ fi
++fi
++
++
++# Define the identity of the package.
++ PACKAGE=LibVNCServer
++ VERSION=0.9.1
++
++
++cat >>confdefs.h <<_ACEOF
++@%:@define PACKAGE "$PACKAGE"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++@%:@define VERSION "$VERSION"
++_ACEOF
++
++# Some tools Automake needs.
++
++ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
++
++
++AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
++
++
++AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
++
++
++AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
++
++
++MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
++
++install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
++
++# Installed binaries are usually stripped using `strip' when the user
++# run `make install-strip'. However `strip' might not be the right
++# tool to use in cross-compilation environments, therefore Automake
++# will honor the `STRIP' environment variable to overrule this program.
++if test "$cross_compiling" != no; then
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
++set dummy ${ac_tool_prefix}strip; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_STRIP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$STRIP"; then
++ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++STRIP=$ac_cv_prog_STRIP
++if test -n "$STRIP"; then
++ { echo "$as_me:$LINENO: result: $STRIP" >&5
++echo "${ECHO_T}$STRIP" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_STRIP"; then
++ ac_ct_STRIP=$STRIP
++ # Extract the first word of "strip", so it can be a program name with args.
++set dummy strip; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_STRIP"; then
++ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_STRIP="strip"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
++if test -n "$ac_ct_STRIP"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
++echo "${ECHO_T}$ac_ct_STRIP" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_STRIP" = x; then
++ STRIP=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ STRIP=$ac_ct_STRIP
++ fi
++else
++ STRIP="$ac_cv_prog_STRIP"
++fi
++
++fi
++INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
++
++# We need awk for the "check" target. The system "awk" is bad on
++# some platforms.
++# Always define AMTAR for backward compatibility.
++
++AMTAR=${AMTAR-"${am_missing_run}tar"}
++
++am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
++
++
++
++
++
++ac_config_headers="$ac_config_headers rfbconfig.h"
++
++ac_config_headers="$ac_config_headers "
++
++
++ac_config_commands="$ac_config_commands rfb/rfbconfig.h"
++
++
++# Checks for programs.
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}gcc; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$CC"; then
++ ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_CC="${ac_tool_prefix}gcc"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++ { echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_CC"; then
++ ac_ct_CC=$CC
++ # Extract the first word of "gcc", so it can be a program name with args.
++set dummy gcc; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_CC"; then
++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_CC="gcc"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
++echo "${ECHO_T}$ac_ct_CC" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_CC" = x; then
++ CC=""
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ CC=$ac_ct_CC
++ fi
++else
++ CC="$ac_cv_prog_CC"
++fi
++
++if test -z "$CC"; then
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}cc; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$CC"; then
++ ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_CC="${ac_tool_prefix}cc"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++ { echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++ fi
++fi
++if test -z "$CC"; then
++ # Extract the first word of "cc", so it can be a program name with args.
++set dummy cc; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$CC"; then
++ ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++ ac_prog_rejected=no
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
++ ac_prog_rejected=yes
++ continue
++ fi
++ ac_cv_prog_CC="cc"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++if test $ac_prog_rejected = yes; then
++ # We found a bogon in the path, so make sure we never use it.
++ set dummy $ac_cv_prog_CC
++ shift
++ if test $@%:@ != 0; then
++ # We chose a different compiler from the bogus one.
++ # However, it has the same basename, so the bogon will be chosen
++ # first if we set CC to just the basename; use the full file name.
++ shift
++ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
++ fi
++fi
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++ { echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$CC"; then
++ if test -n "$ac_tool_prefix"; then
++ for ac_prog in cl.exe
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$CC"; then
++ ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++ { echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++ test -n "$CC" && break
++ done
++fi
++if test -z "$CC"; then
++ ac_ct_CC=$CC
++ for ac_prog in cl.exe
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_CC"; then
++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_CC="$ac_prog"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
++echo "${ECHO_T}$ac_ct_CC" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++ test -n "$ac_ct_CC" && break
++done
++
++ if test "x$ac_ct_CC" = x; then
++ CC=""
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ CC=$ac_ct_CC
++ fi
++fi
++
++fi
++
++
++test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
++See \`config.log' for more details." >&5
++echo "$as_me: error: no acceptable C compiler found in \$PATH
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++
++# Provide some information about the compiler.
++echo "$as_me:$LINENO: checking for C compiler version" >&5
++ac_compiler=`set X $ac_compile; echo $2`
++{ (ac_try="$ac_compiler --version >&5"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compiler --version >&5") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++{ (ac_try="$ac_compiler -v >&5"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compiler -v >&5") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++{ (ac_try="$ac_compiler -V >&5"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compiler -V >&5") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files a.out a.exe b.out"
++# Try to create an executable without -o first, disregard a.out.
++# It will help us diagnose broken compilers, and finding out an intuition
++# of exeext.
++{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
++echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
++ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
++#
++# List of possible output files, starting from the most likely.
++# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
++# only as a last resort. b.out is created by i960 compilers.
++ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
++#
++# The IRIX 6 linker writes into existing files which may not be
++# executable, retaining their permissions. Remove them first so a
++# subsequent execution test works.
++ac_rmfiles=
++for ac_file in $ac_files
++do
++ case $ac_file in
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
++ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
++ esac
++done
++rm -f $ac_rmfiles
++
++if { (ac_try="$ac_link_default"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link_default") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
++# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
++# in a Makefile. We should not override ac_cv_exeext if it was cached,
++# so that the user can short-circuit this test for compilers unknown to
++# Autoconf.
++for ac_file in $ac_files ''
++do
++ test -f "$ac_file" || continue
++ case $ac_file in
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
++ ;;
++ [ab].out )
++ # We found the default executable, but exeext='' is most
++ # certainly right.
++ break;;
++ *.* )
++ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
++ then :; else
++ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
++ fi
++ # We set ac_cv_exeext here because the later test for it is not
++ # safe: cross compilers may not add the suffix if given an `-o'
++ # argument, so we may need to know it at that point already.
++ # Even if this section looks crufty: it has the advantage of
++ # actually working.
++ break;;
++ * )
++ break;;
++ esac
++done
++test "$ac_cv_exeext" = no && ac_cv_exeext=
++
++else
++ ac_file=''
++fi
++
++{ echo "$as_me:$LINENO: result: $ac_file" >&5
++echo "${ECHO_T}$ac_file" >&6; }
++if test -z "$ac_file"; then
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
++See \`config.log' for more details." >&5
++echo "$as_me: error: C compiler cannot create executables
++See \`config.log' for more details." >&2;}
++ { (exit 77); exit 77; }; }
++fi
++
++ac_exeext=$ac_cv_exeext
++
++# Check that the compiler produces executables we can run. If not, either
++# the compiler is broken, or we cross compile.
++{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
++echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
++# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
++# If not cross compiling, check that we can run a simple program.
++if test "$cross_compiling" != yes; then
++ if { ac_try='./$ac_file'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cross_compiling=no
++ else
++ if test "$cross_compiling" = maybe; then
++ cross_compiling=yes
++ else
++ { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
++If you meant to cross compile, use \`--host'.
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot run C compiled programs.
++If you meant to cross compile, use \`--host'.
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++ fi
++fi
++{ echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++
++rm -f a.out a.exe conftest$ac_cv_exeext b.out
++ac_clean_files=$ac_clean_files_save
++# Check that the compiler produces executables we can run. If not, either
++# the compiler is broken, or we cross compile.
++{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
++echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
++{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
++echo "${ECHO_T}$cross_compiling" >&6; }
++
++{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
++echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ # If both `conftest.exe' and `conftest' are `present' (well, observable)
++# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
++# work properly (i.e., refer to `conftest.exe'), while it won't with
++# `rm'.
++for ac_file in conftest.exe conftest conftest.*; do
++ test -f "$ac_file" || continue
++ case $ac_file in
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
++ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
++ break;;
++ * ) break;;
++ esac
++done
++else
++ { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++rm -f conftest$ac_cv_exeext
++{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
++echo "${ECHO_T}$ac_cv_exeext" >&6; }
++
++rm -f conftest.$ac_ext
++EXEEXT=$ac_cv_exeext
++ac_exeext=$EXEEXT
++{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
++echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
++if test "${ac_cv_objext+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.o conftest.obj
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ for ac_file in conftest.o conftest.obj conftest.*; do
++ test -f "$ac_file" || continue;
++ case $ac_file in
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
++ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
++ break;;
++ esac
++done
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot compute suffix of object files: cannot compile
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++rm -f conftest.$ac_cv_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
++echo "${ECHO_T}$ac_cv_objext" >&6; }
++OBJEXT=$ac_cv_objext
++ac_objext=$OBJEXT
++{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
++echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
++if test "${ac_cv_c_compiler_gnu+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++#ifndef __GNUC__
++ choke me
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_compiler_gnu=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_compiler_gnu=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ac_cv_c_compiler_gnu=$ac_compiler_gnu
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
++echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
++GCC=`test $ac_compiler_gnu = yes && echo yes`
++ac_test_CFLAGS=${CFLAGS+set}
++ac_save_CFLAGS=$CFLAGS
++{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
++echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
++if test "${ac_cv_prog_cc_g+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_save_c_werror_flag=$ac_c_werror_flag
++ ac_c_werror_flag=yes
++ ac_cv_prog_cc_g=no
++ CFLAGS="-g"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_prog_cc_g=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ CFLAGS=""
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_c_werror_flag=$ac_save_c_werror_flag
++ CFLAGS="-g"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_prog_cc_g=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ ac_c_werror_flag=$ac_save_c_werror_flag
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
++echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
++if test "$ac_test_CFLAGS" = set; then
++ CFLAGS=$ac_save_CFLAGS
++elif test $ac_cv_prog_cc_g = yes; then
++ if test "$GCC" = yes; then
++ CFLAGS="-g -O2"
++ else
++ CFLAGS="-g"
++ fi
++else
++ if test "$GCC" = yes; then
++ CFLAGS="-O2"
++ else
++ CFLAGS=
++ fi
++fi
++{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
++echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
++if test "${ac_cv_prog_cc_c89+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_prog_cc_c89=no
++ac_save_CC=$CC
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdarg.h>
++#include <stdio.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
++struct buf { int x; };
++FILE * (*rcsopen) (struct buf *, struct stat *, int);
++static char *e (p, i)
++ char **p;
++ int i;
++{
++ return p[i];
++}
++static char *f (char * (*g) (char **, int), char **p, ...)
++{
++ char *s;
++ va_list v;
++ va_start (v,p);
++ s = g (p, va_arg (v,int));
++ va_end (v);
++ return s;
++}
++
++/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
++ function prototypes and stuff, but not '\xHH' hex character constants.
++ These don't provoke an error unfortunately, instead are silently treated
++ as 'x'. The following induces an error, until -std is added to get
++ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
++ array size at least. It's necessary to write '\x00'==0 to get something
++ that's true only with -std. */
++int osf4_cc_array ['\x00' == 0 ? 1 : -1];
++
++/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
++ inside strings and character constants. */
++#define FOO(x) 'x'
++int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
++
++int test (int i, double x);
++struct s1 {int (*f) (int a);};
++struct s2 {int (*f) (double a);};
++int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
++int argc;
++char **argv;
++int
++main ()
++{
++return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
++ ;
++ return 0;
++}
++_ACEOF
++for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
++ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
++do
++ CC="$ac_save_CC $ac_arg"
++ rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_prog_cc_c89=$ac_arg
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext
++ test "x$ac_cv_prog_cc_c89" != "xno" && break
++done
++rm -f conftest.$ac_ext
++CC=$ac_save_CC
++
++fi
++# AC_CACHE_VAL
++case "x$ac_cv_prog_cc_c89" in
++ x)
++ { echo "$as_me:$LINENO: result: none needed" >&5
++echo "${ECHO_T}none needed" >&6; } ;;
++ xno)
++ { echo "$as_me:$LINENO: result: unsupported" >&5
++echo "${ECHO_T}unsupported" >&6; } ;;
++ *)
++ CC="$CC $ac_cv_prog_cc_c89"
++ { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
++echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
++esac
++
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++DEPDIR="${am__leading_dot}deps"
++
++ac_config_commands="$ac_config_commands depfiles"
++
++
++am_make=${MAKE-make}
++cat > confinc << 'END'
++am__doit:
++ @echo done
++.PHONY: am__doit
++END
++# If we don't find an include directive, just comment out the code.
++{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
++echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
++am__include="#"
++am__quote=
++_am_result=none
++# First try GNU make style include.
++echo "include confinc" > confmf
++# We grep out `Entering directory' and `Leaving directory'
++# messages which can occur if `w' ends up in MAKEFLAGS.
++# In particular we don't look at `^make:' because GNU make might
++# be invoked under some other name (usually "gmake"), in which
++# case it prints its new name instead of `make'.
++if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
++ am__include=include
++ am__quote=
++ _am_result=GNU
++fi
++# Now try BSD make style include.
++if test "$am__include" = "#"; then
++ echo '.include "confinc"' > confmf
++ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
++ am__include=.include
++ am__quote="\""
++ _am_result=BSD
++ fi
++fi
++
++
++{ echo "$as_me:$LINENO: result: $_am_result" >&5
++echo "${ECHO_T}$_am_result" >&6; }
++rm -f confinc confmf
++
++# Check whether --enable-dependency-tracking was given.
++if test "${enable_dependency_tracking+set}" = set; then
++ enableval=$enable_dependency_tracking;
++fi
++
++if test "x$enable_dependency_tracking" != xno; then
++ am_depcomp="$ac_aux_dir/depcomp"
++ AMDEPBACKSLASH='\'
++fi
++ if test "x$enable_dependency_tracking" != xno; then
++ AMDEP_TRUE=
++ AMDEP_FALSE='#'
++else
++ AMDEP_TRUE='#'
++ AMDEP_FALSE=
++fi
++
++
++
++depcc="$CC" am_compiler_list=
++
++{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
++echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
++if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
++ # We make a subdir and do the tests there. Otherwise we can end up
++ # making bogus files that we don't know about and never remove. For
++ # instance it was reported that on HP-UX the gcc test will end up
++ # making a dummy file named `D' -- because `-MD' means `put the output
++ # in D'.
++ mkdir conftest.dir
++ # Copy depcomp to subdir because otherwise we won't find it if we're
++ # using a relative directory.
++ cp "$am_depcomp" conftest.dir
++ cd conftest.dir
++ # We will build objects and dependencies in a subdirectory because
++ # it helps to detect inapplicable dependency modes. For instance
++ # both Tru64's cc and ICC support -MD to output dependencies as a
++ # side effect of compilation, but ICC will put the dependencies in
++ # the current directory while Tru64 will put them in the object
++ # directory.
++ mkdir sub
++
++ am_cv_CC_dependencies_compiler_type=none
++ if test "$am_compiler_list" = ""; then
++ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
++ fi
++ for depmode in $am_compiler_list; do
++ # Setup a source with many dependencies, because some compilers
++ # like to wrap large dependency lists on column 80 (with \), and
++ # we should not choose a depcomp mode which is confused by this.
++ #
++ # We need to recreate these files for each test, as the compiler may
++ # overwrite some of them when testing with obscure command lines.
++ # This happens at least with the AIX C compiler.
++ : > sub/conftest.c
++ for i in 1 2 3 4 5 6; do
++ echo '#include "conftst'$i'.h"' >> sub/conftest.c
++ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
++ # Solaris 8's {/usr,}/bin/sh.
++ touch sub/conftst$i.h
++ done
++ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
++
++ case $depmode in
++ nosideeffect)
++ # after this tag, mechanisms are not by side-effect, so they'll
++ # only be used when explicitly requested
++ if test "x$enable_dependency_tracking" = xyes; then
++ continue
++ else
++ break
++ fi
++ ;;
++ none) break ;;
++ esac
++ # We check with `-c' and `-o' for the sake of the "dashmstdout"
++ # mode. It turns out that the SunPro C++ compiler does not properly
++ # handle `-M -o', and we need to detect this.
++ if depmode=$depmode \
++ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
++ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
++ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
++ >/dev/null 2>conftest.err &&
++ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
++ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
++ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
++ # icc doesn't choke on unknown options, it will just issue warnings
++ # or remarks (even with -Werror). So we grep stderr for any message
++ # that says an option was ignored or not supported.
++ # When given -MP, icc 7.0 and 7.1 complain thusly:
++ # icc: Command line warning: ignoring option '-M'; no argument required
++ # The diagnosis changed in icc 8.0:
++ # icc: Command line remark: option '-MP' not supported
++ if (grep 'ignoring option' conftest.err ||
++ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
++ am_cv_CC_dependencies_compiler_type=$depmode
++ break
++ fi
++ fi
++ done
++
++ cd ..
++ rm -rf conftest.dir
++else
++ am_cv_CC_dependencies_compiler_type=none
++fi
++
++fi
++{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
++echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
++CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
++
++ if
++ test "x$enable_dependency_tracking" != xno \
++ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
++ am__fastdepCC_TRUE=
++ am__fastdepCC_FALSE='#'
++else
++ am__fastdepCC_TRUE='#'
++ am__fastdepCC_FALSE=
++fi
++
++
++if test -z "$CC"; then
++ CCLD="\$(CC)"
++else
++ CCLD="$CC"
++fi
++{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
++echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
++set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
++if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.make <<\_ACEOF
++SHELL = /bin/sh
++all:
++ @echo '@@@%%%=$(MAKE)=@@@%%%'
++_ACEOF
++# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
++case `${MAKE-make} -f conftest.make 2>/dev/null` in
++ *@@@%%%=?*=@@@%%%*)
++ eval ac_cv_prog_make_${ac_make}_set=yes;;
++ *)
++ eval ac_cv_prog_make_${ac_make}_set=no;;
++esac
++rm -f conftest.make
++fi
++if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
++ { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++ SET_MAKE=
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++ SET_MAKE="MAKE=${MAKE-make}"
++fi
++
++case `pwd` in
++ *\ * | *\ *)
++ { echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
++echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
++esac
++
++
++
++macro_version='2.2.4'
++macro_revision='1.2976'
++
++
++
++
++
++
++
++
++
++
++
++
++
++ltmain="$ac_aux_dir/ltmain.sh"
++
++# Make sure we can run config.sub.
++$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
++ { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
++echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
++ { (exit 1); exit 1; }; }
++
++{ echo "$as_me:$LINENO: checking build system type" >&5
++echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
++if test "${ac_cv_build+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_build_alias=$build_alias
++test "x$ac_build_alias" = x &&
++ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
++test "x$ac_build_alias" = x &&
++ { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
++echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
++ { (exit 1); exit 1; }; }
++ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
++ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
++echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
++ { (exit 1); exit 1; }; }
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
++echo "${ECHO_T}$ac_cv_build" >&6; }
++case $ac_cv_build in
++*-*-*) ;;
++*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
++echo "$as_me: error: invalid value of canonical build" >&2;}
++ { (exit 1); exit 1; }; };;
++esac
++build=$ac_cv_build
++ac_save_IFS=$IFS; IFS='-'
++set x $ac_cv_build
++shift
++build_cpu=$1
++build_vendor=$2
++shift; shift
++# Remember, the first character of IFS is used to create $*,
++# except with old shells:
++build_os=$*
++IFS=$ac_save_IFS
++case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
++
++
++{ echo "$as_me:$LINENO: checking host system type" >&5
++echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
++if test "${ac_cv_host+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test "x$host_alias" = x; then
++ ac_cv_host=$ac_cv_build
++else
++ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
++ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
++echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
++echo "${ECHO_T}$ac_cv_host" >&6; }
++case $ac_cv_host in
++*-*-*) ;;
++*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
++echo "$as_me: error: invalid value of canonical host" >&2;}
++ { (exit 1); exit 1; }; };;
++esac
++host=$ac_cv_host
++ac_save_IFS=$IFS; IFS='-'
++set x $ac_cv_host
++shift
++host_cpu=$1
++host_vendor=$2
++shift; shift
++# Remember, the first character of IFS is used to create $*,
++# except with old shells:
++host_os=$*
++IFS=$ac_save_IFS
++case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
++
++
++{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
++echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; }
++if test "${ac_cv_path_SED+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
++ for ac_i in 1 2 3 4 5 6 7; do
++ ac_script="$ac_script$as_nl$ac_script"
++ done
++ echo "$ac_script" | sed 99q >conftest.sed
++ $as_unset ac_script || ac_script=
++ # Extract the first word of "sed gsed" to use in msg output
++if test -z "$SED"; then
++set dummy sed gsed; ac_prog_name=$2
++if test "${ac_cv_path_SED+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_path_SED_found=false
++# Loop through the user's path and test for each of PROGNAME-LIST
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_prog in sed gsed; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
++ { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
++ # Check for GNU ac_path_SED and select it if it is found.
++ # Check for GNU $ac_path_SED
++case `"$ac_path_SED" --version 2>&1` in
++*GNU*)
++ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
++*)
++ ac_count=0
++ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
++ while :
++ do
++ cat "conftest.in" "conftest.in" >"conftest.tmp"
++ mv "conftest.tmp" "conftest.in"
++ cp "conftest.in" "conftest.nl"
++ echo '' >> "conftest.nl"
++ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++ ac_count=`expr $ac_count + 1`
++ if test $ac_count -gt ${ac_path_SED_max-0}; then
++ # Best one so far, save it but keep looking for a better one
++ ac_cv_path_SED="$ac_path_SED"
++ ac_path_SED_max=$ac_count
++ fi
++ # 10*(2^10) chars as input seems more than enough
++ test $ac_count -gt 10 && break
++ done
++ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
++esac
++
++
++ $ac_path_SED_found && break 3
++ done
++done
++
++done
++IFS=$as_save_IFS
++
++
++fi
++
++SED="$ac_cv_path_SED"
++if test -z "$SED"; then
++ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in \$PATH" >&5
++echo "$as_me: error: no acceptable $ac_prog_name could be found in \$PATH" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++else
++ ac_cv_path_SED=$SED
++fi
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
++echo "${ECHO_T}$ac_cv_path_SED" >&6; }
++ SED="$ac_cv_path_SED"
++ rm -f conftest.sed
++
++test -z "$SED" && SED=sed
++Xsed="$SED -e 1s/^X//"
++
++
++
++
++
++
++
++
++
++
++
++{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
++echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
++if test "${ac_cv_path_GREP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ # Extract the first word of "grep ggrep" to use in msg output
++if test -z "$GREP"; then
++set dummy grep ggrep; ac_prog_name=$2
++if test "${ac_cv_path_GREP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_path_GREP_found=false
++# Loop through the user's path and test for each of PROGNAME-LIST
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_prog in grep ggrep; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
++ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
++ # Check for GNU ac_path_GREP and select it if it is found.
++ # Check for GNU $ac_path_GREP
++case `"$ac_path_GREP" --version 2>&1` in
++*GNU*)
++ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
++*)
++ ac_count=0
++ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
++ while :
++ do
++ cat "conftest.in" "conftest.in" >"conftest.tmp"
++ mv "conftest.tmp" "conftest.in"
++ cp "conftest.in" "conftest.nl"
++ echo 'GREP' >> "conftest.nl"
++ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++ ac_count=`expr $ac_count + 1`
++ if test $ac_count -gt ${ac_path_GREP_max-0}; then
++ # Best one so far, save it but keep looking for a better one
++ ac_cv_path_GREP="$ac_path_GREP"
++ ac_path_GREP_max=$ac_count
++ fi
++ # 10*(2^10) chars as input seems more than enough
++ test $ac_count -gt 10 && break
++ done
++ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
++esac
++
++
++ $ac_path_GREP_found && break 3
++ done
++done
++
++done
++IFS=$as_save_IFS
++
++
++fi
++
++GREP="$ac_cv_path_GREP"
++if test -z "$GREP"; then
++ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
++echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++else
++ ac_cv_path_GREP=$GREP
++fi
++
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
++echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
++ GREP="$ac_cv_path_GREP"
++
++
++{ echo "$as_me:$LINENO: checking for egrep" >&5
++echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
++if test "${ac_cv_path_EGREP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
++ then ac_cv_path_EGREP="$GREP -E"
++ else
++ # Extract the first word of "egrep" to use in msg output
++if test -z "$EGREP"; then
++set dummy egrep; ac_prog_name=$2
++if test "${ac_cv_path_EGREP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_path_EGREP_found=false
++# Loop through the user's path and test for each of PROGNAME-LIST
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_prog in egrep; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
++ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
++ # Check for GNU ac_path_EGREP and select it if it is found.
++ # Check for GNU $ac_path_EGREP
++case `"$ac_path_EGREP" --version 2>&1` in
++*GNU*)
++ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
++*)
++ ac_count=0
++ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
++ while :
++ do
++ cat "conftest.in" "conftest.in" >"conftest.tmp"
++ mv "conftest.tmp" "conftest.in"
++ cp "conftest.in" "conftest.nl"
++ echo 'EGREP' >> "conftest.nl"
++ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++ ac_count=`expr $ac_count + 1`
++ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
++ # Best one so far, save it but keep looking for a better one
++ ac_cv_path_EGREP="$ac_path_EGREP"
++ ac_path_EGREP_max=$ac_count
++ fi
++ # 10*(2^10) chars as input seems more than enough
++ test $ac_count -gt 10 && break
++ done
++ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
++esac
++
++
++ $ac_path_EGREP_found && break 3
++ done
++done
++
++done
++IFS=$as_save_IFS
++
++
++fi
++
++EGREP="$ac_cv_path_EGREP"
++if test -z "$EGREP"; then
++ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
++echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++else
++ ac_cv_path_EGREP=$EGREP
++fi
++
++
++ fi
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
++echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
++ EGREP="$ac_cv_path_EGREP"
++
++
++{ echo "$as_me:$LINENO: checking for fgrep" >&5
++echo $ECHO_N "checking for fgrep... $ECHO_C" >&6; }
++if test "${ac_cv_path_FGREP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
++ then ac_cv_path_FGREP="$GREP -F"
++ else
++ # Extract the first word of "fgrep" to use in msg output
++if test -z "$FGREP"; then
++set dummy fgrep; ac_prog_name=$2
++if test "${ac_cv_path_FGREP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_path_FGREP_found=false
++# Loop through the user's path and test for each of PROGNAME-LIST
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_prog in fgrep; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
++ { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
++ # Check for GNU ac_path_FGREP and select it if it is found.
++ # Check for GNU $ac_path_FGREP
++case `"$ac_path_FGREP" --version 2>&1` in
++*GNU*)
++ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
++*)
++ ac_count=0
++ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
++ while :
++ do
++ cat "conftest.in" "conftest.in" >"conftest.tmp"
++ mv "conftest.tmp" "conftest.in"
++ cp "conftest.in" "conftest.nl"
++ echo 'FGREP' >> "conftest.nl"
++ "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++ ac_count=`expr $ac_count + 1`
++ if test $ac_count -gt ${ac_path_FGREP_max-0}; then
++ # Best one so far, save it but keep looking for a better one
++ ac_cv_path_FGREP="$ac_path_FGREP"
++ ac_path_FGREP_max=$ac_count
++ fi
++ # 10*(2^10) chars as input seems more than enough
++ test $ac_count -gt 10 && break
++ done
++ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
++esac
++
++
++ $ac_path_FGREP_found && break 3
++ done
++done
++
++done
++IFS=$as_save_IFS
++
++
++fi
++
++FGREP="$ac_cv_path_FGREP"
++if test -z "$FGREP"; then
++ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
++echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++else
++ ac_cv_path_FGREP=$FGREP
++fi
++
++
++ fi
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5
++echo "${ECHO_T}$ac_cv_path_FGREP" >&6; }
++ FGREP="$ac_cv_path_FGREP"
++
++
++test -z "$GREP" && GREP=grep
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++# Check whether --with-gnu-ld was given.
++if test "${with_gnu_ld+set}" = set; then
++ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
++else
++ with_gnu_ld=no
++fi
++
++ac_prog=ld
++if test "$GCC" = yes; then
++ # Check if gcc -print-prog-name=ld gives a path.
++ { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
++echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
++ case $host in
++ *-*-mingw*)
++ # gcc leaves a trailing carriage return which upsets mingw
++ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
++ *)
++ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
++ esac
++ case $ac_prog in
++ # Accept absolute paths.
++ [\\/]* | ?:[\\/]*)
++ re_direlt='/[^/][^/]*/\.\./'
++ # Canonicalize the pathname of ld
++ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
++ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
++ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
++ done
++ test -z "$LD" && LD="$ac_prog"
++ ;;
++ "")
++ # If it fails, then pretend we aren't using GCC.
++ ac_prog=ld
++ ;;
++ *)
++ # If it is relative, then search for the first ld in PATH.
++ with_gnu_ld=unknown
++ ;;
++ esac
++elif test "$with_gnu_ld" = yes; then
++ { echo "$as_me:$LINENO: checking for GNU ld" >&5
++echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
++else
++ { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
++echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
++fi
++if test "${lt_cv_path_LD+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -z "$LD"; then
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ for ac_dir in $PATH; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
++ lt_cv_path_LD="$ac_dir/$ac_prog"
++ # Check to see if the program is GNU ld. I'd rather use --version,
++ # but apparently some variants of GNU ld only accept -v.
++ # Break only if it was the GNU/non-GNU ld that we prefer.
++ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
++ *GNU* | *'with BFD'*)
++ test "$with_gnu_ld" != no && break
++ ;;
++ *)
++ test "$with_gnu_ld" != yes && break
++ ;;
++ esac
++ fi
++ done
++ IFS="$lt_save_ifs"
++else
++ lt_cv_path_LD="$LD" # Let the user override the test with a path.
++fi
++fi
++
++LD="$lt_cv_path_LD"
++if test -n "$LD"; then
++ { echo "$as_me:$LINENO: result: $LD" >&5
++echo "${ECHO_T}$LD" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
++echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
++ { (exit 1); exit 1; }; }
++{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
++echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
++if test "${lt_cv_prog_gnu_ld+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ # I'd rather use --version here, but apparently some GNU lds only accept -v.
++case `$LD -v 2>&1 </dev/null` in
++*GNU* | *'with BFD'*)
++ lt_cv_prog_gnu_ld=yes
++ ;;
++*)
++ lt_cv_prog_gnu_ld=no
++ ;;
++esac
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
++echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
++with_gnu_ld=$lt_cv_prog_gnu_ld
++
++
++
++
++
++
++
++
++
++{ echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5
++echo $ECHO_N "checking for BSD- or MS-compatible name lister (nm)... $ECHO_C" >&6; }
++if test "${lt_cv_path_NM+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$NM"; then
++ # Let the user override the test.
++ lt_cv_path_NM="$NM"
++else
++ lt_nm_to_check="${ac_tool_prefix}nm"
++ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
++ lt_nm_to_check="$lt_nm_to_check nm"
++ fi
++ for lt_tmp_nm in $lt_nm_to_check; do
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ tmp_nm="$ac_dir/$lt_tmp_nm"
++ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
++ # Check to see if the nm accepts a BSD-compat flag.
++ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
++ # nm: unknown option "B" ignored
++ # Tru64's nm complains that /dev/null is an invalid object file
++ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
++ */dev/null* | *'Invalid file or object type'*)
++ lt_cv_path_NM="$tmp_nm -B"
++ break
++ ;;
++ *)
++ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
++ */dev/null*)
++ lt_cv_path_NM="$tmp_nm -p"
++ break
++ ;;
++ *)
++ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
++ continue # so that we can try to find one that supports BSD flags
++ ;;
++ esac
++ ;;
++ esac
++ fi
++ done
++ IFS="$lt_save_ifs"
++ done
++ : ${lt_cv_path_NM=no}
++fi
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
++echo "${ECHO_T}$lt_cv_path_NM" >&6; }
++if test "$lt_cv_path_NM" != "no"; then
++ NM="$lt_cv_path_NM"
++else
++ # Didn't find any BSD compatible name lister, look for dumpbin.
++ if test -n "$ac_tool_prefix"; then
++ for ac_prog in "dumpbin -symbols" "link -dump -symbols"
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_DUMPBIN+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$DUMPBIN"; then
++ ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++DUMPBIN=$ac_cv_prog_DUMPBIN
++if test -n "$DUMPBIN"; then
++ { echo "$as_me:$LINENO: result: $DUMPBIN" >&5
++echo "${ECHO_T}$DUMPBIN" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++ test -n "$DUMPBIN" && break
++ done
++fi
++if test -z "$DUMPBIN"; then
++ ac_ct_DUMPBIN=$DUMPBIN
++ for ac_prog in "dumpbin -symbols" "link -dump -symbols"
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_DUMPBIN"; then
++ ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
++if test -n "$ac_ct_DUMPBIN"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5
++echo "${ECHO_T}$ac_ct_DUMPBIN" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++ test -n "$ac_ct_DUMPBIN" && break
++done
++
++ if test "x$ac_ct_DUMPBIN" = x; then
++ DUMPBIN=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ DUMPBIN=$ac_ct_DUMPBIN
++ fi
++fi
++
++
++ if test "$DUMPBIN" != ":"; then
++ NM="$DUMPBIN"
++ fi
++fi
++test -z "$NM" && NM=nm
++
++
++
++
++
++
++{ echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5
++echo $ECHO_N "checking the name lister ($NM) interface... $ECHO_C" >&6; }
++if test "${lt_cv_nm_interface+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_nm_interface="BSD nm"
++ echo "int some_variable = 0;" > conftest.$ac_ext
++ (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&5)
++ (eval "$ac_compile" 2>conftest.err)
++ cat conftest.err >&5
++ (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
++ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
++ cat conftest.err >&5
++ (eval echo "\"\$as_me:__oline__: output\"" >&5)
++ cat conftest.out >&5
++ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
++ lt_cv_nm_interface="MS dumpbin"
++ fi
++ rm -f conftest*
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5
++echo "${ECHO_T}$lt_cv_nm_interface" >&6; }
++
++{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
++echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
++LN_S=$as_ln_s
++if test "$LN_S" = "ln -s"; then
++ { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
++echo "${ECHO_T}no, using $LN_S" >&6; }
++fi
++
++# find the maximum length of command line arguments
++{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
++echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
++if test "${lt_cv_sys_max_cmd_len+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ i=0
++ teststring="ABCD"
++
++ case $build_os in
++ msdosdjgpp*)
++ # On DJGPP, this test can blow up pretty badly due to problems in libc
++ # (any single argument exceeding 2000 bytes causes a buffer overrun
++ # during glob expansion). Even if it were fixed, the result of this
++ # check would be larger than it should be.
++ lt_cv_sys_max_cmd_len=12288; # 12K is about right
++ ;;
++
++ gnu*)
++ # Under GNU Hurd, this test is not required because there is
++ # no limit to the length of command line arguments.
++ # Libtool will interpret -1 as no limit whatsoever
++ lt_cv_sys_max_cmd_len=-1;
++ ;;
++
++ cygwin* | mingw*)
++ # On Win9x/ME, this test blows up -- it succeeds, but takes
++ # about 5 minutes as the teststring grows exponentially.
++ # Worse, since 9x/ME are not pre-emptively multitasking,
++ # you end up with a "frozen" computer, even though with patience
++ # the test eventually succeeds (with a max line length of 256k).
++ # Instead, let's just punt: use the minimum linelength reported by
++ # all of the supported platforms: 8192 (on NT/2K/XP).
++ lt_cv_sys_max_cmd_len=8192;
++ ;;
++
++ amigaos*)
++ # On AmigaOS with pdksh, this test takes hours, literally.
++ # So we just punt and use a minimum line length of 8192.
++ lt_cv_sys_max_cmd_len=8192;
++ ;;
++
++ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
++ # This has been around since 386BSD, at least. Likely further.
++ if test -x /sbin/sysctl; then
++ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
++ elif test -x /usr/sbin/sysctl; then
++ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
++ else
++ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
++ fi
++ # And add a safety zone
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
++ ;;
++
++ interix*)
++ # We know the value 262144 and hardcode it with a safety zone (like BSD)
++ lt_cv_sys_max_cmd_len=196608
++ ;;
++
++ osf*)
++ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
++ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
++ # nice to cause kernel panics so lets avoid the loop below.
++ # First set a reasonable default.
++ lt_cv_sys_max_cmd_len=16384
++ #
++ if test -x /sbin/sysconfig; then
++ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
++ *1*) lt_cv_sys_max_cmd_len=-1 ;;
++ esac
++ fi
++ ;;
++ sco3.2v5*)
++ lt_cv_sys_max_cmd_len=102400
++ ;;
++ sysv5* | sco5v6* | sysv4.2uw2*)
++ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
++ if test -n "$kargmax"; then
++ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
++ else
++ lt_cv_sys_max_cmd_len=32768
++ fi
++ ;;
++ *)
++ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
++ if test -n "$lt_cv_sys_max_cmd_len"; then
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
++ else
++ # Make teststring a little bigger before we do anything with it.
++ # a 1K string should be a reasonable start.
++ for i in 1 2 3 4 5 6 7 8 ; do
++ teststring=$teststring$teststring
++ done
++ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
++ # If test is not a shell built-in, we'll probably end up computing a
++ # maximum length that is only half of the actual maximum length, but
++ # we can't tell.
++ while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
++ = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
++ test $i != 17 # 1/2 MB should be enough
++ do
++ i=`expr $i + 1`
++ teststring=$teststring$teststring
++ done
++ # Only check the string length outside the loop.
++ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
++ teststring=
++ # Add a significant safety factor because C++ compilers can tack on
++ # massive amounts of additional arguments before passing them to the
++ # linker. It appears as though 1/2 is a usable value.
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
++ fi
++ ;;
++ esac
++
++fi
++
++if test -n $lt_cv_sys_max_cmd_len ; then
++ { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
++echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; }
++else
++ { echo "$as_me:$LINENO: result: none" >&5
++echo "${ECHO_T}none" >&6; }
++fi
++max_cmd_len=$lt_cv_sys_max_cmd_len
++
++
++
++
++
++
++: ${CP="cp -f"}
++: ${MV="mv -f"}
++: ${RM="rm -f"}
++
++{ echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5
++echo $ECHO_N "checking whether the shell understands some XSI constructs... $ECHO_C" >&6; }
++# Try some XSI features
++xsi_shell=no
++( _lt_dummy="a/b/c"
++ test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
++ = c,a/b,, \
++ && eval 'test $(( 1 + 1 )) -eq 2 \
++ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
++ && xsi_shell=yes
++{ echo "$as_me:$LINENO: result: $xsi_shell" >&5
++echo "${ECHO_T}$xsi_shell" >&6; }
++
++
++{ echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5
++echo $ECHO_N "checking whether the shell understands \"+=\"... $ECHO_C" >&6; }
++lt_shell_append=no
++( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
++ >/dev/null 2>&1 \
++ && lt_shell_append=yes
++{ echo "$as_me:$LINENO: result: $lt_shell_append" >&5
++echo "${ECHO_T}$lt_shell_append" >&6; }
++
++
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++ lt_unset=unset
++else
++ lt_unset=false
++fi
++
++
++
++
++
++# test EBCDIC or ASCII
++case `echo X|tr X '\101'` in
++ A) # ASCII based system
++ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
++ lt_SP2NL='tr \040 \012'
++ lt_NL2SP='tr \015\012 \040\040'
++ ;;
++ *) # EBCDIC based system
++ lt_SP2NL='tr \100 \n'
++ lt_NL2SP='tr \r\n \100\100'
++ ;;
++esac
++
++
++
++
++
++
++
++
++
++{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
++echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
++if test "${lt_cv_ld_reload_flag+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_ld_reload_flag='-r'
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
++echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
++reload_flag=$lt_cv_ld_reload_flag
++case $reload_flag in
++"" | " "*) ;;
++*) reload_flag=" $reload_flag" ;;
++esac
++reload_cmds='$LD$reload_flag -o $output$reload_objs'
++case $host_os in
++ darwin*)
++ if test "$GCC" = yes; then
++ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
++ else
++ reload_cmds='$LD$reload_flag -o $output$reload_objs'
++ fi
++ ;;
++esac
++
++
++
++
++
++
++
++
++
++
++{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
++echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; }
++if test "${lt_cv_deplibs_check_method+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_file_magic_cmd='$MAGIC_CMD'
++lt_cv_file_magic_test_file=
++lt_cv_deplibs_check_method='unknown'
++# Need to set the preceding variable on all platforms that support
++# interlibrary dependencies.
++# 'none' -- dependencies not supported.
++# `unknown' -- same as none, but documents that we really don't know.
++# 'pass_all' -- all dependencies passed with no checks.
++# 'test_compile' -- check by making test program.
++# 'file_magic [[regex]]' -- check by looking for files in library path
++# which responds to the $file_magic_cmd with a given extended regex.
++# If you have `file' or equivalent on your system and you're not sure
++# whether `pass_all' will *always* work, you probably want this one.
++
++case $host_os in
++aix[4-9]*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++beos*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++bsdi[45]*)
++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
++ lt_cv_file_magic_cmd='/usr/bin/file -L'
++ lt_cv_file_magic_test_file=/shlib/libc.so
++ ;;
++
++cygwin*)
++ # func_win32_libid is a shell function defined in ltmain.sh
++ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
++ lt_cv_file_magic_cmd='func_win32_libid'
++ ;;
++
++mingw* | pw32*)
++ # Base MSYS/MinGW do not provide the 'file' command needed by
++ # func_win32_libid shell function, so use a weaker test based on 'objdump',
++ # unless we find 'file', for example because we are cross-compiling.
++ if ( file / ) >/dev/null 2>&1; then
++ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
++ lt_cv_file_magic_cmd='func_win32_libid'
++ else
++ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
++ lt_cv_file_magic_cmd='$OBJDUMP -f'
++ fi
++ ;;
++
++darwin* | rhapsody*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++freebsd* | dragonfly*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
++ case $host_cpu in
++ i*86 )
++ # Not sure whether the presence of OpenBSD here was a mistake.
++ # Let's accept both of them until this is cleared up.
++ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
++ lt_cv_file_magic_cmd=/usr/bin/file
++ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
++ ;;
++ esac
++ else
++ lt_cv_deplibs_check_method=pass_all
++ fi
++ ;;
++
++gnu*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++hpux10.20* | hpux11*)
++ lt_cv_file_magic_cmd=/usr/bin/file
++ case $host_cpu in
++ ia64*)
++ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
++ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
++ ;;
++ hppa*64*)
++ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
++ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
++ ;;
++ *)
++ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
++ lt_cv_file_magic_test_file=/usr/lib/libc.sl
++ ;;
++ esac
++ ;;
++
++interix[3-9]*)
++ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
++ ;;
++
++irix5* | irix6* | nonstopux*)
++ case $LD in
++ *-32|*"-32 ") libmagic=32-bit;;
++ *-n32|*"-n32 ") libmagic=N32;;
++ *-64|*"-64 ") libmagic=64-bit;;
++ *) libmagic=never-match;;
++ esac
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++# This must be Linux ELF.
++linux* | k*bsd*-gnu)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++netbsd*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
++ else
++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
++ fi
++ ;;
++
++newos6*)
++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
++ lt_cv_file_magic_cmd=/usr/bin/file
++ lt_cv_file_magic_test_file=/usr/lib/libnls.so
++ ;;
++
++*nto* | *qnx*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++openbsd*)
++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
++ else
++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
++ fi
++ ;;
++
++osf3* | osf4* | osf5*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++rdos*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++solaris*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++sysv4 | sysv4.3*)
++ case $host_vendor in
++ motorola)
++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
++ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
++ ;;
++ ncr)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++ sequent)
++ lt_cv_file_magic_cmd='/bin/file'
++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
++ ;;
++ sni)
++ lt_cv_file_magic_cmd='/bin/file'
++ lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
++ lt_cv_file_magic_test_file=/lib/libc.so
++ ;;
++ siemens)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++ pc)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++ esac
++ ;;
++
++tpf*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++esac
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
++echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
++file_magic_cmd=$lt_cv_file_magic_cmd
++deplibs_check_method=$lt_cv_deplibs_check_method
++test -z "$deplibs_check_method" && deplibs_check_method=unknown
++
++
++
++
++
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
++set dummy ${ac_tool_prefix}ar; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_AR+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$AR"; then
++ ac_cv_prog_AR="$AR" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_AR="${ac_tool_prefix}ar"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++AR=$ac_cv_prog_AR
++if test -n "$AR"; then
++ { echo "$as_me:$LINENO: result: $AR" >&5
++echo "${ECHO_T}$AR" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_AR"; then
++ ac_ct_AR=$AR
++ # Extract the first word of "ar", so it can be a program name with args.
++set dummy ar; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_AR"; then
++ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_AR="ar"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_AR=$ac_cv_prog_ac_ct_AR
++if test -n "$ac_ct_AR"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
++echo "${ECHO_T}$ac_ct_AR" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_AR" = x; then
++ AR="false"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ AR=$ac_ct_AR
++ fi
++else
++ AR="$ac_cv_prog_AR"
++fi
++
++test -z "$AR" && AR=ar
++test -z "$AR_FLAGS" && AR_FLAGS=cru
++
++
++
++
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
++set dummy ${ac_tool_prefix}strip; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_STRIP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$STRIP"; then
++ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++STRIP=$ac_cv_prog_STRIP
++if test -n "$STRIP"; then
++ { echo "$as_me:$LINENO: result: $STRIP" >&5
++echo "${ECHO_T}$STRIP" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_STRIP"; then
++ ac_ct_STRIP=$STRIP
++ # Extract the first word of "strip", so it can be a program name with args.
++set dummy strip; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_STRIP"; then
++ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_STRIP="strip"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
++if test -n "$ac_ct_STRIP"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
++echo "${ECHO_T}$ac_ct_STRIP" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_STRIP" = x; then
++ STRIP=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ STRIP=$ac_ct_STRIP
++ fi
++else
++ STRIP="$ac_cv_prog_STRIP"
++fi
++
++test -z "$STRIP" && STRIP=:
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
++set dummy ${ac_tool_prefix}ranlib; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_RANLIB+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$RANLIB"; then
++ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++RANLIB=$ac_cv_prog_RANLIB
++if test -n "$RANLIB"; then
++ { echo "$as_me:$LINENO: result: $RANLIB" >&5
++echo "${ECHO_T}$RANLIB" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_RANLIB"; then
++ ac_ct_RANLIB=$RANLIB
++ # Extract the first word of "ranlib", so it can be a program name with args.
++set dummy ranlib; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_RANLIB"; then
++ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_RANLIB="ranlib"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
++if test -n "$ac_ct_RANLIB"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
++echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_RANLIB" = x; then
++ RANLIB=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ RANLIB=$ac_ct_RANLIB
++ fi
++else
++ RANLIB="$ac_cv_prog_RANLIB"
++fi
++
++test -z "$RANLIB" && RANLIB=:
++
++
++
++
++
++
++# Determine commands to create old-style static archives.
++old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
++old_postinstall_cmds='chmod 644 $oldlib'
++old_postuninstall_cmds=
++
++if test -n "$RANLIB"; then
++ case $host_os in
++ openbsd*)
++ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
++ ;;
++ *)
++ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
++ ;;
++ esac
++ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++# If no C compiler was specified, use CC.
++LTCC=${LTCC-"$CC"}
++
++# If no C compiler flags were specified, use CFLAGS.
++LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
++
++# Allow CC to be a program name with arguments.
++compiler=$CC
++
++
++# Check for command to grab the raw symbol name followed by C symbol from nm.
++{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
++echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
++if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++# These are sane defaults that work on at least a few old systems.
++# [They come from Ultrix. What could be older than Ultrix?!! ;)]
++
++# Character class describing NM global symbol codes.
++symcode='[BCDEGRST]'
++
++# Regexp to match symbols that can be accessed directly from C.
++sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
++
++# Define system-specific variables.
++case $host_os in
++aix*)
++ symcode='[BCDT]'
++ ;;
++cygwin* | mingw* | pw32*)
++ symcode='[ABCDGISTW]'
++ ;;
++hpux*)
++ if test "$host_cpu" = ia64; then
++ symcode='[ABCDEGRST]'
++ fi
++ ;;
++irix* | nonstopux*)
++ symcode='[BCDEGRST]'
++ ;;
++osf*)
++ symcode='[BCDEGQRST]'
++ ;;
++solaris*)
++ symcode='[BDRT]'
++ ;;
++sco3.2v5*)
++ symcode='[DT]'
++ ;;
++sysv4.2uw2*)
++ symcode='[DT]'
++ ;;
++sysv5* | sco5v6* | unixware* | OpenUNIX*)
++ symcode='[ABDT]'
++ ;;
++sysv4)
++ symcode='[DFNSTU]'
++ ;;
++esac
++
++# If we're using GNU nm, then use its standard symbol codes.
++case `$NM -V 2>&1` in
++*GNU* | *'with BFD'*)
++ symcode='[ABCDGIRSTW]' ;;
++esac
++
++# Transform an extracted symbol line into a proper C declaration.
++# Some systems (esp. on ia64) link data and code symbols differently,
++# so use this general approach.
++lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
++
++# Transform an extracted symbol line into symbol name and symbol address
++lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
++
++# Handle CRLF in mingw tool chain
++opt_cr=
++case $build_os in
++mingw*)
++ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
++ ;;
++esac
++
++# Try without a prefix underscore, then with it.
++for ac_symprfx in "" "_"; do
++
++ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
++ symxfrm="\\1 $ac_symprfx\\2 \\2"
++
++ # Write the raw and C identifiers.
++ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++ # Fake it for dumpbin and say T for any non-static function
++ # and D for any global variable.
++ # Also find C++ and __fastcall symbols from MSVC++,
++ # which start with @ or ?.
++ lt_cv_sys_global_symbol_pipe="$AWK '"\
++" {last_section=section; section=\$ 3};"\
++" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
++" \$ 0!~/External *\|/{next};"\
++" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
++" {if(hide[section]) next};"\
++" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
++" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
++" s[1]~/^[@?]/{print s[1], s[1]; next};"\
++" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
++" ' prfx=^$ac_symprfx"
++ else
++ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
++ fi
++
++ # Check to see that the pipe works correctly.
++ pipe_works=no
++
++ rm -f conftest*
++ cat > conftest.$ac_ext <<_LT_EOF
++#ifdef __cplusplus
++extern "C" {
++#endif
++char nm_test_var;
++void nm_test_func(void);
++void nm_test_func(void){}
++#ifdef __cplusplus
++}
++#endif
++int main(){nm_test_var='a';nm_test_func();return(0);}
++_LT_EOF
++
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ # Now try to grab the symbols.
++ nlist=conftest.nm
++ if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
++ (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && test -s "$nlist"; then
++ # Try sorting and uniquifying the output.
++ if sort "$nlist" | uniq > "$nlist"T; then
++ mv -f "$nlist"T "$nlist"
++ else
++ rm -f "$nlist"T
++ fi
++
++ # Make sure that we snagged all the symbols we need.
++ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
++ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
++ cat <<_LT_EOF > conftest.$ac_ext
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++_LT_EOF
++ # Now generate the symbol file.
++ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
++
++ cat <<_LT_EOF >> conftest.$ac_ext
++
++/* The mapping between symbol names and symbols. */
++const struct {
++ const char *name;
++ void *address;
++}
++lt__PROGRAM__LTX_preloaded_symbols[] =
++{
++ { "@PROGRAM@", (void *) 0 },
++_LT_EOF
++ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
++ cat <<\_LT_EOF >> conftest.$ac_ext
++ {0, (void *) 0}
++};
++
++/* This works around a problem in FreeBSD linker */
++#ifdef FREEBSD_WORKAROUND
++static const void *lt_preloaded_setup() {
++ return lt__PROGRAM__LTX_preloaded_symbols;
++}
++#endif
++
++#ifdef __cplusplus
++}
++#endif
++_LT_EOF
++ # Now try linking the two files.
++ mv conftest.$ac_objext conftstm.$ac_objext
++ lt_save_LIBS="$LIBS"
++ lt_save_CFLAGS="$CFLAGS"
++ LIBS="conftstm.$ac_objext"
++ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
++ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && test -s conftest${ac_exeext}; then
++ pipe_works=yes
++ fi
++ LIBS="$lt_save_LIBS"
++ CFLAGS="$lt_save_CFLAGS"
++ else
++ echo "cannot find nm_test_func in $nlist" >&5
++ fi
++ else
++ echo "cannot find nm_test_var in $nlist" >&5
++ fi
++ else
++ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
++ fi
++ else
++ echo "$progname: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ fi
++ rm -rf conftest* conftst*
++
++ # Do not use the global_symbol_pipe unless it works.
++ if test "$pipe_works" = yes; then
++ break
++ else
++ lt_cv_sys_global_symbol_pipe=
++ fi
++done
++
++fi
++
++if test -z "$lt_cv_sys_global_symbol_pipe"; then
++ lt_cv_sys_global_symbol_to_cdecl=
++fi
++if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
++ { echo "$as_me:$LINENO: result: failed" >&5
++echo "${ECHO_T}failed" >&6; }
++else
++ { echo "$as_me:$LINENO: result: ok" >&5
++echo "${ECHO_T}ok" >&6; }
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++# Check whether --enable-libtool-lock was given.
++if test "${enable_libtool_lock+set}" = set; then
++ enableval=$enable_libtool_lock;
++fi
++
++test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
++
++# Some flags need to be propagated to the compiler or linker for good
++# libtool support.
++case $host in
++ia64-*-hpux*)
++ # Find out which ABI we are using.
++ echo 'int i;' > conftest.$ac_ext
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ case `/usr/bin/file conftest.$ac_objext` in
++ *ELF-32*)
++ HPUX_IA64_MODE="32"
++ ;;
++ *ELF-64*)
++ HPUX_IA64_MODE="64"
++ ;;
++ esac
++ fi
++ rm -rf conftest*
++ ;;
++*-*-irix6*)
++ # Find out which ABI we are using.
++ echo '#line __oline__ "configure"' > conftest.$ac_ext
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ if test "$lt_cv_prog_gnu_ld" = yes; then
++ case `/usr/bin/file conftest.$ac_objext` in
++ *32-bit*)
++ LD="${LD-ld} -melf32bsmip"
++ ;;
++ *N32*)
++ LD="${LD-ld} -melf32bmipn32"
++ ;;
++ *64-bit*)
++ LD="${LD-ld} -melf64bmip"
++ ;;
++ esac
++ else
++ case `/usr/bin/file conftest.$ac_objext` in
++ *32-bit*)
++ LD="${LD-ld} -32"
++ ;;
++ *N32*)
++ LD="${LD-ld} -n32"
++ ;;
++ *64-bit*)
++ LD="${LD-ld} -64"
++ ;;
++ esac
++ fi
++ fi
++ rm -rf conftest*
++ ;;
++
++x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
++s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
++ # Find out which ABI we are using.
++ echo 'int i;' > conftest.$ac_ext
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ case `/usr/bin/file conftest.o` in
++ *32-bit*)
++ case $host in
++ x86_64-*kfreebsd*-gnu)
++ LD="${LD-ld} -m elf_i386_fbsd"
++ ;;
++ x86_64-*linux*)
++ LD="${LD-ld} -m elf_i386"
++ ;;
++ ppc64-*linux*|powerpc64-*linux*)
++ LD="${LD-ld} -m elf32ppclinux"
++ ;;
++ s390x-*linux*)
++ LD="${LD-ld} -m elf_s390"
++ ;;
++ sparc64-*linux*)
++ LD="${LD-ld} -m elf32_sparc"
++ ;;
++ esac
++ ;;
++ *64-bit*)
++ case $host in
++ x86_64-*kfreebsd*-gnu)
++ LD="${LD-ld} -m elf_x86_64_fbsd"
++ ;;
++ x86_64-*linux*)
++ LD="${LD-ld} -m elf_x86_64"
++ ;;
++ ppc*-*linux*|powerpc*-*linux*)
++ LD="${LD-ld} -m elf64ppc"
++ ;;
++ s390*-*linux*|s390*-*tpf*)
++ LD="${LD-ld} -m elf64_s390"
++ ;;
++ sparc*-*linux*)
++ LD="${LD-ld} -m elf64_sparc"
++ ;;
++ esac
++ ;;
++ esac
++ fi
++ rm -rf conftest*
++ ;;
++
++*-*-sco3.2v5*)
++ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
++ SAVE_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS -belf"
++ { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
++echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; }
++if test "${lt_cv_cc_needs_belf+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ lt_cv_cc_needs_belf=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ lt_cv_cc_needs_belf=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
++echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; }
++ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
++ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
++ CFLAGS="$SAVE_CFLAGS"
++ fi
++ ;;
++sparc*-*solaris*)
++ # Find out which ABI we are using.
++ echo 'int i;' > conftest.$ac_ext
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ case `/usr/bin/file conftest.o` in
++ *64-bit*)
++ case $lt_cv_prog_gnu_ld in
++ yes*) LD="${LD-ld} -m elf64_sparc" ;;
++ *)
++ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
++ LD="${LD-ld} -64"
++ fi
++ ;;
++ esac
++ ;;
++ esac
++ fi
++ rm -rf conftest*
++ ;;
++esac
++
++need_locks="$enable_libtool_lock"
++
++
++ case $host_os in
++ rhapsody* | darwin*)
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$DSYMUTIL"; then
++ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++DSYMUTIL=$ac_cv_prog_DSYMUTIL
++if test -n "$DSYMUTIL"; then
++ { echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
++echo "${ECHO_T}$DSYMUTIL" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_DSYMUTIL"; then
++ ac_ct_DSYMUTIL=$DSYMUTIL
++ # Extract the first word of "dsymutil", so it can be a program name with args.
++set dummy dsymutil; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_DSYMUTIL"; then
++ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
++if test -n "$ac_ct_DSYMUTIL"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
++echo "${ECHO_T}$ac_ct_DSYMUTIL" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_DSYMUTIL" = x; then
++ DSYMUTIL=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ DSYMUTIL=$ac_ct_DSYMUTIL
++ fi
++else
++ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
++fi
++
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
++set dummy ${ac_tool_prefix}nmedit; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_NMEDIT+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$NMEDIT"; then
++ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++NMEDIT=$ac_cv_prog_NMEDIT
++if test -n "$NMEDIT"; then
++ { echo "$as_me:$LINENO: result: $NMEDIT" >&5
++echo "${ECHO_T}$NMEDIT" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_NMEDIT"; then
++ ac_ct_NMEDIT=$NMEDIT
++ # Extract the first word of "nmedit", so it can be a program name with args.
++set dummy nmedit; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_NMEDIT"; then
++ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_NMEDIT="nmedit"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
++if test -n "$ac_ct_NMEDIT"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
++echo "${ECHO_T}$ac_ct_NMEDIT" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_NMEDIT" = x; then
++ NMEDIT=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ NMEDIT=$ac_ct_NMEDIT
++ fi
++else
++ NMEDIT="$ac_cv_prog_NMEDIT"
++fi
++
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
++set dummy ${ac_tool_prefix}lipo; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_LIPO+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$LIPO"; then
++ ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++LIPO=$ac_cv_prog_LIPO
++if test -n "$LIPO"; then
++ { echo "$as_me:$LINENO: result: $LIPO" >&5
++echo "${ECHO_T}$LIPO" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_LIPO"; then
++ ac_ct_LIPO=$LIPO
++ # Extract the first word of "lipo", so it can be a program name with args.
++set dummy lipo; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_LIPO"; then
++ ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_LIPO="lipo"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
++if test -n "$ac_ct_LIPO"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5
++echo "${ECHO_T}$ac_ct_LIPO" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_LIPO" = x; then
++ LIPO=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ LIPO=$ac_ct_LIPO
++ fi
++else
++ LIPO="$ac_cv_prog_LIPO"
++fi
++
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
++set dummy ${ac_tool_prefix}otool; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_OTOOL+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$OTOOL"; then
++ ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++OTOOL=$ac_cv_prog_OTOOL
++if test -n "$OTOOL"; then
++ { echo "$as_me:$LINENO: result: $OTOOL" >&5
++echo "${ECHO_T}$OTOOL" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_OTOOL"; then
++ ac_ct_OTOOL=$OTOOL
++ # Extract the first word of "otool", so it can be a program name with args.
++set dummy otool; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_OTOOL"; then
++ ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_OTOOL="otool"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
++if test -n "$ac_ct_OTOOL"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5
++echo "${ECHO_T}$ac_ct_OTOOL" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_OTOOL" = x; then
++ OTOOL=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ OTOOL=$ac_ct_OTOOL
++ fi
++else
++ OTOOL="$ac_cv_prog_OTOOL"
++fi
++
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
++set dummy ${ac_tool_prefix}otool64; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_OTOOL64+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$OTOOL64"; then
++ ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++OTOOL64=$ac_cv_prog_OTOOL64
++if test -n "$OTOOL64"; then
++ { echo "$as_me:$LINENO: result: $OTOOL64" >&5
++echo "${ECHO_T}$OTOOL64" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_OTOOL64"; then
++ ac_ct_OTOOL64=$OTOOL64
++ # Extract the first word of "otool64", so it can be a program name with args.
++set dummy otool64; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_OTOOL64"; then
++ ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_OTOOL64="otool64"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
++if test -n "$ac_ct_OTOOL64"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5
++echo "${ECHO_T}$ac_ct_OTOOL64" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_OTOOL64" = x; then
++ OTOOL64=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ OTOOL64=$ac_ct_OTOOL64
++ fi
++else
++ OTOOL64="$ac_cv_prog_OTOOL64"
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ { echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
++echo $ECHO_N "checking for -single_module linker flag... $ECHO_C" >&6; }
++if test "${lt_cv_apple_cc_single_mod+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_apple_cc_single_mod=no
++ if test -z "${LT_MULTI_MODULE}"; then
++ # By default we will add the -single_module flag. You can override
++ # by either setting the environment variable LT_MULTI_MODULE
++ # non-empty at configure time, or by adding -multi_module to the
++ # link flags.
++ rm -rf libconftest.dylib*
++ echo "int foo(void){return 1;}" > conftest.c
++ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
++-dynamiclib -Wl,-single_module conftest.c" >&5
++ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
++ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
++ _lt_result=$?
++ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
++ lt_cv_apple_cc_single_mod=yes
++ else
++ cat conftest.err >&5
++ fi
++ rm -rf libconftest.dylib*
++ rm -f conftest.*
++ fi
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
++echo "${ECHO_T}$lt_cv_apple_cc_single_mod" >&6; }
++ { echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
++echo $ECHO_N "checking for -exported_symbols_list linker flag... $ECHO_C" >&6; }
++if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_ld_exported_symbols_list=no
++ save_LDFLAGS=$LDFLAGS
++ echo "_main" > conftest.sym
++ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ lt_cv_ld_exported_symbols_list=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ lt_cv_ld_exported_symbols_list=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ LDFLAGS="$save_LDFLAGS"
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
++echo "${ECHO_T}$lt_cv_ld_exported_symbols_list" >&6; }
++ case $host_os in
++ rhapsody* | darwin1.[012])
++ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
++ darwin1.*)
++ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
++ darwin*) # darwin 5.x on
++ # if running on 10.5 or later, the deployment target defaults
++ # to the OS version, if on x86, and 10.4, the deployment
++ # target defaults to 10.4. Don't you love it?
++ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
++ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
++ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
++ 10.[012]*)
++ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
++ 10.*)
++ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
++ esac
++ ;;
++ esac
++ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
++ _lt_dar_single_mod='$single_module'
++ fi
++ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
++ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
++ else
++ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
++ fi
++ if test "$DSYMUTIL" != ":"; then
++ _lt_dsymutil='~$DSYMUTIL $lib || :'
++ else
++ _lt_dsymutil=
++ fi
++ ;;
++ esac
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
++echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
++# On Suns, sometimes $CPP names a directory.
++if test -n "$CPP" && test -d "$CPP"; then
++ CPP=
++fi
++if test -z "$CPP"; then
++ if test "${ac_cv_prog_CPP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ # Double quotes because CPP needs to be expanded
++ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
++ do
++ ac_preproc_ok=false
++for ac_c_preproc_warn_flag in '' yes
++do
++ # Use a header file that comes with gcc, so configuring glibc
++ # with a fresh cross-compiler works.
++ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ # <limits.h> exists even on freestanding compilers.
++ # On the NeXT, cc -E runs the code through the compiler's parser,
++ # not just through cpp. "Syntax error" is here to catch this case.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@ifdef __STDC__
++@%:@ include <limits.h>
++@%:@else
++@%:@ include <assert.h>
++@%:@endif
++ Syntax error
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ # Broken: fails on valid input.
++continue
++fi
++
++rm -f conftest.err conftest.$ac_ext
++
++ # OK, works on sane cases. Now check whether nonexistent headers
++ # can be detected and how.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <ac_nonexistent.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ # Broken: success on invalid input.
++continue
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ # Passes both tests.
++ac_preproc_ok=:
++break
++fi
++
++rm -f conftest.err conftest.$ac_ext
++
++done
++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
++rm -f conftest.err conftest.$ac_ext
++if $ac_preproc_ok; then
++ break
++fi
++
++ done
++ ac_cv_prog_CPP=$CPP
++
++fi
++ CPP=$ac_cv_prog_CPP
++else
++ ac_cv_prog_CPP=$CPP
++fi
++{ echo "$as_me:$LINENO: result: $CPP" >&5
++echo "${ECHO_T}$CPP" >&6; }
++ac_preproc_ok=false
++for ac_c_preproc_warn_flag in '' yes
++do
++ # Use a header file that comes with gcc, so configuring glibc
++ # with a fresh cross-compiler works.
++ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ # <limits.h> exists even on freestanding compilers.
++ # On the NeXT, cc -E runs the code through the compiler's parser,
++ # not just through cpp. "Syntax error" is here to catch this case.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@ifdef __STDC__
++@%:@ include <limits.h>
++@%:@else
++@%:@ include <assert.h>
++@%:@endif
++ Syntax error
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ # Broken: fails on valid input.
++continue
++fi
++
++rm -f conftest.err conftest.$ac_ext
++
++ # OK, works on sane cases. Now check whether nonexistent headers
++ # can be detected and how.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <ac_nonexistent.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ # Broken: success on invalid input.
++continue
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ # Passes both tests.
++ac_preproc_ok=:
++break
++fi
++
++rm -f conftest.err conftest.$ac_ext
++
++done
++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
++rm -f conftest.err conftest.$ac_ext
++if $ac_preproc_ok; then
++ :
++else
++ { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
++See \`config.log' for more details." >&5
++echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
++echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
++if test "${ac_cv_header_stdc+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdlib.h>
++#include <stdarg.h>
++#include <string.h>
++#include <float.h>
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_stdc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_header_stdc=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++if test $ac_cv_header_stdc = yes; then
++ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <string.h>
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++ $EGREP "memchr" >/dev/null 2>&1; then
++ :
++else
++ ac_cv_header_stdc=no
++fi
++rm -f conftest*
++
++fi
++
++if test $ac_cv_header_stdc = yes; then
++ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdlib.h>
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++ $EGREP "free" >/dev/null 2>&1; then
++ :
++else
++ ac_cv_header_stdc=no
++fi
++rm -f conftest*
++
++fi
++
++if test $ac_cv_header_stdc = yes; then
++ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
++ if test "$cross_compiling" = yes; then
++ :
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <ctype.h>
++#include <stdlib.h>
++#if ((' ' & 0x0FF) == 0x020)
++# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
++# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
++#else
++# define ISLOWER(c) \
++ (('a' <= (c) && (c) <= 'i') \
++ || ('j' <= (c) && (c) <= 'r') \
++ || ('s' <= (c) && (c) <= 'z'))
++# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
++#endif
++
++#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
++int
++main ()
++{
++ int i;
++ for (i = 0; i < 256; i++)
++ if (XOR (islower (i), ISLOWER (i))
++ || toupper (i) != TOUPPER (i))
++ return 2;
++ return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_header_stdc=no
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++fi
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
++echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
++if test $ac_cv_header_stdc = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define STDC_HEADERS 1
++_ACEOF
++
++fi
++
++# On IRIX 5.3, sys/types and inttypes.h are conflicting.
++
++
++
++
++
++
++
++
++
++for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
++ inttypes.h stdint.h unistd.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++
++@%:@include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ eval "$as_ac_Header=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_Header=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++
++for ac_header in dlfcn.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++
++@%:@include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ eval "$as_ac_Header=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_Header=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++
++# Set options
++
++
++
++ enable_dlopen=no
++
++
++ enable_win32_dll=no
++
++
++ # Check whether --enable-shared was given.
++if test "${enable_shared+set}" = set; then
++ enableval=$enable_shared; p=${PACKAGE-default}
++ case $enableval in
++ yes) enable_shared=yes ;;
++ no) enable_shared=no ;;
++ *)
++ enable_shared=no
++ # Look at the argument we got. We use all the common list separators.
++ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++ for pkg in $enableval; do
++ IFS="$lt_save_ifs"
++ if test "X$pkg" = "X$p"; then
++ enable_shared=yes
++ fi
++ done
++ IFS="$lt_save_ifs"
++ ;;
++ esac
++else
++ enable_shared=yes
++fi
++
++
++
++
++
++
++
++
++
++ # Check whether --enable-static was given.
++if test "${enable_static+set}" = set; then
++ enableval=$enable_static; p=${PACKAGE-default}
++ case $enableval in
++ yes) enable_static=yes ;;
++ no) enable_static=no ;;
++ *)
++ enable_static=no
++ # Look at the argument we got. We use all the common list separators.
++ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++ for pkg in $enableval; do
++ IFS="$lt_save_ifs"
++ if test "X$pkg" = "X$p"; then
++ enable_static=yes
++ fi
++ done
++ IFS="$lt_save_ifs"
++ ;;
++ esac
++else
++ enable_static=yes
++fi
++
++
++
++
++
++
++
++
++
++
++# Check whether --with-pic was given.
++if test "${with_pic+set}" = set; then
++ withval=$with_pic; pic_mode="$withval"
++else
++ pic_mode=default
++fi
++
++
++test -z "$pic_mode" && pic_mode=default
++
++
++
++
++
++
++
++ # Check whether --enable-fast-install was given.
++if test "${enable_fast_install+set}" = set; then
++ enableval=$enable_fast_install; p=${PACKAGE-default}
++ case $enableval in
++ yes) enable_fast_install=yes ;;
++ no) enable_fast_install=no ;;
++ *)
++ enable_fast_install=no
++ # Look at the argument we got. We use all the common list separators.
++ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++ for pkg in $enableval; do
++ IFS="$lt_save_ifs"
++ if test "X$pkg" = "X$p"; then
++ enable_fast_install=yes
++ fi
++ done
++ IFS="$lt_save_ifs"
++ ;;
++ esac
++else
++ enable_fast_install=yes
++fi
++
++
++
++
++
++
++
++
++
++
++
++# This can be used to rebuild libtool when needed
++LIBTOOL_DEPS="$ltmain"
++
++# Always use our own libtool.
++LIBTOOL='$(SHELL) $(top_builddir)'
++LIBTOOL="$LIBTOOL/$host_alias-libtool"
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++test -z "$LN_S" && LN_S="ln -s"
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++if test -n "${ZSH_VERSION+set}" ; then
++ setopt NO_GLOB_SUBST
++fi
++
++{ echo "$as_me:$LINENO: checking for objdir" >&5
++echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
++if test "${lt_cv_objdir+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ rm -f .libs 2>/dev/null
++mkdir .libs 2>/dev/null
++if test -d .libs; then
++ lt_cv_objdir=.libs
++else
++ # MS-DOS does not allow filenames that begin with a dot.
++ lt_cv_objdir=_libs
++fi
++rmdir .libs 2>/dev/null
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
++echo "${ECHO_T}$lt_cv_objdir" >&6; }
++objdir=$lt_cv_objdir
++
++
++
++
++
++cat >>confdefs.h <<_ACEOF
++@%:@define LT_OBJDIR "$lt_cv_objdir/"
++_ACEOF
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++case $host_os in
++aix3*)
++ # AIX sometimes has problems with the GCC collect2 program. For some
++ # reason, if we set the COLLECT_NAMES environment variable, the problems
++ # vanish in a puff of smoke.
++ if test "X${COLLECT_NAMES+set}" != Xset; then
++ COLLECT_NAMES=
++ export COLLECT_NAMES
++ fi
++ ;;
++esac
++
++# Sed substitution that helps us do robust quoting. It backslashifies
++# metacharacters that are still active within double-quoted strings.
++sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
++
++# Same as above, but do not quote variable references.
++double_quote_subst='s/\(["`\\]\)/\\\1/g'
++
++# Sed substitution to delay expansion of an escaped shell variable in a
++# double_quote_subst'ed string.
++delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
++
++# Sed substitution to delay expansion of an escaped single quote.
++delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
++
++# Sed substitution to avoid accidental globbing in evaled expressions
++no_glob_subst='s/\*/\\\*/g'
++
++# Global variables:
++ofile=${host_alias}-libtool
++can_build_shared=yes
++
++# All known linkers require a `.a' archive for static linking (except MSVC,
++# which needs '.lib').
++libext=a
++
++with_gnu_ld="$lt_cv_prog_gnu_ld"
++
++old_CC="$CC"
++old_CFLAGS="$CFLAGS"
++
++# Set sane defaults for various variables
++test -z "$CC" && CC=cc
++test -z "$LTCC" && LTCC=$CC
++test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
++test -z "$LD" && LD=ld
++test -z "$ac_objext" && ac_objext=o
++
++for cc_temp in $compiler""; do
++ case $cc_temp in
++ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
++ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
++ \-*) ;;
++ *) break;;
++ esac
++done
++cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
++
++
++# Only perform the check for file, if the check method requires it
++test -z "$MAGIC_CMD" && MAGIC_CMD=file
++case $deplibs_check_method in
++file_magic*)
++ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
++ { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
++echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; }
++if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ case $MAGIC_CMD in
++[\\/*] | ?:[\\/]*)
++ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
++ ;;
++*)
++ lt_save_MAGIC_CMD="$MAGIC_CMD"
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
++ for ac_dir in $ac_dummy; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ if test -f $ac_dir/${ac_tool_prefix}file; then
++ lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
++ if test -n "$file_magic_test_file"; then
++ case $deplibs_check_method in
++ "file_magic "*)
++ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
++ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
++ $EGREP "$file_magic_regex" > /dev/null; then
++ :
++ else
++ cat <<_LT_EOF 1>&2
++
++*** Warning: the command libtool uses to detect shared libraries,
++*** $file_magic_cmd, produces output that libtool cannot recognize.
++*** The result is that libtool may fail to recognize shared libraries
++*** as such. This will affect the creation of libtool libraries that
++*** depend on shared libraries, but programs linked with such libtool
++*** libraries will work regardless of this problem. Nevertheless, you
++*** may want to report the problem to your system manager and/or to
++*** bug-libtool@gnu.org
++
++_LT_EOF
++ fi ;;
++ esac
++ fi
++ break
++ fi
++ done
++ IFS="$lt_save_ifs"
++ MAGIC_CMD="$lt_save_MAGIC_CMD"
++ ;;
++esac
++fi
++
++MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++if test -n "$MAGIC_CMD"; then
++ { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
++echo "${ECHO_T}$MAGIC_CMD" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++
++
++
++if test -z "$lt_cv_path_MAGIC_CMD"; then
++ if test -n "$ac_tool_prefix"; then
++ { echo "$as_me:$LINENO: checking for file" >&5
++echo $ECHO_N "checking for file... $ECHO_C" >&6; }
++if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ case $MAGIC_CMD in
++[\\/*] | ?:[\\/]*)
++ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
++ ;;
++*)
++ lt_save_MAGIC_CMD="$MAGIC_CMD"
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
++ for ac_dir in $ac_dummy; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ if test -f $ac_dir/file; then
++ lt_cv_path_MAGIC_CMD="$ac_dir/file"
++ if test -n "$file_magic_test_file"; then
++ case $deplibs_check_method in
++ "file_magic "*)
++ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
++ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
++ $EGREP "$file_magic_regex" > /dev/null; then
++ :
++ else
++ cat <<_LT_EOF 1>&2
++
++*** Warning: the command libtool uses to detect shared libraries,
++*** $file_magic_cmd, produces output that libtool cannot recognize.
++*** The result is that libtool may fail to recognize shared libraries
++*** as such. This will affect the creation of libtool libraries that
++*** depend on shared libraries, but programs linked with such libtool
++*** libraries will work regardless of this problem. Nevertheless, you
++*** may want to report the problem to your system manager and/or to
++*** bug-libtool@gnu.org
++
++_LT_EOF
++ fi ;;
++ esac
++ fi
++ break
++ fi
++ done
++ IFS="$lt_save_ifs"
++ MAGIC_CMD="$lt_save_MAGIC_CMD"
++ ;;
++esac
++fi
++
++MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++if test -n "$MAGIC_CMD"; then
++ { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
++echo "${ECHO_T}$MAGIC_CMD" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++ else
++ MAGIC_CMD=:
++ fi
++fi
++
++ fi
++ ;;
++esac
++
++# Use C for the default configuration in the libtool script
++
++lt_save_CC="$CC"
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++# Source file extension for C test sources.
++ac_ext=c
++
++# Object file extension for compiled C test sources.
++objext=o
++objext=$objext
++
++# Code to be used in simple compile tests
++lt_simple_compile_test_code="int some_variable = 0;"
++
++# Code to be used in simple link tests
++lt_simple_link_test_code='int main(){return(0);}'
++
++
++
++
++
++
++
++# If no C compiler was specified, use CC.
++LTCC=${LTCC-"$CC"}
++
++# If no C compiler flags were specified, use CFLAGS.
++LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
++
++# Allow CC to be a program name with arguments.
++compiler=$CC
++
++# Save the default compiler, since it gets overwritten when the other
++# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
++compiler_DEFAULT=$CC
++
++# save warnings/boilerplate of simple test code
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_compile_test_code" >conftest.$ac_ext
++eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_compiler_boilerplate=`cat conftest.err`
++$RM conftest*
++
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_link_test_code" >conftest.$ac_ext
++eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_linker_boilerplate=`cat conftest.err`
++$RM -r conftest*
++
++
++## CAVEAT EMPTOR:
++## There is no encapsulation within the following macros, do not change
++## the running order or otherwise move them around unless you know exactly
++## what you are doing...
++if test -n "$compiler"; then
++
++lt_prog_compiler_no_builtin_flag=
++
++if test "$GCC" = yes; then
++ lt_prog_compiler_no_builtin_flag=' -fno-builtin'
++
++ { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
++echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
++if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_prog_compiler_rtti_exceptions=no
++ ac_outfile=conftest.$ac_objext
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++ lt_compiler_flag="-fno-rtti -fno-exceptions"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ # The option is referenced via a variable to avoid confusing sed.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5)
++ (eval "$lt_compile" 2>conftest.err)
++ ac_status=$?
++ cat conftest.err >&5
++ echo "$as_me:__oline__: \$? = $ac_status" >&5
++ if (exit $ac_status) && test -s "$ac_outfile"; then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings other than the usual output.
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_rtti_exceptions=yes
++ fi
++ fi
++ $RM conftest*
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
++
++if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
++ lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
++else
++ :
++fi
++
++fi
++
++
++
++
++
++
++ lt_prog_compiler_wl=
++lt_prog_compiler_pic=
++lt_prog_compiler_static=
++
++{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
++echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
++
++ if test "$GCC" = yes; then
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_static='-static'
++
++ case $host_os in
++ aix*)
++ # All AIX code is PIC.
++ if test "$host_cpu" = ia64; then
++ # AIX 5 now supports IA64 processor
++ lt_prog_compiler_static='-Bstatic'
++ fi
++ ;;
++
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ lt_prog_compiler_pic='-fPIC'
++ ;;
++ m68k)
++ # FIXME: we need at least 68020 code to build shared libraries, but
++ # adding the `-m68020' flag to GCC prevents building anything better,
++ # like `-m68040'.
++ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
++ ;;
++ esac
++ ;;
++
++ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
++ # PIC is the default for these OSes.
++ ;;
++
++ mingw* | cygwin* | pw32* | os2*)
++ # This hack is so that the source file can tell whether it is being
++ # built for inclusion in a dll (and should export symbols for example).
++ # Although the cygwin gcc ignores -fPIC, still need this for old-style
++ # (--disable-auto-import) libraries
++ lt_prog_compiler_pic='-DDLL_EXPORT'
++ ;;
++
++ darwin* | rhapsody*)
++ # PIC is the default on this platform
++ # Common symbols not allowed in MH_DYLIB files
++ lt_prog_compiler_pic='-fno-common'
++ ;;
++
++ hpux*)
++ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
++ # not for PA HP-UX.
++ case $host_cpu in
++ hppa*64*|ia64*)
++ # +Z the default
++ ;;
++ *)
++ lt_prog_compiler_pic='-fPIC'
++ ;;
++ esac
++ ;;
++
++ interix[3-9]*)
++ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
++ # Instead, we relocate shared libraries at runtime.
++ ;;
++
++ msdosdjgpp*)
++ # Just because we use GCC doesn't mean we suddenly get shared libraries
++ # on systems that don't support them.
++ lt_prog_compiler_can_build_shared=no
++ enable_shared=no
++ ;;
++
++ *nto* | *qnx*)
++ # QNX uses GNU C++, but need to define -shared option too, otherwise
++ # it will coredump.
++ lt_prog_compiler_pic='-fPIC -shared'
++ ;;
++
++ sysv4*MP*)
++ if test -d /usr/nec; then
++ lt_prog_compiler_pic=-Kconform_pic
++ fi
++ ;;
++
++ *)
++ lt_prog_compiler_pic='-fPIC'
++ ;;
++ esac
++ else
++ # PORTME Check for flag to pass linker flags through the system compiler.
++ case $host_os in
++ aix*)
++ lt_prog_compiler_wl='-Wl,'
++ if test "$host_cpu" = ia64; then
++ # AIX 5 now supports IA64 processor
++ lt_prog_compiler_static='-Bstatic'
++ else
++ lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
++ fi
++ ;;
++
++ mingw* | cygwin* | pw32* | os2*)
++ # This hack is so that the source file can tell whether it is being
++ # built for inclusion in a dll (and should export symbols for example).
++ lt_prog_compiler_pic='-DDLL_EXPORT'
++ ;;
++
++ hpux9* | hpux10* | hpux11*)
++ lt_prog_compiler_wl='-Wl,'
++ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
++ # not for PA HP-UX.
++ case $host_cpu in
++ hppa*64*|ia64*)
++ # +Z the default
++ ;;
++ *)
++ lt_prog_compiler_pic='+Z'
++ ;;
++ esac
++ # Is there a better lt_prog_compiler_static that works with the bundled CC?
++ lt_prog_compiler_static='${wl}-a ${wl}archive'
++ ;;
++
++ irix5* | irix6* | nonstopux*)
++ lt_prog_compiler_wl='-Wl,'
++ # PIC (with -KPIC) is the default.
++ lt_prog_compiler_static='-non_shared'
++ ;;
++
++ linux* | k*bsd*-gnu)
++ case $cc_basename in
++ icc* | ecc* | ifort*)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-static'
++ ;;
++ pgcc* | pgf77* | pgf90* | pgf95*)
++ # Portland Group compilers (*not* the Pentium gcc compiler,
++ # which looks to be a dead project)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-fpic'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++ ccc*)
++ lt_prog_compiler_wl='-Wl,'
++ # All Alpha code is PIC.
++ lt_prog_compiler_static='-non_shared'
++ ;;
++ xl*)
++ # IBM XL C 8.0/Fortran 10.1 on PPC
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-qpic'
++ lt_prog_compiler_static='-qstaticlink'
++ ;;
++ *)
++ case `$CC -V 2>&1 | sed 5q` in
++ *Sun\ C*)
++ # Sun C 5.9
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ lt_prog_compiler_wl='-Wl,'
++ ;;
++ *Sun\ F*)
++ # Sun Fortran 8.3 passes all unrecognized flags to the linker
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ lt_prog_compiler_wl=''
++ ;;
++ esac
++ ;;
++ esac
++ ;;
++
++ newsos6)
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++
++ *nto* | *qnx*)
++ # QNX uses GNU C++, but need to define -shared option too, otherwise
++ # it will coredump.
++ lt_prog_compiler_pic='-fPIC -shared'
++ ;;
++
++ osf3* | osf4* | osf5*)
++ lt_prog_compiler_wl='-Wl,'
++ # All OSF/1 code is PIC.
++ lt_prog_compiler_static='-non_shared'
++ ;;
++
++ rdos*)
++ lt_prog_compiler_static='-non_shared'
++ ;;
++
++ solaris*)
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ case $cc_basename in
++ f77* | f90* | f95*)
++ lt_prog_compiler_wl='-Qoption ld ';;
++ *)
++ lt_prog_compiler_wl='-Wl,';;
++ esac
++ ;;
++
++ sunos4*)
++ lt_prog_compiler_wl='-Qoption ld '
++ lt_prog_compiler_pic='-PIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++
++ sysv4 | sysv4.2uw2* | sysv4.3*)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++
++ sysv4*MP*)
++ if test -d /usr/nec ;then
++ lt_prog_compiler_pic='-Kconform_pic'
++ lt_prog_compiler_static='-Bstatic'
++ fi
++ ;;
++
++ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++
++ unicos*)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_can_build_shared=no
++ ;;
++
++ uts4*)
++ lt_prog_compiler_pic='-pic'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++
++ *)
++ lt_prog_compiler_can_build_shared=no
++ ;;
++ esac
++ fi
++
++case $host_os in
++ # For platforms which do not support PIC, -DPIC is meaningless:
++ *djgpp*)
++ lt_prog_compiler_pic=
++ ;;
++ *)
++ lt_prog_compiler_pic="$lt_prog_compiler_pic@&t@ -DPIC"
++ ;;
++esac
++{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
++echo "${ECHO_T}$lt_prog_compiler_pic" >&6; }
++
++
++
++
++
++
++#
++# Check to make sure the PIC flag actually works.
++#
++if test -n "$lt_prog_compiler_pic"; then
++ { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
++echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
++if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_prog_compiler_pic_works=no
++ ac_outfile=conftest.$ac_objext
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++ lt_compiler_flag="$lt_prog_compiler_pic@&t@ -DPIC"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ # The option is referenced via a variable to avoid confusing sed.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5)
++ (eval "$lt_compile" 2>conftest.err)
++ ac_status=$?
++ cat conftest.err >&5
++ echo "$as_me:__oline__: \$? = $ac_status" >&5
++ if (exit $ac_status) && test -s "$ac_outfile"; then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings other than the usual output.
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_pic_works=yes
++ fi
++ fi
++ $RM conftest*
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_pic_works" >&6; }
++
++if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
++ case $lt_prog_compiler_pic in
++ "" | " "*) ;;
++ *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
++ esac
++else
++ lt_prog_compiler_pic=
++ lt_prog_compiler_can_build_shared=no
++fi
++
++fi
++
++
++
++
++
++
++#
++# Check to make sure the static flag actually works.
++#
++wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
++{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
++echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
++if test "${lt_cv_prog_compiler_static_works+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_prog_compiler_static_works=no
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
++ echo "$lt_simple_link_test_code" > conftest.$ac_ext
++ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
++ # The linker can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ if test -s conftest.err; then
++ # Append any errors to the config.log.
++ cat conftest.err 1>&5
++ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++ if diff conftest.exp conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_static_works=yes
++ fi
++ else
++ lt_cv_prog_compiler_static_works=yes
++ fi
++ fi
++ $RM -r conftest*
++ LDFLAGS="$save_LDFLAGS"
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_static_works" >&6; }
++
++if test x"$lt_cv_prog_compiler_static_works" = xyes; then
++ :
++else
++ lt_prog_compiler_static=
++fi
++
++
++
++
++
++
++
++ { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
++echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
++if test "${lt_cv_prog_compiler_c_o+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_prog_compiler_c_o=no
++ $RM -r conftest 2>/dev/null
++ mkdir conftest
++ cd conftest
++ mkdir out
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++
++ lt_compiler_flag="-o out/conftest2.$ac_objext"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5)
++ (eval "$lt_compile" 2>out/conftest.err)
++ ac_status=$?
++ cat out/conftest.err >&5
++ echo "$as_me:__oline__: \$? = $ac_status" >&5
++ if (exit $ac_status) && test -s out/conftest2.$ac_objext
++ then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
++ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
++ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_c_o=yes
++ fi
++ fi
++ chmod u+w . 2>&5
++ $RM conftest*
++ # SGI C++ compiler will create directory out/ii_files/ for
++ # template instantiation
++ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
++ $RM out/* && rmdir out
++ cd ..
++ $RM -r conftest
++ $RM conftest*
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
++
++
++
++
++
++
++ { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
++echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
++if test "${lt_cv_prog_compiler_c_o+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_prog_compiler_c_o=no
++ $RM -r conftest 2>/dev/null
++ mkdir conftest
++ cd conftest
++ mkdir out
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++
++ lt_compiler_flag="-o out/conftest2.$ac_objext"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5)
++ (eval "$lt_compile" 2>out/conftest.err)
++ ac_status=$?
++ cat out/conftest.err >&5
++ echo "$as_me:__oline__: \$? = $ac_status" >&5
++ if (exit $ac_status) && test -s out/conftest2.$ac_objext
++ then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
++ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
++ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_c_o=yes
++ fi
++ fi
++ chmod u+w . 2>&5
++ $RM conftest*
++ # SGI C++ compiler will create directory out/ii_files/ for
++ # template instantiation
++ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
++ $RM out/* && rmdir out
++ cd ..
++ $RM -r conftest
++ $RM conftest*
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
++
++
++
++
++hard_links="nottested"
++if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
++ # do not overwrite the value of need_locks provided by the user
++ { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
++echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
++ hard_links=yes
++ $RM conftest*
++ ln conftest.a conftest.b 2>/dev/null && hard_links=no
++ touch conftest.a
++ ln conftest.a conftest.b 2>&5 || hard_links=no
++ ln conftest.a conftest.b 2>/dev/null && hard_links=no
++ { echo "$as_me:$LINENO: result: $hard_links" >&5
++echo "${ECHO_T}$hard_links" >&6; }
++ if test "$hard_links" = no; then
++ { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
++echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
++ need_locks=warn
++ fi
++else
++ need_locks=no
++fi
++
++
++
++
++
++
++ { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
++echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
++
++ runpath_var=
++ allow_undefined_flag=
++ always_export_symbols=no
++ archive_cmds=
++ archive_expsym_cmds=
++ compiler_needs_object=no
++ enable_shared_with_static_runtimes=no
++ export_dynamic_flag_spec=
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
++ hardcode_automatic=no
++ hardcode_direct=no
++ hardcode_direct_absolute=no
++ hardcode_libdir_flag_spec=
++ hardcode_libdir_flag_spec_ld=
++ hardcode_libdir_separator=
++ hardcode_minus_L=no
++ hardcode_shlibpath_var=unsupported
++ inherit_rpath=no
++ link_all_deplibs=unknown
++ module_cmds=
++ module_expsym_cmds=
++ old_archive_from_new_cmds=
++ old_archive_from_expsyms_cmds=
++ thread_safe_flag_spec=
++ whole_archive_flag_spec=
++ # include_expsyms should be a list of space-separated symbols to be *always*
++ # included in the symbol list
++ include_expsyms=
++ # exclude_expsyms can be an extended regexp of symbols to exclude
++ # it will be wrapped by ` (' and `)$', so one must not match beginning or
++ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
++ # as well as any symbol that contains `d'.
++ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
++ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
++ # platforms (ab)use it in PIC code, but their linkers get confused if
++ # the symbol is explicitly referenced. Since portable code cannot
++ # rely on this symbol name, it's probably fine to never include it in
++ # preloaded symbol tables.
++ # Exclude shared library initialization/finalization symbols.
++ extract_expsyms_cmds=
++
++ case $host_os in
++ cygwin* | mingw* | pw32*)
++ # FIXME: the MSVC++ port hasn't been tested in a loooong time
++ # When not using gcc, we currently assume that we are using
++ # Microsoft Visual C++.
++ if test "$GCC" != yes; then
++ with_gnu_ld=no
++ fi
++ ;;
++ interix*)
++ # we just hope/assume this is gcc and not c89 (= MSVC++)
++ with_gnu_ld=yes
++ ;;
++ openbsd*)
++ with_gnu_ld=no
++ ;;
++ esac
++
++ ld_shlibs=yes
++ if test "$with_gnu_ld" = yes; then
++ # If archive_cmds runs LD, not CC, wlarc should be empty
++ wlarc='${wl}'
++
++ # Set some defaults for GNU ld with shared library support. These
++ # are reset later if shared libraries are not supported. Putting them
++ # here allows them to be overridden if necessary.
++ runpath_var=LD_RUN_PATH
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ export_dynamic_flag_spec='${wl}--export-dynamic'
++ # ancient GNU ld didn't support --whole-archive et. al.
++ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
++ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
++ else
++ whole_archive_flag_spec=
++ fi
++ supports_anon_versioning=no
++ case `$LD -v 2>&1` in
++ *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
++ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
++ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
++ *\ 2.11.*) ;; # other 2.11 versions
++ *) supports_anon_versioning=yes ;;
++ esac
++
++ # See if GNU ld supports shared libraries.
++ case $host_os in
++ aix[3-9]*)
++ # On AIX/PPC, the GNU linker is very broken
++ if test "$host_cpu" != ia64; then
++ ld_shlibs=no
++ cat <<_LT_EOF 1>&2
++
++*** Warning: the GNU linker, at least up to release 2.9.1, is reported
++*** to be unable to reliably create shared libraries on AIX.
++*** Therefore, libtool is disabling shared libraries support. If you
++*** really care for shared libraries, you may want to modify your PATH
++*** so that a non-GNU linker is found, and then restart.
++
++_LT_EOF
++ fi
++ ;;
++
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds=''
++ ;;
++ m68k)
++ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_minus_L=yes
++ ;;
++ esac
++ ;;
++
++ beos*)
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ allow_undefined_flag=unsupported
++ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
++ # support --undefined. This deserves some investigation. FIXME
++ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++
++ cygwin* | mingw* | pw32*)
++ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
++ # as there is no search path for DLLs.
++ hardcode_libdir_flag_spec='-L$libdir'
++ allow_undefined_flag=unsupported
++ always_export_symbols=no
++ enable_shared_with_static_runtimes=yes
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++
++ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ # If the export-symbols file already is a .def file (1st line
++ # is EXPORTS), use it as is; otherwise, prepend...
++ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ cp $export_symbols $output_objdir/$soname.def;
++ else
++ echo EXPORTS > $output_objdir/$soname.def;
++ cat $export_symbols >> $output_objdir/$soname.def;
++ fi~
++ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++
++ interix[3-9]*)
++ hardcode_direct=no
++ hardcode_shlibpath_var=no
++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
++ export_dynamic_flag_spec='${wl}-E'
++ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
++ # Instead, shared libraries are loaded at an image base (0x10000000 by
++ # default) and relocated if they conflict, which is a slow very memory
++ # consuming and fragmenting process. To avoid this, we pick a random,
++ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
++ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++ archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++ ;;
++
++ gnu* | linux* | tpf* | k*bsd*-gnu)
++ tmp_diet=no
++ if test "$host_os" = linux-dietlibc; then
++ case $cc_basename in
++ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
++ esac
++ fi
++ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
++ && test "$tmp_diet" = no
++ then
++ tmp_addflag=
++ tmp_sharedflag='-shared'
++ case $cc_basename,$host_cpu in
++ pgcc*) # Portland Group C compiler
++ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ tmp_addflag=' $pic_flag'
++ ;;
++ pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
++ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ tmp_addflag=' $pic_flag -Mnomain' ;;
++ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
++ tmp_addflag=' -i_dynamic' ;;
++ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
++ tmp_addflag=' -i_dynamic -nofor_main' ;;
++ ifc* | ifort*) # Intel Fortran compiler
++ tmp_addflag=' -nofor_main' ;;
++ xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
++ tmp_sharedflag='-qmkshrobj'
++ tmp_addflag= ;;
++ esac
++ case `$CC -V 2>&1 | sed 5q` in
++ *Sun\ C*) # Sun C 5.9
++ whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ compiler_needs_object=yes
++ tmp_sharedflag='-G' ;;
++ *Sun\ F*) # Sun Fortran 8.3
++ tmp_sharedflag='-G' ;;
++ esac
++ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++
++ if test "x$supports_anon_versioning" = xyes; then
++ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
++ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
++ echo "local: *; };" >> $output_objdir/$libname.ver~
++ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
++ fi
++
++ case $cc_basename in
++ xlf*)
++ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
++ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
++ hardcode_libdir_flag_spec=
++ hardcode_libdir_flag_spec_ld='-rpath $libdir'
++ archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
++ if test "x$supports_anon_versioning" = xyes; then
++ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
++ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
++ echo "local: *; };" >> $output_objdir/$libname.ver~
++ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
++ fi
++ ;;
++ esac
++ else
++ ld_shlibs=no
++ fi
++ ;;
++
++ netbsd*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
++ wlarc=
++ else
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ fi
++ ;;
++
++ solaris*)
++ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
++ ld_shlibs=no
++ cat <<_LT_EOF 1>&2
++
++*** Warning: The releases 2.8.* of the GNU linker cannot reliably
++*** create shared libraries on Solaris systems. Therefore, libtool
++*** is disabling shared libraries support. We urge you to upgrade GNU
++*** binutils to release 2.9.1 or newer. Another option is to modify
++*** your PATH or compiler configuration so that the native linker is
++*** used, and then restart.
++
++_LT_EOF
++ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++
++ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
++ case `$LD -v 2>&1` in
++ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
++ ld_shlibs=no
++ cat <<_LT_EOF 1>&2
++
++*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
++*** reliably create shared libraries on SCO systems. Therefore, libtool
++*** is disabling shared libraries support. We urge you to upgrade GNU
++*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
++*** your PATH or compiler configuration so that the native linker is
++*** used, and then restart.
++
++_LT_EOF
++ ;;
++ *)
++ # For security reasons, it is highly recommended that you always
++ # use absolute paths for naming shared libraries, and exclude the
++ # DT_RUNPATH tag from executables and libraries. But doing so
++ # requires that you compile everything twice, which is a pain.
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++ esac
++ ;;
++
++ sunos4*)
++ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++ wlarc=
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ *)
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++ esac
++
++ if test "$ld_shlibs" = no; then
++ runpath_var=
++ hardcode_libdir_flag_spec=
++ export_dynamic_flag_spec=
++ whole_archive_flag_spec=
++ fi
++ else
++ # PORTME fill in a description of your system's linker (not GNU ld)
++ case $host_os in
++ aix3*)
++ allow_undefined_flag=unsupported
++ always_export_symbols=yes
++ archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
++ # Note: this linker hardcodes the directories in LIBPATH if there
++ # are no directories specified by -L.
++ hardcode_minus_L=yes
++ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
++ # Neither direct hardcoding nor static linking is supported with a
++ # broken collect2.
++ hardcode_direct=unsupported
++ fi
++ ;;
++
++ aix[4-9]*)
++ if test "$host_cpu" = ia64; then
++ # On IA64, the linker does run time linking by default, so we don't
++ # have to do anything special.
++ aix_use_runtimelinking=no
++ exp_sym_flag='-Bexport'
++ no_entry_flag=""
++ else
++ # If we're using GNU nm, then we don't want the "-C" option.
++ # -C means demangle to AIX nm, but means don't demangle with GNU nm
++ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
++ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ else
++ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ fi
++ aix_use_runtimelinking=no
++
++ # Test if we are trying to use run time linking or normal
++ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
++ # need to do runtime linking.
++ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
++ for ld_flag in $LDFLAGS; do
++ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
++ aix_use_runtimelinking=yes
++ break
++ fi
++ done
++ ;;
++ esac
++
++ exp_sym_flag='-bexport'
++ no_entry_flag='-bnoentry'
++ fi
++
++ # When large executables or shared objects are built, AIX ld can
++ # have problems creating the table of contents. If linking a library
++ # or program results in "error TOC overflow" add -mminimal-toc to
++ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
++ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
++
++ archive_cmds=''
++ hardcode_direct=yes
++ hardcode_direct_absolute=yes
++ hardcode_libdir_separator=':'
++ link_all_deplibs=yes
++ file_list_spec='${wl}-f,'
++
++ if test "$GCC" = yes; then
++ case $host_os in aix4.[012]|aix4.[012].*)
++ # We only want to do this on AIX 4.2 and lower, the check
++ # below for broken collect2 doesn't work under 4.3+
++ collect2name=`${CC} -print-prog-name=collect2`
++ if test -f "$collect2name" &&
++ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
++ then
++ # We have reworked collect2
++ :
++ else
++ # We have old collect2
++ hardcode_direct=unsupported
++ # It fails to find uninstalled libraries when the uninstalled
++ # path is not listed in the libpath. Setting hardcode_minus_L
++ # to unsupported forces relinking
++ hardcode_minus_L=yes
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_libdir_separator=
++ fi
++ ;;
++ esac
++ shared_flag='-shared'
++ if test "$aix_use_runtimelinking" = yes; then
++ shared_flag="$shared_flag "'${wl}-G'
++ fi
++ else
++ # not using gcc
++ if test "$host_cpu" = ia64; then
++ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
++ # chokes on -Wl,-G. The following line is correct:
++ shared_flag='-G'
++ else
++ if test "$aix_use_runtimelinking" = yes; then
++ shared_flag='${wl}-G'
++ else
++ shared_flag='${wl}-bM:SRE'
++ fi
++ fi
++ fi
++
++ # It seems that -bexpall does not export symbols beginning with
++ # underscore (_), so it is better to generate a list of symbols to export.
++ always_export_symbols=yes
++ if test "$aix_use_runtimelinking" = yes; then
++ # Warning - without using the other runtime loading flags (-brtl),
++ # -berok will link without error, but may produce a broken library.
++ allow_undefined_flag='-berok'
++ # Determine the default libpath from the value encoded in an
++ # empty executable.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++
++lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\(.*\)$/\1/
++ p
++ }
++ }'
++aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++# Check for a 64-bit object if we didn't find anything.
++if test -z "$aix_libpath"; then
++ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++fi
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++
++ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
++ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
++ else
++ if test "$host_cpu" = ia64; then
++ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
++ allow_undefined_flag="-z nodefs"
++ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
++ else
++ # Determine the default libpath from the value encoded in an
++ # empty executable.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++
++lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\(.*\)$/\1/
++ p
++ }
++ }'
++aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++# Check for a 64-bit object if we didn't find anything.
++if test -z "$aix_libpath"; then
++ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++fi
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++
++ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
++ # Warning - without using the other run time loading flags,
++ # -berok will link without error, but may produce a broken library.
++ no_undefined_flag=' ${wl}-bernotok'
++ allow_undefined_flag=' ${wl}-berok'
++ # Exported symbols can be pulled into shared objects from archives
++ whole_archive_flag_spec='$convenience'
++ archive_cmds_need_lc=yes
++ # This is similar to how AIX traditionally builds its shared libraries.
++ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
++ fi
++ fi
++ ;;
++
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds=''
++ ;;
++ m68k)
++ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_minus_L=yes
++ ;;
++ esac
++ ;;
++
++ bsdi[45]*)
++ export_dynamic_flag_spec=-rdynamic
++ ;;
++
++ cygwin* | mingw* | pw32*)
++ # When not using gcc, we currently assume that we are using
++ # Microsoft Visual C++.
++ # hardcode_libdir_flag_spec is actually meaningless, as there is
++ # no search path for DLLs.
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
++ # The linker will automatically build a .lib file if we build a DLL.
++ old_archive_from_new_cmds='true'
++ # FIXME: Should let the user specify the lib program.
++ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
++ fix_srcfile_path='`cygpath -w "$srcfile"`'
++ enable_shared_with_static_runtimes=yes
++ ;;
++
++ darwin* | rhapsody*)
++
++
++ archive_cmds_need_lc=no
++ hardcode_direct=no
++ hardcode_automatic=yes
++ hardcode_shlibpath_var=unsupported
++ whole_archive_flag_spec=''
++ link_all_deplibs=yes
++ allow_undefined_flag="$_lt_dar_allow_undefined"
++ if test "$GCC" = "yes"; then
++ output_verbose_link_cmd=echo
++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
++
++ else
++ ld_shlibs=no
++ fi
++
++ ;;
++
++ dgux*)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_shlibpath_var=no
++ ;;
++
++ freebsd1*)
++ ld_shlibs=no
++ ;;
++
++ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
++ # support. Future versions do this automatically, but an explicit c++rt0.o
++ # does not break anything, and helps significantly (at the cost of a little
++ # extra space).
++ freebsd2.2*)
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
++ freebsd2*)
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_direct=yes
++ hardcode_minus_L=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
++ freebsd* | dragonfly*)
++ archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ hpux9*)
++ if test "$GCC" = yes; then
++ archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ else
++ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ fi
++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
++ hardcode_libdir_separator=:
++ hardcode_direct=yes
++
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ hardcode_minus_L=yes
++ export_dynamic_flag_spec='${wl}-E'
++ ;;
++
++ hpux10*)
++ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
++ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
++ fi
++ if test "$with_gnu_ld" = no; then
++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
++ hardcode_libdir_flag_spec_ld='+b $libdir'
++ hardcode_libdir_separator=:
++ hardcode_direct=yes
++ hardcode_direct_absolute=yes
++ export_dynamic_flag_spec='${wl}-E'
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ hardcode_minus_L=yes
++ fi
++ ;;
++
++ hpux11*)
++ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
++ case $host_cpu in
++ hppa*64*)
++ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ ia64*)
++ archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ *)
++ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ esac
++ else
++ case $host_cpu in
++ hppa*64*)
++ archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ ia64*)
++ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ *)
++ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ esac
++ fi
++ if test "$with_gnu_ld" = no; then
++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
++ hardcode_libdir_separator=:
++
++ case $host_cpu in
++ hppa*64*|ia64*)
++ hardcode_direct=no
++ hardcode_shlibpath_var=no
++ ;;
++ *)
++ hardcode_direct=yes
++ hardcode_direct_absolute=yes
++ export_dynamic_flag_spec='${wl}-E'
++
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ hardcode_minus_L=yes
++ ;;
++ esac
++ fi
++ ;;
++
++ irix5* | irix6* | nonstopux*)
++ if test "$GCC" = yes; then
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ # Try to use the -exported_symbol ld option, if it does not
++ # work, assume that -exports_file does not work either and
++ # implicitly export all symbols.
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++ cat >conftest.$ac_ext <<_ACEOF
++int foo(void) {}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
++
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ LDFLAGS="$save_LDFLAGS"
++ else
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
++ fi
++ archive_cmds_need_lc='no'
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ hardcode_libdir_separator=:
++ inherit_rpath=yes
++ link_all_deplibs=yes
++ ;;
++
++ netbsd*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
++ else
++ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
++ fi
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ newsos6)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_direct=yes
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ hardcode_libdir_separator=:
++ hardcode_shlibpath_var=no
++ ;;
++
++ *nto* | *qnx*)
++ ;;
++
++ openbsd*)
++ if test -f /usr/libexec/ld.so; then
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ hardcode_direct_absolute=yes
++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
++ export_dynamic_flag_spec='${wl}-E'
++ else
++ case $host_os in
++ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_libdir_flag_spec='-R$libdir'
++ ;;
++ *)
++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
++ ;;
++ esac
++ fi
++ else
++ ld_shlibs=no
++ fi
++ ;;
++
++ os2*)
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_minus_L=yes
++ allow_undefined_flag=unsupported
++ archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
++ old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
++ ;;
++
++ osf3*)
++ if test "$GCC" = yes; then
++ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ else
++ allow_undefined_flag=' -expect_unresolved \*'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ fi
++ archive_cmds_need_lc='no'
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ hardcode_libdir_separator=:
++ ;;
++
++ osf4* | osf5*) # as osf3* with the addition of -msym flag
++ if test "$GCC" = yes; then
++ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ else
++ allow_undefined_flag=' -expect_unresolved \*'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
++ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
++
++ # Both c and cxx compiler support -rpath directly
++ hardcode_libdir_flag_spec='-rpath $libdir'
++ fi
++ archive_cmds_need_lc='no'
++ hardcode_libdir_separator=:
++ ;;
++
++ solaris*)
++ no_undefined_flag=' -z defs'
++ if test "$GCC" = yes; then
++ wlarc='${wl}'
++ archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ else
++ case `$CC -V 2>&1` in
++ *"Compilers 5.0"*)
++ wlarc=''
++ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
++ ;;
++ *)
++ wlarc='${wl}'
++ archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ ;;
++ esac
++ fi
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_shlibpath_var=no
++ case $host_os in
++ solaris2.[0-5] | solaris2.[0-5].*) ;;
++ *)
++ # The compiler driver will combine and reorder linker options,
++ # but understands `-z linker_flag'. GCC discards it without `$wl',
++ # but is careful enough not to reorder.
++ # Supported since Solaris 2.6 (maybe 2.5.1?)
++ if test "$GCC" = yes; then
++ whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
++ else
++ whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
++ fi
++ ;;
++ esac
++ link_all_deplibs=yes
++ ;;
++
++ sunos4*)
++ if test "x$host_vendor" = xsequent; then
++ # Use $CC to link under sequent, because it throws in some extra .o
++ # files that make .init and .fini sections work.
++ archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
++ fi
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_direct=yes
++ hardcode_minus_L=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ sysv4)
++ case $host_vendor in
++ sni)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_direct=yes # is this really true???
++ ;;
++ siemens)
++ ## LD is ld it makes a PLAMLIB
++ ## CC just makes a GrossModule.
++ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
++ reload_cmds='$CC -r -o $output$reload_objs'
++ hardcode_direct=no
++ ;;
++ motorola)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
++ ;;
++ esac
++ runpath_var='LD_RUN_PATH'
++ hardcode_shlibpath_var=no
++ ;;
++
++ sysv4.3*)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_shlibpath_var=no
++ export_dynamic_flag_spec='-Bexport'
++ ;;
++
++ sysv4*MP*)
++ if test -d /usr/nec; then
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_shlibpath_var=no
++ runpath_var=LD_RUN_PATH
++ hardcode_runpath_var=yes
++ ld_shlibs=yes
++ fi
++ ;;
++
++ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
++ no_undefined_flag='${wl}-z,text'
++ archive_cmds_need_lc=no
++ hardcode_shlibpath_var=no
++ runpath_var='LD_RUN_PATH'
++
++ if test "$GCC" = yes; then
++ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ fi
++ ;;
++
++ sysv5* | sco3.2v5* | sco5v6*)
++ # Note: We can NOT use -z defs as we might desire, because we do not
++ # link with -lc, and that would cause any symbols used from libc to
++ # always be unresolved, which means just about no library would
++ # ever link correctly. If we're not using GNU ld we use -z text
++ # though, which does catch some bad symbols but isn't as heavy-handed
++ # as -z defs.
++ no_undefined_flag='${wl}-z,text'
++ allow_undefined_flag='${wl}-z,nodefs'
++ archive_cmds_need_lc=no
++ hardcode_shlibpath_var=no
++ hardcode_libdir_flag_spec='${wl}-R,$libdir'
++ hardcode_libdir_separator=':'
++ link_all_deplibs=yes
++ export_dynamic_flag_spec='${wl}-Bexport'
++ runpath_var='LD_RUN_PATH'
++
++ if test "$GCC" = yes; then
++ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ fi
++ ;;
++
++ uts4*)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_shlibpath_var=no
++ ;;
++
++ *)
++ ld_shlibs=no
++ ;;
++ esac
++
++ if test x$host_vendor = xsni; then
++ case $host in
++ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
++ export_dynamic_flag_spec='${wl}-Blargedynsym'
++ ;;
++ esac
++ fi
++ fi
++
++{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
++echo "${ECHO_T}$ld_shlibs" >&6; }
++test "$ld_shlibs" = no && can_build_shared=no
++
++with_gnu_ld=$with_gnu_ld
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++#
++# Do we need to explicitly link libc?
++#
++case "x$archive_cmds_need_lc" in
++x|xyes)
++ # Assume -lc should be added
++ archive_cmds_need_lc=yes
++
++ if test "$enable_shared" = yes && test "$GCC" = yes; then
++ case $archive_cmds in
++ *'~'*)
++ # FIXME: we may have to deal with multi-command sequences.
++ ;;
++ '$CC '*)
++ # Test whether the compiler implicitly links with -lc since on some
++ # systems, -lgcc has to come before -lc. If gcc already passes -lc
++ # to ld, don't add -lc before -lgcc.
++ { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
++echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
++ $RM conftest*
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } 2>conftest.err; then
++ soname=conftest
++ lib=conftest
++ libobjs=conftest.$ac_objext
++ deplibs=
++ wl=$lt_prog_compiler_wl
++ pic_flag=$lt_prog_compiler_pic
++ compiler_flags=-v
++ linker_flags=-v
++ verstring=
++ output_objdir=.
++ libname=conftest
++ lt_save_allow_undefined_flag=$allow_undefined_flag
++ allow_undefined_flag=
++ if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
++ (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++ then
++ archive_cmds_need_lc=no
++ else
++ archive_cmds_need_lc=yes
++ fi
++ allow_undefined_flag=$lt_save_allow_undefined_flag
++ else
++ cat conftest.err 1>&5
++ fi
++ $RM conftest*
++ { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
++echo "${ECHO_T}$archive_cmds_need_lc" >&6; }
++ ;;
++ esac
++ fi
++ ;;
++esac
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
++echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
++
++if test "$GCC" = yes; then
++ case $host_os in
++ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
++ *) lt_awk_arg="/^libraries:/" ;;
++ esac
++ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
++ if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
++ # if the path contains ";" then we assume it to be the separator
++ # otherwise default to the standard path separator (i.e. ":") - it is
++ # assumed that no part of a normal pathname contains ";" but that should
++ # okay in the real world where ";" in dirpaths is itself problematic.
++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ # Ok, now we have the path, separated by spaces, we can step through it
++ # and add multilib dir if necessary.
++ lt_tmp_lt_search_path_spec=
++ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
++ for lt_sys_path in $lt_search_path_spec; do
++ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
++ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
++ else
++ test -d "$lt_sys_path" && \
++ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
++ fi
++ done
++ lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
++BEGIN {RS=" "; FS="/|\n";} {
++ lt_foo="";
++ lt_count=0;
++ for (lt_i = NF; lt_i > 0; lt_i--) {
++ if ($lt_i != "" && $lt_i != ".") {
++ if ($lt_i == "..") {
++ lt_count++;
++ } else {
++ if (lt_count == 0) {
++ lt_foo="/" $lt_i lt_foo;
++ } else {
++ lt_count--;
++ }
++ }
++ }
++ }
++ if (lt_foo != "") { lt_freq[lt_foo]++; }
++ if (lt_freq[lt_foo] == 1) { print lt_foo; }
++}'`
++ sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
++else
++ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
++fi
++library_names_spec=
++libname_spec='lib$name'
++soname_spec=
++shrext_cmds=".so"
++postinstall_cmds=
++postuninstall_cmds=
++finish_cmds=
++finish_eval=
++shlibpath_var=
++shlibpath_overrides_runpath=unknown
++version_type=none
++dynamic_linker="$host_os ld.so"
++sys_lib_dlsearch_path_spec="/lib /usr/lib"
++need_lib_prefix=unknown
++hardcode_into_libs=no
++
++# when you set need_version to no, make sure it does not cause -set_version
++# flags to be left without arguments
++need_version=unknown
++
++case $host_os in
++aix3*)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
++ shlibpath_var=LIBPATH
++
++ # AIX 3 has no versioning support, so we append a major version to the name.
++ soname_spec='${libname}${release}${shared_ext}$major'
++ ;;
++
++aix[4-9]*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ hardcode_into_libs=yes
++ if test "$host_cpu" = ia64; then
++ # AIX 5 supports IA64
++ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ else
++ # With GCC up to 2.95.x, collect2 would create an import file
++ # for dependence libraries. The import file would start with
++ # the line `#! .'. This would cause the generated library to
++ # depend on `.', always an invalid library. This was fixed in
++ # development snapshots of GCC prior to 3.0.
++ case $host_os in
++ aix4 | aix4.[01] | aix4.[01].*)
++ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
++ echo ' yes '
++ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
++ :
++ else
++ can_build_shared=no
++ fi
++ ;;
++ esac
++ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
++ # soname into executable. Probably we can add versioning support to
++ # collect2, so additional links can be useful in future.
++ if test "$aix_use_runtimelinking" = yes; then
++ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
++ # instead of lib<name>.a to let people know that these are not
++ # typical AIX shared libraries.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ else
++ # We preserve .a as extension for shared libraries through AIX4.2
++ # and later when we are not doing run time linking.
++ library_names_spec='${libname}${release}.a $libname.a'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ fi
++ shlibpath_var=LIBPATH
++ fi
++ ;;
++
++amigaos*)
++ case $host_cpu in
++ powerpc)
++ # Since July 2007 AmigaOS4 officially supports .so libraries.
++ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ ;;
++ m68k)
++ library_names_spec='$libname.ixlibrary $libname.a'
++ # Create ${libname}_ixlibrary.a entries in /sys/libs.
++ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
++ ;;
++ esac
++ ;;
++
++beos*)
++ library_names_spec='${libname}${shared_ext}'
++ dynamic_linker="$host_os ld.so"
++ shlibpath_var=LIBRARY_PATH
++ ;;
++
++bsdi[45]*)
++ version_type=linux
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
++ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
++ # the default ld.so.conf also contains /usr/contrib/lib and
++ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
++ # libtool to hard-code these into programs
++ ;;
++
++cygwin* | mingw* | pw32*)
++ version_type=windows
++ shrext_cmds=".dll"
++ need_version=no
++ need_lib_prefix=no
++
++ case $GCC,$host_os in
++ yes,cygwin* | yes,mingw* | yes,pw32*)
++ library_names_spec='$libname.dll.a'
++ # DLL is installed to $(libdir)/../bin by postinstall_cmds
++ postinstall_cmds='base_file=`basename \${file}`~
++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++ dldir=$destdir/`dirname \$dlpath`~
++ test -d \$dldir || mkdir -p \$dldir~
++ $install_prog $dir/$dlname \$dldir/$dlname~
++ chmod a+x \$dldir/$dlname~
++ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
++ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
++ fi'
++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++ dlpath=$dir/\$dldll~
++ $RM \$dlpath'
++ shlibpath_overrides_runpath=yes
++
++ case $host_os in
++ cygwin*)
++ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
++ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
++ ;;
++ mingw*)
++ # MinGW DLLs use traditional 'lib' prefix
++ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
++ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
++ # It is most probably a Windows format PATH printed by
++ # mingw gcc, but we are running on Cygwin. Gcc prints its search
++ # path with ; separators, and with drive letters. We can handle the
++ # drive letters (cygwin fileutils understands them), so leave them,
++ # especially as we might pass files found there to a mingw objdump,
++ # which wouldn't understand a cygwinified path. Ahh.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ ;;
++ pw32*)
++ # pw32 DLLs use 'pw' prefix rather than 'lib'
++ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ ;;
++ esac
++ ;;
++
++ *)
++ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
++ ;;
++ esac
++ dynamic_linker='Win32 ld.exe'
++ # FIXME: first we should search . and the directory the executable is in
++ shlibpath_var=PATH
++ ;;
++
++darwin* | rhapsody*)
++ dynamic_linker="$host_os dyld"
++ version_type=darwin
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
++ soname_spec='${libname}${release}${major}$shared_ext'
++ shlibpath_overrides_runpath=yes
++ shlibpath_var=DYLD_LIBRARY_PATH
++ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
++
++ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
++ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
++ ;;
++
++dgux*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ ;;
++
++freebsd1*)
++ dynamic_linker=no
++ ;;
++
++freebsd* | dragonfly*)
++ # DragonFly does not have aout. When/if they implement a new
++ # versioning mechanism, adjust this.
++ if test -x /usr/bin/objformat; then
++ objformat=`/usr/bin/objformat`
++ else
++ case $host_os in
++ freebsd[123]*) objformat=aout ;;
++ *) objformat=elf ;;
++ esac
++ fi
++ version_type=freebsd-$objformat
++ case $version_type in
++ freebsd-elf*)
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
++ need_version=no
++ need_lib_prefix=no
++ ;;
++ freebsd-*)
++ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
++ need_version=yes
++ ;;
++ esac
++ shlibpath_var=LD_LIBRARY_PATH
++ case $host_os in
++ freebsd2*)
++ shlibpath_overrides_runpath=yes
++ ;;
++ freebsd3.[01]* | freebsdelf3.[01]*)
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ ;;
++ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
++ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ ;;
++ *) # from 4.6 on, and DragonFly
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ ;;
++ esac
++ ;;
++
++gnu*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ hardcode_into_libs=yes
++ ;;
++
++hpux9* | hpux10* | hpux11*)
++ # Give a soname corresponding to the major version so that dld.sl refuses to
++ # link against other versions.
++ version_type=sunos
++ need_lib_prefix=no
++ need_version=no
++ case $host_cpu in
++ ia64*)
++ shrext_cmds='.so'
++ hardcode_into_libs=yes
++ dynamic_linker="$host_os dld.so"
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ if test "X$HPUX_IA64_MODE" = X32; then
++ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
++ else
++ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
++ fi
++ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
++ ;;
++ hppa*64*)
++ shrext_cmds='.sl'
++ hardcode_into_libs=yes
++ dynamic_linker="$host_os dld.sl"
++ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
++ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
++ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
++ ;;
++ *)
++ shrext_cmds='.sl'
++ dynamic_linker="$host_os dld.sl"
++ shlibpath_var=SHLIB_PATH
++ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ ;;
++ esac
++ # HP-UX runs *really* slowly unless shared libraries are mode 555.
++ postinstall_cmds='chmod 555 $lib'
++ ;;
++
++interix[3-9]*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ ;;
++
++irix5* | irix6* | nonstopux*)
++ case $host_os in
++ nonstopux*) version_type=nonstopux ;;
++ *)
++ if test "$lt_cv_prog_gnu_ld" = yes; then
++ version_type=linux
++ else
++ version_type=irix
++ fi ;;
++ esac
++ need_lib_prefix=no
++ need_version=no
++ soname_spec='${libname}${release}${shared_ext}$major'
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
++ case $host_os in
++ irix5* | nonstopux*)
++ libsuff= shlibsuff=
++ ;;
++ *)
++ case $LD in # libtool.m4 will add one of these switches to LD
++ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
++ libsuff= shlibsuff= libmagic=32-bit;;
++ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
++ libsuff=32 shlibsuff=N32 libmagic=N32;;
++ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
++ libsuff=64 shlibsuff=64 libmagic=64-bit;;
++ *) libsuff= shlibsuff= libmagic=never-match;;
++ esac
++ ;;
++ esac
++ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
++ shlibpath_overrides_runpath=no
++ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
++ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
++ hardcode_into_libs=yes
++ ;;
++
++# No shared lib support for Linux oldld, aout, or coff.
++linux*oldld* | linux*aout* | linux*coff*)
++ dynamic_linker=no
++ ;;
++
++# This must be Linux ELF.
++linux* | k*bsd*-gnu)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ # Some binutils ld are patched to set DT_RUNPATH
++ save_LDFLAGS=$LDFLAGS
++ save_libdir=$libdir
++ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
++ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
++ shlibpath_overrides_runpath=yes
++fi
++
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ LDFLAGS=$save_LDFLAGS
++ libdir=$save_libdir
++
++ # This implies no fast_install, which is unacceptable.
++ # Some rework will be needed to allow for fast_install
++ # before this can be enabled.
++ hardcode_into_libs=yes
++
++ # Append ld.so.conf contents to the search path
++ if test -f /etc/ld.so.conf; then
++ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
++ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
++ fi
++
++ # We used to test for /lib/ld.so.1 and disable shared libraries on
++ # powerpc, because MkLinux only supported shared libraries with the
++ # GNU dynamic linker. Since this was broken with cross compilers,
++ # most powerpc-linux boxes support dynamic linking these days and
++ # people can always --disable-shared, the test was removed, and we
++ # assume the GNU/Linux dynamic linker is in use.
++ dynamic_linker='GNU/Linux ld.so'
++ ;;
++
++netbsd*)
++ version_type=sunos
++ need_lib_prefix=no
++ need_version=no
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
++ dynamic_linker='NetBSD (a.out) ld.so'
++ else
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ dynamic_linker='NetBSD ld.elf_so'
++ fi
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ ;;
++
++newsos6)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ ;;
++
++*nto* | *qnx*)
++ version_type=qnx
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ dynamic_linker='ldqnx.so'
++ ;;
++
++openbsd*)
++ version_type=sunos
++ sys_lib_dlsearch_path_spec="/usr/lib"
++ need_lib_prefix=no
++ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
++ case $host_os in
++ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
++ *) need_version=no ;;
++ esac
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ case $host_os in
++ openbsd2.[89] | openbsd2.[89].*)
++ shlibpath_overrides_runpath=no
++ ;;
++ *)
++ shlibpath_overrides_runpath=yes
++ ;;
++ esac
++ else
++ shlibpath_overrides_runpath=yes
++ fi
++ ;;
++
++os2*)
++ libname_spec='$name'
++ shrext_cmds=".dll"
++ need_lib_prefix=no
++ library_names_spec='$libname${shared_ext} $libname.a'
++ dynamic_linker='OS/2 ld.exe'
++ shlibpath_var=LIBPATH
++ ;;
++
++osf3* | osf4* | osf5*)
++ version_type=osf
++ need_lib_prefix=no
++ need_version=no
++ soname_spec='${libname}${release}${shared_ext}$major'
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
++ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
++ ;;
++
++rdos*)
++ dynamic_linker=no
++ ;;
++
++solaris*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ # ldd complains unless libraries are executable
++ postinstall_cmds='chmod +x $lib'
++ ;;
++
++sunos4*)
++ version_type=sunos
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ if test "$with_gnu_ld" = yes; then
++ need_lib_prefix=no
++ fi
++ need_version=yes
++ ;;
++
++sysv4 | sysv4.3*)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ case $host_vendor in
++ sni)
++ shlibpath_overrides_runpath=no
++ need_lib_prefix=no
++ runpath_var=LD_RUN_PATH
++ ;;
++ siemens)
++ need_lib_prefix=no
++ ;;
++ motorola)
++ need_lib_prefix=no
++ need_version=no
++ shlibpath_overrides_runpath=no
++ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
++ ;;
++ esac
++ ;;
++
++sysv4*MP*)
++ if test -d /usr/nec ;then
++ version_type=linux
++ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
++ soname_spec='$libname${shared_ext}.$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ fi
++ ;;
++
++sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
++ version_type=freebsd-elf
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ if test "$with_gnu_ld" = yes; then
++ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
++ else
++ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
++ case $host_os in
++ sco3.2v5*)
++ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
++ ;;
++ esac
++ fi
++ sys_lib_dlsearch_path_spec='/usr/lib'
++ ;;
++
++tpf*)
++ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ ;;
++
++uts4*)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ ;;
++
++*)
++ dynamic_linker=no
++ ;;
++esac
++{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
++echo "${ECHO_T}$dynamic_linker" >&6; }
++test "$dynamic_linker" = no && can_build_shared=no
++
++variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
++if test "$GCC" = yes; then
++ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
++fi
++
++if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
++ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
++fi
++if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
++ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
++echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
++hardcode_action=
++if test -n "$hardcode_libdir_flag_spec" ||
++ test -n "$runpath_var" ||
++ test "X$hardcode_automatic" = "Xyes" ; then
++
++ # We can hardcode non-existent directories.
++ if test "$hardcode_direct" != no &&
++ # If the only mechanism to avoid hardcoding is shlibpath_var, we
++ # have to relink, otherwise we might link with an installed library
++ # when we should be linking with a yet-to-be-installed one
++ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
++ test "$hardcode_minus_L" != no; then
++ # Linking always hardcodes the temporary library directory.
++ hardcode_action=relink
++ else
++ # We can link without hardcoding, and we can hardcode nonexisting dirs.
++ hardcode_action=immediate
++ fi
++else
++ # We cannot hardcode anything, or else we can only hardcode existing
++ # directories.
++ hardcode_action=unsupported
++fi
++{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
++echo "${ECHO_T}$hardcode_action" >&6; }
++
++if test "$hardcode_action" = relink ||
++ test "$inherit_rpath" = yes; then
++ # Fast installation is not supported
++ enable_fast_install=no
++elif test "$shlibpath_overrides_runpath" = yes ||
++ test "$enable_shared" = no; then
++ # Fast installation is not necessary
++ enable_fast_install=needless
++fi
++
++
++
++
++
++
++ if test "x$enable_dlopen" != xyes; then
++ enable_dlopen=unknown
++ enable_dlopen_self=unknown
++ enable_dlopen_self_static=unknown
++else
++ lt_cv_dlopen=no
++ lt_cv_dlopen_libs=
++
++ case $host_os in
++ beos*)
++ lt_cv_dlopen="load_add_on"
++ lt_cv_dlopen_libs=
++ lt_cv_dlopen_self=yes
++ ;;
++
++ mingw* | pw32*)
++ lt_cv_dlopen="LoadLibrary"
++ lt_cv_dlopen_libs=
++ ;;
++
++ cygwin*)
++ lt_cv_dlopen="dlopen"
++ lt_cv_dlopen_libs=
++ ;;
++
++ darwin*)
++ # if libdl is installed we need to link against it
++ { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
++echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_dl_dlopen+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++int
++main ()
++{
++return dlopen ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_dl_dlopen=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_dl_dlopen=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
++echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
++if test $ac_cv_lib_dl_dlopen = yes; then
++ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
++else
++
++ lt_cv_dlopen="dyld"
++ lt_cv_dlopen_libs=
++ lt_cv_dlopen_self=yes
++
++fi
++
++ ;;
++
++ *)
++ { echo "$as_me:$LINENO: checking for shl_load" >&5
++echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
++if test "${ac_cv_func_shl_load+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define shl_load innocuous_shl_load
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char shl_load (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef shl_load
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char shl_load ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_shl_load || defined __stub___shl_load
++choke me
++#endif
++
++int
++main ()
++{
++return shl_load ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func_shl_load=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_func_shl_load=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
++echo "${ECHO_T}$ac_cv_func_shl_load" >&6; }
++if test $ac_cv_func_shl_load = yes; then
++ lt_cv_dlopen="shl_load"
++else
++ { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
++echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
++if test "${ac_cv_lib_dld_shl_load+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldld $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char shl_load ();
++int
++main ()
++{
++return shl_load ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_dld_shl_load=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_dld_shl_load=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
++echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
++if test $ac_cv_lib_dld_shl_load = yes; then
++ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
++else
++ { echo "$as_me:$LINENO: checking for dlopen" >&5
++echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
++if test "${ac_cv_func_dlopen+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define dlopen innocuous_dlopen
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char dlopen (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef dlopen
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_dlopen || defined __stub___dlopen
++choke me
++#endif
++
++int
++main ()
++{
++return dlopen ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func_dlopen=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_func_dlopen=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
++echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
++if test $ac_cv_func_dlopen = yes; then
++ lt_cv_dlopen="dlopen"
++else
++ { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
++echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_dl_dlopen+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++int
++main ()
++{
++return dlopen ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_dl_dlopen=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_dl_dlopen=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
++echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
++if test $ac_cv_lib_dl_dlopen = yes; then
++ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
++else
++ { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
++echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
++if test "${ac_cv_lib_svld_dlopen+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lsvld $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++int
++main ()
++{
++return dlopen ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_svld_dlopen=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_svld_dlopen=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
++echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; }
++if test $ac_cv_lib_svld_dlopen = yes; then
++ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
++else
++ { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
++echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; }
++if test "${ac_cv_lib_dld_dld_link+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldld $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dld_link ();
++int
++main ()
++{
++return dld_link ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_dld_dld_link=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_dld_dld_link=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
++echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
++if test $ac_cv_lib_dld_dld_link = yes; then
++ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
++fi
++
++
++fi
++
++
++fi
++
++
++fi
++
++
++fi
++
++
++fi
++
++ ;;
++ esac
++
++ if test "x$lt_cv_dlopen" != xno; then
++ enable_dlopen=yes
++ else
++ enable_dlopen=no
++ fi
++
++ case $lt_cv_dlopen in
++ dlopen)
++ save_CPPFLAGS="$CPPFLAGS"
++ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
++
++ save_LDFLAGS="$LDFLAGS"
++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
++
++ save_LIBS="$LIBS"
++ LIBS="$lt_cv_dlopen_libs $LIBS"
++
++ { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
++echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; }
++if test "${lt_cv_dlopen_self+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test "$cross_compiling" = yes; then :
++ lt_cv_dlopen_self=cross
++else
++ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
++ lt_status=$lt_dlunknown
++ cat > conftest.$ac_ext <<_LT_EOF
++#line __oline__ "configure"
++#include "confdefs.h"
++
++#if HAVE_DLFCN_H
++#include <dlfcn.h>
++#endif
++
++#include <stdio.h>
++
++#ifdef RTLD_GLOBAL
++# define LT_DLGLOBAL RTLD_GLOBAL
++#else
++# ifdef DL_GLOBAL
++# define LT_DLGLOBAL DL_GLOBAL
++# else
++# define LT_DLGLOBAL 0
++# endif
++#endif
++
++/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
++ find out it does not work in some platform. */
++#ifndef LT_DLLAZY_OR_NOW
++# ifdef RTLD_LAZY
++# define LT_DLLAZY_OR_NOW RTLD_LAZY
++# else
++# ifdef DL_LAZY
++# define LT_DLLAZY_OR_NOW DL_LAZY
++# else
++# ifdef RTLD_NOW
++# define LT_DLLAZY_OR_NOW RTLD_NOW
++# else
++# ifdef DL_NOW
++# define LT_DLLAZY_OR_NOW DL_NOW
++# else
++# define LT_DLLAZY_OR_NOW 0
++# endif
++# endif
++# endif
++# endif
++#endif
++
++#ifdef __cplusplus
++extern "C" void exit (int);
++#endif
++
++void fnord() { int i=42;}
++int main ()
++{
++ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
++ int status = $lt_dlunknown;
++
++ if (self)
++ {
++ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
++ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
++ /* dlclose (self); */
++ }
++ else
++ puts (dlerror ());
++
++ exit (status);
++}
++_LT_EOF
++ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
++ (./conftest; exit; ) >&5 2>/dev/null
++ lt_status=$?
++ case x$lt_status in
++ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
++ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
++ x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
++ esac
++ else :
++ # compilation failed
++ lt_cv_dlopen_self=no
++ fi
++fi
++rm -fr conftest*
++
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
++echo "${ECHO_T}$lt_cv_dlopen_self" >&6; }
++
++ if test "x$lt_cv_dlopen_self" = xyes; then
++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
++ { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
++echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; }
++if test "${lt_cv_dlopen_self_static+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test "$cross_compiling" = yes; then :
++ lt_cv_dlopen_self_static=cross
++else
++ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
++ lt_status=$lt_dlunknown
++ cat > conftest.$ac_ext <<_LT_EOF
++#line __oline__ "configure"
++#include "confdefs.h"
++
++#if HAVE_DLFCN_H
++#include <dlfcn.h>
++#endif
++
++#include <stdio.h>
++
++#ifdef RTLD_GLOBAL
++# define LT_DLGLOBAL RTLD_GLOBAL
++#else
++# ifdef DL_GLOBAL
++# define LT_DLGLOBAL DL_GLOBAL
++# else
++# define LT_DLGLOBAL 0
++# endif
++#endif
++
++/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
++ find out it does not work in some platform. */
++#ifndef LT_DLLAZY_OR_NOW
++# ifdef RTLD_LAZY
++# define LT_DLLAZY_OR_NOW RTLD_LAZY
++# else
++# ifdef DL_LAZY
++# define LT_DLLAZY_OR_NOW DL_LAZY
++# else
++# ifdef RTLD_NOW
++# define LT_DLLAZY_OR_NOW RTLD_NOW
++# else
++# ifdef DL_NOW
++# define LT_DLLAZY_OR_NOW DL_NOW
++# else
++# define LT_DLLAZY_OR_NOW 0
++# endif
++# endif
++# endif
++# endif
++#endif
++
++#ifdef __cplusplus
++extern "C" void exit (int);
++#endif
++
++void fnord() { int i=42;}
++int main ()
++{
++ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
++ int status = $lt_dlunknown;
++
++ if (self)
++ {
++ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
++ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
++ /* dlclose (self); */
++ }
++ else
++ puts (dlerror ());
++
++ exit (status);
++}
++_LT_EOF
++ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
++ (./conftest; exit; ) >&5 2>/dev/null
++ lt_status=$?
++ case x$lt_status in
++ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
++ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
++ x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
++ esac
++ else :
++ # compilation failed
++ lt_cv_dlopen_self_static=no
++ fi
++fi
++rm -fr conftest*
++
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
++echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
++ fi
++
++ CPPFLAGS="$save_CPPFLAGS"
++ LDFLAGS="$save_LDFLAGS"
++ LIBS="$save_LIBS"
++ ;;
++ esac
++
++ case $lt_cv_dlopen_self in
++ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
++ *) enable_dlopen_self=unknown ;;
++ esac
++
++ case $lt_cv_dlopen_self_static in
++ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
++ *) enable_dlopen_self_static=unknown ;;
++ esac
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++striplib=
++old_striplib=
++{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
++echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
++if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
++ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
++ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
++ { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++else
++# FIXME - insert some real tests, host_os isn't really good enough
++ case $host_os in
++ darwin*)
++ if test -n "$STRIP" ; then
++ striplib="$STRIP -x"
++ old_striplib="$STRIP -S"
++ { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++ else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++ fi
++ ;;
++ *)
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++ ;;
++ esac
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++ # Report which library types will actually be built
++ { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
++echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
++ { echo "$as_me:$LINENO: result: $can_build_shared" >&5
++echo "${ECHO_T}$can_build_shared" >&6; }
++
++ { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
++echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
++ test "$can_build_shared" = "no" && enable_shared=no
++
++ # On AIX, shared libraries and static libraries use the same namespace, and
++ # are all built from PIC.
++ case $host_os in
++ aix3*)
++ test "$enable_shared" = yes && enable_static=no
++ if test -n "$RANLIB"; then
++ archive_cmds="$archive_cmds~\$RANLIB \$lib"
++ postinstall_cmds='$RANLIB $lib'
++ fi
++ ;;
++
++ aix[4-9]*)
++ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
++ test "$enable_shared" = yes && enable_static=no
++ fi
++ ;;
++ esac
++ { echo "$as_me:$LINENO: result: $enable_shared" >&5
++echo "${ECHO_T}$enable_shared" >&6; }
++
++ { echo "$as_me:$LINENO: checking whether to build static libraries" >&5
++echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
++ # Make sure either enable_shared or enable_static is yes.
++ test "$enable_shared" = yes || enable_static=yes
++ { echo "$as_me:$LINENO: result: $enable_static" >&5
++echo "${ECHO_T}$enable_static" >&6; }
++
++
++
++
++fi
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++CC="$lt_save_CC"
++
++
++
++
++
++
++
++
++
++
++
++
++
++ ac_config_commands="$ac_config_commands libtool"
++
++
++
++
++# Only expand once:
++
++
++# Extract the first word of "ar", so it can be a program name with args.
++set dummy ar; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_path_AR+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ case $AR in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_AR="$AR" # Let the user override the test with a path.
++ ;;
++ *)
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++as_dummy="$PATH:/usr/ccs/bin"
++for as_dir in $as_dummy
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++ test -z "$ac_cv_path_AR" && ac_cv_path_AR="/usr/bin/ar"
++ ;;
++esac
++fi
++AR=$ac_cv_path_AR
++if test -n "$AR"; then
++ { echo "$as_me:$LINENO: result: $AR" >&5
++echo "${ECHO_T}$AR" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++
++# Options
++
++
++
++# Check whether --with-tightvnc-filetransfer was given.
++if test "${with_tightvnc_filetransfer+set}" = set; then
++ withval=$with_tightvnc_filetransfer;
++else
++ with_tightvnc_filetransfer=yes
++fi
++
++# AC_DEFINE moved to after libpthread check.
++
++
++
++
++# Check whether --with-24bpp was given.
++if test "${with_24bpp+set}" = set; then
++ withval=$with_24bpp;
++else
++ with_24bpp=yes
++fi
++
++if test "x$with_24bpp" = "xyes"; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define ALLOW24BPP 1
++_ACEOF
++
++fi
++
++
++
++# Check whether --with-ffmpeg was given.
++if test "${with_ffmpeg+set}" = set; then
++ withval=$with_ffmpeg;
++fi
++
++
++ if test ! -z "$with_ffmpeg"; then
++ WITH_FFMPEG_TRUE=
++ WITH_FFMPEG_FALSE='#'
++else
++ WITH_FFMPEG_TRUE='#'
++ WITH_FFMPEG_FALSE=
++fi
++
++if test ! -z "$with_ffmpeg"; then
++ { echo "$as_me:$LINENO: checking for lame_init in -lmp3lame" >&5
++echo $ECHO_N "checking for lame_init in -lmp3lame... $ECHO_C" >&6; }
++if test "${ac_cv_lib_mp3lame_lame_init+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lmp3lame $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char lame_init ();
++int
++main ()
++{
++return lame_init ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_mp3lame_lame_init=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_mp3lame_lame_init=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_mp3lame_lame_init" >&5
++echo "${ECHO_T}$ac_cv_lib_mp3lame_lame_init" >&6; }
++if test $ac_cv_lib_mp3lame_lame_init = yes; then
++ HAVE_MP3LAME="true"
++else
++ HAVE_MP3LAME="false"
++fi
++
++fi
++ if test "$HAVE_MP3LAME" = "true"; then
++ HAVE_MP3LAME_TRUE=
++ HAVE_MP3LAME_FALSE='#'
++else
++ HAVE_MP3LAME_TRUE='#'
++ HAVE_MP3LAME_FALSE=
++fi
++
++
++# Seem to need this dummy here to induce the 'checking for egrep... grep -E', etc.
++# before it seemed to be inside the with_jpeg conditional.
++if test "${ac_cv_header_thenonexistentheader_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for thenonexistentheader.h" >&5
++echo $ECHO_N "checking for thenonexistentheader.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_thenonexistentheader_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_thenonexistentheader_h" >&5
++echo "${ECHO_T}$ac_cv_header_thenonexistentheader_h" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking thenonexistentheader.h usability" >&5
++echo $ECHO_N "checking thenonexistentheader.h usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <thenonexistentheader.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking thenonexistentheader.h presence" >&5
++echo $ECHO_N "checking thenonexistentheader.h presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <thenonexistentheader.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for thenonexistentheader.h" >&5
++echo $ECHO_N "checking for thenonexistentheader.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_thenonexistentheader_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_thenonexistentheader_h=$ac_header_preproc
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_thenonexistentheader_h" >&5
++echo "${ECHO_T}$ac_cv_header_thenonexistentheader_h" >&6; }
++
++fi
++if test $ac_cv_header_thenonexistentheader_h = yes; then
++ HAVE_THENONEXISTENTHEADER_H="true"
++fi
++
++
++
++# Checks for X libraries
++HAVE_X="false"
++{ echo "$as_me:$LINENO: checking for X" >&5
++echo $ECHO_N "checking for X... $ECHO_C" >&6; }
++
++
++# Check whether --with-x was given.
++if test "${with_x+set}" = set; then
++ withval=$with_x;
++fi
++
++# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
++if test "x$with_x" = xno; then
++ # The user explicitly disabled X.
++ have_x=disabled
++else
++ case $x_includes,$x_libraries in #(
++ *\'*) { { echo "$as_me:$LINENO: error: Cannot use X directory names containing '" >&5
++echo "$as_me: error: Cannot use X directory names containing '" >&2;}
++ { (exit 1); exit 1; }; };; #(
++ *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ # One or both of the vars are not set, and there is no cached value.
++ac_x_includes=no ac_x_libraries=no
++# Standard set of common directories for X headers.
++# Check X11 before X11Rn because it is often a symlink to the current release.
++ac_x_header_dirs=''
++
++if test "$ac_x_includes" = no; then
++ # Guess where to find include files, by looking for Xlib.h.
++ # First, try using that file with no special directory specified.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <X11/Xlib.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ # We can compile using X headers with no special include directory.
++ac_x_includes=
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ for ac_dir in $ac_x_header_dirs; do
++ if test -r "$ac_dir/X11/Xlib.h"; then
++ ac_x_includes=$ac_dir
++ break
++ fi
++done
++fi
++
++rm -f conftest.err conftest.$ac_ext
++fi # $ac_x_includes = no
++
++if test "$ac_x_libraries" = no; then
++ # Check for the libraries.
++ # See if we find them without any special options.
++ # Don't add to $LIBS permanently.
++ ac_save_LIBS=$LIBS
++ LIBS="-lX11 $LIBS"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <X11/Xlib.h>
++int
++main ()
++{
++XrmInitialize ()
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ LIBS=$ac_save_LIBS
++# We can link X programs with no special library path.
++ac_x_libraries=
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ LIBS=$ac_save_LIBS
++for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
++do
++ # Don't even attempt the hair of trying to link an X program!
++ for ac_extension in a so sl; do
++ if test -r "$ac_dir/libX11.$ac_extension"; then
++ ac_x_libraries=$ac_dir
++ break 2
++ fi
++ done
++done
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi # $ac_x_libraries = no
++
++case $ac_x_includes,$ac_x_libraries in #(
++ no,* | *,no | *\'*)
++ # Didn't find X, or a directory has "'" in its name.
++ ac_cv_have_x="have_x=no";; #(
++ *)
++ # Record where we found X for the cache.
++ ac_cv_have_x="have_x=yes\
++ ac_x_includes='$ac_x_includes'\
++ ac_x_libraries='$ac_x_libraries'"
++esac
++fi
++;; #(
++ *) have_x=yes;;
++ esac
++ eval "$ac_cv_have_x"
++fi # $with_x != no
++
++if test "$have_x" != yes; then
++ { echo "$as_me:$LINENO: result: $have_x" >&5
++echo "${ECHO_T}$have_x" >&6; }
++ no_x=yes
++else
++ # If each of the values was on the command line, it overrides each guess.
++ test "x$x_includes" = xNONE && x_includes=$ac_x_includes
++ test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
++ # Update the cache value to reflect the command line values.
++ ac_cv_have_x="have_x=yes\
++ ac_x_includes='$x_includes'\
++ ac_x_libraries='$x_libraries'"
++ { echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5
++echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6; }
++fi
++
++if test "$no_x" = yes; then
++ # Not all programs may use this symbol, but it does not hurt to define it.
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define X_DISPLAY_MISSING 1
++_ACEOF
++
++ X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
++else
++ if test -n "$x_includes"; then
++ X_CFLAGS="$X_CFLAGS -I$x_includes"
++ fi
++
++ # It would also be nice to do this for all -L options, not just this one.
++ if test -n "$x_libraries"; then
++ X_LIBS="$X_LIBS -L$x_libraries"
++ # For Solaris; some versions of Sun CC require a space after -R and
++ # others require no space. Words are not sufficient . . . .
++ { echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5
++echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6; }
++ ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
++ ac_xsave_c_werror_flag=$ac_c_werror_flag
++ ac_c_werror_flag=yes
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++ X_LIBS="$X_LIBS -R$x_libraries"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ LIBS="$ac_xsave_LIBS -R $x_libraries"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++ X_LIBS="$X_LIBS -R $x_libraries"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ { echo "$as_me:$LINENO: result: neither works" >&5
++echo "${ECHO_T}neither works" >&6; }
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ ac_c_werror_flag=$ac_xsave_c_werror_flag
++ LIBS=$ac_xsave_LIBS
++ fi
++
++ # Check for system-dependent libraries X programs must link with.
++ # Do this before checking for the system-independent R6 libraries
++ # (-lICE), since we may need -lsocket or whatever for X linking.
++
++ if test "$ISC" = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
++ else
++ # Martyn Johnson says this is needed for Ultrix, if the X
++ # libraries were built with DECnet support. And Karl Berry says
++ # the Alpha needs dnet_stub (dnet does not exist).
++ ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XOpenDisplay ();
++int
++main ()
++{
++return XOpenDisplay ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ { echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5
++echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6; }
++if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldnet $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dnet_ntoa ();
++int
++main ()
++{
++return dnet_ntoa ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_dnet_dnet_ntoa=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_dnet_dnet_ntoa=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
++echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6; }
++if test $ac_cv_lib_dnet_dnet_ntoa = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
++fi
++
++ if test $ac_cv_lib_dnet_dnet_ntoa = no; then
++ { echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5
++echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6; }
++if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldnet_stub $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dnet_ntoa ();
++int
++main ()
++{
++return dnet_ntoa ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_dnet_stub_dnet_ntoa=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_dnet_stub_dnet_ntoa=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
++echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
++if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
++fi
++
++ fi
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ LIBS="$ac_xsave_LIBS"
++
++ # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
++ # to get the SysV transport functions.
++ # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
++ # needs -lnsl.
++ # The nsl library prevents programs from opening the X display
++ # on Irix 5.2, according to T.E. Dickey.
++ # The functions gethostbyname, getservbyname, and inet_addr are
++ # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
++ { echo "$as_me:$LINENO: checking for gethostbyname" >&5
++echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6; }
++if test "${ac_cv_func_gethostbyname+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define gethostbyname to an innocuous variant, in case <limits.h> declares gethostbyname.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define gethostbyname innocuous_gethostbyname
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char gethostbyname (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef gethostbyname
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char gethostbyname ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_gethostbyname || defined __stub___gethostbyname
++choke me
++#endif
++
++int
++main ()
++{
++return gethostbyname ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func_gethostbyname=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_func_gethostbyname=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6; }
++
++ if test $ac_cv_func_gethostbyname = no; then
++ { echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
++echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lnsl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char gethostbyname ();
++int
++main ()
++{
++return gethostbyname ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_nsl_gethostbyname=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_nsl_gethostbyname=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6; }
++if test $ac_cv_lib_nsl_gethostbyname = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
++fi
++
++ if test $ac_cv_lib_nsl_gethostbyname = no; then
++ { echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5
++echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6; }
++if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lbsd $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char gethostbyname ();
++int
++main ()
++{
++return gethostbyname ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_bsd_gethostbyname=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_bsd_gethostbyname=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6; }
++if test $ac_cv_lib_bsd_gethostbyname = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
++fi
++
++ fi
++ fi
++
++ # lieder@skyler.mavd.honeywell.com says without -lsocket,
++ # socket/setsockopt and other routines are undefined under SCO ODT
++ # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary
++ # on later versions), says Simon Leinen: it contains gethostby*
++ # variants that don't use the name server (or something). -lsocket
++ # must be given before -lnsl if both are needed. We assume that
++ # if connect needs -lnsl, so does gethostbyname.
++ { echo "$as_me:$LINENO: checking for connect" >&5
++echo $ECHO_N "checking for connect... $ECHO_C" >&6; }
++if test "${ac_cv_func_connect+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define connect to an innocuous variant, in case <limits.h> declares connect.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define connect innocuous_connect
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char connect (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef connect
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char connect ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_connect || defined __stub___connect
++choke me
++#endif
++
++int
++main ()
++{
++return connect ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func_connect=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_func_connect=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5
++echo "${ECHO_T}$ac_cv_func_connect" >&6; }
++
++ if test $ac_cv_func_connect = no; then
++ { echo "$as_me:$LINENO: checking for connect in -lsocket" >&5
++echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6; }
++if test "${ac_cv_lib_socket_connect+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char connect ();
++int
++main ()
++{
++return connect ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_socket_connect=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_socket_connect=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5
++echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6; }
++if test $ac_cv_lib_socket_connect = yes; then
++ X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
++fi
++
++ fi
++
++ # Guillermo Gomez says -lposix is necessary on A/UX.
++ { echo "$as_me:$LINENO: checking for remove" >&5
++echo $ECHO_N "checking for remove... $ECHO_C" >&6; }
++if test "${ac_cv_func_remove+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define remove to an innocuous variant, in case <limits.h> declares remove.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define remove innocuous_remove
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char remove (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef remove
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char remove ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_remove || defined __stub___remove
++choke me
++#endif
++
++int
++main ()
++{
++return remove ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func_remove=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_func_remove=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5
++echo "${ECHO_T}$ac_cv_func_remove" >&6; }
++
++ if test $ac_cv_func_remove = no; then
++ { echo "$as_me:$LINENO: checking for remove in -lposix" >&5
++echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6; }
++if test "${ac_cv_lib_posix_remove+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lposix $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char remove ();
++int
++main ()
++{
++return remove ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_posix_remove=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_posix_remove=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5
++echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6; }
++if test $ac_cv_lib_posix_remove = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
++fi
++
++ fi
++
++ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
++ { echo "$as_me:$LINENO: checking for shmat" >&5
++echo $ECHO_N "checking for shmat... $ECHO_C" >&6; }
++if test "${ac_cv_func_shmat+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define shmat to an innocuous variant, in case <limits.h> declares shmat.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define shmat innocuous_shmat
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char shmat (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef shmat
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char shmat ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_shmat || defined __stub___shmat
++choke me
++#endif
++
++int
++main ()
++{
++return shmat ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func_shmat=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_func_shmat=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5
++echo "${ECHO_T}$ac_cv_func_shmat" >&6; }
++
++ if test $ac_cv_func_shmat = no; then
++ { echo "$as_me:$LINENO: checking for shmat in -lipc" >&5
++echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6; }
++if test "${ac_cv_lib_ipc_shmat+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lipc $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char shmat ();
++int
++main ()
++{
++return shmat ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_ipc_shmat=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_ipc_shmat=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5
++echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6; }
++if test $ac_cv_lib_ipc_shmat = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
++fi
++
++ fi
++ fi
++
++ # Check for libraries that X11R6 Xt/Xaw programs need.
++ ac_save_LDFLAGS=$LDFLAGS
++ test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
++ # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
++ # check for ICE first), but we must link in the order -lSM -lICE or
++ # we get undefined symbols. So assume we have SM if we have ICE.
++ # These have to be linked with before -lX11, unlike the other
++ # libraries we check for below, so use a different variable.
++ # John Interrante, Karl Berry
++ { echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5
++echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6; }
++if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lICE $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char IceConnectionNumber ();
++int
++main ()
++{
++return IceConnectionNumber ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_ICE_IceConnectionNumber=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_ICE_IceConnectionNumber=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
++echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
++if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then
++ X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
++fi
++
++ LDFLAGS=$ac_save_LDFLAGS
++
++fi
++
++
++
++
++# See if we are to build x11vnc:
++
++
++
++# Check whether --with-system-libvncserver was given.
++if test "${with_system_libvncserver+set}" = set; then
++ withval=$with_system_libvncserver;
++fi
++
++
++# Check whether --with-x11vnc was given.
++if test "${with_x11vnc+set}" = set; then
++ withval=$with_x11vnc;
++fi
++
++
++if test ! -z "$with_x11vnc" -a "$with_x11vnc" = "yes"; then
++ build_x11vnc="yes"
++elif test "$PACKAGE_NAME" = "x11vnc"; then
++ build_x11vnc="yes"
++else
++ build_x11vnc="no"
++fi
++
++# x11vnc only:
++if test "$build_x11vnc" = "yes"; then
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++# Check whether --with-xkeyboard was given.
++if test "${with_xkeyboard+set}" = set; then
++ withval=$with_xkeyboard;
++fi
++
++
++# Check whether --with-xinerama was given.
++if test "${with_xinerama+set}" = set; then
++ withval=$with_xinerama;
++fi
++
++
++# Check whether --with-xrandr was given.
++if test "${with_xrandr+set}" = set; then
++ withval=$with_xrandr;
++fi
++
++
++# Check whether --with-xfixes was given.
++if test "${with_xfixes+set}" = set; then
++ withval=$with_xfixes;
++fi
++
++
++# Check whether --with-xdamage was given.
++if test "${with_xdamage+set}" = set; then
++ withval=$with_xdamage;
++fi
++
++
++# Check whether --with-xtrap was given.
++if test "${with_xtrap+set}" = set; then
++ withval=$with_xtrap;
++fi
++
++
++# Check whether --with-xrecord was given.
++if test "${with_xrecord+set}" = set; then
++ withval=$with_xrecord;
++fi
++
++
++# Check whether --with-fbpm was given.
++if test "${with_fbpm+set}" = set; then
++ withval=$with_fbpm;
++fi
++
++
++# Check whether --with-dpms was given.
++if test "${with_dpms+set}" = set; then
++ withval=$with_dpms;
++fi
++
++
++# Check whether --with-v4l was given.
++if test "${with_v4l+set}" = set; then
++ withval=$with_v4l;
++fi
++
++
++# Check whether --with-fbdev was given.
++if test "${with_fbdev+set}" = set; then
++ withval=$with_fbdev;
++fi
++
++
++# Check whether --with-uinput was given.
++if test "${with_uinput+set}" = set; then
++ withval=$with_uinput;
++fi
++
++
++# Check whether --with-macosx-native was given.
++if test "${with_macosx_native+set}" = set; then
++ withval=$with_macosx_native;
++fi
++
++
++fi
++# end x11vnc only.
++
++if test "x$with_x" = "xno"; then
++ HAVE_X="false"
++elif test "$X_CFLAGS" != "-DX_DISPLAY_MISSING"; then
++ { echo "$as_me:$LINENO: checking for XGetImage in -lX11" >&5
++echo $ECHO_N "checking for XGetImage in -lX11... $ECHO_C" >&6; }
++if test "${ac_cv_lib_X11_XGetImage+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lX11 $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XGetImage ();
++int
++main ()
++{
++return XGetImage ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_X11_XGetImage=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_X11_XGetImage=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XGetImage" >&5
++echo "${ECHO_T}$ac_cv_lib_X11_XGetImage" >&6; }
++if test $ac_cv_lib_X11_XGetImage = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_X11 1
++_ACEOF
++ HAVE_X="true"
++else
++ HAVE_X="false"
++fi
++
++
++ # x11vnc only:
++ if test $HAVE_X = "true" -a "$build_x11vnc" = "yes"; then
++ X_PRELIBS="$X_PRELIBS -lXext"
++
++ { echo "$as_me:$LINENO: checking for XShmGetImage in -lXext" >&5
++echo $ECHO_N "checking for XShmGetImage in -lXext... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xext_XShmGetImage+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXext $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XShmGetImage ();
++int
++main ()
++{
++return XShmGetImage ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xext_XShmGetImage=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xext_XShmGetImage=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XShmGetImage" >&5
++echo "${ECHO_T}$ac_cv_lib_Xext_XShmGetImage" >&6; }
++if test $ac_cv_lib_Xext_XShmGetImage = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_XSHM 1
++_ACEOF
++
++fi
++
++
++ { echo "$as_me:$LINENO: checking for XReadScreen in -lXext" >&5
++echo $ECHO_N "checking for XReadScreen in -lXext... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xext_XReadScreen+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXext $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XReadScreen ();
++int
++main ()
++{
++return XReadScreen ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xext_XReadScreen=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xext_XReadScreen=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XReadScreen" >&5
++echo "${ECHO_T}$ac_cv_lib_Xext_XReadScreen" >&6; }
++if test $ac_cv_lib_Xext_XReadScreen = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_SOLARIS_XREADSCREEN 1
++_ACEOF
++
++fi
++
++
++ { echo "$as_me:$LINENO: checking for X11/extensions/readdisplay.h" >&5
++echo $ECHO_N "checking for X11/extensions/readdisplay.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_X11_extensions_readdisplay_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <X11/Xlib.h>
++
++@%:@include <X11/extensions/readdisplay.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_X11_extensions_readdisplay_h=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_header_X11_extensions_readdisplay_h=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_readdisplay_h" >&5
++echo "${ECHO_T}$ac_cv_header_X11_extensions_readdisplay_h" >&6; }
++if test $ac_cv_header_X11_extensions_readdisplay_h = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_IRIX_XREADDISPLAY 1
++_ACEOF
++
++fi
++
++
++
++ if test "x$with_fbpm" != "xno"; then
++ { echo "$as_me:$LINENO: checking for FBPMForceLevel in -lXext" >&5
++echo $ECHO_N "checking for FBPMForceLevel in -lXext... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xext_FBPMForceLevel+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXext $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char FBPMForceLevel ();
++int
++main ()
++{
++return FBPMForceLevel ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xext_FBPMForceLevel=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xext_FBPMForceLevel=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_FBPMForceLevel" >&5
++echo "${ECHO_T}$ac_cv_lib_Xext_FBPMForceLevel" >&6; }
++if test $ac_cv_lib_Xext_FBPMForceLevel = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_FBPM 1
++_ACEOF
++
++fi
++
++ fi
++
++ if test "x$with_dpms" != "xno"; then
++ { echo "$as_me:$LINENO: checking for DPMSForceLevel in -lXext" >&5
++echo $ECHO_N "checking for DPMSForceLevel in -lXext... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xext_DPMSForceLevel+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXext $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char DPMSForceLevel ();
++int
++main ()
++{
++return DPMSForceLevel ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xext_DPMSForceLevel=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xext_DPMSForceLevel=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_DPMSForceLevel" >&5
++echo "${ECHO_T}$ac_cv_lib_Xext_DPMSForceLevel" >&6; }
++if test $ac_cv_lib_Xext_DPMSForceLevel = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_DPMS 1
++_ACEOF
++
++fi
++
++ fi
++
++ { echo "$as_me:$LINENO: checking for XTestGrabControl in -lXtst" >&5
++echo $ECHO_N "checking for XTestGrabControl in -lXtst... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xtst_XTestGrabControl+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXtst $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XTestGrabControl ();
++int
++main ()
++{
++return XTestGrabControl ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xtst_XTestGrabControl=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xtst_XTestGrabControl=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xtst_XTestGrabControl" >&5
++echo "${ECHO_T}$ac_cv_lib_Xtst_XTestGrabControl" >&6; }
++if test $ac_cv_lib_Xtst_XTestGrabControl = yes; then
++ X_PRELIBS="-lXtst $X_PRELIBS"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_XTESTGRABCONTROL 1
++_ACEOF
++ HAVE_XTESTGRABCONTROL="true"
++fi
++
++
++ { echo "$as_me:$LINENO: checking for XTestFakeKeyEvent in -lXtst" >&5
++echo $ECHO_N "checking for XTestFakeKeyEvent in -lXtst... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xtst_XTestFakeKeyEvent+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXtst $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XTestFakeKeyEvent ();
++int
++main ()
++{
++return XTestFakeKeyEvent ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xtst_XTestFakeKeyEvent=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xtst_XTestFakeKeyEvent=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xtst_XTestFakeKeyEvent" >&5
++echo "${ECHO_T}$ac_cv_lib_Xtst_XTestFakeKeyEvent" >&6; }
++if test $ac_cv_lib_Xtst_XTestFakeKeyEvent = yes; then
++ X_PRELIBS="-lXtst $X_PRELIBS"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_XTEST 1
++_ACEOF
++ HAVE_XTEST="true"
++fi
++
++
++ if test "x$with_xrecord" != "xno"; then
++ { echo "$as_me:$LINENO: checking for XRecordEnableContextAsync in -lXtst" >&5
++echo $ECHO_N "checking for XRecordEnableContextAsync in -lXtst... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xtst_XRecordEnableContextAsync+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXtst $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XRecordEnableContextAsync ();
++int
++main ()
++{
++return XRecordEnableContextAsync ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xtst_XRecordEnableContextAsync=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xtst_XRecordEnableContextAsync=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xtst_XRecordEnableContextAsync" >&5
++echo "${ECHO_T}$ac_cv_lib_Xtst_XRecordEnableContextAsync" >&6; }
++if test $ac_cv_lib_Xtst_XRecordEnableContextAsync = yes; then
++ X_PRELIBS="-lXtst $X_PRELIBS"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_RECORD 1
++_ACEOF
++
++fi
++
++ fi
++
++ # we use XTRAP on X11R5, or user can set X11VNC_USE_XTRAP
++ if test "x$with_xtrap" != "xno"; then
++ if test ! -z "$X11VNC_USE_XTRAP" -o -z "$HAVE_XTESTGRABCONTROL"; then
++ { echo "$as_me:$LINENO: checking for XETrapSetGrabServer in -lXTrap" >&5
++echo $ECHO_N "checking for XETrapSetGrabServer in -lXTrap... $ECHO_C" >&6; }
++if test "${ac_cv_lib_XTrap_XETrapSetGrabServer+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXTrap $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XETrapSetGrabServer ();
++int
++main ()
++{
++return XETrapSetGrabServer ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_XTrap_XETrapSetGrabServer=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_XTrap_XETrapSetGrabServer=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_XTrap_XETrapSetGrabServer" >&5
++echo "${ECHO_T}$ac_cv_lib_XTrap_XETrapSetGrabServer" >&6; }
++if test $ac_cv_lib_XTrap_XETrapSetGrabServer = yes; then
++ X_PRELIBS="$X_PRELIBS -lXTrap"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBXTRAP 1
++_ACEOF
++
++fi
++
++ # tru64 uses libXETrap.so
++ { echo "$as_me:$LINENO: checking for XETrapSetGrabServer in -lXETrap" >&5
++echo $ECHO_N "checking for XETrapSetGrabServer in -lXETrap... $ECHO_C" >&6; }
++if test "${ac_cv_lib_XETrap_XETrapSetGrabServer+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXETrap $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XETrapSetGrabServer ();
++int
++main ()
++{
++return XETrapSetGrabServer ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_XETrap_XETrapSetGrabServer=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_XETrap_XETrapSetGrabServer=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_XETrap_XETrapSetGrabServer" >&5
++echo "${ECHO_T}$ac_cv_lib_XETrap_XETrapSetGrabServer" >&6; }
++if test $ac_cv_lib_XETrap_XETrapSetGrabServer = yes; then
++ X_PRELIBS="$X_PRELIBS -lXETrap"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBXTRAP 1
++_ACEOF
++
++fi
++
++ fi
++ fi
++
++ if test "x$with_xkeyboard" != "xno"; then
++ saved_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
++ { echo "$as_me:$LINENO: checking for X11/XKBlib.h" >&5
++echo $ECHO_N "checking for X11/XKBlib.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_X11_XKBlib_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <X11/Xlib.h>
++
++@%:@include <X11/XKBlib.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_X11_XKBlib_h=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_header_X11_XKBlib_h=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_XKBlib_h" >&5
++echo "${ECHO_T}$ac_cv_header_X11_XKBlib_h" >&6; }
++if test $ac_cv_header_X11_XKBlib_h = yes; then
++ HAVE_XKBLIB_H="true"
++else
++ HAVE_XKBLIB_H="false"
++fi
++
++
++ CPPFLAGS="$saved_CPPFLAGS"
++ if test $HAVE_XKBLIB_H = "true"; then
++ { echo "$as_me:$LINENO: checking for XkbSelectEvents in -lX11" >&5
++echo $ECHO_N "checking for XkbSelectEvents in -lX11... $ECHO_C" >&6; }
++if test "${ac_cv_lib_X11_XkbSelectEvents+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lX11 $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XkbSelectEvents ();
++int
++main ()
++{
++return XkbSelectEvents ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_X11_XkbSelectEvents=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_X11_XkbSelectEvents=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XkbSelectEvents" >&5
++echo "${ECHO_T}$ac_cv_lib_X11_XkbSelectEvents" >&6; }
++if test $ac_cv_lib_X11_XkbSelectEvents = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_XKEYBOARD 1
++_ACEOF
++
++fi
++
++ fi
++ fi
++
++ if test "x$with_xinerama" != "xno"; then
++ { echo "$as_me:$LINENO: checking for XineramaQueryScreens in -lXinerama" >&5
++echo $ECHO_N "checking for XineramaQueryScreens in -lXinerama... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xinerama_XineramaQueryScreens+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXinerama $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XineramaQueryScreens ();
++int
++main ()
++{
++return XineramaQueryScreens ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xinerama_XineramaQueryScreens=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xinerama_XineramaQueryScreens=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xinerama_XineramaQueryScreens" >&5
++echo "${ECHO_T}$ac_cv_lib_Xinerama_XineramaQueryScreens" >&6; }
++if test $ac_cv_lib_Xinerama_XineramaQueryScreens = yes; then
++ X_PRELIBS="$X_PRELIBS -lXinerama"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBXINERAMA 1
++_ACEOF
++
++fi
++
++ fi
++
++ if test "x$with_xrandr" != "xno"; then
++ { echo "$as_me:$LINENO: checking for XRRSelectInput in -lXrandr" >&5
++echo $ECHO_N "checking for XRRSelectInput in -lXrandr... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xrandr_XRRSelectInput+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXrandr $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XRRSelectInput ();
++int
++main ()
++{
++return XRRSelectInput ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xrandr_XRRSelectInput=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xrandr_XRRSelectInput=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xrandr_XRRSelectInput" >&5
++echo "${ECHO_T}$ac_cv_lib_Xrandr_XRRSelectInput" >&6; }
++if test $ac_cv_lib_Xrandr_XRRSelectInput = yes; then
++ X_PRELIBS="$X_PRELIBS -lXrandr"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBXRANDR 1
++_ACEOF
++
++fi
++
++ fi
++
++ if test "x$with_xfixes" != "xno"; then
++ { echo "$as_me:$LINENO: checking for XFixesGetCursorImage in -lXfixes" >&5
++echo $ECHO_N "checking for XFixesGetCursorImage in -lXfixes... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xfixes_XFixesGetCursorImage+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXfixes $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XFixesGetCursorImage ();
++int
++main ()
++{
++return XFixesGetCursorImage ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xfixes_XFixesGetCursorImage=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xfixes_XFixesGetCursorImage=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xfixes_XFixesGetCursorImage" >&5
++echo "${ECHO_T}$ac_cv_lib_Xfixes_XFixesGetCursorImage" >&6; }
++if test $ac_cv_lib_Xfixes_XFixesGetCursorImage = yes; then
++ X_PRELIBS="$X_PRELIBS -lXfixes"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBXFIXES 1
++_ACEOF
++ HAVE_LIBXFIXES="true"
++fi
++
++ fi
++
++ if test "x$with_xdamage" != "xno"; then
++ { echo "$as_me:$LINENO: checking for XDamageQueryExtension in -lXdamage" >&5
++echo $ECHO_N "checking for XDamageQueryExtension in -lXdamage... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xdamage_XDamageQueryExtension+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXdamage $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XDamageQueryExtension ();
++int
++main ()
++{
++return XDamageQueryExtension ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xdamage_XDamageQueryExtension=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xdamage_XDamageQueryExtension=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xdamage_XDamageQueryExtension" >&5
++echo "${ECHO_T}$ac_cv_lib_Xdamage_XDamageQueryExtension" >&6; }
++if test $ac_cv_lib_Xdamage_XDamageQueryExtension = yes; then
++ X_PRELIBS="$X_PRELIBS -lXdamage"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBXDAMAGE 1
++_ACEOF
++ HAVE_LIBXDAMAGE="true"
++fi
++
++ fi
++
++ if test ! -z "$HAVE_LIBXFIXES" -o ! -z "$HAVE_LIBXDAMAGE"; then
++ # need /usr/sfw/lib in RPATH for Solaris 10 and later
++ case `(uname -sr) 2>/dev/null` in
++ "SunOS 5"*) X_EXTRA_LIBS="$X_EXTRA_LIBS -R/usr/sfw/lib" ;;
++ esac
++ fi
++
++ X_LIBS="$X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS"
++ fi
++ # end x11vnc only.
++fi
++
++
++ if test $HAVE_X != "false"; then
++ HAVE_X_TRUE=
++ HAVE_X_FALSE='#'
++else
++ HAVE_X_TRUE='#'
++ HAVE_X_FALSE=
++fi
++
++
++# x11vnc only:
++if test "$build_x11vnc" = "yes"; then
++
++if test "x$HAVE_X" = "xfalse" -a "x$with_x" != "xno"; then
++ { { echo "$as_me:$LINENO: error:
++==========================================================================
++A working X window system build environment is required to build x11vnc.
++Make sure any required X development packages are installed. If they are
++installed in non-standard locations, one can use the --x-includes=DIR
++and --x-libraries=DIR configure options or set the CPPFLAGS and LDFLAGS
++environment variables to indicate where the X window system header files
++and libraries may be found. On 64+32 bit machines you may need to point
++to lib64 or lib32 directories to pick up the correct word size.
++
++If you want to build x11vnc without X support (e.g. for -rawfb use only
++or for native Mac OS X), specify the --without-x configure option.
++==========================================================================
++" >&5
++echo "$as_me: error:
++==========================================================================
++A working X window system build environment is required to build x11vnc.
++Make sure any required X development packages are installed. If they are
++installed in non-standard locations, one can use the --x-includes=DIR
++and --x-libraries=DIR configure options or set the CPPFLAGS and LDFLAGS
++environment variables to indicate where the X window system header files
++and libraries may be found. On 64+32 bit machines you may need to point
++to lib64 or lib32 directories to pick up the correct word size.
++
++If you want to build x11vnc without X support (e.g. for -rawfb use only
++or for native Mac OS X), specify the --without-x configure option.
++==========================================================================
++" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++if test "x$HAVE_X" = "xtrue" -a "x$HAVE_XTEST" != "xtrue"; then
++ { echo "$as_me:$LINENO: WARNING:
++==========================================================================
++A working build environment for the XTEST extension was not found (libXtst).
++An x11vnc built this way will be only barely usable. You will be able to
++move the mouse but not click or type. There can also be deadlocks if an
++application grabs the X server.
++
++It is recommended that you install the necessary development packages
++for XTEST (perhaps it is named something like libxtst-dev) and run
++configure again.
++==========================================================================
++" >&5
++echo "$as_me: WARNING:
++==========================================================================
++A working build environment for the XTEST extension was not found (libXtst).
++An x11vnc built this way will be only barely usable. You will be able to
++move the mouse but not click or type. There can also be deadlocks if an
++application grabs the X server.
++
++It is recommended that you install the necessary development packages
++for XTEST (perhaps it is named something like libxtst-dev) and run
++configure again.
++==========================================================================
++" >&2;}
++fi
++
++
++
++
++# Check whether --with-crypt was given.
++if test "${with_crypt+set}" = set; then
++ withval=$with_crypt;
++fi
++
++if test "x$with_crypt" != "xno"; then
++
++for ac_func in crypt
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
++
++int
++main ()
++{
++return $ac_func ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ eval "$as_ac_var=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_var=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++ac_res=`eval echo '${'$as_ac_var'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++ HAVE_LIBC_CRYPT="true"
++fi
++done
++
++ if test -z "$HAVE_LIBC_CRYPT"; then
++ { echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5
++echo $ECHO_N "checking for crypt in -lcrypt... $ECHO_C" >&6; }
++if test "${ac_cv_lib_crypt_crypt+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lcrypt $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char crypt ();
++int
++main ()
++{
++return crypt ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_crypt_crypt=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_crypt_crypt=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_crypt_crypt" >&5
++echo "${ECHO_T}$ac_cv_lib_crypt_crypt" >&6; }
++if test $ac_cv_lib_crypt_crypt = yes; then
++ CRYPT_LIBS="-lcrypt"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBCRYPT 1
++_ACEOF
++
++fi
++
++ fi
++fi
++
++
++# some OS's need both -lssl and -lcrypto on link line:
++
++
++
++# Check whether --with-crypto was given.
++if test "${with_crypto+set}" = set; then
++ withval=$with_crypto;
++fi
++
++
++
++
++
++# Check whether --with-ssl was given.
++if test "${with_ssl+set}" = set; then
++ withval=$with_ssl;
++fi
++
++
++if test "x$with_crypto" != "xno" -a "x$with_ssl" != "xno"; then
++ { echo "$as_me:$LINENO: checking for RAND_file_name in -lcrypto" >&5
++echo $ECHO_N "checking for RAND_file_name in -lcrypto... $ECHO_C" >&6; }
++if test "${ac_cv_lib_crypto_RAND_file_name+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lcrypto $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char RAND_file_name ();
++int
++main ()
++{
++return RAND_file_name ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_crypto_RAND_file_name=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_crypto_RAND_file_name=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_crypto_RAND_file_name" >&5
++echo "${ECHO_T}$ac_cv_lib_crypto_RAND_file_name" >&6; }
++if test $ac_cv_lib_crypto_RAND_file_name = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBCRYPTO 1
++_ACEOF
++ HAVE_LIBCRYPTO="true"
++fi
++
++fi
++
++if test "x$with_ssl" != "xno"; then
++ if test "x$HAVE_LIBCRYPTO" = "xtrue"; then
++ { echo "$as_me:$LINENO: checking for SSL_library_init in -lssl" >&5
++echo $ECHO_N "checking for SSL_library_init in -lssl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_ssl_SSL_library_init+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lssl -lcrypto $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char SSL_library_init ();
++int
++main ()
++{
++return SSL_library_init ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_ssl_SSL_library_init=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_ssl_SSL_library_init=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_library_init" >&5
++echo "${ECHO_T}$ac_cv_lib_ssl_SSL_library_init" >&6; }
++if test $ac_cv_lib_ssl_SSL_library_init = yes; then
++ SSL_LIBS="-lssl -lcrypto"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBSSL 1
++_ACEOF
++ HAVE_LIBSSL="true"
++fi
++
++ else
++ { echo "$as_me:$LINENO: checking for SSL_library_init in -lssl" >&5
++echo $ECHO_N "checking for SSL_library_init in -lssl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_ssl_SSL_library_init+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lssl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char SSL_library_init ();
++int
++main ()
++{
++return SSL_library_init ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_ssl_SSL_library_init=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_ssl_SSL_library_init=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_library_init" >&5
++echo "${ECHO_T}$ac_cv_lib_ssl_SSL_library_init" >&6; }
++if test $ac_cv_lib_ssl_SSL_library_init = yes; then
++ SSL_LIBS="-lssl"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBSSL 1
++_ACEOF
++ HAVE_LIBSSL="true"
++fi
++
++ fi
++fi
++
++
++ if test "x$HAVE_LIBSSL" != "xtrue"; then
++ { echo "$as_me:$LINENO: WARNING:
++==========================================================================
++The openssl encryption library libssl.so was not found. An x11vnc built
++this way will not support SSL encryption. To enable SSL install the
++necessary development packages (perhaps it is named something like
++libssl-dev) and run configure again.
++==========================================================================
++" >&5
++echo "$as_me: WARNING:
++==========================================================================
++The openssl encryption library libssl.so was not found. An x11vnc built
++this way will not support SSL encryption. To enable SSL install the
++necessary development packages (perhaps it is named something like
++libssl-dev) and run configure again.
++==========================================================================
++" >&2;}
++ fi
++
++if test "x$with_v4l" != "xno"; then
++ if test "${ac_cv_header_linux_videodev_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for linux/videodev.h" >&5
++echo $ECHO_N "checking for linux/videodev.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_videodev_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_videodev_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_videodev_h" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking linux/videodev.h usability" >&5
++echo $ECHO_N "checking linux/videodev.h usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <linux/videodev.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking linux/videodev.h presence" >&5
++echo $ECHO_N "checking linux/videodev.h presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <linux/videodev.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: linux/videodev.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: linux/videodev.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: linux/videodev.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: linux/videodev.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: linux/videodev.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: linux/videodev.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: linux/videodev.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: linux/videodev.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for linux/videodev.h" >&5
++echo $ECHO_N "checking for linux/videodev.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_videodev_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_linux_videodev_h=$ac_header_preproc
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_videodev_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_videodev_h" >&6; }
++
++fi
++if test $ac_cv_header_linux_videodev_h = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LINUX_VIDEODEV_H 1
++_ACEOF
++
++fi
++
++
++fi
++if test "x$with_fbdev" != "xno"; then
++ if test "${ac_cv_header_linux_fb_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for linux/fb.h" >&5
++echo $ECHO_N "checking for linux/fb.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_fb_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_fb_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_fb_h" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking linux/fb.h usability" >&5
++echo $ECHO_N "checking linux/fb.h usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <linux/fb.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking linux/fb.h presence" >&5
++echo $ECHO_N "checking linux/fb.h presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <linux/fb.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: linux/fb.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: linux/fb.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: linux/fb.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: linux/fb.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: linux/fb.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: linux/fb.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: linux/fb.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: linux/fb.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for linux/fb.h" >&5
++echo $ECHO_N "checking for linux/fb.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_fb_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_linux_fb_h=$ac_header_preproc
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_fb_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_fb_h" >&6; }
++
++fi
++if test $ac_cv_header_linux_fb_h = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LINUX_FB_H 1
++_ACEOF
++
++fi
++
++
++fi
++if test "x$with_uinput" != "xno"; then
++ if test "${ac_cv_header_linux_input_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for linux/input.h" >&5
++echo $ECHO_N "checking for linux/input.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_input_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_input_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_input_h" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking linux/input.h usability" >&5
++echo $ECHO_N "checking linux/input.h usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <linux/input.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking linux/input.h presence" >&5
++echo $ECHO_N "checking linux/input.h presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <linux/input.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: linux/input.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: linux/input.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: linux/input.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: linux/input.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: linux/input.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: linux/input.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: linux/input.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: linux/input.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for linux/input.h" >&5
++echo $ECHO_N "checking for linux/input.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_input_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_linux_input_h=$ac_header_preproc
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_input_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_input_h" >&6; }
++
++fi
++if test $ac_cv_header_linux_input_h = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LINUX_INPUT_H 1
++_ACEOF
++ HAVE_LINUX_INPUT_H="true"
++fi
++
++
++ if test "x$HAVE_LINUX_INPUT_H" = "xtrue"; then
++ { echo "$as_me:$LINENO: checking for linux/uinput.h" >&5
++echo $ECHO_N "checking for linux/uinput.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_uinput_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <linux/input.h>
++
++@%:@include <linux/uinput.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_linux_uinput_h=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_header_linux_uinput_h=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_uinput_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_uinput_h" >&6; }
++if test $ac_cv_header_linux_uinput_h = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LINUX_UINPUT_H 1
++_ACEOF
++
++fi
++
++
++ fi
++fi
++
++if test "x$with_macosx_native" != "xno"; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_MACOSX_NATIVE_DISPLAY 1
++_ACEOF
++
++fi
++
++
++
++
++# Check whether --with-avahi was given.
++if test "${with_avahi+set}" = set; then
++ withval=$with_avahi;
++fi
++
++if test "x$with_avahi" != "xno"; then
++ printf "checking for avahi... "
++ if test ! -z "$with_avahi" -a "x$with_avahi" != "xyes"; then
++ AVAHI_CFLAGS="-I$with_avahi/include"
++ AVAHI_LIBS="-L$with_avahi/lib -lavahi-common -lavahi-client"
++ echo "using $with_avahi"
++ with_avahi=yes
++ elif pkg-config --atleast-version=0.6.4 avahi-client >/dev/null 2>&1; then
++ AVAHI_CFLAGS=`pkg-config --cflags avahi-client`
++ AVAHI_LIBS=`pkg-config --libs avahi-client`
++ with_avahi=yes
++ echo yes
++ else
++ with_avahi=no
++ echo no
++ fi
++fi
++if test "x$with_avahi" = "xyes"; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_AVAHI 1
++_ACEOF
++
++
++
++fi
++
++fi
++# end x11vnc only.
++
++# Checks for libraries.
++
++uname_s=`(uname -s) 2>/dev/null`
++ld_minus_R="yes"
++if test "x$uname_s" = "xHP-UX"; then
++ ld_minus_R="no"
++elif test "x$uname_s" = "xOSF1"; then
++ ld_minus_R="no"
++elif test "x$uname_s" = "xDarwin"; then
++ ld_minus_R="no"
++fi
++
++if test ! -z "$with_system_libvncserver" -a "x$with_system_libvncserver" != "xno"; then
++ printf "checking for system libvncserver... "
++ if test "x$with_system_libvncserver" != "xyes"; then
++ rflag=""
++ if test "x$ld_minus_R" = "xno"; then
++ :
++ elif test "x$GCC" = "xyes"; then
++ rflag="-Xlinker -R$with_system_libvncserver/lib"
++ else
++ rflag="-R$with_system_libvncserver/lib"
++ fi
++ SYSTEM_LIBVNCSERVER_CFLAGS="-I$with_system_libvncserver/include"
++ SYSTEM_LIBVNCSERVER_LIBS="-L$with_system_libvncserver/lib $rflag -lvncserver -lvncclient"
++ echo "using $with_system_libvncserver"
++ with_system_libvncserver=yes
++ elif libvncserver-config --version >/dev/null 2>&1; then
++ rflag=""
++ rprefix=`libvncserver-config --prefix`
++ if test "x$ld_minus_R" = "xno"; then
++ :
++ elif test "x$GCC" = "xyes"; then
++ rflag=" -Xlinker -R$rprefix/lib "
++ else
++ rflag=" -R$rprefix/lib "
++ fi
++ SYSTEM_LIBVNCSERVER_CFLAGS=`libvncserver-config --cflags`
++ SYSTEM_LIBVNCSERVER_LIBS="$rflag"`libvncserver-config --libs`
++ with_system_libvncserver=yes
++ echo yes
++ else
++ with_system_libvncserver=no
++ echo no
++ fi
++fi
++
++if test "x$with_system_libvncserver" = "xyes"; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_SYSTEM_LIBVNCSERVER 1
++_ACEOF
++
++
++
++fi
++ if test "x$with_system_libvncserver" = "xyes"; then
++ HAVE_SYSTEM_LIBVNCSERVER_TRUE=
++ HAVE_SYSTEM_LIBVNCSERVER_FALSE='#'
++else
++ HAVE_SYSTEM_LIBVNCSERVER_TRUE='#'
++ HAVE_SYSTEM_LIBVNCSERVER_FALSE=
++fi
++
++
++
++
++# Check whether --with-jpeg was given.
++if test "${with_jpeg+set}" = set; then
++ withval=$with_jpeg;
++fi
++
++
++# At this point:
++# no jpeg on command line with_jpeg=""
++# -with-jpeg with_jpeg="yes"
++# -without-jpeg with_jpeg="no"
++# -with-jpeg=/foo/dir with_jpeg="/foo/dir"
++
++if test "x$with_jpeg" != "xno"; then
++ if test ! -z "$with_jpeg" -a "x$with_jpeg" != "xyes"; then
++ # add user supplied directory to flags:
++ saved_CPPFLAGS="$CPPFLAGS"
++ saved_LDFLAGS="$LDFLAGS"
++ CPPFLAGS="$CPPFLAGS -I$with_jpeg/include"
++ LDFLAGS="$LDFLAGS -L$with_jpeg/lib"
++ if test "x$ld_minus_R" = "xno"; then
++ :
++ elif test "x$GCC" = "xyes"; then
++ # this is not complete... in general a rat's nest.
++ LDFLAGS="$LDFLAGS -Xlinker -R$with_jpeg/lib"
++ else
++ LDFLAGS="$LDFLAGS -R$with_jpeg/lib"
++ fi
++ fi
++ if test "${ac_cv_header_jpeglib_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for jpeglib.h" >&5
++echo $ECHO_N "checking for jpeglib.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_jpeglib_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5
++echo "${ECHO_T}$ac_cv_header_jpeglib_h" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking jpeglib.h usability" >&5
++echo $ECHO_N "checking jpeglib.h usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <jpeglib.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking jpeglib.h presence" >&5
++echo $ECHO_N "checking jpeglib.h presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <jpeglib.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: jpeglib.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: jpeglib.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: jpeglib.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: jpeglib.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for jpeglib.h" >&5
++echo $ECHO_N "checking for jpeglib.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_jpeglib_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_jpeglib_h=$ac_header_preproc
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5
++echo "${ECHO_T}$ac_cv_header_jpeglib_h" >&6; }
++
++fi
++if test $ac_cv_header_jpeglib_h = yes; then
++ HAVE_JPEGLIB_H="true"
++fi
++
++
++ if test "x$HAVE_JPEGLIB_H" = "xtrue"; then
++
++{ echo "$as_me:$LINENO: checking for jpeg_CreateCompress in -ljpeg" >&5
++echo $ECHO_N "checking for jpeg_CreateCompress in -ljpeg... $ECHO_C" >&6; }
++if test "${ac_cv_lib_jpeg_jpeg_CreateCompress+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ljpeg $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char jpeg_CreateCompress ();
++int
++main ()
++{
++return jpeg_CreateCompress ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_jpeg_jpeg_CreateCompress=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_jpeg_jpeg_CreateCompress=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_jpeg_jpeg_CreateCompress" >&5
++echo "${ECHO_T}$ac_cv_lib_jpeg_jpeg_CreateCompress" >&6; }
++if test $ac_cv_lib_jpeg_jpeg_CreateCompress = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define HAVE_LIBJPEG 1
++_ACEOF
++
++ LIBS="-ljpeg $LIBS"
++
++else
++ HAVE_JPEGLIB_H=""
++fi
++
++ fi
++ if test ! -z "$with_jpeg" -a "x$with_jpeg" != "xyes"; then
++ if test "x$HAVE_JPEGLIB_H" != "xtrue"; then
++ # restore old flags on failure:
++ CPPFLAGS="$saved_CPPFLAGS"
++ LDFLAGS="$saved_LDFLAGS"
++ fi
++ fi
++ if test "$build" = "yes"; then
++ if test "x$HAVE_JPEGLIB_H" != "xtrue"; then
++ { echo "$as_me:$LINENO: WARNING:
++==========================================================================
++The libjpeg compression library was not found: this may lead to reduced
++performance, especially over slow links. If libjpeg is in a non-standard
++location use --with-jpeg=DIR to indicate the header file is in
++DIR/include/jpeglib.h and the library in DIR/lib/libjpeg.a. A copy of
++libjpeg may be obtained from: ftp://ftp.uu.net/graphics/jpeg/
++==========================================================================
++" >&5
++echo "$as_me: WARNING:
++==========================================================================
++The libjpeg compression library was not found: this may lead to reduced
++performance, especially over slow links. If libjpeg is in a non-standard
++location use --with-jpeg=DIR to indicate the header file is in
++DIR/include/jpeglib.h and the library in DIR/lib/libjpeg.a. A copy of
++libjpeg may be obtained from: ftp://ftp.uu.net/graphics/jpeg/
++==========================================================================
++" >&2;}
++ fi
++ fi
++fi
++
++
++# Check whether --with-libz was given.
++if test "${with_libz+set}" = set; then
++ withval=$with_libz;
++fi
++
++
++# Check whether --with-zlib was given.
++if test "${with_zlib+set}" = set; then
++ withval=$with_zlib;
++fi
++
++
++if test "x$with_zlib" != "xno" -a "x$with_libz" != "xno"; then
++ if test ! -z "$with_zlib" -a "x$with_zlib" != "xyes"; then
++ saved_CPPFLAGS="$CPPFLAGS"
++ saved_LDFLAGS="$LDFLAGS"
++ CPPFLAGS="$CPPFLAGS -I$with_zlib/include"
++ LDFLAGS="$LDFLAGS -L$with_zlib/lib"
++ if test "x$ld_minus_R" = "xno"; then
++ :
++ elif test "x$GCC" = "xyes"; then
++ LDFLAGS="$LDFLAGS -Xlinker -R$with_zlib/lib"
++ else
++ LDFLAGS="$LDFLAGS -R$with_zlib/lib"
++ fi
++ fi
++ if test "${ac_cv_header_zlib_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for zlib.h" >&5
++echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_zlib_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5
++echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking zlib.h usability" >&5
++echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <zlib.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking zlib.h presence" >&5
++echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <zlib.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for zlib.h" >&5
++echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_zlib_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_zlib_h=$ac_header_preproc
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5
++echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; }
++
++fi
++if test $ac_cv_header_zlib_h = yes; then
++ HAVE_ZLIB_H="true"
++fi
++
++
++ if test "x$HAVE_ZLIB_H" = "xtrue"; then
++
++{ echo "$as_me:$LINENO: checking for deflate in -lz" >&5
++echo $ECHO_N "checking for deflate in -lz... $ECHO_C" >&6; }
++if test "${ac_cv_lib_z_deflate+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lz $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char deflate ();
++int
++main ()
++{
++return deflate ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_z_deflate=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_z_deflate=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_deflate" >&5
++echo "${ECHO_T}$ac_cv_lib_z_deflate" >&6; }
++if test $ac_cv_lib_z_deflate = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define HAVE_LIBZ 1
++_ACEOF
++
++ LIBS="-lz $LIBS"
++
++else
++ HAVE_ZLIB_H=""
++fi
++
++ fi
++ if test ! -z "$with_zlib" -a "x$with_zlib" != "xyes"; then
++ if test "x$HAVE_ZLIB_H" != "xtrue"; then
++ CPPFLAGS="$saved_CPPFLAGS"
++ LDFLAGS="$saved_LDFLAGS"
++ fi
++ fi
++ if test "$build_x11vnc" = "yes"; then
++ if test "x$HAVE_ZLIB_H" != "xtrue"; then
++ { echo "$as_me:$LINENO: WARNING:
++==========================================================================
++The libz compression library was not found: this may lead to reduced
++performance, especially over slow links. If libz is in a non-standard
++location use --with-zlib=DIR to indicate the header file is in
++DIR/include/zlib.h and the library in DIR/lib/libz.a. A copy of
++libz may be obtained from: http://www.gzip.org/zlib/
++==========================================================================
++" >&5
++echo "$as_me: WARNING:
++==========================================================================
++The libz compression library was not found: this may lead to reduced
++performance, especially over slow links. If libz is in a non-standard
++location use --with-zlib=DIR to indicate the header file is in
++DIR/include/zlib.h and the library in DIR/lib/libz.a. A copy of
++libz may be obtained from: http://www.gzip.org/zlib/
++==========================================================================
++" >&2;}
++ fi
++ fi
++fi
++
++
++# Check whether --with-pthread was given.
++if test "${with_pthread+set}" = set; then
++ withval=$with_pthread;
++fi
++
++
++if test "x$with_pthread" != "xno"; then
++ if test "${ac_cv_header_pthread_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for pthread.h" >&5
++echo $ECHO_N "checking for pthread.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_pthread_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_pthread_h" >&5
++echo "${ECHO_T}$ac_cv_header_pthread_h" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking pthread.h usability" >&5
++echo $ECHO_N "checking pthread.h usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <pthread.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking pthread.h presence" >&5
++echo $ECHO_N "checking pthread.h presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <pthread.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: pthread.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: pthread.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: pthread.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: pthread.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: pthread.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: pthread.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: pthread.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: pthread.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: pthread.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: pthread.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: pthread.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: pthread.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: pthread.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: pthread.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: pthread.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: pthread.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for pthread.h" >&5
++echo $ECHO_N "checking for pthread.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_pthread_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_pthread_h=$ac_header_preproc
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_pthread_h" >&5
++echo "${ECHO_T}$ac_cv_header_pthread_h" >&6; }
++
++fi
++if test $ac_cv_header_pthread_h = yes; then
++ HAVE_PTHREAD_H="true"
++fi
++
++
++ if test ! -z "$HAVE_PTHREAD_H"; then
++
++{ echo "$as_me:$LINENO: checking for pthread_mutex_lock in -lpthread" >&5
++echo $ECHO_N "checking for pthread_mutex_lock in -lpthread... $ECHO_C" >&6; }
++if test "${ac_cv_lib_pthread_pthread_mutex_lock+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lpthread $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char pthread_mutex_lock ();
++int
++main ()
++{
++return pthread_mutex_lock ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_pthread_pthread_mutex_lock=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_pthread_pthread_mutex_lock=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_mutex_lock" >&5
++echo "${ECHO_T}$ac_cv_lib_pthread_pthread_mutex_lock" >&6; }
++if test $ac_cv_lib_pthread_pthread_mutex_lock = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define HAVE_LIBPTHREAD 1
++_ACEOF
++
++ LIBS="-lpthread $LIBS"
++
++fi
++
++ { echo "$as_me:$LINENO: checking for pthread_mutex_lock in -lpthread" >&5
++echo $ECHO_N "checking for pthread_mutex_lock in -lpthread... $ECHO_C" >&6; }
++if test "${ac_cv_lib_pthread_pthread_mutex_lock+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lpthread $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char pthread_mutex_lock ();
++int
++main ()
++{
++return pthread_mutex_lock ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_pthread_pthread_mutex_lock=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_pthread_pthread_mutex_lock=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_mutex_lock" >&5
++echo "${ECHO_T}$ac_cv_lib_pthread_pthread_mutex_lock" >&6; }
++if test $ac_cv_lib_pthread_pthread_mutex_lock = yes; then
++ HAVE_LIBPTHREAD="true"
++fi
++
++ fi
++fi
++ if test ! -z "$HAVE_LIBPTHREAD"; then
++ HAVE_LIBPTHREAD_TRUE=
++ HAVE_LIBPTHREAD_FALSE='#'
++else
++ HAVE_LIBPTHREAD_TRUE='#'
++ HAVE_LIBPTHREAD_FALSE=
++fi
++
++
++# tightvnc-filetransfer implemented using threads:
++if test -z "$HAVE_LIBPTHREAD"; then
++ with_tightvnc_filetransfer=""
++fi
++if test "x$with_tightvnc_filetransfer" = "xyes"; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define WITH_TIGHTVNC_FILETRANSFER 1
++_ACEOF
++
++fi
++ if test "$with_tightvnc_filetransfer" = "yes"; then
++ WITH_TIGHTVNC_FILETRANSFER_TRUE=
++ WITH_TIGHTVNC_FILETRANSFER_FALSE='#'
++else
++ WITH_TIGHTVNC_FILETRANSFER_TRUE='#'
++ WITH_TIGHTVNC_FILETRANSFER_FALSE=
++fi
++
++
++ if test ! -z "$HAVE_ZLIB_H"; then
++ HAVE_LIBZ_TRUE=
++ HAVE_LIBZ_FALSE='#'
++else
++ HAVE_LIBZ_TRUE='#'
++ HAVE_LIBZ_FALSE=
++fi
++
++ if test ! -z "$HAVE_JPEGLIB_H"; then
++ HAVE_LIBJPEG_TRUE=
++ HAVE_LIBJPEG_FALSE='#'
++else
++ HAVE_LIBJPEG_TRUE='#'
++ HAVE_LIBJPEG_FALSE=
++fi
++
++
++if test -z "$with_sdl"; then
++ if sdl-config --version >/dev/null 2>&1; then
++ with_sdl=yes
++ SDL_CFLAGS=`sdl-config --cflags`
++ SDL_LIBS=`sdl-config --libs`
++ else
++ with_sdl=no
++ fi
++fi
++ if test "x$with_sdl" = "xyes"; then
++ HAVE_LIBSDL_TRUE=
++ HAVE_LIBSDL_FALSE='#'
++else
++ HAVE_LIBSDL_TRUE='#'
++ HAVE_LIBSDL_FALSE=
++fi
++
++
++
++
++MINGW=`uname -s | grep MINGW 2>/dev/null`
++ if test ! -z "$MINGW" ; then
++ MINGW_TRUE=
++ MINGW_FALSE='#'
++else
++ MINGW_TRUE='#'
++ MINGW_FALSE=
++fi
++
++if test ! -z "$MINGW"; then
++ WSOCKLIB="-lws2_32"
++fi
++
++
++# Checks for header files.
++{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
++echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
++if test "${ac_cv_header_stdc+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdlib.h>
++#include <stdarg.h>
++#include <string.h>
++#include <float.h>
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_stdc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_header_stdc=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++if test $ac_cv_header_stdc = yes; then
++ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <string.h>
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++ $EGREP "memchr" >/dev/null 2>&1; then
++ :
++else
++ ac_cv_header_stdc=no
++fi
++rm -f conftest*
++
++fi
++
++if test $ac_cv_header_stdc = yes; then
++ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdlib.h>
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++ $EGREP "free" >/dev/null 2>&1; then
++ :
++else
++ ac_cv_header_stdc=no
++fi
++rm -f conftest*
++
++fi
++
++if test $ac_cv_header_stdc = yes; then
++ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
++ if test "$cross_compiling" = yes; then
++ :
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <ctype.h>
++#include <stdlib.h>
++#if ((' ' & 0x0FF) == 0x020)
++# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
++# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
++#else
++# define ISLOWER(c) \
++ (('a' <= (c) && (c) <= 'i') \
++ || ('j' <= (c) && (c) <= 'r') \
++ || ('s' <= (c) && (c) <= 'z'))
++# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
++#endif
++
++#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
++int
++main ()
++{
++ int i;
++ for (i = 0; i < 256; i++)
++ if (XOR (islower (i), ISLOWER (i))
++ || toupper (i) != TOUPPER (i))
++ return 2;
++ return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_header_stdc=no
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++fi
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
++echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
++if test $ac_cv_header_stdc = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define STDC_HEADERS 1
++_ACEOF
++
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++for ac_header in arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h sys/timeb.h syslog.h unistd.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ { echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <$ac_header>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ eval "$as_ac_Header=\$ac_header_preproc"
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++
++fi
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++# x11vnc only:
++if test "$build_x11vnc" = "yes"; then
++
++
++
++
++
++
++for ac_header in pwd.h sys/wait.h utmpx.h termios.h sys/ioctl.h sys/stropts.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ { echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <$ac_header>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ eval "$as_ac_Header=\$ac_header_preproc"
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++
++fi
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++fi
++
++# Checks for typedefs, structures, and compiler characteristics.
++{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
++echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; }
++if test "${ac_cv_c_const+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++/* FIXME: Include the comments suggested by Paul. */
++#ifndef __cplusplus
++ /* Ultrix mips cc rejects this. */
++ typedef int charset[2];
++ const charset cs;
++ /* SunOS 4.1.1 cc rejects this. */
++ char const *const *pcpcc;
++ char **ppc;
++ /* NEC SVR4.0.2 mips cc rejects this. */
++ struct point {int x, y;};
++ static struct point const zero = {0,0};
++ /* AIX XL C 1.02.0.0 rejects this.
++ It does not let you subtract one const X* pointer from another in
++ an arm of an if-expression whose if-part is not a constant
++ expression */
++ const char *g = "string";
++ pcpcc = &g + (g ? g-g : 0);
++ /* HPUX 7.0 cc rejects these. */
++ ++pcpcc;
++ ppc = (char**) pcpcc;
++ pcpcc = (char const *const *) ppc;
++ { /* SCO 3.2v4 cc rejects this. */
++ char *t;
++ char const *s = 0 ? (char *) 0 : (char const *) 0;
++
++ *t++ = 0;
++ if (s) return 0;
++ }
++ { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
++ int x[] = {25, 17};
++ const int *foo = &x[0];
++ ++foo;
++ }
++ { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
++ typedef const int *iptr;
++ iptr p = 0;
++ ++p;
++ }
++ { /* AIX XL C 1.02.0.0 rejects this saying
++ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
++ struct s { int j; const int *ap[3]; };
++ struct s *b; b->j = 5;
++ }
++ { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
++ const int foo = 10;
++ if (!foo) return 0;
++ }
++ return !cs[0] && !zero.x;
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_c_const=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_c_const=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
++echo "${ECHO_T}$ac_cv_c_const" >&6; }
++if test $ac_cv_c_const = no; then
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define const
++_ACEOF
++
++fi
++
++{ echo "$as_me:$LINENO: checking for inline" >&5
++echo $ECHO_N "checking for inline... $ECHO_C" >&6; }
++if test "${ac_cv_c_inline+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_c_inline=no
++for ac_kw in inline __inline__ __inline; do
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#ifndef __cplusplus
++typedef int foo_t;
++static $ac_kw foo_t static_foo () {return 0; }
++$ac_kw foo_t foo () {return 0; }
++#endif
++
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_c_inline=$ac_kw
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ test "$ac_cv_c_inline" != no && break
++done
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5
++echo "${ECHO_T}$ac_cv_c_inline" >&6; }
++
++
++case $ac_cv_c_inline in
++ inline | yes) ;;
++ *)
++ case $ac_cv_c_inline in
++ no) ac_val=;;
++ *) ac_val=$ac_cv_c_inline;;
++ esac
++ cat >>confdefs.h <<_ACEOF
++#ifndef __cplusplus
++#define inline $ac_val
++#endif
++_ACEOF
++ ;;
++esac
++
++{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
++echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; }
++if test "${ac_cv_c_bigendian+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ # See if sys/param.h defines the BYTE_ORDER macro.
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <sys/types.h>
++#include <sys/param.h>
++
++int
++main ()
++{
++#if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \
++ && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN)
++ bogus endian macros
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ # It does; now see whether it defined to BIG_ENDIAN or not.
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <sys/types.h>
++#include <sys/param.h>
++
++int
++main ()
++{
++#if BYTE_ORDER != BIG_ENDIAN
++ not big endian
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_c_bigendian=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_c_bigendian=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ # It does not; compile a test program.
++if test "$cross_compiling" = yes; then
++ # try to guess the endianness by grepping values into an object file
++ ac_cv_c_bigendian=unknown
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
++short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
++void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
++short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
++short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
++void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
++int
++main ()
++{
++ _ascii (); _ebcdic ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
++ ac_cv_c_bigendian=yes
++fi
++if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
++ if test "$ac_cv_c_bigendian" = unknown; then
++ ac_cv_c_bigendian=no
++ else
++ # finding both strings is unlikely to happen, but who knows?
++ ac_cv_c_bigendian=unknown
++ fi
++fi
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++
++ /* Are we little or big endian? From Harbison&Steele. */
++ union
++ {
++ long int l;
++ char c[sizeof (long int)];
++ } u;
++ u.l = 1;
++ return u.c[sizeof (long int) - 1] == 1;
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_c_bigendian=no
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_c_bigendian=yes
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
++echo "${ECHO_T}$ac_cv_c_bigendian" >&6; }
++case $ac_cv_c_bigendian in
++ yes)
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define WORDS_BIGENDIAN 1
++_ACEOF
++ ;;
++ no)
++ ;;
++ *)
++ { { echo "$as_me:$LINENO: error: unknown endianness
++presetting ac_cv_c_bigendian=no (or yes) will help" >&5
++echo "$as_me: error: unknown endianness
++presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
++ { (exit 1); exit 1; }; } ;;
++esac
++
++{ echo "$as_me:$LINENO: checking for size_t" >&5
++echo $ECHO_N "checking for size_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_size_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++typedef size_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_size_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_size_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
++echo "${ECHO_T}$ac_cv_type_size_t" >&6; }
++if test $ac_cv_type_size_t = yes; then
++ :
++else
++
++cat >>confdefs.h <<_ACEOF
++@%:@define size_t unsigned int
++_ACEOF
++
++fi
++
++{ echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
++echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6; }
++if test "${ac_cv_header_time+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <sys/types.h>
++#include <sys/time.h>
++#include <time.h>
++
++int
++main ()
++{
++if ((struct tm *) 0)
++return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_time=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_header_time=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
++echo "${ECHO_T}$ac_cv_header_time" >&6; }
++if test $ac_cv_header_time = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define TIME_WITH_SYS_TIME 1
++_ACEOF
++
++fi
++
++{ echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
++echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6; }
++if test "${ac_cv_header_sys_wait_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <sys/types.h>
++#include <sys/wait.h>
++#ifndef WEXITSTATUS
++# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8)
++#endif
++#ifndef WIFEXITED
++# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
++#endif
++
++int
++main ()
++{
++ int s;
++ wait (&s);
++ s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_sys_wait_h=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_header_sys_wait_h=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
++echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6; }
++if test $ac_cv_header_sys_wait_h = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_SYS_WAIT_H 1
++_ACEOF
++
++fi
++
++{ echo "$as_me:$LINENO: checking for socklen_t" >&5
++echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_socklen_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <sys/types.h>
++ #include <sys/socket.h>
++int
++main ()
++{
++socklen_t len = 42; return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_socklen_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_socklen_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_socklen_t" >&5
++echo "${ECHO_T}$ac_cv_type_socklen_t" >&6; }
++ if test $ac_cv_type_socklen_t != yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define socklen_t int
++_ACEOF
++
++ fi
++
++if test ! -d ./rfb; then
++ echo "creating subdir ./rfb for rfbint.h"
++ mkdir ./rfb
++fi
++# ------ AC CREATE STDINT H -------------------------------------
++{ echo "$as_me:$LINENO: checking for stdint-types...." >&5
++echo $ECHO_N "checking for stdint-types....... $ECHO_C" >&6; }
++ac_stdint_h=`echo rfb/rfbint.h`
++if test "$ac_stdint_h" = "stdint.h" ; then
++ { echo "$as_me:$LINENO: result: \"(are you sure you want them in ./stdint.h?)\"" >&5
++echo "${ECHO_T}\"(are you sure you want them in ./stdint.h?)\"" >&6; }
++elif test "$ac_stdint_h" = "inttypes.h" ; then
++ { echo "$as_me:$LINENO: result: \"(are you sure you want them in ./inttypes.h?)\"" >&5
++echo "${ECHO_T}\"(are you sure you want them in ./inttypes.h?)\"" >&6; }
++else
++ { echo "$as_me:$LINENO: result: \"(putting them into $ac_stdint_h)\"" >&5
++echo "${ECHO_T}\"(putting them into $ac_stdint_h)\"" >&6; }
++fi
++
++inttype_headers=`echo inttypes.h sys/inttypes.h sys/inttypes.h \
++| sed -e 's/,/ /g'`
++
++ ac_cv_header_stdint_x="no-file"
++ ac_cv_header_stdint_o="no-file"
++ ac_cv_header_stdint_u="no-file"
++ for i in stdint.h $inttype_headers ; do
++ unset ac_cv_type_uintptr_t
++ unset ac_cv_type_uint64_t
++ { echo "$as_me:$LINENO: checking for uintptr_t" >&5
++echo $ECHO_N "checking for uintptr_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_uintptr_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <$i>
++
++typedef uintptr_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_uintptr_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_uintptr_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_uintptr_t" >&5
++echo "${ECHO_T}$ac_cv_type_uintptr_t" >&6; }
++if test $ac_cv_type_uintptr_t = yes; then
++ ac_cv_header_stdint_x=$i
++else
++ continue
++fi
++
++ { echo "$as_me:$LINENO: checking for uint64_t" >&5
++echo $ECHO_N "checking for uint64_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_uint64_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include<$i>
++
++typedef uint64_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_uint64_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_uint64_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_uint64_t" >&5
++echo "${ECHO_T}$ac_cv_type_uint64_t" >&6; }
++if test $ac_cv_type_uint64_t = yes; then
++ and64="(uint64_t too)"
++else
++ and64=""
++fi
++
++ { echo "$as_me:$LINENO: result: ... seen our uintptr_t in $i $and64" >&5
++echo "${ECHO_T}... seen our uintptr_t in $i $and64" >&6; }
++ break;
++ done
++ if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ for i in stdint.h $inttype_headers ; do
++ unset ac_cv_type_uint32_t
++ unset ac_cv_type_uint64_t
++ { echo "$as_me:$LINENO: checking for uint32_t" >&5
++echo $ECHO_N "checking for uint32_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_uint32_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <$i>
++
++typedef uint32_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_uint32_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_uint32_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_uint32_t" >&5
++echo "${ECHO_T}$ac_cv_type_uint32_t" >&6; }
++if test $ac_cv_type_uint32_t = yes; then
++ ac_cv_header_stdint_o=$i
++else
++ continue
++fi
++
++ { echo "$as_me:$LINENO: checking for uint64_t" >&5
++echo $ECHO_N "checking for uint64_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_uint64_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include<$i>
++
++typedef uint64_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_uint64_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_uint64_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_uint64_t" >&5
++echo "${ECHO_T}$ac_cv_type_uint64_t" >&6; }
++if test $ac_cv_type_uint64_t = yes; then
++ and64="(uint64_t too)"
++else
++ and64=""
++fi
++
++ { echo "$as_me:$LINENO: result: ... seen our uint32_t in $i $and64" >&5
++echo "${ECHO_T}... seen our uint32_t in $i $and64" >&6; }
++ break;
++ done
++ if test "$ac_cv_header_stdint_o" = "no-file" ; then
++ for i in sys/types.h $inttype_headers ; do
++ unset ac_cv_type_u_int32_t
++ unset ac_cv_type_u_int64_t
++ { echo "$as_me:$LINENO: checking for u_int32_t" >&5
++echo $ECHO_N "checking for u_int32_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_u_int32_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <$i>
++
++typedef u_int32_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_u_int32_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_u_int32_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_u_int32_t" >&5
++echo "${ECHO_T}$ac_cv_type_u_int32_t" >&6; }
++if test $ac_cv_type_u_int32_t = yes; then
++ ac_cv_header_stdint_u=$i
++else
++ continue
++fi
++
++ { echo "$as_me:$LINENO: checking for uint64_t" >&5
++echo $ECHO_N "checking for uint64_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_uint64_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include<$i>
++
++typedef uint64_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_uint64_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_uint64_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_uint64_t" >&5
++echo "${ECHO_T}$ac_cv_type_uint64_t" >&6; }
++if test $ac_cv_type_uint64_t = yes; then
++ and64="(u_int64_t too)"
++else
++ and64=""
++fi
++
++ { echo "$as_me:$LINENO: result: ... seen our u_int32_t in $i $and64" >&5
++echo "${ECHO_T}... seen our u_int32_t in $i $and64" >&6; }
++ break;
++ done
++ fi
++ fi
++
++# ----------------- DONE inttypes.h checks MAYBE C basic types --------
++
++if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ { echo "$as_me:$LINENO: checking size of char" >&5
++echo $ECHO_N "checking size of char... $ECHO_C" >&6; }
++if test "${ac_cv_sizeof_char+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include "confdefs.h"
++#include <sys/types.h>
++
++
++int
++main ()
++{
++switch (0) case 0: case (sizeof (char) == $ac_size):;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sizeof_char=$ac_size
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ if test x$ac_cv_sizeof_char != x ; then break; fi
++done
++
++fi
++
++if test x$ac_cv_sizeof_char = x ; then
++ { { echo "$as_me:$LINENO: error: cannot determine a size for char" >&5
++echo "$as_me: error: cannot determine a size for char" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5
++echo "${ECHO_T}$ac_cv_sizeof_char" >&6; }
++
++cat >>confdefs.h <<_ACEOF
++@%:@define SIZEOF_CHAR $ac_cv_sizeof_char
++_ACEOF
++
++
++ { echo "$as_me:$LINENO: checking size of short" >&5
++echo $ECHO_N "checking size of short... $ECHO_C" >&6; }
++if test "${ac_cv_sizeof_short+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include "confdefs.h"
++#include <sys/types.h>
++
++
++int
++main ()
++{
++switch (0) case 0: case (sizeof (short) == $ac_size):;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sizeof_short=$ac_size
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ if test x$ac_cv_sizeof_short != x ; then break; fi
++done
++
++fi
++
++if test x$ac_cv_sizeof_short = x ; then
++ { { echo "$as_me:$LINENO: error: cannot determine a size for short" >&5
++echo "$as_me: error: cannot determine a size for short" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5
++echo "${ECHO_T}$ac_cv_sizeof_short" >&6; }
++
++cat >>confdefs.h <<_ACEOF
++@%:@define SIZEOF_SHORT $ac_cv_sizeof_short
++_ACEOF
++
++
++ { echo "$as_me:$LINENO: checking size of int" >&5
++echo $ECHO_N "checking size of int... $ECHO_C" >&6; }
++if test "${ac_cv_sizeof_int+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include "confdefs.h"
++#include <sys/types.h>
++
++
++int
++main ()
++{
++switch (0) case 0: case (sizeof (int) == $ac_size):;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sizeof_int=$ac_size
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ if test x$ac_cv_sizeof_int != x ; then break; fi
++done
++
++fi
++
++if test x$ac_cv_sizeof_int = x ; then
++ { { echo "$as_me:$LINENO: error: cannot determine a size for int" >&5
++echo "$as_me: error: cannot determine a size for int" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
++echo "${ECHO_T}$ac_cv_sizeof_int" >&6; }
++
++cat >>confdefs.h <<_ACEOF
++@%:@define SIZEOF_INT $ac_cv_sizeof_int
++_ACEOF
++
++
++ { echo "$as_me:$LINENO: checking size of long" >&5
++echo $ECHO_N "checking size of long... $ECHO_C" >&6; }
++if test "${ac_cv_sizeof_long+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include "confdefs.h"
++#include <sys/types.h>
++
++
++int
++main ()
++{
++switch (0) case 0: case (sizeof (long) == $ac_size):;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sizeof_long=$ac_size
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ if test x$ac_cv_sizeof_long != x ; then break; fi
++done
++
++fi
++
++if test x$ac_cv_sizeof_long = x ; then
++ { { echo "$as_me:$LINENO: error: cannot determine a size for long" >&5
++echo "$as_me: error: cannot determine a size for long" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
++echo "${ECHO_T}$ac_cv_sizeof_long" >&6; }
++
++cat >>confdefs.h <<_ACEOF
++@%:@define SIZEOF_LONG $ac_cv_sizeof_long
++_ACEOF
++
++
++ { echo "$as_me:$LINENO: checking size of void*" >&5
++echo $ECHO_N "checking size of void*... $ECHO_C" >&6; }
++if test "${ac_cv_sizeof_voidp+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include "confdefs.h"
++#include <sys/types.h>
++
++
++int
++main ()
++{
++switch (0) case 0: case (sizeof (void*) == $ac_size):;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sizeof_voidp=$ac_size
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ if test x$ac_cv_sizeof_voidp != x ; then break; fi
++done
++
++fi
++
++if test x$ac_cv_sizeof_voidp = x ; then
++ { { echo "$as_me:$LINENO: error: cannot determine a size for void*" >&5
++echo "$as_me: error: cannot determine a size for void*" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_voidp" >&5
++echo "${ECHO_T}$ac_cv_sizeof_voidp" >&6; }
++
++cat >>confdefs.h <<_ACEOF
++@%:@define SIZEOF_VOIDP $ac_cv_sizeof_voidp
++_ACEOF
++
++
++ ac_cv_header_stdint_test="yes"
++else
++ ac_cv_header_stdint_test="no"
++fi
++
++# ----------------- DONE inttypes.h checks START header -------------
++_ac_stdint_h=`echo "_$ac_stdint_h" | $as_tr_cpp`
++{ echo "$as_me:$LINENO: result: creating $ac_stdint_h : $_ac_stdint_h" >&5
++echo "${ECHO_T}creating $ac_stdint_h : $_ac_stdint_h" >&6; }
++echo "#ifndef" $_ac_stdint_h >$ac_stdint_h
++echo "#define" $_ac_stdint_h "1" >>$ac_stdint_h
++echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint_h
++echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint_h
++if test "$GCC" = "yes" ; then
++ echo "/* generated using a gnu compiler version" `$CC --version` "*/" \
++ >>$ac_stdint_h
++else
++ echo "/* generated using $CC */" >>$ac_stdint_h
++fi
++echo "" >>$ac_stdint_h
++
++if test "$ac_cv_header_stdint_x" != "no-file" ; then
++ ac_cv_header_stdint="$ac_cv_header_stdint_x"
++elif test "$ac_cv_header_stdint_o" != "no-file" ; then
++ ac_cv_header_stdint="$ac_cv_header_stdint_o"
++elif test "$ac_cv_header_stdint_u" != "no-file" ; then
++ ac_cv_header_stdint="$ac_cv_header_stdint_u"
++else
++ ac_cv_header_stdint="stddef.h"
++fi
++
++# ----------------- See if int_least and int_fast types are present
++unset ac_cv_type_int_least32_t
++unset ac_cv_type_int_fast32_t
++{ echo "$as_me:$LINENO: checking for int_least32_t" >&5
++echo $ECHO_N "checking for int_least32_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_int_least32_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <$ac_cv_header_stdint>
++
++typedef int_least32_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_int_least32_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_int_least32_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_int_least32_t" >&5
++echo "${ECHO_T}$ac_cv_type_int_least32_t" >&6; }
++
++{ echo "$as_me:$LINENO: checking for int_fast32_t" >&5
++echo $ECHO_N "checking for int_fast32_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_int_fast32_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include<$ac_cv_header_stdint>
++
++typedef int_fast32_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_int_fast32_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_int_fast32_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_int_fast32_t" >&5
++echo "${ECHO_T}$ac_cv_type_int_fast32_t" >&6; }
++
++
++if test "$ac_cv_header_stdint" != "stddef.h" ; then
++if test "$ac_cv_header_stdint" != "stdint.h" ; then
++{ echo "$as_me:$LINENO: result: ..adding include stddef.h" >&5
++echo "${ECHO_T}..adding include stddef.h" >&6; }
++ echo "#include <stddef.h>" >>$ac_stdint_h
++fi ; fi
++{ echo "$as_me:$LINENO: result: ..adding include $ac_cv_header_stdint" >&5
++echo "${ECHO_T}..adding include $ac_cv_header_stdint" >&6; }
++ echo "#include <$ac_cv_header_stdint>" >>$ac_stdint_h
++echo "" >>$ac_stdint_h
++
++# ----------------- DONE header START basic int types -------------
++if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ { echo "$as_me:$LINENO: result: ... need to look at C basic types" >&5
++echo "${ECHO_T}... need to look at C basic types" >&6; }
++else
++ { echo "$as_me:$LINENO: result: ... seen good stdint.h inttypes" >&5
++echo "${ECHO_T}... seen good stdint.h inttypes" >&6; }
++fi
++
++if test "$ac_cv_header_stdint_u" != "no-file" ; then
++ { echo "$as_me:$LINENO: result: ... seen bsd/sysv typedefs" >&5
++echo "${ECHO_T}... seen bsd/sysv typedefs" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */
++typedef u_int8_t uint8_t;
++typedef u_int16_t uint16_t;
++typedef u_int32_t uint32_t;
++EOF
++ cat >>$ac_stdint_h <<EOF
++
++/* glibc compatibility */
++#ifndef __int8_t_defined
++#define __int8_t_defined
++#endif
++EOF
++fi
++
++ac_cv_sizeof_x="$ac_cv_sizeof_char:$ac_cv_sizeof_short"
++ac_cv_sizeof_X="$ac_cv_sizeof_x:$ac_cv_sizeof_int"
++ac_cv_sizeof_X="$ac_cv_sizeof_X:$ac_cv_sizeof_voidp:$ac_cv_sizeof_long"
++if test "$ac_cv_header_stdint" = "stddef.h" ; then
++# we must guess all the basic types. Apart from byte-adressable system,
++# there a few 32-bit-only dsp-systems. nibble-addressable systems are way off.
++ cat >>$ac_stdint_h <<EOF
++/* ------------ BITSPECIFIC INTTYPES SECTION --------------- */
++EOF
++ t="typedefs for a"
++ case "$ac_cv_sizeof_X" in
++ 1:2:2:2:4) { echo "$as_me:$LINENO: result: ..adding $t normal 16-bit system" >&5
++echo "${ECHO_T}..adding $t normal 16-bit system" >&6; }
++ cat >>$ac_stdint_h <<EOF
++/* a normal 16-bit system */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned long uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef long int32_t;
++#endif
++EOF
++;;
++ 1:2:2:4:4) { echo "$as_me:$LINENO: result: ..adding $t 32-bit system derived from a 16-bit" >&5
++echo "${ECHO_T}..adding $t 32-bit system derived from a 16-bit" >&6; }
++ cat >>$ac_stdint_h <<EOF
++/* a 32-bit system derived from a 16-bit */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ 1:2:4:4:4) { echo "$as_me:$LINENO: result: ..adding $t normal 32-bit system" >&5
++echo "${ECHO_T}..adding $t normal 32-bit system" >&6; }
++ cat >>$ac_stdint_h <<EOF
++/* a normal 32-bit system */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ 1:2:4:4:8) { echo "$as_me:$LINENO: result: ..adding $t 32-bit system prepared for 64-bit" >&5
++echo "${ECHO_T}..adding $t 32-bit system prepared for 64-bit" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* a 32-bit system prepared for 64-bit */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ 1:2:4:8:8) { echo "$as_me:$LINENO: result: ..adding $t normal 64-bit system" >&5
++echo "${ECHO_T}..adding $t normal 64-bit system" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* a normal 64-bit system */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ 1:2:4:8:4) { echo "$as_me:$LINENO: result: ..adding $t 64-bit system derived from a 32-bit" >&5
++echo "${ECHO_T}..adding $t 64-bit system derived from a 32-bit" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* a 64-bit system derived from a 32-bit system */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ *)
++ { { echo "$as_me:$LINENO: error: $ac_cv_sizeof_X what is that a system? contact the author, quick! http://ac-archive.sf.net" >&5
++echo "$as_me: error: $ac_cv_sizeof_X what is that a system? contact the author, quick! http://ac-archive.sf.net" >&2;}
++ { (exit 1); exit 1; }; }
++ exit 1
++;;
++ esac
++fi
++
++# ------------- DONE basic int types START int64_t types ------------
++if test "$ac_cv_type_uint64_t" = "yes"
++then { echo "$as_me:$LINENO: result: ... seen good uint64_t" >&5
++echo "${ECHO_T}... seen good uint64_t" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* system headers have good uint64_t */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++#endif
++EOF
++
++elif test "$ac_cv_type_u_int64_t" = "yes"
++then { echo "$as_me:$LINENO: result: ..adding typedef u_int64_t uint64_t" >&5
++echo "${ECHO_T}..adding typedef u_int64_t uint64_t" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* system headers have an u_int64_t */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef u_int64_t uint64_t;
++#endif
++EOF
++else { echo "$as_me:$LINENO: result: ..adding generic uint64_t runtime checks" >&5
++echo "${ECHO_T}..adding generic uint64_t runtime checks" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* -------------------- 64 BIT GENERIC SECTION -------------------- */
++/* here are some common heuristics using compiler runtime specifics */
++#if defined __STDC_VERSION__ && defined __STDC_VERSION__ > 199901L
++
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long long int64_t;
++typedef unsigned long long uint64_t;
++#endif
++
++#elif !defined __STRICT_ANSI__
++#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
++
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef __int64 int64_t;
++typedef unsigned __int64 uint64_t;
++#endif
++
++#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__
++
++#if !defined _NO_LONGLONG
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long long int64_t;
++typedef unsigned long long uint64_t;
++#endif
++#endif
++
++#elif defined __alpha || (defined __mips && defined _ABIN32)
++
++#if !defined _NO_LONGLONG
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long int64_t;
++typedef unsigned long uint64_t;
++#endif
++#endif
++ /* compiler/cpu type ... or just ISO C99 */
++#endif
++#endif
++EOF
++
++# plus a default 64-bit for systems that are likely to be 64-bit ready
++ case "$ac_cv_sizeof_x:$ac_cv_sizeof_voidp:$ac_cv_sizeof_long" in
++ 1:2:8:8) { echo "$as_me:$LINENO: result: ..adding uint64_t default" >&5
++echo "${ECHO_T}..adding uint64_t default" >&6; }
++cat >>$ac_stdint_h <<EOF
++/* DEFAULT: */
++/* seen normal 64-bit system, CC has sizeof(long and void*) == 8 bytes */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long int64_t;
++typedef unsigned long uint64_t;
++#endif
++EOF
++;;
++ 1:2:4:8) { echo "$as_me:$LINENO: result: ..adding uint64_t default" >&5
++echo "${ECHO_T}..adding uint64_t default" >&6; }
++cat >>$ac_stdint_h <<EOF
++/* DEFAULT: */
++/* seen 32-bit system prepared for 64-bit, CC has sizeof(long) == 8 bytes */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long int64_t;
++typedef unsigned long uint64_t;
++#endif
++EOF
++;;
++ 1:2:8:4) { echo "$as_me:$LINENO: result: ..adding uint64_t default" >&5
++echo "${ECHO_T}..adding uint64_t default" >&6; }
++cat >>$ac_stdint_h <<EOF
++/* DEFAULT: */
++/* seen 64-bit derived from a 32-bit, CC has sizeof(long) == 4 bytes */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long long int64_t;
++typedef unsigned long long uint64_t;
++#endif
++EOF
++;;
++ *)
++cat >>$ac_stdint_h <<EOF
++/* NOTE: */
++/* the configure-checks for the basic types did not make us believe */
++/* that we could add a fallback to a 'long long' typedef to int64_t */
++EOF
++ esac
++fi
++
++# ------------- DONE int64_t types START intptr types ------------
++if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ cat >>$ac_stdint_h <<EOF
++
++/* -------------------------- INPTR SECTION --------------------------- */
++EOF
++ case "$ac_cv_sizeof_x:$ac_cv_sizeof_voidp" in
++ 1:2:2)
++ a="int16_t" ; cat >>$ac_stdint_h <<EOF
++/* we tested sizeof(void*) to be of 2 chars, hence we declare it 16-bit */
++
++typedef uint16_t uintptr_t;
++typedef int16_t intptr_t;
++EOF
++;;
++ 1:2:4)
++ a="int32_t" ; cat >>$ac_stdint_h <<EOF
++/* we tested sizeof(void*) to be of 4 chars, hence we declare it 32-bit */
++
++typedef uint32_t uintptr_t;
++typedef int32_t intptr_t;
++EOF
++;;
++ 1:2:8)
++ a="int64_t" ; cat >>$ac_stdint_h <<EOF
++/* we tested sizeof(void*) to be of 8 chars, hence we declare it 64-bit */
++
++typedef uint64_t uintptr_t;
++typedef int64_t intptr_t;
++EOF
++;;
++ *)
++ a="long" ; cat >>$ac_stdint_h <<EOF
++/* we tested sizeof(void*) but got no guess, hence we declare it as if long */
++
++typedef unsigned long uintptr_t;
++typedef long intptr_t;
++EOF
++;;
++ esac
++{ echo "$as_me:$LINENO: result: ..adding typedef $a intptr_t" >&5
++echo "${ECHO_T}..adding typedef $a intptr_t" >&6; }
++fi
++
++# ------------- DONE intptr types START int_least types ------------
++if test "$ac_cv_type_int_least32_t" = "no"; then
++{ echo "$as_me:$LINENO: result: ..adding generic int_least-types" >&5
++echo "${ECHO_T}..adding generic int_least-types" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* --------------GENERIC INT_LEAST ------------------ */
++
++typedef int8_t int_least8_t;
++typedef int16_t int_least16_t;
++typedef int32_t int_least32_t;
++#ifdef _HAVE_INT64_T
++typedef int64_t int_least64_t;
++#endif
++
++typedef uint8_t uint_least8_t;
++typedef uint16_t uint_least16_t;
++typedef uint32_t uint_least32_t;
++#ifdef _HAVE_INT64_T
++typedef uint64_t uint_least64_t;
++#endif
++EOF
++fi
++
++# ------------- DONE intptr types START int_least types ------------
++if test "$ac_cv_type_int_fast32_t" = "no"; then
++{ echo "$as_me:$LINENO: result: ..adding generic int_fast-types" >&5
++echo "${ECHO_T}..adding generic int_fast-types" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* --------------GENERIC INT_FAST ------------------ */
++
++typedef int8_t int_fast8_t;
++typedef int32_t int_fast16_t;
++typedef int32_t int_fast32_t;
++#ifdef _HAVE_INT64_T
++typedef int64_t int_fast64_t;
++#endif
++
++typedef uint8_t uint_fast8_t;
++typedef uint32_t uint_fast16_t;
++typedef uint32_t uint_fast32_t;
++#ifdef _HAVE_INT64_T
++typedef uint64_t uint_fast64_t;
++#endif
++EOF
++fi
++
++if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ cat >>$ac_stdint_h <<EOF
++
++#ifdef _HAVE_INT64_T
++typedef int64_t intmax_t;
++typedef uint64_t uintmax_t;
++#else
++typedef long int intmax_t;
++typedef unsigned long uintmax_t;
++#endif
++EOF
++fi
++
++{ echo "$as_me:$LINENO: result: ... DONE $ac_stdint_h" >&5
++echo "${ECHO_T}... DONE $ac_stdint_h" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++ /* once */
++#endif
++#endif
++EOF
++
++{ echo "$as_me:$LINENO: checking for in_addr_t" >&5
++echo $ECHO_N "checking for in_addr_t... $ECHO_C" >&6; }
++if test "${inaddrt+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <sys/types.h>
++#include <netinet/in.h>
++int
++main ()
++{
++in_addr_t foo; return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ inaddrt=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ inaddrt=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext,
++
++fi
++{ echo "$as_me:$LINENO: result: $inaddrt" >&5
++echo "${ECHO_T}$inaddrt" >&6; }
++
++
++if test $inaddrt = no ; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define NEED_INADDR_T 1
++_ACEOF
++
++fi
++
++# Checks for library functions.
++{ echo "$as_me:$LINENO: checking for working memcmp" >&5
++echo $ECHO_N "checking for working memcmp... $ECHO_C" >&6; }
++if test "${ac_cv_func_memcmp_working+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test "$cross_compiling" = yes; then
++ ac_cv_func_memcmp_working=no
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++
++ /* Some versions of memcmp are not 8-bit clean. */
++ char c0 = '\100', c1 = '\200', c2 = '\201';
++ if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0)
++ return 1;
++
++ /* The Next x86 OpenStep bug shows up only when comparing 16 bytes
++ or more and with at least one buffer not starting on a 4-byte boundary.
++ William Lewis provided this test program. */
++ {
++ char foo[21];
++ char bar[21];
++ int i;
++ for (i = 0; i < 4; i++)
++ {
++ char *a = foo + i;
++ char *b = bar + i;
++ strcpy (a, "--------01111111");
++ strcpy (b, "--------10000000");
++ if (memcmp (a, b, 16) >= 0)
++ return 1;
++ }
++ return 0;
++ }
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_memcmp_working=yes
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_func_memcmp_working=no
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_memcmp_working" >&5
++echo "${ECHO_T}$ac_cv_func_memcmp_working" >&6; }
++test $ac_cv_func_memcmp_working = no && case " $LIB@&t@OBJS " in
++ *" memcmp.$ac_objext "* ) ;;
++ *) LIB@&t@OBJS="$LIB@&t@OBJS memcmp.$ac_objext"
++ ;;
++esac
++
++
++{ echo "$as_me:$LINENO: checking whether lstat dereferences a symlink specified with a trailing slash" >&5
++echo $ECHO_N "checking whether lstat dereferences a symlink specified with a trailing slash... $ECHO_C" >&6; }
++if test "${ac_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ rm -f conftest.sym conftest.file
++echo >conftest.file
++if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
++ if test "$cross_compiling" = yes; then
++ ac_cv_func_lstat_dereferences_slashed_symlink=no
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++struct stat sbuf;
++ /* Linux will dereference the symlink and fail.
++ That is better in the sense that it means we will not
++ have to compile and use the lstat wrapper. */
++ return lstat ("conftest.sym/", &sbuf) == 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_lstat_dereferences_slashed_symlink=yes
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_func_lstat_dereferences_slashed_symlink=no
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++else
++ # If the `ln -s' command failed, then we probably don't even
++ # have an lstat function.
++ ac_cv_func_lstat_dereferences_slashed_symlink=no
++fi
++rm -f conftest.sym conftest.file
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5
++echo "${ECHO_T}$ac_cv_func_lstat_dereferences_slashed_symlink" >&6; }
++
++test $ac_cv_func_lstat_dereferences_slashed_symlink = yes &&
++
++cat >>confdefs.h <<_ACEOF
++@%:@define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
++_ACEOF
++
++
++if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then
++ case " $LIB@&t@OBJS " in
++ *" lstat.$ac_objext "* ) ;;
++ *) LIB@&t@OBJS="$LIB@&t@OBJS lstat.$ac_objext"
++ ;;
++esac
++
++fi
++
++{ echo "$as_me:$LINENO: checking whether stat accepts an empty string" >&5
++echo $ECHO_N "checking whether stat accepts an empty string... $ECHO_C" >&6; }
++if test "${ac_cv_func_stat_empty_string_bug+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test "$cross_compiling" = yes; then
++ ac_cv_func_stat_empty_string_bug=yes
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++struct stat sbuf;
++ return stat ("", &sbuf) == 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_stat_empty_string_bug=no
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_func_stat_empty_string_bug=yes
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_stat_empty_string_bug" >&5
++echo "${ECHO_T}$ac_cv_func_stat_empty_string_bug" >&6; }
++if test $ac_cv_func_stat_empty_string_bug = yes; then
++ case " $LIB@&t@OBJS " in
++ *" stat.$ac_objext "* ) ;;
++ *) LIB@&t@OBJS="$LIB@&t@OBJS stat.$ac_objext"
++ ;;
++esac
++
++
++cat >>confdefs.h <<_ACEOF
++@%:@define HAVE_STAT_EMPTY_STRING_BUG 1
++_ACEOF
++
++fi
++
++
++for ac_func in strftime
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
++
++int
++main ()
++{
++return $ac_func ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ eval "$as_ac_var=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_var=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++ac_res=`eval echo '${'$as_ac_var'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++else
++ # strftime is in -lintl on SCO UNIX.
++{ echo "$as_me:$LINENO: checking for strftime in -lintl" >&5
++echo $ECHO_N "checking for strftime in -lintl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_intl_strftime+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lintl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char strftime ();
++int
++main ()
++{
++return strftime ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_intl_strftime=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_intl_strftime=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_strftime" >&5
++echo "${ECHO_T}$ac_cv_lib_intl_strftime" >&6; }
++if test $ac_cv_lib_intl_strftime = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_STRFTIME 1
++_ACEOF
++
++LIBS="-lintl $LIBS"
++fi
++
++fi
++done
++
++
++for ac_func in vprintf
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
++
++int
++main ()
++{
++return $ac_func ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ eval "$as_ac_var=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_var=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++ac_res=`eval echo '${'$as_ac_var'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++{ echo "$as_me:$LINENO: checking for _doprnt" >&5
++echo $ECHO_N "checking for _doprnt... $ECHO_C" >&6; }
++if test "${ac_cv_func__doprnt+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define _doprnt to an innocuous variant, in case <limits.h> declares _doprnt.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define _doprnt innocuous__doprnt
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char _doprnt (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef _doprnt
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char _doprnt ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub__doprnt || defined __stub____doprnt
++choke me
++#endif
++
++int
++main ()
++{
++return _doprnt ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func__doprnt=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_func__doprnt=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5
++echo "${ECHO_T}$ac_cv_func__doprnt" >&6; }
++if test $ac_cv_func__doprnt = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_DOPRNT 1
++_ACEOF
++
++fi
++
++fi
++done
++
++
++{ echo "$as_me:$LINENO: checking for pid_t" >&5
++echo $ECHO_N "checking for pid_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_pid_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++typedef pid_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_pid_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_pid_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
++echo "${ECHO_T}$ac_cv_type_pid_t" >&6; }
++if test $ac_cv_type_pid_t = yes; then
++ :
++else
++
++cat >>confdefs.h <<_ACEOF
++@%:@define pid_t int
++_ACEOF
++
++fi
++
++
++for ac_header in vfork.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ { echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <$ac_header>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ eval "$as_ac_Header=\$ac_header_preproc"
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++
++fi
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++
++for ac_func in fork vfork
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
++
++int
++main ()
++{
++return $ac_func ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ eval "$as_ac_var=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_var=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++ac_res=`eval echo '${'$as_ac_var'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++if test "x$ac_cv_func_fork" = xyes; then
++ { echo "$as_me:$LINENO: checking for working fork" >&5
++echo $ECHO_N "checking for working fork... $ECHO_C" >&6; }
++if test "${ac_cv_func_fork_works+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test "$cross_compiling" = yes; then
++ ac_cv_func_fork_works=cross
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++
++ /* By Ruediger Kuhlmann. */
++ return fork () < 0;
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_fork_works=yes
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_func_fork_works=no
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_fork_works" >&5
++echo "${ECHO_T}$ac_cv_func_fork_works" >&6; }
++
++else
++ ac_cv_func_fork_works=$ac_cv_func_fork
++fi
++if test "x$ac_cv_func_fork_works" = xcross; then
++ case $host in
++ *-*-amigaos* | *-*-msdosdjgpp*)
++ # Override, as these systems have only a dummy fork() stub
++ ac_cv_func_fork_works=no
++ ;;
++ *)
++ ac_cv_func_fork_works=yes
++ ;;
++ esac
++ { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5
++echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;}
++fi
++ac_cv_func_vfork_works=$ac_cv_func_vfork
++if test "x$ac_cv_func_vfork" = xyes; then
++ { echo "$as_me:$LINENO: checking for working vfork" >&5
++echo $ECHO_N "checking for working vfork... $ECHO_C" >&6; }
++if test "${ac_cv_func_vfork_works+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test "$cross_compiling" = yes; then
++ ac_cv_func_vfork_works=cross
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Thanks to Paul Eggert for this test. */
++$ac_includes_default
++#include <sys/wait.h>
++#ifdef HAVE_VFORK_H
++# include <vfork.h>
++#endif
++/* On some sparc systems, changes by the child to local and incoming
++ argument registers are propagated back to the parent. The compiler
++ is told about this with #include <vfork.h>, but some compilers
++ (e.g. gcc -O) don't grok <vfork.h>. Test for this by using a
++ static variable whose address is put into a register that is
++ clobbered by the vfork. */
++static void
++#ifdef __cplusplus
++sparc_address_test (int arg)
++# else
++sparc_address_test (arg) int arg;
++#endif
++{
++ static pid_t child;
++ if (!child) {
++ child = vfork ();
++ if (child < 0) {
++ perror ("vfork");
++ _exit(2);
++ }
++ if (!child) {
++ arg = getpid();
++ write(-1, "", 0);
++ _exit (arg);
++ }
++ }
++}
++
++int
++main ()
++{
++ pid_t parent = getpid ();
++ pid_t child;
++
++ sparc_address_test (0);
++
++ child = vfork ();
++
++ if (child == 0) {
++ /* Here is another test for sparc vfork register problems. This
++ test uses lots of local variables, at least as many local
++ variables as main has allocated so far including compiler
++ temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris
++ 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should
++ reuse the register of parent for one of the local variables,
++ since it will think that parent can't possibly be used any more
++ in this routine. Assigning to the local variable will thus
++ munge parent in the parent process. */
++ pid_t
++ p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),
++ p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();
++ /* Convince the compiler that p..p7 are live; otherwise, it might
++ use the same hardware register for all 8 local variables. */
++ if (p != p1 || p != p2 || p != p3 || p != p4
++ || p != p5 || p != p6 || p != p7)
++ _exit(1);
++
++ /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent
++ from child file descriptors. If the child closes a descriptor
++ before it execs or exits, this munges the parent's descriptor
++ as well. Test for this by closing stdout in the child. */
++ _exit(close(fileno(stdout)) != 0);
++ } else {
++ int status;
++ struct stat st;
++
++ while (wait(&status) != child)
++ ;
++ return (
++ /* Was there some problem with vforking? */
++ child < 0
++
++ /* Did the child fail? (This shouldn't happen.) */
++ || status
++
++ /* Did the vfork/compiler bug occur? */
++ || parent != getpid()
++
++ /* Did the file descriptor bug occur? */
++ || fstat(fileno(stdout), &st) != 0
++ );
++ }
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_vfork_works=yes
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_func_vfork_works=no
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_vfork_works" >&5
++echo "${ECHO_T}$ac_cv_func_vfork_works" >&6; }
++
++fi;
++if test "x$ac_cv_func_fork_works" = xcross; then
++ ac_cv_func_vfork_works=$ac_cv_func_vfork
++ { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5
++echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;}
++fi
++
++if test "x$ac_cv_func_vfork_works" = xyes; then
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_WORKING_VFORK 1
++_ACEOF
++
++else
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define vfork fork
++_ACEOF
++
++fi
++if test "x$ac_cv_func_fork_works" = xyes; then
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_WORKING_FORK 1
++_ACEOF
++
++fi
++
++
++{ echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
++echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lnsl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char gethostbyname ();
++int
++main ()
++{
++return gethostbyname ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_nsl_gethostbyname=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_nsl_gethostbyname=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6; }
++if test $ac_cv_lib_nsl_gethostbyname = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define HAVE_LIBNSL 1
++_ACEOF
++
++ LIBS="-lnsl $LIBS"
++
++fi
++
++
++{ echo "$as_me:$LINENO: checking for socket in -lsocket" >&5
++echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6; }
++if test "${ac_cv_lib_socket_socket+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lsocket $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char socket ();
++int
++main ()
++{
++return socket ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_socket_socket=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_socket_socket=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5
++echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6; }
++if test $ac_cv_lib_socket_socket = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define HAVE_LIBSOCKET 1
++_ACEOF
++
++ LIBS="-lsocket $LIBS"
++
++fi
++
++
++uname_s=`(uname -s) 2>/dev/null`
++if test "x$uname_s" = "xHP-UX"; then
++ # need -lsec for getspnam()
++ LDFLAGS="$LDFLAGS -lsec"
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++for ac_func in ftime gethostbyname gethostname gettimeofday inet_ntoa memmove memset mmap mkfifo select socket strchr strcspn strdup strerror strstr
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
++
++int
++main ()
++{
++return $ac_func ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ eval "$as_ac_var=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_var=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++ac_res=`eval echo '${'$as_ac_var'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++# x11vnc only:
++if test "$build_x11vnc" = "yes"; then
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++for ac_func in setsid setpgrp getpwuid getpwnam getspnam getuid geteuid setuid setgid seteuid setegid initgroups waitpid setutxent grantpt
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
++
++int
++main ()
++{
++return $ac_func ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ eval "$as_ac_var=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_var=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++ac_res=`eval echo '${'$as_ac_var'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++fi
++
++# check, if shmget is in cygipc.a
++
++{ echo "$as_me:$LINENO: checking for shmget in -lcygipc" >&5
++echo $ECHO_N "checking for shmget in -lcygipc... $ECHO_C" >&6; }
++if test "${ac_cv_lib_cygipc_shmget+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lcygipc $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char shmget ();
++int
++main ()
++{
++return shmget ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_cygipc_shmget=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_cygipc_shmget=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_cygipc_shmget" >&5
++echo "${ECHO_T}$ac_cv_lib_cygipc_shmget" >&6; }
++if test $ac_cv_lib_cygipc_shmget = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define HAVE_LIBCYGIPC 1
++_ACEOF
++
++ LIBS="-lcygipc $LIBS"
++
++fi
++
++ if test "$HAVE_CYGIPC" = "true"; then
++ CYGIPC_TRUE=
++ CYGIPC_FALSE='#'
++else
++ CYGIPC_TRUE='#'
++ CYGIPC_FALSE=
++fi
++
++
++# Check if /dev/vcsa1 exists, if so, define LINUX
++ if test -c /dev/vcsa1; then
++ LINUX_TRUE=
++ LINUX_FALSE='#'
++else
++ LINUX_TRUE='#'
++ LINUX_FALSE=
++fi
++
++
++# Check for OS X specific header
++if test "${ac_cv_header_ApplicationServices_ApplicationServices_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for ApplicationServices/ApplicationServices.h" >&5
++echo $ECHO_N "checking for ApplicationServices/ApplicationServices.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_ApplicationServices_ApplicationServices_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_ApplicationServices_ApplicationServices_h" >&5
++echo "${ECHO_T}$ac_cv_header_ApplicationServices_ApplicationServices_h" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking ApplicationServices/ApplicationServices.h usability" >&5
++echo $ECHO_N "checking ApplicationServices/ApplicationServices.h usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <ApplicationServices/ApplicationServices.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking ApplicationServices/ApplicationServices.h presence" >&5
++echo $ECHO_N "checking ApplicationServices/ApplicationServices.h presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <ApplicationServices/ApplicationServices.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for ApplicationServices/ApplicationServices.h" >&5
++echo $ECHO_N "checking for ApplicationServices/ApplicationServices.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_ApplicationServices_ApplicationServices_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_ApplicationServices_ApplicationServices_h=$ac_header_preproc
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_ApplicationServices_ApplicationServices_h" >&5
++echo "${ECHO_T}$ac_cv_header_ApplicationServices_ApplicationServices_h" >&6; }
++
++fi
++if test $ac_cv_header_ApplicationServices_ApplicationServices_h = yes; then
++ HAVE_OSX="true"
++fi
++
++
++ if test "$HAVE_OSX" = "true"; then
++ OSX_TRUE=
++ OSX_FALSE='#'
++else
++ OSX_TRUE='#'
++ OSX_FALSE=
++fi
++
++
++# On Solaris 2.7, write() returns ENOENT when it really means EAGAIN
++
++
++case `(uname -sr) 2>/dev/null` in
++ "SunOS 5.7")
++ cat >>confdefs.h <<\_ACEOF
++@%:@define ENOENT_WORKAROUND 1
++_ACEOF
++
++ ;;
++esac
++
++# Check for rpm SOURCES path
++printf "checking for rpm sources path... "
++RPMSOURCEDIR="NOT-FOUND"
++for directory in packages OpenLinux redhat RedHat rpm RPM "" ; do
++ if test -d /usr/src/${directory}/SOURCES; then
++ RPMSOURCEDIR="/usr/src/${directory}/SOURCES/"
++ fi
++done
++echo "$RPMSOURCEDIR"
++ if test "$RPMSOURCEDIR" != "NOT-FOUND"; then
++ HAVE_RPM_TRUE=
++ HAVE_RPM_FALSE='#'
++else
++ HAVE_RPM_TRUE='#'
++ HAVE_RPM_FALSE=
++fi
++
++
++
++ac_config_files="$ac_config_files Makefile libvncserver/Makefile contrib/Makefile examples/Makefile vncterm/Makefile classes/Makefile classes/ssl/Makefile libvncclient/Makefile client_examples/Makefile test/Makefile libvncserver-config LibVNCServer.spec"
++
++# x11vnc only:
++# if test "$build_x11vnc" = "yes"; then
++# AC_CONFIG_FILES([x11vnc/Makefile x11vnc/misc/Makefile])
++# fi
++
++ac_config_commands="$ac_config_commands chmod-libvncserver-config"
++
++cat >confcache <<\_ACEOF
++# This file is a shell script that caches the results of configure
++# tests run on this system so they can be shared between configure
++# scripts and configure runs, see configure's option --config-cache.
++# It is not useful on other systems. If it contains results you don't
++# want to keep, you may remove or edit it.
++#
++# config.status only pays attention to the cache file if you give it
++# the --recheck option to rerun configure.
++#
++# `ac_cv_env_foo' variables (set or unset) will be overridden when
++# loading this file, other *unset* `ac_cv_foo' will be assigned the
++# following values.
++
++_ACEOF
++
++# The following way of writing the cache mishandles newlines in values,
++# but we know of no workaround that is simple, portable, and efficient.
++# So, we kill variables containing newlines.
++# Ultrix sh set writes to stderr and can't be redirected directly,
++# and sets the high bit in the cache file unless we assign to the vars.
++(
++ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
++ eval ac_val=\$$ac_var
++ case $ac_val in #(
++ *${as_nl}*)
++ case $ac_var in #(
++ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
++echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
++ esac
++ case $ac_var in #(
++ _ | IFS | as_nl) ;; #(
++ *) $as_unset $ac_var ;;
++ esac ;;
++ esac
++ done
++
++ (set) 2>&1 |
++ case $as_nl`(ac_space=' '; set) 2>&1` in #(
++ *${as_nl}ac_space=\ *)
++ # `set' does not quote correctly, so add quotes (double-quote
++ # substitution turns \\\\ into \\, and sed turns \\ into \).
++ sed -n \
++ "s/'/'\\\\''/g;
++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
++ ;; #(
++ *)
++ # `set' quotes correctly as required by POSIX, so do not add quotes.
++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
++ ;;
++ esac |
++ sort
++) |
++ sed '
++ /^ac_cv_env_/b end
++ t clear
++ :clear
++ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
++ t end
++ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
++ :end' >>confcache
++if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
++ if test -w "$cache_file"; then
++ test "x$cache_file" != "x/dev/null" &&
++ { echo "$as_me:$LINENO: updating cache $cache_file" >&5
++echo "$as_me: updating cache $cache_file" >&6;}
++ cat confcache >$cache_file
++ else
++ { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
++echo "$as_me: not updating unwritable cache $cache_file" >&6;}
++ fi
++fi
++rm -f confcache
++
++test "x$prefix" = xNONE && prefix=$ac_default_prefix
++# Let make expand exec_prefix.
++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
++
++DEFS=-DHAVE_CONFIG_H
++
++ac_libobjs=
++ac_ltlibobjs=
++for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
++ # 1. Remove the extension, and $U if already installed.
++ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
++ ac_i=`echo "$ac_i" | sed "$ac_script"`
++ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
++ # will be set to the directory where LIBOBJS objects are built.
++ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
++ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
++done
++LIB@&t@OBJS=$ac_libobjs
++
++LTLIBOBJS=$ac_ltlibobjs
++
++
++if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"AMDEP\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${WITH_FFMPEG_TRUE}" && test -z "${WITH_FFMPEG_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"WITH_FFMPEG\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"WITH_FFMPEG\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_MP3LAME_TRUE}" && test -z "${HAVE_MP3LAME_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_MP3LAME\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_MP3LAME\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_X_TRUE}" && test -z "${HAVE_X_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_X\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_X\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_SYSTEM_LIBVNCSERVER_TRUE}" && test -z "${HAVE_SYSTEM_LIBVNCSERVER_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_SYSTEM_LIBVNCSERVER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_SYSTEM_LIBVNCSERVER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_LIBPTHREAD_TRUE}" && test -z "${HAVE_LIBPTHREAD_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBPTHREAD\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_LIBPTHREAD\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${WITH_TIGHTVNC_FILETRANSFER_TRUE}" && test -z "${WITH_TIGHTVNC_FILETRANSFER_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"WITH_TIGHTVNC_FILETRANSFER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"WITH_TIGHTVNC_FILETRANSFER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_LIBZ_TRUE}" && test -z "${HAVE_LIBZ_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBZ\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_LIBZ\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_LIBJPEG_TRUE}" && test -z "${HAVE_LIBJPEG_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBJPEG\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_LIBJPEG\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_LIBSDL_TRUE}" && test -z "${HAVE_LIBSDL_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBSDL\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_LIBSDL\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${MINGW_TRUE}" && test -z "${MINGW_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"MINGW\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"MINGW\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${CYGIPC_TRUE}" && test -z "${CYGIPC_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"CYGIPC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"CYGIPC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${LINUX_TRUE}" && test -z "${LINUX_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"LINUX\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"LINUX\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${OSX_TRUE}" && test -z "${OSX_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"OSX\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"OSX\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_RPM_TRUE}" && test -z "${HAVE_RPM_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_RPM\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_RPM\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++: ${CONFIG_STATUS=./config.status}
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files $CONFIG_STATUS"
++{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
++echo "$as_me: creating $CONFIG_STATUS" >&6;}
++cat >$CONFIG_STATUS <<_ACEOF
++#! $SHELL
++# Generated by $as_me.
++# Run this file to recreate the current configuration.
++# Compiler output produced by configure, useful for debugging
++# configure, is in config.log if it exists.
++
++debug=false
++ac_cs_recheck=false
++ac_cs_silent=false
++SHELL=\${CONFIG_SHELL-$SHELL}
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++## --------------------- ##
++## M4sh Initialization. ##
++## --------------------- ##
++
++# Be more Bourne compatible
++DUALCASE=1; export DUALCASE # for MKS sh
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '${1+"$@"}'='"$@"'
++ setopt NO_GLOB_SUBST
++else
++ case `(set -o) 2>/dev/null` in
++ *posix*) set -o posix ;;
++esac
++
++fi
++
++
++
++
++# PATH needs CR
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
++ else
++ PATH_SEPARATOR=:
++ fi
++ rm -f conf$$.sh
++fi
++
++# Support unset when possible.
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++ as_unset=unset
++else
++ as_unset=false
++fi
++
++
++# IFS
++# We need space, tab and new line, in precisely that order. Quoting is
++# there to prevent editors from complaining about space-tab.
++# (If _AS_PATH_WALK were called with IFS unset, it would disable word
++# splitting by setting IFS to empty value.)
++as_nl='
++'
++IFS=" "" $as_nl"
++
++# Find who we are. Look in the path if we contain no directory separator.
++case $0 in
++ *[\\/]* ) as_myself=$0 ;;
++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
++done
++IFS=$as_save_IFS
++
++ ;;
++esac
++# We did not find ourselves, most probably we were run as `sh COMMAND'
++# in which case we are not to be found in the path.
++if test "x$as_myself" = x; then
++ as_myself=$0
++fi
++if test ! -f "$as_myself"; then
++ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++ { (exit 1); exit 1; }
++fi
++
++# Work around bugs in pre-3.0 UWIN ksh.
++for as_var in ENV MAIL MAILPATH
++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++done
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++for as_var in \
++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
++ LC_TELEPHONE LC_TIME
++do
++ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
++ eval $as_var=C; export $as_var
++ else
++ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++ fi
++done
++
++# Required to use basename.
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
++ as_basename=basename
++else
++ as_basename=false
++fi
++
++
++# Name of the executable.
++as_me=`$as_basename -- "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++ X"$0" : 'X\(//\)$' \| \
++ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++echo X/"$0" |
++ sed '/^.*\/\([^/][^/]*\)\/*$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++
++# CDPATH.
++$as_unset CDPATH
++
++
++
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
++
++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
++ # uniformly replaced by the line number. The first 'sed' inserts a
++ # line-number line after each line using $LINENO; the second 'sed'
++ # does the real work. The second script uses 'N' to pair each
++ # line-number line with the line containing $LINENO, and appends
++ # trailing '-' during substitution so that $LINENO is not a special
++ # case at line end.
++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
++ # scripts with optimization help from Paolo Bonzini. Blame Lee
++ # E. McMahon (1931-1989) for sed's syntax. :-)
++ sed -n '
++ p
++ /[$]LINENO/=
++ ' <$as_myself |
++ sed '
++ s/[$]LINENO.*/&-/
++ t lineno
++ b
++ :lineno
++ N
++ :loop
++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
++ t loop
++ s/-\n.*//
++ ' >$as_me.lineno &&
++ chmod +x "$as_me.lineno" ||
++ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
++ { (exit 1); exit 1; }; }
++
++ # Don't try to exec as it changes $[0], causing all sort of problems
++ # (the dirname of $[0] is not the place where we might find the
++ # original and so on. Autoconf is especially sensitive to this).
++ . "./$as_me.lineno"
++ # Exit status is that of the last command.
++ exit
++}
++
++
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++ as_dirname=dirname
++else
++ as_dirname=false
++fi
++
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in
++-n*)
++ case `echo 'x\c'` in
++ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
++ *) ECHO_C='\c';;
++ esac;;
++*)
++ ECHO_N='-n';;
++esac
++
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++rm -f conf$$ conf$$.exe conf$$.file
++if test -d conf$$.dir; then
++ rm -f conf$$.dir/conf$$.file
++else
++ rm -f conf$$.dir
++ mkdir conf$$.dir
++fi
++echo >conf$$.file
++if ln -s conf$$.file conf$$ 2>/dev/null; then
++ as_ln_s='ln -s'
++ # ... but there are two gotchas:
++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
++ # In both cases, we have to default to `cp -p'.
++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
++ as_ln_s='cp -p'
++elif ln conf$$.file conf$$ 2>/dev/null; then
++ as_ln_s=ln
++else
++ as_ln_s='cp -p'
++fi
++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
++rmdir conf$$.dir 2>/dev/null
++
++if mkdir -p . 2>/dev/null; then
++ as_mkdir_p=:
++else
++ test -d ./-p && rmdir ./-p
++ as_mkdir_p=false
++fi
++
++if test -x / >/dev/null 2>&1; then
++ as_test_x='test -x'
++else
++ if ls -dL / >/dev/null 2>&1; then
++ as_ls_L_option=L
++ else
++ as_ls_L_option=
++ fi
++ as_test_x='
++ eval sh -c '\''
++ if test -d "$1"; then
++ test -d "$1/.";
++ else
++ case $1 in
++ -*)set "./$1";;
++ esac;
++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
++ ???[sx]*):;;*)false;;esac;fi
++ '\'' sh
++ '
++fi
++as_executable_p=$as_test_x
++
++# Sed expression to map a string onto a valid CPP name.
++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
++
++# Sed expression to map a string onto a valid variable name.
++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
++
++
++exec 6>&1
++
++# Save the log message, to keep $[0] and so on meaningful, and to
++# report actual input values of CONFIG_FILES etc. instead of their
++# values after options handling.
++ac_log="
++This file was extended by LibVNCServer $as_me 0.9.1, which was
++generated by GNU Autoconf 2.61. Invocation command line was
++
++ CONFIG_FILES = $CONFIG_FILES
++ CONFIG_HEADERS = $CONFIG_HEADERS
++ CONFIG_LINKS = $CONFIG_LINKS
++ CONFIG_COMMANDS = $CONFIG_COMMANDS
++ $ $0 $@
++
++on `(hostname || uname -n) 2>/dev/null | sed 1q`
++"
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<_ACEOF
++# Files that config.status was made for.
++config_files="$ac_config_files"
++config_headers="$ac_config_headers"
++config_commands="$ac_config_commands"
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++ac_cs_usage="\
++\`$as_me' instantiates files from templates according to the
++current configuration.
++
++Usage: $0 [OPTIONS] [FILE]...
++
++ -h, --help print this help, then exit
++ -V, --version print version number and configuration settings, then exit
++ -q, --quiet do not print progress messages
++ -d, --debug don't remove temporary files
++ --recheck update $as_me by reconfiguring in the same conditions
++ --file=FILE[:TEMPLATE]
++ instantiate the configuration file FILE
++ --header=FILE[:TEMPLATE]
++ instantiate the configuration header FILE
++
++Configuration files:
++$config_files
++
++Configuration headers:
++$config_headers
++
++Configuration commands:
++$config_commands
++
++Report bugs to <bug-autoconf@gnu.org>."
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++ac_cs_version="\\
++LibVNCServer config.status 0.9.1
++configured by $0, generated by GNU Autoconf 2.61,
++ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
++
++Copyright (C) 2006 Free Software Foundation, Inc.
++This config.status script is free software; the Free Software Foundation
++gives unlimited permission to copy, distribute and modify it."
++
++ac_pwd='$ac_pwd'
++srcdir='$srcdir'
++INSTALL='$INSTALL'
++MKDIR_P='$MKDIR_P'
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++# If no file are specified by the user, then we need to provide default
++# value. By we need to know if files were specified by the user.
++ac_need_defaults=:
++while test $# != 0
++do
++ case $1 in
++ --*=*)
++ ac_option=`expr "X$1" : 'X\([^=]*\)='`
++ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
++ ac_shift=:
++ ;;
++ *)
++ ac_option=$1
++ ac_optarg=$2
++ ac_shift=shift
++ ;;
++ esac
++
++ case $ac_option in
++ # Handling of the options.
++ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
++ ac_cs_recheck=: ;;
++ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
++ echo "$ac_cs_version"; exit ;;
++ --debug | --debu | --deb | --de | --d | -d )
++ debug=: ;;
++ --file | --fil | --fi | --f )
++ $ac_shift
++ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
++ ac_need_defaults=false;;
++ --header | --heade | --head | --hea )
++ $ac_shift
++ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
++ ac_need_defaults=false;;
++ --he | --h)
++ # Conflict between --help and --header
++ { echo "$as_me: error: ambiguous option: $1
++Try \`$0 --help' for more information." >&2
++ { (exit 1); exit 1; }; };;
++ --help | --hel | -h )
++ echo "$ac_cs_usage"; exit ;;
++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++ | -silent | --silent | --silen | --sile | --sil | --si | --s)
++ ac_cs_silent=: ;;
++
++ # This is an error.
++ -*) { echo "$as_me: error: unrecognized option: $1
++Try \`$0 --help' for more information." >&2
++ { (exit 1); exit 1; }; } ;;
++
++ *) ac_config_targets="$ac_config_targets $1"
++ ac_need_defaults=false ;;
++
++ esac
++ shift
++done
++
++ac_configure_extra_args=
++
++if $ac_cs_silent; then
++ exec 6>/dev/null
++ ac_configure_extra_args="$ac_configure_extra_args --silent"
++fi
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++if \$ac_cs_recheck; then
++ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
++ CONFIG_SHELL=$SHELL
++ export CONFIG_SHELL
++ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
++fi
++
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF
++exec 5>>config.log
++{
++ echo
++ sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
++@%:@@%:@ Running $as_me. @%:@@%:@
++_ASBOX
++ echo "$ac_log"
++} >&5
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++#
++# INIT-COMMANDS
++#
++PACKAGE="$PACKAGE"
++AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
++
++
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
++
++sed_quote_subst='$sed_quote_subst'
++double_quote_subst='$double_quote_subst'
++delay_variable_subst='$delay_variable_subst'
++macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
++macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
++enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
++enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
++pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
++enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
++host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
++host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
++host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
++build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
++build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
++build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
++SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
++Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
++GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
++EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
++FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
++LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
++NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
++LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
++max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
++ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
++exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
++lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
++lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
++lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
++reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
++reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
++file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
++AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
++AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
++STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
++RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
++old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
++CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
++compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
++GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
++objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
++SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
++ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
++MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
++need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
++DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
++NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
++LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
++OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
++OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
++libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
++shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
++enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
++export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
++whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
++compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
++allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
++no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
++inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
++link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
++fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
++always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
++export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
++include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
++prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
++variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
++need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
++need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
++version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
++runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
++shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
++shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
++libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
++library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
++soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
++postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
++sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
++sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
++enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
++enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
++enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
++old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
++striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
++
++LTCC='$LTCC'
++LTCFLAGS='$LTCFLAGS'
++compiler='$compiler_DEFAULT'
++
++# Quote evaled strings.
++for var in SED \
++GREP \
++EGREP \
++FGREP \
++LD \
++NM \
++LN_S \
++lt_SP2NL \
++lt_NL2SP \
++reload_flag \
++deplibs_check_method \
++file_magic_cmd \
++AR \
++AR_FLAGS \
++STRIP \
++RANLIB \
++CC \
++CFLAGS \
++compiler \
++lt_cv_sys_global_symbol_pipe \
++lt_cv_sys_global_symbol_to_cdecl \
++lt_cv_sys_global_symbol_to_c_name_address \
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
++SHELL \
++ECHO \
++lt_prog_compiler_no_builtin_flag \
++lt_prog_compiler_wl \
++lt_prog_compiler_pic \
++lt_prog_compiler_static \
++lt_cv_prog_compiler_c_o \
++need_locks \
++DSYMUTIL \
++NMEDIT \
++LIPO \
++OTOOL \
++OTOOL64 \
++shrext_cmds \
++export_dynamic_flag_spec \
++whole_archive_flag_spec \
++compiler_needs_object \
++with_gnu_ld \
++allow_undefined_flag \
++no_undefined_flag \
++hardcode_libdir_flag_spec \
++hardcode_libdir_flag_spec_ld \
++hardcode_libdir_separator \
++fix_srcfile_path \
++exclude_expsyms \
++include_expsyms \
++file_list_spec \
++variables_saved_for_relink \
++libname_spec \
++library_names_spec \
++soname_spec \
++finish_eval \
++old_striplib \
++striplib; do
++ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
++ *[\\\\\\\`\\"\\\$]*)
++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
++ ;;
++ *)
++ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
++ ;;
++ esac
++done
++
++# Double-quote double-evaled strings.
++for var in reload_cmds \
++old_postinstall_cmds \
++old_postuninstall_cmds \
++old_archive_cmds \
++extract_expsyms_cmds \
++old_archive_from_new_cmds \
++old_archive_from_expsyms_cmds \
++archive_cmds \
++archive_expsym_cmds \
++module_cmds \
++module_expsym_cmds \
++export_symbols_cmds \
++prelink_cmds \
++postinstall_cmds \
++postuninstall_cmds \
++finish_cmds \
++sys_lib_search_path_spec \
++sys_lib_dlsearch_path_spec; do
++ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
++ *[\\\\\\\`\\"\\\$]*)
++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
++ ;;
++ *)
++ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
++ ;;
++ esac
++done
++
++# Fix-up fallback echo if it was mangled by the above quoting rules.
++case \$lt_ECHO in
++*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
++ ;;
++esac
++
++ac_aux_dir='$ac_aux_dir'
++xsi_shell='$xsi_shell'
++lt_shell_append='$lt_shell_append'
++
++# See if we are running on zsh, and set the options which allow our
++# commands through without removal of \ escapes INIT.
++if test -n "\${ZSH_VERSION+set}" ; then
++ setopt NO_GLOB_SUBST
++fi
++
++
++ PACKAGE='$PACKAGE'
++ VERSION='$VERSION'
++ TIMESTAMP='$TIMESTAMP'
++ RM='$RM'
++ ofile='$ofile'
++
++
++
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++
++# Handling of arguments.
++for ac_config_target in $ac_config_targets
++do
++ case $ac_config_target in
++ "rfbconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS rfbconfig.h" ;;
++ "rfb/rfbconfig.h") CONFIG_COMMANDS="$CONFIG_COMMANDS rfb/rfbconfig.h" ;;
++ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
++ "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
++ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
++ "libvncserver/Makefile") CONFIG_FILES="$CONFIG_FILES libvncserver/Makefile" ;;
++ "contrib/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/Makefile" ;;
++ "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
++ "vncterm/Makefile") CONFIG_FILES="$CONFIG_FILES vncterm/Makefile" ;;
++ "classes/Makefile") CONFIG_FILES="$CONFIG_FILES classes/Makefile" ;;
++ "classes/ssl/Makefile") CONFIG_FILES="$CONFIG_FILES classes/ssl/Makefile" ;;
++ "libvncclient/Makefile") CONFIG_FILES="$CONFIG_FILES libvncclient/Makefile" ;;
++ "client_examples/Makefile") CONFIG_FILES="$CONFIG_FILES client_examples/Makefile" ;;
++ "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
++ "libvncserver-config") CONFIG_FILES="$CONFIG_FILES libvncserver-config" ;;
++ "LibVNCServer.spec") CONFIG_FILES="$CONFIG_FILES LibVNCServer.spec" ;;
++ "chmod-libvncserver-config") CONFIG_COMMANDS="$CONFIG_COMMANDS chmod-libvncserver-config" ;;
++
++ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
++echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
++ { (exit 1); exit 1; }; };;
++ esac
++done
++
++
++# If the user did not use the arguments to specify the items to instantiate,
++# then the envvar interface is used. Set only those that are not.
++# We use the long form for the default assignment because of an extremely
++# bizarre bug on SunOS 4.1.3.
++if $ac_need_defaults; then
++ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
++ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
++ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
++fi
++
++# Have a temporary directory for convenience. Make it in the build tree
++# simply because there is no reason against having it here, and in addition,
++# creating and moving files from /tmp can sometimes cause problems.
++# Hook for its removal unless debugging.
++# Note that there is a small window in which the directory will not be cleaned:
++# after its creation but before its name has been assigned to `$tmp'.
++$debug ||
++{
++ tmp=
++ trap 'exit_status=$?
++ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
++' 0
++ trap '{ (exit 1); exit 1; }' 1 2 13 15
++}
++# Create a (secure) tmp directory for tmp files.
++
++{
++ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
++ test -n "$tmp" && test -d "$tmp"
++} ||
++{
++ tmp=./conf$$-$RANDOM
++ (umask 077 && mkdir "$tmp")
++} ||
++{
++ echo "$me: cannot create a temporary directory in ." >&2
++ { (exit 1); exit 1; }
++}
++
++#
++# Set up the sed scripts for CONFIG_FILES section.
++#
++
++# No need to generate the scripts if there are no CONFIG_FILES.
++# This happens for instance when ./config.status config.h
++if test -n "$CONFIG_FILES"; then
++
++_ACEOF
++
++
++
++ac_delim='%!_!# '
++for ac_last_try in false false false false false :; do
++ cat >conf$$subs.sed <<_ACEOF
++SHELL!$SHELL$ac_delim
++PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
++PACKAGE_NAME!$PACKAGE_NAME$ac_delim
++PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
++PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
++PACKAGE_STRING!$PACKAGE_STRING$ac_delim
++PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
++exec_prefix!$exec_prefix$ac_delim
++prefix!$prefix$ac_delim
++program_transform_name!$program_transform_name$ac_delim
++bindir!$bindir$ac_delim
++sbindir!$sbindir$ac_delim
++libexecdir!$libexecdir$ac_delim
++datarootdir!$datarootdir$ac_delim
++datadir!$datadir$ac_delim
++sysconfdir!$sysconfdir$ac_delim
++sharedstatedir!$sharedstatedir$ac_delim
++localstatedir!$localstatedir$ac_delim
++includedir!$includedir$ac_delim
++oldincludedir!$oldincludedir$ac_delim
++docdir!$docdir$ac_delim
++infodir!$infodir$ac_delim
++htmldir!$htmldir$ac_delim
++dvidir!$dvidir$ac_delim
++pdfdir!$pdfdir$ac_delim
++psdir!$psdir$ac_delim
++libdir!$libdir$ac_delim
++localedir!$localedir$ac_delim
++mandir!$mandir$ac_delim
++DEFS!$DEFS$ac_delim
++ECHO_C!$ECHO_C$ac_delim
++ECHO_N!$ECHO_N$ac_delim
++ECHO_T!$ECHO_T$ac_delim
++LIBS!$LIBS$ac_delim
++build_alias!$build_alias$ac_delim
++host_alias!$host_alias$ac_delim
++target_alias!$target_alias$ac_delim
++INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
++INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
++INSTALL_DATA!$INSTALL_DATA$ac_delim
++am__isrc!$am__isrc$ac_delim
++CYGPATH_W!$CYGPATH_W$ac_delim
++PACKAGE!$PACKAGE$ac_delim
++VERSION!$VERSION$ac_delim
++ACLOCAL!$ACLOCAL$ac_delim
++AUTOCONF!$AUTOCONF$ac_delim
++AUTOMAKE!$AUTOMAKE$ac_delim
++AUTOHEADER!$AUTOHEADER$ac_delim
++MAKEINFO!$MAKEINFO$ac_delim
++install_sh!$install_sh$ac_delim
++STRIP!$STRIP$ac_delim
++INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
++mkdir_p!$mkdir_p$ac_delim
++AWK!$AWK$ac_delim
++SET_MAKE!$SET_MAKE$ac_delim
++am__leading_dot!$am__leading_dot$ac_delim
++AMTAR!$AMTAR$ac_delim
++am__tar!$am__tar$ac_delim
++am__untar!$am__untar$ac_delim
++CC!$CC$ac_delim
++CFLAGS!$CFLAGS$ac_delim
++LDFLAGS!$LDFLAGS$ac_delim
++CPPFLAGS!$CPPFLAGS$ac_delim
++ac_ct_CC!$ac_ct_CC$ac_delim
++EXEEXT!$EXEEXT$ac_delim
++OBJEXT!$OBJEXT$ac_delim
++DEPDIR!$DEPDIR$ac_delim
++am__include!$am__include$ac_delim
++am__quote!$am__quote$ac_delim
++AMDEP_TRUE!$AMDEP_TRUE$ac_delim
++AMDEP_FALSE!$AMDEP_FALSE$ac_delim
++AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
++CCDEPMODE!$CCDEPMODE$ac_delim
++am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
++am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
++LIBTOOL!$LIBTOOL$ac_delim
++build!$build$ac_delim
++build_cpu!$build_cpu$ac_delim
++build_vendor!$build_vendor$ac_delim
++build_os!$build_os$ac_delim
++host!$host$ac_delim
++host_cpu!$host_cpu$ac_delim
++host_vendor!$host_vendor$ac_delim
++host_os!$host_os$ac_delim
++SED!$SED$ac_delim
++GREP!$GREP$ac_delim
++EGREP!$EGREP$ac_delim
++FGREP!$FGREP$ac_delim
++LD!$LD$ac_delim
++DUMPBIN!$DUMPBIN$ac_delim
++ac_ct_DUMPBIN!$ac_ct_DUMPBIN$ac_delim
++NM!$NM$ac_delim
++LN_S!$LN_S$ac_delim
++AR!$AR$ac_delim
++RANLIB!$RANLIB$ac_delim
++lt_ECHO!$lt_ECHO$ac_delim
++DSYMUTIL!$DSYMUTIL$ac_delim
++_ACEOF
++
++ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
++ break
++ elif $ac_last_try; then
++ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
++echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
++ { (exit 1); exit 1; }; }
++ else
++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
++ fi
++done
++
++ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
++if test -n "$ac_eof"; then
++ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
++ ac_eof=`expr $ac_eof + 1`
++fi
++
++cat >>$CONFIG_STATUS <<_ACEOF
++cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
++_ACEOF
++sed '
++s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
++s/^/s,@/; s/!/@,|#_!!_#|/
++:n
++t n
++s/'"$ac_delim"'$/,g/; t
++s/$/\\/; p
++N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
++' >>$CONFIG_STATUS <conf$$subs.sed
++rm -f conf$$subs.sed
++cat >>$CONFIG_STATUS <<_ACEOF
++CEOF$ac_eof
++_ACEOF
++
++
++ac_delim='%!_!# '
++for ac_last_try in false false false false false :; do
++ cat >conf$$subs.sed <<_ACEOF
++NMEDIT!$NMEDIT$ac_delim
++LIPO!$LIPO$ac_delim
++OTOOL!$OTOOL$ac_delim
++OTOOL64!$OTOOL64$ac_delim
++CPP!$CPP$ac_delim
++with_ffmpeg!$with_ffmpeg$ac_delim
++WITH_FFMPEG_TRUE!$WITH_FFMPEG_TRUE$ac_delim
++WITH_FFMPEG_FALSE!$WITH_FFMPEG_FALSE$ac_delim
++HAVE_MP3LAME_TRUE!$HAVE_MP3LAME_TRUE$ac_delim
++HAVE_MP3LAME_FALSE!$HAVE_MP3LAME_FALSE$ac_delim
++X_CFLAGS!$X_CFLAGS$ac_delim
++X_PRE_LIBS!$X_PRE_LIBS$ac_delim
++X_LIBS!$X_LIBS$ac_delim
++X_EXTRA_LIBS!$X_EXTRA_LIBS$ac_delim
++HAVE_X_TRUE!$HAVE_X_TRUE$ac_delim
++HAVE_X_FALSE!$HAVE_X_FALSE$ac_delim
++CRYPT_LIBS!$CRYPT_LIBS$ac_delim
++SSL_LIBS!$SSL_LIBS$ac_delim
++AVAHI_CFLAGS!$AVAHI_CFLAGS$ac_delim
++AVAHI_LIBS!$AVAHI_LIBS$ac_delim
++SYSTEM_LIBVNCSERVER_CFLAGS!$SYSTEM_LIBVNCSERVER_CFLAGS$ac_delim
++SYSTEM_LIBVNCSERVER_LIBS!$SYSTEM_LIBVNCSERVER_LIBS$ac_delim
++HAVE_SYSTEM_LIBVNCSERVER_TRUE!$HAVE_SYSTEM_LIBVNCSERVER_TRUE$ac_delim
++HAVE_SYSTEM_LIBVNCSERVER_FALSE!$HAVE_SYSTEM_LIBVNCSERVER_FALSE$ac_delim
++HAVE_LIBPTHREAD_TRUE!$HAVE_LIBPTHREAD_TRUE$ac_delim
++HAVE_LIBPTHREAD_FALSE!$HAVE_LIBPTHREAD_FALSE$ac_delim
++WITH_TIGHTVNC_FILETRANSFER_TRUE!$WITH_TIGHTVNC_FILETRANSFER_TRUE$ac_delim
++WITH_TIGHTVNC_FILETRANSFER_FALSE!$WITH_TIGHTVNC_FILETRANSFER_FALSE$ac_delim
++HAVE_LIBZ_TRUE!$HAVE_LIBZ_TRUE$ac_delim
++HAVE_LIBZ_FALSE!$HAVE_LIBZ_FALSE$ac_delim
++HAVE_LIBJPEG_TRUE!$HAVE_LIBJPEG_TRUE$ac_delim
++HAVE_LIBJPEG_FALSE!$HAVE_LIBJPEG_FALSE$ac_delim
++HAVE_LIBSDL_TRUE!$HAVE_LIBSDL_TRUE$ac_delim
++HAVE_LIBSDL_FALSE!$HAVE_LIBSDL_FALSE$ac_delim
++SDL_CFLAGS!$SDL_CFLAGS$ac_delim
++SDL_LIBS!$SDL_LIBS$ac_delim
++MINGW_TRUE!$MINGW_TRUE$ac_delim
++MINGW_FALSE!$MINGW_FALSE$ac_delim
++WSOCKLIB!$WSOCKLIB$ac_delim
++LIB@&t@OBJS!$LIB@&t@OBJS$ac_delim
++CYGIPC_TRUE!$CYGIPC_TRUE$ac_delim
++CYGIPC_FALSE!$CYGIPC_FALSE$ac_delim
++LINUX_TRUE!$LINUX_TRUE$ac_delim
++LINUX_FALSE!$LINUX_FALSE$ac_delim
++OSX_TRUE!$OSX_TRUE$ac_delim
++OSX_FALSE!$OSX_FALSE$ac_delim
++HAVE_RPM_TRUE!$HAVE_RPM_TRUE$ac_delim
++HAVE_RPM_FALSE!$HAVE_RPM_FALSE$ac_delim
++RPMSOURCEDIR!$RPMSOURCEDIR$ac_delim
++LTLIBOBJS!$LTLIBOBJS$ac_delim
++_ACEOF
++
++ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 50; then
++ break
++ elif $ac_last_try; then
++ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
++echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
++ { (exit 1); exit 1; }; }
++ else
++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
++ fi
++done
++
++ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
++if test -n "$ac_eof"; then
++ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
++ ac_eof=`expr $ac_eof + 1`
++fi
++
++cat >>$CONFIG_STATUS <<_ACEOF
++cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
++_ACEOF
++sed '
++s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
++s/^/s,@/; s/!/@,|#_!!_#|/
++:n
++t n
++s/'"$ac_delim"'$/,g/; t
++s/$/\\/; p
++N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
++' >>$CONFIG_STATUS <conf$$subs.sed
++rm -f conf$$subs.sed
++cat >>$CONFIG_STATUS <<_ACEOF
++:end
++s/|#_!!_#|//g
++CEOF$ac_eof
++_ACEOF
++
++
++# VPATH may cause trouble with some makes, so we remove $(srcdir),
++# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
++# trailing colons and then remove the whole line if VPATH becomes empty
++# (actually we leave an empty line to preserve line numbers).
++if test "x$srcdir" = x.; then
++ ac_vpsub='/^[ ]*VPATH[ ]*=/{
++s/:*\$(srcdir):*/:/
++s/:*\${srcdir}:*/:/
++s/:*@srcdir@:*/:/
++s/^\([^=]*=[ ]*\):*/\1/
++s/:*$//
++s/^[^=]*=[ ]*$//
++}'
++fi
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++fi # test -n "$CONFIG_FILES"
++
++
++for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS
++do
++ case $ac_tag in
++ :[FHLC]) ac_mode=$ac_tag; continue;;
++ esac
++ case $ac_mode$ac_tag in
++ :[FHL]*:*);;
++ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
++echo "$as_me: error: Invalid tag $ac_tag." >&2;}
++ { (exit 1); exit 1; }; };;
++ :[FH]-) ac_tag=-:-;;
++ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
++ esac
++ ac_save_IFS=$IFS
++ IFS=:
++ set x $ac_tag
++ IFS=$ac_save_IFS
++ shift
++ ac_file=$1
++ shift
++
++ case $ac_mode in
++ :L) ac_source=$1;;
++ :[FH])
++ ac_file_inputs=
++ for ac_f
++ do
++ case $ac_f in
++ -) ac_f="$tmp/stdin";;
++ *) # Look for the file first in the build tree, then in the source tree
++ # (if the path is not absolute). The absolute path cannot be DOS-style,
++ # because $ac_f cannot contain `:'.
++ test -f "$ac_f" ||
++ case $ac_f in
++ [\\/$]*) false;;
++ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
++ esac ||
++ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
++echo "$as_me: error: cannot find input file: $ac_f" >&2;}
++ { (exit 1); exit 1; }; };;
++ esac
++ ac_file_inputs="$ac_file_inputs $ac_f"
++ done
++
++ # Let's still pretend it is `configure' which instantiates (i.e., don't
++ # use $as_me), people would be surprised to read:
++ # /* config.h. Generated by config.status. */
++ configure_input="Generated from "`IFS=:
++ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
++ if test x"$ac_file" != x-; then
++ configure_input="$ac_file. $configure_input"
++ { echo "$as_me:$LINENO: creating $ac_file" >&5
++echo "$as_me: creating $ac_file" >&6;}
++ fi
++
++ case $ac_tag in
++ *:-:* | *:-) cat >"$tmp/stdin";;
++ esac
++ ;;
++ esac
++
++ ac_dir=`$as_dirname -- "$ac_file" ||
++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$ac_file" : 'X\(//\)[^/]' \| \
++ X"$ac_file" : 'X\(//\)$' \| \
++ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$ac_file" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ { as_dir="$ac_dir"
++ case $as_dir in #(
++ -*) as_dir=./$as_dir;;
++ esac
++ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
++ as_dirs=
++ while :; do
++ case $as_dir in #(
++ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
++ *) as_qdir=$as_dir;;
++ esac
++ as_dirs="'$as_qdir' $as_dirs"
++ as_dir=`$as_dirname -- "$as_dir" ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$as_dir" : 'X\(//\)[^/]' \| \
++ X"$as_dir" : 'X\(//\)$' \| \
++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$as_dir" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ test -d "$as_dir" && break
++ done
++ test -z "$as_dirs" || eval "mkdir $as_dirs"
++ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
++echo "$as_me: error: cannot create directory $as_dir" >&2;}
++ { (exit 1); exit 1; }; }; }
++ ac_builddir=.
++
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
++ # A ".." for each directory in $ac_dir_suffix.
++ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
++ case $ac_top_builddir_sub in
++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
++ esac ;;
++esac
++ac_abs_top_builddir=$ac_pwd
++ac_abs_builddir=$ac_pwd$ac_dir_suffix
++# for backward compatibility:
++ac_top_builddir=$ac_top_build_prefix
++
++case $srcdir in
++ .) # We are building in place.
++ ac_srcdir=.
++ ac_top_srcdir=$ac_top_builddir_sub
++ ac_abs_top_srcdir=$ac_pwd ;;
++ [\\/]* | ?:[\\/]* ) # Absolute name.
++ ac_srcdir=$srcdir$ac_dir_suffix;
++ ac_top_srcdir=$srcdir
++ ac_abs_top_srcdir=$srcdir ;;
++ *) # Relative name.
++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
++ ac_top_srcdir=$ac_top_build_prefix$srcdir
++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
++esac
++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
++
++
++ case $ac_mode in
++ :F)
++ #
++ # CONFIG_FILE
++ #
++
++ case $INSTALL in
++ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
++ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
++ esac
++ ac_MKDIR_P=$MKDIR_P
++ case $MKDIR_P in
++ [\\/$]* | ?:[\\/]* ) ;;
++ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
++ esac
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++# If the template does not know about datarootdir, expand it.
++# FIXME: This hack should be removed a few years after 2.60.
++ac_datarootdir_hack=; ac_datarootdir_seen=
++
++case `sed -n '/datarootdir/ {
++ p
++ q
++}
++/@datadir@/p
++/@docdir@/p
++/@infodir@/p
++/@localedir@/p
++/@mandir@/p
++' $ac_file_inputs` in
++*datarootdir*) ac_datarootdir_seen=yes;;
++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
++ { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
++echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++ ac_datarootdir_hack='
++ s&@datadir@&$datadir&g
++ s&@docdir@&$docdir&g
++ s&@infodir@&$infodir&g
++ s&@localedir@&$localedir&g
++ s&@mandir@&$mandir&g
++ s&\\\${datarootdir}&$datarootdir&g' ;;
++esac
++_ACEOF
++
++# Neutralize VPATH when `$srcdir' = `.'.
++# Shell code in configure.ac might set extrasub.
++# FIXME: do we really want to maintain this feature?
++cat >>$CONFIG_STATUS <<_ACEOF
++ sed "$ac_vpsub
++$extrasub
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF
++:t
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
++s&@configure_input@&$configure_input&;t t
++s&@top_builddir@&$ac_top_builddir_sub&;t t
++s&@srcdir@&$ac_srcdir&;t t
++s&@abs_srcdir@&$ac_abs_srcdir&;t t
++s&@top_srcdir@&$ac_top_srcdir&;t t
++s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
++s&@builddir@&$ac_builddir&;t t
++s&@abs_builddir@&$ac_abs_builddir&;t t
++s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
++s&@INSTALL@&$ac_INSTALL&;t t
++s&@MKDIR_P@&$ac_MKDIR_P&;t t
++$ac_datarootdir_hack
++" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
++
++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
++ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
++ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
++ { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
++which seems to be undefined. Please make sure it is defined." >&5
++echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
++which seems to be undefined. Please make sure it is defined." >&2;}
++
++ rm -f "$tmp/stdin"
++ case $ac_file in
++ -) cat "$tmp/out"; rm -f "$tmp/out";;
++ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
++ esac
++ ;;
++ :H)
++ #
++ # CONFIG_HEADER
++ #
++_ACEOF
++
++# Transform confdefs.h into a sed script `conftest.defines', that
++# substitutes the proper values into config.h.in to produce config.h.
++rm -f conftest.defines conftest.tail
++# First, append a space to every undef/define line, to ease matching.
++echo 's/$/ /' >conftest.defines
++# Then, protect against being on the right side of a sed subst, or in
++# an unquoted here document, in config.status. If some macros were
++# called several times there might be several #defines for the same
++# symbol, which is useless. But do not sort them, since the last
++# AC_DEFINE must be honored.
++ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
++# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
++# NAME is the cpp macro being defined, VALUE is the value it is being given.
++# PARAMS is the parameter list in the macro definition--in most cases, it's
++# just an empty string.
++ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
++ac_dB='\\)[ (].*,\\1define\\2'
++ac_dC=' '
++ac_dD=' ,'
++
++uniq confdefs.h |
++ sed -n '
++ t rset
++ :rset
++ s/^[ ]*#[ ]*define[ ][ ]*//
++ t ok
++ d
++ :ok
++ s/[\\&,]/\\&/g
++ s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
++ s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
++ ' >>conftest.defines
++
++# Remove the space that was appended to ease matching.
++# Then replace #undef with comments. This is necessary, for
++# example, in the case of _POSIX_SOURCE, which is predefined and required
++# on some systems where configure will not decide to define it.
++# (The regexp can be short, since the line contains either #define or #undef.)
++echo 's/ $//
++s,^[ #]*u.*,/* & */,' >>conftest.defines
++
++# Break up conftest.defines:
++ac_max_sed_lines=50
++
++# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
++# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
++# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
++# et cetera.
++ac_in='$ac_file_inputs'
++ac_out='"$tmp/out1"'
++ac_nxt='"$tmp/out2"'
++
++while :
++do
++ # Write a here document:
++ cat >>$CONFIG_STATUS <<_ACEOF
++ # First, check the format of the line:
++ cat >"\$tmp/defines.sed" <<\\CEOF
++/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
++/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
++b
++:def
++_ACEOF
++ sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
++ echo 'CEOF
++ sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
++ ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
++ sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
++ grep . conftest.tail >/dev/null || break
++ rm -f conftest.defines
++ mv conftest.tail conftest.defines
++done
++rm -f conftest.defines conftest.tail
++
++echo "ac_result=$ac_in" >>$CONFIG_STATUS
++cat >>$CONFIG_STATUS <<\_ACEOF
++ if test x"$ac_file" != x-; then
++ echo "/* $configure_input */" >"$tmp/config.h"
++ cat "$ac_result" >>"$tmp/config.h"
++ if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
++ { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
++echo "$as_me: $ac_file is unchanged" >&6;}
++ else
++ rm -f $ac_file
++ mv "$tmp/config.h" $ac_file
++ fi
++ else
++ echo "/* $configure_input */"
++ cat "$ac_result"
++ fi
++ rm -f "$tmp/out12"
++# Compute $ac_file's index in $config_headers.
++_am_stamp_count=1
++for _am_header in $config_headers :; do
++ case $_am_header in
++ $ac_file | $ac_file:* )
++ break ;;
++ * )
++ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
++ esac
++done
++echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
++$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X$ac_file : 'X\(//\)[^/]' \| \
++ X$ac_file : 'X\(//\)$' \| \
++ X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
++echo X$ac_file |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`/stamp-h$_am_stamp_count
++ ;;
++
++ :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
++echo "$as_me: executing $ac_file commands" >&6;}
++ ;;
++ esac
++
++
++ case $ac_file$ac_mode in
++ "rfb/rfbconfig.h":C) ac_prefix_conf_OUT=`echo rfb/rfbconfig.h`
++ac_prefix_conf_DEF=`echo _$ac_prefix_conf_OUT | sed -e "y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:" -e "s/@<:@^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@:>@/_/g"`
++ac_prefix_conf_PKG=`echo $PACKAGE`
++ac_prefix_conf_LOW=`echo _$ac_prefix_conf_PKG | sed -e "y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:"`
++ac_prefix_conf_UPP=`echo $ac_prefix_conf_PKG | sed -e "y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:" -e "/^@<:@0123456789@:>@/s/^/_/"`
++ac_prefix_conf_INP=`echo _`
++if test "$ac_prefix_conf_INP" = "_"; then
++ for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue
++ test -f "$ac_prefix_conf_INP" && continue
++ case $ac_file in
++ *.h) test -f $ac_file && ac_prefix_conf_INP=$ac_file ;;
++ *)
++ esac
++ done
++fi
++if test "$ac_prefix_conf_INP" = "_"; then
++ case "$ac_prefix_conf_OUT" in
++ */*) ac_prefix_conf_INP=`basename "$ac_prefix_conf_OUT"`
++ ;;
++ *-*) ac_prefix_conf_INP=`echo "$ac_prefix_conf_OUT" | sed -e "s/@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*-//"`
++ ;;
++ *) ac_prefix_conf_INP=config.h
++ ;;
++ esac
++fi
++if test -z "$ac_prefix_conf_PKG" ; then
++ { { echo "$as_me:$LINENO: error: no prefix for _PREFIX_PKG_CONFIG_H" >&5
++echo "$as_me: error: no prefix for _PREFIX_PKG_CONFIG_H" >&2;}
++ { (exit 1); exit 1; }; }
++else
++ if test ! -f "$ac_prefix_conf_INP" ; then if test -f "$srcdir/$ac_prefix_conf_INP" ; then
++ ac_prefix_conf_INP="$srcdir/$ac_prefix_conf_INP"
++ fi fi
++ { echo "$as_me:$LINENO: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5
++echo "$as_me: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6;}
++ if test -f $ac_prefix_conf_INP ; then
++ echo "s/@%:@undef *\\(@<:@ABCDEFGHIJKLMNOPQRSTUVWXYZ_@:>@\\)/@%:@undef $ac_prefix_conf_UPP""_\\1/" > conftest.prefix
++ # no! these are things like socklen_t, const, vfork
++ # echo "s/@%:@undef *\\(@<:@m4_cr_letters@:>@\\)/@%:@undef $_LOW""_\\1/" >> _script
++ echo "s/@%:@define *\\(@<:@ABCDEFGHIJKLMNOPQRSTUVWXYZ_@:>@@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*\\)\\(.*\\)/@%:@ifndef $ac_prefix_conf_UPP""_\\1 \\" >> conftest.prefix
++ echo "@%:@define $ac_prefix_conf_UPP""_\\1 \\2 \\" >> conftest.prefix
++ echo "@%:@endif/" >>conftest.prefix
++ # no! these are things like socklen_t, const, vfork
++ # echo "s/@%:@def[]ine *\\(@<:@m4_cr_letters@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_LOW""_\\1 \\" >> _script
++ # echo "@%:@define $_LOW""_\\1 \\2 \\" >> _script
++ # echo "@%:@endif/" >> _script
++ # now executing _script on _DEF input to create _OUT output file
++ echo "@%:@ifndef $ac_prefix_conf_DEF" >$tmp/pconfig.h
++ echo "@%:@define $ac_prefix_conf_DEF 1" >>$tmp/pconfig.h
++ echo ' ' >>$tmp/pconfig.h
++ echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h
++
++ sed -f conftest.prefix $ac_prefix_conf_INP >>$tmp/pconfig.h
++ echo ' ' >>$tmp/pconfig.h
++ echo '/* once:' $ac_prefix_conf_DEF '*/' >>$tmp/pconfig.h
++ echo "@%:@endif" >>$tmp/pconfig.h
++ if cmp -s $ac_prefix_conf_OUT $tmp/pconfig.h 2>/dev/null; then
++ { echo "$as_me:$LINENO: $ac_prefix_conf_OUT is unchanged" >&5
++echo "$as_me: $ac_prefix_conf_OUT is unchanged" >&6;}
++ else
++ ac_dir=`$as_dirname -- "$ac_prefix_conf_OUT" ||
++$as_expr X"$ac_prefix_conf_OUT" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$ac_prefix_conf_OUT" : 'X\(//\)[^/]' \| \
++ X"$ac_prefix_conf_OUT" : 'X\(//\)$' \| \
++ X"$ac_prefix_conf_OUT" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$ac_prefix_conf_OUT" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ { as_dir="$ac_dir"
++ case $as_dir in #(
++ -*) as_dir=./$as_dir;;
++ esac
++ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
++ as_dirs=
++ while :; do
++ case $as_dir in #(
++ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
++ *) as_qdir=$as_dir;;
++ esac
++ as_dirs="'$as_qdir' $as_dirs"
++ as_dir=`$as_dirname -- "$as_dir" ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$as_dir" : 'X\(//\)[^/]' \| \
++ X"$as_dir" : 'X\(//\)$' \| \
++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$as_dir" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ test -d "$as_dir" && break
++ done
++ test -z "$as_dirs" || eval "mkdir $as_dirs"
++ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
++echo "$as_me: error: cannot create directory $as_dir" >&2;}
++ { (exit 1); exit 1; }; }; }
++ rm -f "$ac_prefix_conf_OUT"
++ mv $tmp/pconfig.h "$ac_prefix_conf_OUT"
++ fi
++ cp conftest.prefix _configs.sed
++ else
++ { { echo "$as_me:$LINENO: error: input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" >&5
++echo "$as_me: error: input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++ rm -f conftest.*
++fi
++ ;;
++ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
++ # Strip MF so we end up with the name of the file.
++ mf=`echo "$mf" | sed -e 's/:.*$//'`
++ # Check whether this is an Automake generated Makefile or not.
++ # We used to match only the files named `Makefile.in', but
++ # some people rename them; so instead we look at the file content.
++ # Grep'ing the first line is not enough: some people post-process
++ # each Makefile.in and add a new line on top of each file to say so.
++ # Grep'ing the whole file is not good either: AIX grep has a line
++ # limit of 2048, but all sed's we know have understand at least 4000.
++ if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
++ dirpart=`$as_dirname -- "$mf" ||
++$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$mf" : 'X\(//\)[^/]' \| \
++ X"$mf" : 'X\(//\)$' \| \
++ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$mf" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ else
++ continue
++ fi
++ # Extract the definition of DEPDIR, am__include, and am__quote
++ # from the Makefile without running `make'.
++ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
++ test -z "$DEPDIR" && continue
++ am__include=`sed -n 's/^am__include = //p' < "$mf"`
++ test -z "am__include" && continue
++ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
++ # When using ansi2knr, U may be empty or an underscore; expand it
++ U=`sed -n 's/^U = //p' < "$mf"`
++ # Find all dependency output files, they are included files with
++ # $(DEPDIR) in their names. We invoke sed twice because it is the
++ # simplest approach to changing $(DEPDIR) to its actual value in the
++ # expansion.
++ for file in `sed -n "
++ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
++ # Make sure the directory exists.
++ test -f "$dirpart/$file" && continue
++ fdir=`$as_dirname -- "$file" ||
++$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$file" : 'X\(//\)[^/]' \| \
++ X"$file" : 'X\(//\)$' \| \
++ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$file" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ { as_dir=$dirpart/$fdir
++ case $as_dir in #(
++ -*) as_dir=./$as_dir;;
++ esac
++ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
++ as_dirs=
++ while :; do
++ case $as_dir in #(
++ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
++ *) as_qdir=$as_dir;;
++ esac
++ as_dirs="'$as_qdir' $as_dirs"
++ as_dir=`$as_dirname -- "$as_dir" ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$as_dir" : 'X\(//\)[^/]' \| \
++ X"$as_dir" : 'X\(//\)$' \| \
++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$as_dir" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ test -d "$as_dir" && break
++ done
++ test -z "$as_dirs" || eval "mkdir $as_dirs"
++ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
++echo "$as_me: error: cannot create directory $as_dir" >&2;}
++ { (exit 1); exit 1; }; }; }
++ # echo "creating $dirpart/$file"
++ echo '# dummy' > "$dirpart/$file"
++ done
++done
++ ;;
++ "libtool":C)
++
++ # See if we are running on zsh, and set the options which allow our
++ # commands through without removal of \ escapes.
++ if test -n "${ZSH_VERSION+set}" ; then
++ setopt NO_GLOB_SUBST
++ fi
++
++ cfgfile="${ofile}T"
++ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
++ $RM "$cfgfile"
++
++ cat <<_LT_EOF >> "$cfgfile"
++#! $SHELL
++
++# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
++# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
++# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
++# NOTE: Changes made to this file will be lost: look at ltmain.sh.
++#
++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
++# 2006, 2007, 2008 Free Software Foundation, Inc.
++# Written by Gordon Matzigkeit, 1996
++#
++# This file is part of GNU Libtool.
++#
++# GNU Libtool 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.
++#
++# As a special exception to the GNU General Public License,
++# if you distribute this file as part of a program or library that
++# is built using GNU Libtool, you may include this file under the
++# same distribution terms that you use for the rest of that program.
++#
++# GNU Libtool 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.
++#
++# You should have received a copy of the GNU General Public License
++# along with GNU Libtool; see the file COPYING. If not, a copy
++# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
++# obtained by writing to the Free Software Foundation, Inc.,
++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++
++
++# The names of the tagged configurations supported by this script.
++available_tags=""
++
++# ### BEGIN LIBTOOL CONFIG
++
++# Which release of libtool.m4 was used?
++macro_version=$macro_version
++macro_revision=$macro_revision
++
++# Whether or not to build shared libraries.
++build_libtool_libs=$enable_shared
++
++# Whether or not to build static libraries.
++build_old_libs=$enable_static
++
++# What type of objects to build.
++pic_mode=$pic_mode
++
++# Whether or not to optimize for fast installation.
++fast_install=$enable_fast_install
++
++# The host system.
++host_alias=$host_alias
++host=$host
++host_os=$host_os
++
++# The build system.
++build_alias=$build_alias
++build=$build
++build_os=$build_os
++
++# A sed program that does not truncate output.
++SED=$lt_SED
++
++# Sed that helps us avoid accidentally triggering echo(1) options like -n.
++Xsed="\$SED -e 1s/^X//"
++
++# A grep program that handles long lines.
++GREP=$lt_GREP
++
++# An ERE matcher.
++EGREP=$lt_EGREP
++
++# A literal string matcher.
++FGREP=$lt_FGREP
++
++# A BSD- or MS-compatible name lister.
++NM=$lt_NM
++
++# Whether we need soft or hard links.
++LN_S=$lt_LN_S
++
++# What is the maximum length of a command?
++max_cmd_len=$max_cmd_len
++
++# Object file suffix (normally "o").
++objext=$ac_objext
++
++# Executable file suffix (normally "").
++exeext=$exeext
++
++# whether the shell understands "unset".
++lt_unset=$lt_unset
++
++# turn spaces into newlines.
++SP2NL=$lt_lt_SP2NL
++
++# turn newlines into spaces.
++NL2SP=$lt_lt_NL2SP
++
++# How to create reloadable object files.
++reload_flag=$lt_reload_flag
++reload_cmds=$lt_reload_cmds
++
++# Method to check whether dependent libraries are shared objects.
++deplibs_check_method=$lt_deplibs_check_method
++
++# Command to use when deplibs_check_method == "file_magic".
++file_magic_cmd=$lt_file_magic_cmd
++
++# The archiver.
++AR=$lt_AR
++AR_FLAGS=$lt_AR_FLAGS
++
++# A symbol stripping program.
++STRIP=$lt_STRIP
++
++# Commands used to install an old-style archive.
++RANLIB=$lt_RANLIB
++old_postinstall_cmds=$lt_old_postinstall_cmds
++old_postuninstall_cmds=$lt_old_postuninstall_cmds
++
++# A C compiler.
++LTCC=$lt_CC
++
++# LTCC compiler flags.
++LTCFLAGS=$lt_CFLAGS
++
++# Take the output of nm and produce a listing of raw symbols and C names.
++global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
++
++# Transform the output of nm in a proper C declaration.
++global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
++
++# Transform the output of nm in a C name address pair.
++global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
++
++# Transform the output of nm in a C name address pair when lib prefix is needed.
++global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
++
++# The name of the directory that contains temporary libtool files.
++objdir=$objdir
++
++# Shell to use when invoking shell scripts.
++SHELL=$lt_SHELL
++
++# An echo program that does not interpret backslashes.
++ECHO=$lt_ECHO
++
++# Used to examine libraries when file_magic_cmd begins with "file".
++MAGIC_CMD=$MAGIC_CMD
++
++# Must we lock files when doing compilation?
++need_locks=$lt_need_locks
++
++# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
++DSYMUTIL=$lt_DSYMUTIL
++
++# Tool to change global to local symbols on Mac OS X.
++NMEDIT=$lt_NMEDIT
++
++# Tool to manipulate fat objects and archives on Mac OS X.
++LIPO=$lt_LIPO
++
++# ldd/readelf like tool for Mach-O binaries on Mac OS X.
++OTOOL=$lt_OTOOL
++
++# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
++OTOOL64=$lt_OTOOL64
++
++# Old archive suffix (normally "a").
++libext=$libext
++
++# Shared library suffix (normally ".so").
++shrext_cmds=$lt_shrext_cmds
++
++# The commands to extract the exported symbol list from a shared archive.
++extract_expsyms_cmds=$lt_extract_expsyms_cmds
++
++# Variables whose values should be saved in libtool wrapper scripts and
++# restored at link time.
++variables_saved_for_relink=$lt_variables_saved_for_relink
++
++# Do we need the "lib" prefix for modules?
++need_lib_prefix=$need_lib_prefix
++
++# Do we need a version for libraries?
++need_version=$need_version
++
++# Library versioning type.
++version_type=$version_type
++
++# Shared library runtime path variable.
++runpath_var=$runpath_var
++
++# Shared library path variable.
++shlibpath_var=$shlibpath_var
++
++# Is shlibpath searched before the hard-coded library search path?
++shlibpath_overrides_runpath=$shlibpath_overrides_runpath
++
++# Format of library name prefix.
++libname_spec=$lt_libname_spec
++
++# List of archive names. First name is the real one, the rest are links.
++# The last name is the one that the linker finds with -lNAME
++library_names_spec=$lt_library_names_spec
++
++# The coded name of the library, if different from the real name.
++soname_spec=$lt_soname_spec
++
++# Command to use after installation of a shared archive.
++postinstall_cmds=$lt_postinstall_cmds
++
++# Command to use after uninstallation of a shared archive.
++postuninstall_cmds=$lt_postuninstall_cmds
++
++# Commands used to finish a libtool library installation in a directory.
++finish_cmds=$lt_finish_cmds
++
++# As "finish_cmds", except a single script fragment to be evaled but
++# not shown.
++finish_eval=$lt_finish_eval
++
++# Whether we should hardcode library paths into libraries.
++hardcode_into_libs=$hardcode_into_libs
++
++# Compile-time system search path for libraries.
++sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
++
++# Run-time system search path for libraries.
++sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
++
++# Whether dlopen is supported.
++dlopen_support=$enable_dlopen
++
++# Whether dlopen of programs is supported.
++dlopen_self=$enable_dlopen_self
++
++# Whether dlopen of statically linked programs is supported.
++dlopen_self_static=$enable_dlopen_self_static
++
++# Commands to strip libraries.
++old_striplib=$lt_old_striplib
++striplib=$lt_striplib
++
++
++# The linker used to build libraries.
++LD=$lt_LD
++
++# Commands used to build an old-style archive.
++old_archive_cmds=$lt_old_archive_cmds
++
++# A language specific compiler.
++CC=$lt_compiler
++
++# Is the compiler the GNU compiler?
++with_gcc=$GCC
++
++# Compiler flag to turn off builtin functions.
++no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
++
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl
++
++# Additional compiler flags for building library objects.
++pic_flag=$lt_lt_prog_compiler_pic
++
++# Compiler flag to prevent dynamic linking.
++link_static_flag=$lt_lt_prog_compiler_static
++
++# Does compiler simultaneously support -c and -o options?
++compiler_c_o=$lt_lt_cv_prog_compiler_c_o
++
++# Whether or not to add -lc for building shared libraries.
++build_libtool_need_lc=$archive_cmds_need_lc
++
++# Whether or not to disallow shared libs when runtime libs are static.
++allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
++
++# Compiler flag to allow reflexive dlopens.
++export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
++
++# Compiler flag to generate shared objects directly from archives.
++whole_archive_flag_spec=$lt_whole_archive_flag_spec
++
++# Whether the compiler copes with passing no objects directly.
++compiler_needs_object=$lt_compiler_needs_object
++
++# Create an old-style archive from a shared archive.
++old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
++
++# Create a temporary old-style archive to link instead of a shared archive.
++old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
++
++# Commands used to build a shared archive.
++archive_cmds=$lt_archive_cmds
++archive_expsym_cmds=$lt_archive_expsym_cmds
++
++# Commands used to build a loadable module if different from building
++# a shared archive.
++module_cmds=$lt_module_cmds
++module_expsym_cmds=$lt_module_expsym_cmds
++
++# Whether we are building with GNU ld or not.
++with_gnu_ld=$lt_with_gnu_ld
++
++# Flag that allows shared libraries with undefined symbols to be built.
++allow_undefined_flag=$lt_allow_undefined_flag
++
++# Flag that enforces no undefined symbols.
++no_undefined_flag=$lt_no_undefined_flag
++
++# Flag to hardcode \$libdir into a binary during linking.
++# This must work even if \$libdir does not exist
++hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
++
++# If ld is used when linking, flag to hardcode \$libdir into a binary
++# during linking. This must work even if \$libdir does not exist.
++hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
++
++# Whether we need a single "-rpath" flag with a separated argument.
++hardcode_libdir_separator=$lt_hardcode_libdir_separator
++
++# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
++# DIR into the resulting binary.
++hardcode_direct=$hardcode_direct
++
++# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
++# DIR into the resulting binary and the resulting library dependency is
++# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
++# library is relocated.
++hardcode_direct_absolute=$hardcode_direct_absolute
++
++# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
++# into the resulting binary.
++hardcode_minus_L=$hardcode_minus_L
++
++# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
++# into the resulting binary.
++hardcode_shlibpath_var=$hardcode_shlibpath_var
++
++# Set to "yes" if building a shared library automatically hardcodes DIR
++# into the library and all subsequent libraries and executables linked
++# against it.
++hardcode_automatic=$hardcode_automatic
++
++# Set to yes if linker adds runtime paths of dependent libraries
++# to runtime path list.
++inherit_rpath=$inherit_rpath
++
++# Whether libtool must link a program against all its dependency libraries.
++link_all_deplibs=$link_all_deplibs
++
++# Fix the shell variable \$srcfile for the compiler.
++fix_srcfile_path=$lt_fix_srcfile_path
++
++# Set to "yes" if exported symbols are required.
++always_export_symbols=$always_export_symbols
++
++# The commands to list exported symbols.
++export_symbols_cmds=$lt_export_symbols_cmds
++
++# Symbols that should not be listed in the preloaded symbols.
++exclude_expsyms=$lt_exclude_expsyms
++
++# Symbols that must always be exported.
++include_expsyms=$lt_include_expsyms
++
++# Commands necessary for linking programs (against libraries) with templates.
++prelink_cmds=$lt_prelink_cmds
++
++# Specify filename containing input files.
++file_list_spec=$lt_file_list_spec
++
++# How to hardcode a shared library path into an executable.
++hardcode_action=$hardcode_action
++
++# ### END LIBTOOL CONFIG
++
++_LT_EOF
++
++ case $host_os in
++ aix3*)
++ cat <<\_LT_EOF >> "$cfgfile"
++# AIX sometimes has problems with the GCC collect2 program. For some
++# reason, if we set the COLLECT_NAMES environment variable, the problems
++# vanish in a puff of smoke.
++if test "X${COLLECT_NAMES+set}" != Xset; then
++ COLLECT_NAMES=
++ export COLLECT_NAMES
++fi
++_LT_EOF
++ ;;
++ esac
++
++
++ltmain="$ac_aux_dir/ltmain.sh"
++
++
++ # We use sed instead of cat because bash on DJGPP gets confused if
++ # if finds mixed CR/LF and LF-only lines. Since sed operates in
++ # text mode, it properly converts lines to CR/LF. This bash problem
++ # is reportedly fixed, but why not run on old versions too?
++ sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
++
++ case $xsi_shell in
++ yes)
++ cat << \_LT_EOF >> "$cfgfile"
++
++# func_dirname file append nondir_replacement
++# Compute the dirname of FILE. If nonempty, add APPEND to the result,
++# otherwise set result to NONDIR_REPLACEMENT.
++func_dirname ()
++{
++ case ${1} in
++ */*) func_dirname_result="${1%/*}${2}" ;;
++ * ) func_dirname_result="${3}" ;;
++ esac
++}
++
++# func_basename file
++func_basename ()
++{
++ func_basename_result="${1##*/}"
++}
++
++# func_dirname_and_basename file append nondir_replacement
++# perform func_basename and func_dirname in a single function
++# call:
++# dirname: Compute the dirname of FILE. If nonempty,
++# add APPEND to the result, otherwise set result
++# to NONDIR_REPLACEMENT.
++# value returned in "$func_dirname_result"
++# basename: Compute filename of FILE.
++# value retuned in "$func_basename_result"
++# Implementation must be kept synchronized with func_dirname
++# and func_basename. For efficiency, we do not delegate to
++# those functions but instead duplicate the functionality here.
++func_dirname_and_basename ()
++{
++ case ${1} in
++ */*) func_dirname_result="${1%/*}${2}" ;;
++ * ) func_dirname_result="${3}" ;;
++ esac
++ func_basename_result="${1##*/}"
++}
++
++# func_stripname prefix suffix name
++# strip PREFIX and SUFFIX off of NAME.
++# PREFIX and SUFFIX must not contain globbing or regex special
++# characters, hashes, percent signs, but SUFFIX may contain a leading
++# dot (in which case that matches only a dot).
++func_stripname ()
++{
++ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
++ # positional parameters, so assign one to ordinary parameter first.
++ func_stripname_result=${3}
++ func_stripname_result=${func_stripname_result#"${1}"}
++ func_stripname_result=${func_stripname_result%"${2}"}
++}
++
++# func_opt_split
++func_opt_split ()
++{
++ func_opt_split_opt=${1%%=*}
++ func_opt_split_arg=${1#*=}
++}
++
++# func_lo2o object
++func_lo2o ()
++{
++ case ${1} in
++ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
++ *) func_lo2o_result=${1} ;;
++ esac
++}
++
++# func_xform libobj-or-source
++func_xform ()
++{
++ func_xform_result=${1%.*}.lo
++}
++
++# func_arith arithmetic-term...
++func_arith ()
++{
++ func_arith_result=$(( $* ))
++}
++
++# func_len string
++# STRING may not start with a hyphen.
++func_len ()
++{
++ func_len_result=${#1}
++}
++
++_LT_EOF
++ ;;
++ *) # Bourne compatible functions.
++ cat << \_LT_EOF >> "$cfgfile"
++
++# func_dirname file append nondir_replacement
++# Compute the dirname of FILE. If nonempty, add APPEND to the result,
++# otherwise set result to NONDIR_REPLACEMENT.
++func_dirname ()
++{
++ # Extract subdirectory from the argument.
++ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
++ if test "X$func_dirname_result" = "X${1}"; then
++ func_dirname_result="${3}"
++ else
++ func_dirname_result="$func_dirname_result${2}"
++ fi
++}
++
++# func_basename file
++func_basename ()
++{
++ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
++}
++
++
++# func_stripname prefix suffix name
++# strip PREFIX and SUFFIX off of NAME.
++# PREFIX and SUFFIX must not contain globbing or regex special
++# characters, hashes, percent signs, but SUFFIX may contain a leading
++# dot (in which case that matches only a dot).
++# func_strip_suffix prefix name
++func_stripname ()
++{
++ case ${2} in
++ .*) func_stripname_result=`$ECHO "X${3}" \
++ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
++ *) func_stripname_result=`$ECHO "X${3}" \
++ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
++ esac
++}
++
++# sed scripts:
++my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
++my_sed_long_arg='1s/^-[^=]*=//'
++
++# func_opt_split
++func_opt_split ()
++{
++ func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
++ func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
++}
++
++# func_lo2o object
++func_lo2o ()
++{
++ func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
++}
++
++# func_xform libobj-or-source
++func_xform ()
++{
++ func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
++}
++
++# func_arith arithmetic-term...
++func_arith ()
++{
++ func_arith_result=`expr "$@"`
++}
++
++# func_len string
++# STRING may not start with a hyphen.
++func_len ()
++{
++ func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
++}
++
++_LT_EOF
++esac
++
++case $lt_shell_append in
++ yes)
++ cat << \_LT_EOF >> "$cfgfile"
++
++# func_append var value
++# Append VALUE to the end of shell variable VAR.
++func_append ()
++{
++ eval "$1+=\$2"
++}
++_LT_EOF
++ ;;
++ *)
++ cat << \_LT_EOF >> "$cfgfile"
++
++# func_append var value
++# Append VALUE to the end of shell variable VAR.
++func_append ()
++{
++ eval "$1=\$$1\$2"
++}
++
++_LT_EOF
++ ;;
++ esac
++
++
++ sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
++
++ mv -f "$cfgfile" "$ofile" ||
++ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
++ chmod +x "$ofile"
++
++ ;;
++ "chmod-libvncserver-config":C) chmod a+x libvncserver-config ;;
++
++ esac
++done # for ac_tag
++
++
++{ (exit 0); exit 0; }
++_ACEOF
++chmod +x $CONFIG_STATUS
++ac_clean_files=$ac_clean_files_save
++
++
++# configure is writing to config.log, and then calls config.status.
++# config.status does its own redirection, appending to config.log.
++# Unfortunately, on DOS this fails, as config.log is still kept open
++# by configure, so config.status won't be able to write to it; its
++# output is simply discarded. So we exec the FD to /dev/null,
++# effectively closing config.log, so it can be properly (re)opened and
++# appended to by config.status. When coming back to configure, we
++# need to make the FD available again.
++if test "$no_create" != yes; then
++ ac_cs_success=:
++ ac_config_status_args=
++ test "$silent" = yes &&
++ ac_config_status_args="$ac_config_status_args --quiet"
++ exec 5>/dev/null
++ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
++ exec 5>>config.log
++ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
++ # would make configure fail if this is the last instruction.
++ $ac_cs_success || { (exit 1); exit 1; }
++fi
++
++chmod a+x ./libvncserver-config
++
+diff -Nur LibVNCServer-0.9.1.orig/autom4te.cache/output.1 LibVNCServer-0.9.1/autom4te.cache/output.1
+--- LibVNCServer-0.9.1.orig/autom4te.cache/output.1 1969-12-31 21:00:00.000000000 -0300
++++ LibVNCServer-0.9.1/autom4te.cache/output.1 2008-10-31 18:46:25.000000000 -0200
+@@ -0,0 +1,22639 @@
++@%:@! /bin/sh
++@%:@ Guess values for system-dependent variables and create Makefiles.
++@%:@ Generated by GNU Autoconf 2.61 for LibVNCServer 0.9.1.
++@%:@
++@%:@ Report bugs to <http://sourceforge.net/projects/libvncserver>.
++@%:@
++@%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
++@%:@ 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
++@%:@ This configure script is free software; the Free Software Foundation
++@%:@ gives unlimited permission to copy, distribute and modify it.
++## --------------------- ##
++## M4sh Initialization. ##
++## --------------------- ##
++
++# Be more Bourne compatible
++DUALCASE=1; export DUALCASE # for MKS sh
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '${1+"$@"}'='"$@"'
++ setopt NO_GLOB_SUBST
++else
++ case `(set -o) 2>/dev/null` in
++ *posix*) set -o posix ;;
++esac
++
++fi
++
++
++
++
++# PATH needs CR
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
++ else
++ PATH_SEPARATOR=:
++ fi
++ rm -f conf$$.sh
++fi
++
++# Support unset when possible.
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++ as_unset=unset
++else
++ as_unset=false
++fi
++
++
++# IFS
++# We need space, tab and new line, in precisely that order. Quoting is
++# there to prevent editors from complaining about space-tab.
++# (If _AS_PATH_WALK were called with IFS unset, it would disable word
++# splitting by setting IFS to empty value.)
++as_nl='
++'
++IFS=" "" $as_nl"
++
++# Find who we are. Look in the path if we contain no directory separator.
++case $0 in
++ *[\\/]* ) as_myself=$0 ;;
++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
++done
++IFS=$as_save_IFS
++
++ ;;
++esac
++# We did not find ourselves, most probably we were run as `sh COMMAND'
++# in which case we are not to be found in the path.
++if test "x$as_myself" = x; then
++ as_myself=$0
++fi
++if test ! -f "$as_myself"; then
++ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++ { (exit 1); exit 1; }
++fi
++
++# Work around bugs in pre-3.0 UWIN ksh.
++for as_var in ENV MAIL MAILPATH
++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++done
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++for as_var in \
++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
++ LC_TELEPHONE LC_TIME
++do
++ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
++ eval $as_var=C; export $as_var
++ else
++ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++ fi
++done
++
++# Required to use basename.
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
++ as_basename=basename
++else
++ as_basename=false
++fi
++
++
++# Name of the executable.
++as_me=`$as_basename -- "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++ X"$0" : 'X\(//\)$' \| \
++ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++echo X/"$0" |
++ sed '/^.*\/\([^/][^/]*\)\/*$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++
++# CDPATH.
++$as_unset CDPATH
++
++
++if test "x$CONFIG_SHELL" = x; then
++ if (eval ":") 2>/dev/null; then
++ as_have_required=yes
++else
++ as_have_required=no
++fi
++
++ if test $as_have_required = yes && (eval ":
++(as_func_return () {
++ (exit \$1)
++}
++as_func_success () {
++ as_func_return 0
++}
++as_func_failure () {
++ as_func_return 1
++}
++as_func_ret_success () {
++ return 0
++}
++as_func_ret_failure () {
++ return 1
++}
++
++exitcode=0
++if as_func_success; then
++ :
++else
++ exitcode=1
++ echo as_func_success failed.
++fi
++
++if as_func_failure; then
++ exitcode=1
++ echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++ :
++else
++ exitcode=1
++ echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++ exitcode=1
++ echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
++ :
++else
++ exitcode=1
++ echo positional parameters were not saved.
++fi
++
++test \$exitcode = 0) || { (exit 1); exit 1; }
++
++(
++ as_lineno_1=\$LINENO
++ as_lineno_2=\$LINENO
++ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
++ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
++") 2> /dev/null; then
++ :
++else
++ as_candidate_shells=
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ case $as_dir in
++ /*)
++ for as_base in sh bash ksh sh5; do
++ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
++ done;;
++ esac
++done
++IFS=$as_save_IFS
++
++
++ for as_shell in $as_candidate_shells $SHELL; do
++ # Try only shells that exist, to save several forks.
++ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
++ { ("$as_shell") 2> /dev/null <<\_ASEOF
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '${1+"$@"}'='"$@"'
++ setopt NO_GLOB_SUBST
++else
++ case `(set -o) 2>/dev/null` in
++ *posix*) set -o posix ;;
++esac
++
++fi
++
++
++:
++_ASEOF
++}; then
++ CONFIG_SHELL=$as_shell
++ as_have_required=yes
++ if { "$as_shell" 2> /dev/null <<\_ASEOF
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '${1+"$@"}'='"$@"'
++ setopt NO_GLOB_SUBST
++else
++ case `(set -o) 2>/dev/null` in
++ *posix*) set -o posix ;;
++esac
++
++fi
++
++
++:
++(as_func_return () {
++ (exit $1)
++}
++as_func_success () {
++ as_func_return 0
++}
++as_func_failure () {
++ as_func_return 1
++}
++as_func_ret_success () {
++ return 0
++}
++as_func_ret_failure () {
++ return 1
++}
++
++exitcode=0
++if as_func_success; then
++ :
++else
++ exitcode=1
++ echo as_func_success failed.
++fi
++
++if as_func_failure; then
++ exitcode=1
++ echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++ :
++else
++ exitcode=1
++ echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++ exitcode=1
++ echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = "$1" ); then
++ :
++else
++ exitcode=1
++ echo positional parameters were not saved.
++fi
++
++test $exitcode = 0) || { (exit 1); exit 1; }
++
++(
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
++
++_ASEOF
++}; then
++ break
++fi
++
++fi
++
++ done
++
++ if test "x$CONFIG_SHELL" != x; then
++ for as_var in BASH_ENV ENV
++ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++ done
++ export CONFIG_SHELL
++ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
++fi
++
++
++ if test $as_have_required = no; then
++ echo This script requires a shell more modern than all the
++ echo shells that I found on your system. Please install a
++ echo modern shell, or manually run the script under such a
++ echo shell if you do have one.
++ { (exit 1); exit 1; }
++fi
++
++
++fi
++
++fi
++
++
++
++(eval "as_func_return () {
++ (exit \$1)
++}
++as_func_success () {
++ as_func_return 0
++}
++as_func_failure () {
++ as_func_return 1
++}
++as_func_ret_success () {
++ return 0
++}
++as_func_ret_failure () {
++ return 1
++}
++
++exitcode=0
++if as_func_success; then
++ :
++else
++ exitcode=1
++ echo as_func_success failed.
++fi
++
++if as_func_failure; then
++ exitcode=1
++ echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++ :
++else
++ exitcode=1
++ echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++ exitcode=1
++ echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
++ :
++else
++ exitcode=1
++ echo positional parameters were not saved.
++fi
++
++test \$exitcode = 0") || {
++ echo No shell found that supports shell functions.
++ echo Please tell autoconf@gnu.org about your system,
++ echo including any error possibly output before this
++ echo message
++}
++
++
++
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
++
++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
++ # uniformly replaced by the line number. The first 'sed' inserts a
++ # line-number line after each line using $LINENO; the second 'sed'
++ # does the real work. The second script uses 'N' to pair each
++ # line-number line with the line containing $LINENO, and appends
++ # trailing '-' during substitution so that $LINENO is not a special
++ # case at line end.
++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
++ # scripts with optimization help from Paolo Bonzini. Blame Lee
++ # E. McMahon (1931-1989) for sed's syntax. :-)
++ sed -n '
++ p
++ /[$]LINENO/=
++ ' <$as_myself |
++ sed '
++ s/[$]LINENO.*/&-/
++ t lineno
++ b
++ :lineno
++ N
++ :loop
++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
++ t loop
++ s/-\n.*//
++ ' >$as_me.lineno &&
++ chmod +x "$as_me.lineno" ||
++ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
++ { (exit 1); exit 1; }; }
++
++ # Don't try to exec as it changes $[0], causing all sort of problems
++ # (the dirname of $[0] is not the place where we might find the
++ # original and so on. Autoconf is especially sensitive to this).
++ . "./$as_me.lineno"
++ # Exit status is that of the last command.
++ exit
++}
++
++
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++ as_dirname=dirname
++else
++ as_dirname=false
++fi
++
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in
++-n*)
++ case `echo 'x\c'` in
++ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
++ *) ECHO_C='\c';;
++ esac;;
++*)
++ ECHO_N='-n';;
++esac
++
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++rm -f conf$$ conf$$.exe conf$$.file
++if test -d conf$$.dir; then
++ rm -f conf$$.dir/conf$$.file
++else
++ rm -f conf$$.dir
++ mkdir conf$$.dir
++fi
++echo >conf$$.file
++if ln -s conf$$.file conf$$ 2>/dev/null; then
++ as_ln_s='ln -s'
++ # ... but there are two gotchas:
++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
++ # In both cases, we have to default to `cp -p'.
++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
++ as_ln_s='cp -p'
++elif ln conf$$.file conf$$ 2>/dev/null; then
++ as_ln_s=ln
++else
++ as_ln_s='cp -p'
++fi
++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
++rmdir conf$$.dir 2>/dev/null
++
++if mkdir -p . 2>/dev/null; then
++ as_mkdir_p=:
++else
++ test -d ./-p && rmdir ./-p
++ as_mkdir_p=false
++fi
++
++if test -x / >/dev/null 2>&1; then
++ as_test_x='test -x'
++else
++ if ls -dL / >/dev/null 2>&1; then
++ as_ls_L_option=L
++ else
++ as_ls_L_option=
++ fi
++ as_test_x='
++ eval sh -c '\''
++ if test -d "$1"; then
++ test -d "$1/.";
++ else
++ case $1 in
++ -*)set "./$1";;
++ esac;
++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
++ ???[sx]*):;;*)false;;esac;fi
++ '\'' sh
++ '
++fi
++as_executable_p=$as_test_x
++
++# Sed expression to map a string onto a valid CPP name.
++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
++
++# Sed expression to map a string onto a valid variable name.
++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
++
++
++
++
++# Check that we are running under the correct shell.
++SHELL=${CONFIG_SHELL-/bin/sh}
++
++case X$lt_ECHO in
++X*--fallback-echo)
++ # Remove one level of quotation (which was required for Make).
++ ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
++ ;;
++esac
++
++ECHO=${lt_ECHO-echo}
++if test "X$1" = X--no-reexec; then
++ # Discard the --no-reexec flag, and continue.
++ shift
++elif test "X$1" = X--fallback-echo; then
++ # Avoid inline document here, it may be left over
++ :
++elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
++ # Yippee, $ECHO works!
++ :
++else
++ # Restart under the correct shell.
++ exec $SHELL "$0" --no-reexec ${1+"$@"}
++fi
++
++if test "X$1" = X--fallback-echo; then
++ # used as fallback echo
++ shift
++ cat <<_LT_EOF
++$*
++_LT_EOF
++ exit 0
++fi
++
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
++
++if test -z "$lt_ECHO"; then
++ if test "X${echo_test_string+set}" != Xset; then
++ # find a string as large as possible, as long as the shell can cope with it
++ for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
++ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
++ if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
++ { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
++ then
++ break
++ fi
++ done
++ fi
++
++ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ :
++ else
++ # The Solaris, AIX, and Digital Unix default echo programs unquote
++ # backslashes. This makes it impossible to quote backslashes using
++ # echo "$something" | sed 's/\\/\\\\/g'
++ #
++ # So, first we look for a working echo in the user's PATH.
++
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ for dir in $PATH /usr/ucb; do
++ IFS="$lt_save_ifs"
++ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
++ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ ECHO="$dir/echo"
++ break
++ fi
++ done
++ IFS="$lt_save_ifs"
++
++ if test "X$ECHO" = Xecho; then
++ # We didn't find a better echo, so look for alternatives.
++ if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ # This shell has a builtin print -r that does the trick.
++ ECHO='print -r'
++ elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
++ test "X$CONFIG_SHELL" != X/bin/ksh; then
++ # If we have ksh, try running configure again with it.
++ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
++ export ORIGINAL_CONFIG_SHELL
++ CONFIG_SHELL=/bin/ksh
++ export CONFIG_SHELL
++ exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
++ else
++ # Try using printf.
++ ECHO='printf %s\n'
++ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ # Cool, printf works
++ :
++ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
++ test "X$echo_testing_string" = 'X\t' &&
++ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
++ export CONFIG_SHELL
++ SHELL="$CONFIG_SHELL"
++ export SHELL
++ ECHO="$CONFIG_SHELL $0 --fallback-echo"
++ elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
++ test "X$echo_testing_string" = 'X\t' &&
++ echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ ECHO="$CONFIG_SHELL $0 --fallback-echo"
++ else
++ # maybe with a smaller string...
++ prev=:
++
++ for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
++ if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
++ then
++ break
++ fi
++ prev="$cmd"
++ done
++
++ if test "$prev" != 'sed 50q "$0"'; then
++ echo_test_string=`eval $prev`
++ export echo_test_string
++ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
++ else
++ # Oops. We lost completely, so just stick with echo.
++ ECHO=echo
++ fi
++ fi
++ fi
++ fi
++ fi
++fi
++
++# Copy echo and quote the copy suitably for passing to libtool from
++# the Makefile, instead of quoting the original, which is used later.
++lt_ECHO=$ECHO
++if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
++ lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
++fi
++
++
++
++
++exec 7<&0 </dev/null 6>&1
++
++# Name of the host.
++# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
++# so uname gets run too.
++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
++
++#
++# Initializations.
++#
++ac_default_prefix=/usr/local
++ac_clean_files=
++ac_config_libobj_dir=.
++LIB@&t@OBJS=
++cross_compiling=no
++subdirs=
++MFLAGS=
++MAKEFLAGS=
++SHELL=${CONFIG_SHELL-/bin/sh}
++
++# Identity of this package.
++PACKAGE_NAME='LibVNCServer'
++PACKAGE_TARNAME='libvncserver'
++PACKAGE_VERSION='0.9.1'
++PACKAGE_STRING='LibVNCServer 0.9.1'
++PACKAGE_BUGREPORT='http://sourceforge.net/projects/libvncserver'
++
++# Factoring default headers for most tests.
++ac_includes_default="\
++#include <stdio.h>
++#ifdef HAVE_SYS_TYPES_H
++# include <sys/types.h>
++#endif
++#ifdef HAVE_SYS_STAT_H
++# include <sys/stat.h>
++#endif
++#ifdef STDC_HEADERS
++# include <stdlib.h>
++# include <stddef.h>
++#else
++# ifdef HAVE_STDLIB_H
++# include <stdlib.h>
++# endif
++#endif
++#ifdef HAVE_STRING_H
++# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
++# include <memory.h>
++# endif
++# include <string.h>
++#endif
++#ifdef HAVE_STRINGS_H
++# include <strings.h>
++#endif
++#ifdef HAVE_INTTYPES_H
++# include <inttypes.h>
++#endif
++#ifdef HAVE_STDINT_H
++# include <stdint.h>
++#endif
++#ifdef HAVE_UNISTD_H
++# include <unistd.h>
++#endif"
++
++ac_subst_vars='SHELL
++PATH_SEPARATOR
++PACKAGE_NAME
++PACKAGE_TARNAME
++PACKAGE_VERSION
++PACKAGE_STRING
++PACKAGE_BUGREPORT
++exec_prefix
++prefix
++program_transform_name
++bindir
++sbindir
++libexecdir
++datarootdir
++datadir
++sysconfdir
++sharedstatedir
++localstatedir
++includedir
++oldincludedir
++docdir
++infodir
++htmldir
++dvidir
++pdfdir
++psdir
++libdir
++localedir
++mandir
++DEFS
++ECHO_C
++ECHO_N
++ECHO_T
++LIBS
++build_alias
++host_alias
++target_alias
++INSTALL_PROGRAM
++INSTALL_SCRIPT
++INSTALL_DATA
++am__isrc
++CYGPATH_W
++PACKAGE
++VERSION
++ACLOCAL
++AUTOCONF
++AUTOMAKE
++AUTOHEADER
++MAKEINFO
++install_sh
++STRIP
++INSTALL_STRIP_PROGRAM
++mkdir_p
++AWK
++SET_MAKE
++am__leading_dot
++AMTAR
++am__tar
++am__untar
++CC
++CFLAGS
++LDFLAGS
++CPPFLAGS
++ac_ct_CC
++EXEEXT
++OBJEXT
++DEPDIR
++am__include
++am__quote
++AMDEP_TRUE
++AMDEP_FALSE
++AMDEPBACKSLASH
++CCDEPMODE
++am__fastdepCC_TRUE
++am__fastdepCC_FALSE
++LIBTOOL
++build
++build_cpu
++build_vendor
++build_os
++host
++host_cpu
++host_vendor
++host_os
++SED
++GREP
++EGREP
++FGREP
++LD
++DUMPBIN
++ac_ct_DUMPBIN
++NM
++LN_S
++AR
++RANLIB
++lt_ECHO
++DSYMUTIL
++NMEDIT
++LIPO
++OTOOL
++OTOOL64
++CPP
++with_ffmpeg
++WITH_FFMPEG_TRUE
++WITH_FFMPEG_FALSE
++HAVE_MP3LAME_TRUE
++HAVE_MP3LAME_FALSE
++X_CFLAGS
++X_PRE_LIBS
++X_LIBS
++X_EXTRA_LIBS
++HAVE_X_TRUE
++HAVE_X_FALSE
++CRYPT_LIBS
++SSL_LIBS
++AVAHI_CFLAGS
++AVAHI_LIBS
++SYSTEM_LIBVNCSERVER_CFLAGS
++SYSTEM_LIBVNCSERVER_LIBS
++HAVE_SYSTEM_LIBVNCSERVER_TRUE
++HAVE_SYSTEM_LIBVNCSERVER_FALSE
++HAVE_LIBPTHREAD_TRUE
++HAVE_LIBPTHREAD_FALSE
++WITH_TIGHTVNC_FILETRANSFER_TRUE
++WITH_TIGHTVNC_FILETRANSFER_FALSE
++HAVE_LIBZ_TRUE
++HAVE_LIBZ_FALSE
++HAVE_LIBJPEG_TRUE
++HAVE_LIBJPEG_FALSE
++HAVE_LIBSDL_TRUE
++HAVE_LIBSDL_FALSE
++SDL_CFLAGS
++SDL_LIBS
++MINGW_TRUE
++MINGW_FALSE
++WSOCKLIB
++LIB@&t@OBJS
++CYGIPC_TRUE
++CYGIPC_FALSE
++LINUX_TRUE
++LINUX_FALSE
++OSX_TRUE
++OSX_FALSE
++HAVE_RPM_TRUE
++HAVE_RPM_FALSE
++RPMSOURCEDIR
++LTLIBOBJS'
++ac_subst_files=''
++ ac_precious_vars='build_alias
++host_alias
++target_alias
++CC
++CFLAGS
++LDFLAGS
++LIBS
++CPPFLAGS
++CPP'
++
++
++# Initialize some variables set by options.
++ac_init_help=
++ac_init_version=false
++# The variables have the same names as the options, with
++# dashes changed to underlines.
++cache_file=/dev/null
++exec_prefix=NONE
++no_create=
++no_recursion=
++prefix=NONE
++program_prefix=NONE
++program_suffix=NONE
++program_transform_name=s,x,x,
++silent=
++site=
++srcdir=
++verbose=
++x_includes=NONE
++x_libraries=NONE
++
++# Installation directory options.
++# These are left unexpanded so users can "make install exec_prefix=/foo"
++# and all the variables that are supposed to be based on exec_prefix
++# by default will actually change.
++# Use braces instead of parens because sh, perl, etc. also accept them.
++# (The list follows the same order as the GNU Coding Standards.)
++bindir='${exec_prefix}/bin'
++sbindir='${exec_prefix}/sbin'
++libexecdir='${exec_prefix}/libexec'
++datarootdir='${prefix}/share'
++datadir='${datarootdir}'
++sysconfdir='${prefix}/etc'
++sharedstatedir='${prefix}/com'
++localstatedir='${prefix}/var'
++includedir='${prefix}/include'
++oldincludedir='/usr/include'
++docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
++infodir='${datarootdir}/info'
++htmldir='${docdir}'
++dvidir='${docdir}'
++pdfdir='${docdir}'
++psdir='${docdir}'
++libdir='${exec_prefix}/lib'
++localedir='${datarootdir}/locale'
++mandir='${datarootdir}/man'
++
++ac_prev=
++ac_dashdash=
++for ac_option
++do
++ # If the previous option needs an argument, assign it.
++ if test -n "$ac_prev"; then
++ eval $ac_prev=\$ac_option
++ ac_prev=
++ continue
++ fi
++
++ case $ac_option in
++ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
++ *) ac_optarg=yes ;;
++ esac
++
++ # Accept the important Cygnus configure options, so we can diagnose typos.
++
++ case $ac_dashdash$ac_option in
++ --)
++ ac_dashdash=yes ;;
++
++ -bindir | --bindir | --bindi | --bind | --bin | --bi)
++ ac_prev=bindir ;;
++ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
++ bindir=$ac_optarg ;;
++
++ -build | --build | --buil | --bui | --bu)
++ ac_prev=build_alias ;;
++ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
++ build_alias=$ac_optarg ;;
++
++ -cache-file | --cache-file | --cache-fil | --cache-fi \
++ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
++ ac_prev=cache_file ;;
++ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
++ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
++ cache_file=$ac_optarg ;;
++
++ --config-cache | -C)
++ cache_file=config.cache ;;
++
++ -datadir | --datadir | --datadi | --datad)
++ ac_prev=datadir ;;
++ -datadir=* | --datadir=* | --datadi=* | --datad=*)
++ datadir=$ac_optarg ;;
++
++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
++ | --dataroo | --dataro | --datar)
++ ac_prev=datarootdir ;;
++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
++ datarootdir=$ac_optarg ;;
++
++ -disable-* | --disable-*)
++ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
++ { (exit 1); exit 1; }; }
++ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
++ eval enable_$ac_feature=no ;;
++
++ -docdir | --docdir | --docdi | --doc | --do)
++ ac_prev=docdir ;;
++ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
++ docdir=$ac_optarg ;;
++
++ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
++ ac_prev=dvidir ;;
++ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
++ dvidir=$ac_optarg ;;
++
++ -enable-* | --enable-*)
++ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
++ { (exit 1); exit 1; }; }
++ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
++ eval enable_$ac_feature=\$ac_optarg ;;
++
++ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
++ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
++ | --exec | --exe | --ex)
++ ac_prev=exec_prefix ;;
++ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
++ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
++ | --exec=* | --exe=* | --ex=*)
++ exec_prefix=$ac_optarg ;;
++
++ -gas | --gas | --ga | --g)
++ # Obsolete; use --with-gas.
++ with_gas=yes ;;
++
++ -help | --help | --hel | --he | -h)
++ ac_init_help=long ;;
++ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
++ ac_init_help=recursive ;;
++ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
++ ac_init_help=short ;;
++
++ -host | --host | --hos | --ho)
++ ac_prev=host_alias ;;
++ -host=* | --host=* | --hos=* | --ho=*)
++ host_alias=$ac_optarg ;;
++
++ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
++ ac_prev=htmldir ;;
++ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
++ | --ht=*)
++ htmldir=$ac_optarg ;;
++
++ -includedir | --includedir | --includedi | --included | --include \
++ | --includ | --inclu | --incl | --inc)
++ ac_prev=includedir ;;
++ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
++ | --includ=* | --inclu=* | --incl=* | --inc=*)
++ includedir=$ac_optarg ;;
++
++ -infodir | --infodir | --infodi | --infod | --info | --inf)
++ ac_prev=infodir ;;
++ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
++ infodir=$ac_optarg ;;
++
++ -libdir | --libdir | --libdi | --libd)
++ ac_prev=libdir ;;
++ -libdir=* | --libdir=* | --libdi=* | --libd=*)
++ libdir=$ac_optarg ;;
++
++ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
++ | --libexe | --libex | --libe)
++ ac_prev=libexecdir ;;
++ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
++ | --libexe=* | --libex=* | --libe=*)
++ libexecdir=$ac_optarg ;;
++
++ -localedir | --localedir | --localedi | --localed | --locale)
++ ac_prev=localedir ;;
++ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
++ localedir=$ac_optarg ;;
++
++ -localstatedir | --localstatedir | --localstatedi | --localstated \
++ | --localstate | --localstat | --localsta | --localst | --locals)
++ ac_prev=localstatedir ;;
++ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
++ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
++ localstatedir=$ac_optarg ;;
++
++ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
++ ac_prev=mandir ;;
++ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
++ mandir=$ac_optarg ;;
++
++ -nfp | --nfp | --nf)
++ # Obsolete; use --without-fp.
++ with_fp=no ;;
++
++ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
++ | --no-cr | --no-c | -n)
++ no_create=yes ;;
++
++ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
++ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
++ no_recursion=yes ;;
++
++ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
++ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
++ | --oldin | --oldi | --old | --ol | --o)
++ ac_prev=oldincludedir ;;
++ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
++ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
++ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
++ oldincludedir=$ac_optarg ;;
++
++ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
++ ac_prev=prefix ;;
++ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
++ prefix=$ac_optarg ;;
++
++ -program-prefix | --program-prefix | --program-prefi | --program-pref \
++ | --program-pre | --program-pr | --program-p)
++ ac_prev=program_prefix ;;
++ -program-prefix=* | --program-prefix=* | --program-prefi=* \
++ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
++ program_prefix=$ac_optarg ;;
++
++ -program-suffix | --program-suffix | --program-suffi | --program-suff \
++ | --program-suf | --program-su | --program-s)
++ ac_prev=program_suffix ;;
++ -program-suffix=* | --program-suffix=* | --program-suffi=* \
++ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
++ program_suffix=$ac_optarg ;;
++
++ -program-transform-name | --program-transform-name \
++ | --program-transform-nam | --program-transform-na \
++ | --program-transform-n | --program-transform- \
++ | --program-transform | --program-transfor \
++ | --program-transfo | --program-transf \
++ | --program-trans | --program-tran \
++ | --progr-tra | --program-tr | --program-t)
++ ac_prev=program_transform_name ;;
++ -program-transform-name=* | --program-transform-name=* \
++ | --program-transform-nam=* | --program-transform-na=* \
++ | --program-transform-n=* | --program-transform-=* \
++ | --program-transform=* | --program-transfor=* \
++ | --program-transfo=* | --program-transf=* \
++ | --program-trans=* | --program-tran=* \
++ | --progr-tra=* | --program-tr=* | --program-t=*)
++ program_transform_name=$ac_optarg ;;
++
++ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
++ ac_prev=pdfdir ;;
++ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
++ pdfdir=$ac_optarg ;;
++
++ -psdir | --psdir | --psdi | --psd | --ps)
++ ac_prev=psdir ;;
++ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
++ psdir=$ac_optarg ;;
++
++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++ | -silent | --silent | --silen | --sile | --sil)
++ silent=yes ;;
++
++ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
++ ac_prev=sbindir ;;
++ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
++ | --sbi=* | --sb=*)
++ sbindir=$ac_optarg ;;
++
++ -sharedstatedir | --sharedstatedir | --sharedstatedi \
++ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
++ | --sharedst | --shareds | --shared | --share | --shar \
++ | --sha | --sh)
++ ac_prev=sharedstatedir ;;
++ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
++ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
++ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
++ | --sha=* | --sh=*)
++ sharedstatedir=$ac_optarg ;;
++
++ -site | --site | --sit)
++ ac_prev=site ;;
++ -site=* | --site=* | --sit=*)
++ site=$ac_optarg ;;
++
++ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
++ ac_prev=srcdir ;;
++ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
++ srcdir=$ac_optarg ;;
++
++ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
++ | --syscon | --sysco | --sysc | --sys | --sy)
++ ac_prev=sysconfdir ;;
++ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
++ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
++ sysconfdir=$ac_optarg ;;
++
++ -target | --target | --targe | --targ | --tar | --ta | --t)
++ ac_prev=target_alias ;;
++ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
++ target_alias=$ac_optarg ;;
++
++ -v | -verbose | --verbose | --verbos | --verbo | --verb)
++ verbose=yes ;;
++
++ -version | --version | --versio | --versi | --vers | -V)
++ ac_init_version=: ;;
++
++ -with-* | --with-*)
++ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid package name: $ac_package" >&2
++ { (exit 1); exit 1; }; }
++ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
++ eval with_$ac_package=\$ac_optarg ;;
++
++ -without-* | --without-*)
++ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid package name: $ac_package" >&2
++ { (exit 1); exit 1; }; }
++ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
++ eval with_$ac_package=no ;;
++
++ --x)
++ # Obsolete; use --with-x.
++ with_x=yes ;;
++
++ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
++ | --x-incl | --x-inc | --x-in | --x-i)
++ ac_prev=x_includes ;;
++ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
++ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
++ x_includes=$ac_optarg ;;
++
++ -x-libraries | --x-libraries | --x-librarie | --x-librari \
++ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
++ ac_prev=x_libraries ;;
++ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
++ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
++ x_libraries=$ac_optarg ;;
++
++ -*) { echo "$as_me: error: unrecognized option: $ac_option
++Try \`$0 --help' for more information." >&2
++ { (exit 1); exit 1; }; }
++ ;;
++
++ *=*)
++ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
++ { (exit 1); exit 1; }; }
++ eval $ac_envvar=\$ac_optarg
++ export $ac_envvar ;;
++
++ *)
++ # FIXME: should be removed in autoconf 3.0.
++ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
++ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
++ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
++ ;;
++
++ esac
++done
++
++if test -n "$ac_prev"; then
++ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
++ { echo "$as_me: error: missing argument to $ac_option" >&2
++ { (exit 1); exit 1; }; }
++fi
++
++# Be sure to have absolute directory names.
++for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
++ datadir sysconfdir sharedstatedir localstatedir includedir \
++ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
++ libdir localedir mandir
++do
++ eval ac_val=\$$ac_var
++ case $ac_val in
++ [\\/$]* | ?:[\\/]* ) continue;;
++ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
++ esac
++ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
++ { (exit 1); exit 1; }; }
++done
++
++# There might be people who depend on the old broken behavior: `$host'
++# used to hold the argument of --host etc.
++# FIXME: To remove some day.
++build=$build_alias
++host=$host_alias
++target=$target_alias
++
++# FIXME: To remove some day.
++if test "x$host_alias" != x; then
++ if test "x$build_alias" = x; then
++ cross_compiling=maybe
++ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
++ If a cross compiler is detected then cross compile mode will be used." >&2
++ elif test "x$build_alias" != "x$host_alias"; then
++ cross_compiling=yes
++ fi
++fi
++
++ac_tool_prefix=
++test -n "$host_alias" && ac_tool_prefix=$host_alias-
++
++test "$silent" = yes && exec 6>/dev/null
++
++
++ac_pwd=`pwd` && test -n "$ac_pwd" &&
++ac_ls_di=`ls -di .` &&
++ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
++ { echo "$as_me: error: Working directory cannot be determined" >&2
++ { (exit 1); exit 1; }; }
++test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
++ { echo "$as_me: error: pwd does not report name of working directory" >&2
++ { (exit 1); exit 1; }; }
++
++
++# Find the source files, if location was not specified.
++if test -z "$srcdir"; then
++ ac_srcdir_defaulted=yes
++ # Try the directory containing this script, then the parent directory.
++ ac_confdir=`$as_dirname -- "$0" ||
++$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$0" : 'X\(//\)[^/]' \| \
++ X"$0" : 'X\(//\)$' \| \
++ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$0" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ srcdir=$ac_confdir
++ if test ! -r "$srcdir/$ac_unique_file"; then
++ srcdir=..
++ fi
++else
++ ac_srcdir_defaulted=no
++fi
++if test ! -r "$srcdir/$ac_unique_file"; then
++ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
++ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
++ { (exit 1); exit 1; }; }
++fi
++ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
++ac_abs_confdir=`(
++ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
++ { (exit 1); exit 1; }; }
++ pwd)`
++# When building in place, set srcdir=.
++if test "$ac_abs_confdir" = "$ac_pwd"; then
++ srcdir=.
++fi
++# Remove unnecessary trailing slashes from srcdir.
++# Double slashes in file names in object file debugging info
++# mess up M-x gdb in Emacs.
++case $srcdir in
++*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
++esac
++for ac_var in $ac_precious_vars; do
++ eval ac_env_${ac_var}_set=\${${ac_var}+set}
++ eval ac_env_${ac_var}_value=\$${ac_var}
++ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
++ eval ac_cv_env_${ac_var}_value=\$${ac_var}
++done
++
++#
++# Report the --help message.
++#
++if test "$ac_init_help" = "long"; then
++ # Omit some internal or obsolete options to make the list less imposing.
++ # This message is too long to be a string in the A/UX 3.1 sh.
++ cat <<_ACEOF
++\`configure' configures LibVNCServer 0.9.1 to adapt to many kinds of systems.
++
++Usage: $0 [OPTION]... [VAR=VALUE]...
++
++To assign environment variables (e.g., CC, CFLAGS...), specify them as
++VAR=VALUE. See below for descriptions of some of the useful variables.
++
++Defaults for the options are specified in brackets.
++
++Configuration:
++ -h, --help display this help and exit
++ --help=short display options specific to this package
++ --help=recursive display the short help of all the included packages
++ -V, --version display version information and exit
++ -q, --quiet, --silent do not print \`checking...' messages
++ --cache-file=FILE cache test results in FILE [disabled]
++ -C, --config-cache alias for \`--cache-file=config.cache'
++ -n, --no-create do not create output files
++ --srcdir=DIR find the sources in DIR [configure dir or \`..']
++
++Installation directories:
++ --prefix=PREFIX install architecture-independent files in PREFIX
++ [$ac_default_prefix]
++ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
++ [PREFIX]
++
++By default, \`make install' will install all the files in
++\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
++an installation prefix other than \`$ac_default_prefix' using \`--prefix',
++for instance \`--prefix=\$HOME'.
++
++For better control, use the options below.
++
++Fine tuning of the installation directories:
++ --bindir=DIR user executables [EPREFIX/bin]
++ --sbindir=DIR system admin executables [EPREFIX/sbin]
++ --libexecdir=DIR program executables [EPREFIX/libexec]
++ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
++ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
++ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
++ --libdir=DIR object code libraries [EPREFIX/lib]
++ --includedir=DIR C header files [PREFIX/include]
++ --oldincludedir=DIR C header files for non-gcc [/usr/include]
++ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
++ --infodir=DIR info documentation [DATAROOTDIR/info]
++ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
++ --mandir=DIR man documentation [DATAROOTDIR/man]
++ --docdir=DIR documentation root @<:@DATAROOTDIR/doc/libvncserver@:>@
++ --htmldir=DIR html documentation [DOCDIR]
++ --dvidir=DIR dvi documentation [DOCDIR]
++ --pdfdir=DIR pdf documentation [DOCDIR]
++ --psdir=DIR ps documentation [DOCDIR]
++_ACEOF
++
++ cat <<\_ACEOF
++
++Program names:
++ --program-prefix=PREFIX prepend PREFIX to installed program names
++ --program-suffix=SUFFIX append SUFFIX to installed program names
++ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
++
++X features:
++ --x-includes=DIR X include files are in DIR
++ --x-libraries=DIR X library files are in DIR
++
++System types:
++ --build=BUILD configure for building on BUILD [guessed]
++ --host=HOST cross-compile to build programs to run on HOST [BUILD]
++_ACEOF
++fi
++
++if test -n "$ac_init_help"; then
++ case $ac_init_help in
++ short | recursive ) echo "Configuration of LibVNCServer 0.9.1:";;
++ esac
++ cat <<\_ACEOF
++
++Optional Features:
++ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
++ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
++ --disable-dependency-tracking speeds up one-time build
++ --enable-dependency-tracking do not reject slow dependency extractors
++ --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=yes@:>@
++ --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=yes@:>@
++ --enable-fast-install@<:@=PKGS@:>@
++ optimize for fast installation @<:@default=yes@:>@
++ --disable-libtool-lock avoid locking (might break parallel builds)
++
++Optional Packages:
++ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
++ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
++ --with-pic try to use only PIC/non-PIC objects @<:@default=use
++ both@:>@
++ --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@
++ --without-filetransfer disable TightVNC file transfer protocol
++ --without-24bpp disable 24 bpp framebuffers
++ --with-ffmpeg=dir set ffmpeg home directory
++ --with-x use the X Window System
++ --with-system-libvncserver use installed libvncserver for x11vnc
++ --with-system-libvncserver=DIR use libvncserver installed in DIR for x11vnc
++ --with-x11vnc configure for building the x11vnc subdir (if present)
++ you will need to cd to x11vnc and run 'make' etc.
++ --without-xkeyboard disable xkeyboard extension support
++ --without-xinerama disable xinerama extension support
++ --without-xrandr disable xrandr extension support
++ --without-xfixes disable xfixes extension support
++ --without-xdamage disable xdamage extension support
++ --without-xtrap disable xtrap extension support
++ --without-xrecord disable xrecord extension support
++ --without-fbpm disable fbpm extension support
++ --without-dpms disable dpms extension support
++ --without-v4l disable video4linux support
++ --without-fbdev disable linux fb device support
++ --without-uinput disable linux uinput device support
++ --without-macosx-native disable MacOS X native display support
++ --without-crypt disable support for libcrypt
++ --without-crypto disable support for openssl libcrypto
++ --without-ssl disable support for openssl libssl
++ --without-avahi disable support for Avahi/mDNS
++ --with-avahi=DIR use avahi include/library files in DIR
++ --without-jpeg disable support for jpeg
++ --with-jpeg=DIR use jpeg include/library files in DIR
++ --without-libz disable support for deflate
++ --without-zlib disable support for deflate
++ --with-zlib=DIR use zlib include/library files in DIR
++ --without-pthread disable support for libpthread
++
++Some influential environment variables:
++ CC C compiler command
++ CFLAGS C compiler flags
++ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
++ nonstandard directory <lib dir>
++ LIBS libraries to pass to the linker, e.g. -l<library>
++ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
++ you have headers in a nonstandard directory <include dir>
++ CPP C preprocessor
++
++Use these variables to override the choices made by `configure' or to help
++it to find libraries and programs with nonstandard names/locations.
++
++Report bugs to <http://sourceforge.net/projects/libvncserver>.
++_ACEOF
++ac_status=$?
++fi
++
++if test "$ac_init_help" = "recursive"; then
++ # If there are subdirs, report their specific --help.
++ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
++ test -d "$ac_dir" || continue
++ ac_builddir=.
++
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
++ # A ".." for each directory in $ac_dir_suffix.
++ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
++ case $ac_top_builddir_sub in
++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
++ esac ;;
++esac
++ac_abs_top_builddir=$ac_pwd
++ac_abs_builddir=$ac_pwd$ac_dir_suffix
++# for backward compatibility:
++ac_top_builddir=$ac_top_build_prefix
++
++case $srcdir in
++ .) # We are building in place.
++ ac_srcdir=.
++ ac_top_srcdir=$ac_top_builddir_sub
++ ac_abs_top_srcdir=$ac_pwd ;;
++ [\\/]* | ?:[\\/]* ) # Absolute name.
++ ac_srcdir=$srcdir$ac_dir_suffix;
++ ac_top_srcdir=$srcdir
++ ac_abs_top_srcdir=$srcdir ;;
++ *) # Relative name.
++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
++ ac_top_srcdir=$ac_top_build_prefix$srcdir
++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
++esac
++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
++
++ cd "$ac_dir" || { ac_status=$?; continue; }
++ # Check for guested configure.
++ if test -f "$ac_srcdir/configure.gnu"; then
++ echo &&
++ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
++ elif test -f "$ac_srcdir/configure"; then
++ echo &&
++ $SHELL "$ac_srcdir/configure" --help=recursive
++ else
++ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
++ fi || ac_status=$?
++ cd "$ac_pwd" || { ac_status=$?; break; }
++ done
++fi
++
++test -n "$ac_init_help" && exit $ac_status
++if $ac_init_version; then
++ cat <<\_ACEOF
++LibVNCServer configure 0.9.1
++generated by GNU Autoconf 2.61
++
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
++2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
++This configure script is free software; the Free Software Foundation
++gives unlimited permission to copy, distribute and modify it.
++_ACEOF
++ exit
++fi
++cat >config.log <<_ACEOF
++This file contains any messages produced by compilers while
++running configure, to aid debugging if configure makes a mistake.
++
++It was created by LibVNCServer $as_me 0.9.1, which was
++generated by GNU Autoconf 2.61. Invocation command line was
++
++ $ $0 $@
++
++_ACEOF
++exec 5>>config.log
++{
++cat <<_ASUNAME
++@%:@@%:@ --------- @%:@@%:@
++@%:@@%:@ Platform. @%:@@%:@
++@%:@@%:@ --------- @%:@@%:@
++
++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
++uname -m = `(uname -m) 2>/dev/null || echo unknown`
++uname -r = `(uname -r) 2>/dev/null || echo unknown`
++uname -s = `(uname -s) 2>/dev/null || echo unknown`
++uname -v = `(uname -v) 2>/dev/null || echo unknown`
++
++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
++/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
++
++/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
++/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
++/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
++/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
++/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
++/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
++
++_ASUNAME
++
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ echo "PATH: $as_dir"
++done
++IFS=$as_save_IFS
++
++} >&5
++
++cat >&5 <<_ACEOF
++
++
++@%:@@%:@ ----------- @%:@@%:@
++@%:@@%:@ Core tests. @%:@@%:@
++@%:@@%:@ ----------- @%:@@%:@
++
++_ACEOF
++
++
++# Keep a trace of the command line.
++# Strip out --no-create and --no-recursion so they do not pile up.
++# Strip out --silent because we don't want to record it for future runs.
++# Also quote any args containing shell meta-characters.
++# Make two passes to allow for proper duplicate-argument suppression.
++ac_configure_args=
++ac_configure_args0=
++ac_configure_args1=
++ac_must_keep_next=false
++for ac_pass in 1 2
++do
++ for ac_arg
++ do
++ case $ac_arg in
++ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++ | -silent | --silent | --silen | --sile | --sil)
++ continue ;;
++ *\'*)
++ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
++ esac
++ case $ac_pass in
++ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
++ 2)
++ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
++ if test $ac_must_keep_next = true; then
++ ac_must_keep_next=false # Got value, back to normal.
++ else
++ case $ac_arg in
++ *=* | --config-cache | -C | -disable-* | --disable-* \
++ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
++ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
++ | -with-* | --with-* | -without-* | --without-* | --x)
++ case "$ac_configure_args0 " in
++ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
++ esac
++ ;;
++ -* ) ac_must_keep_next=true ;;
++ esac
++ fi
++ ac_configure_args="$ac_configure_args '$ac_arg'"
++ ;;
++ esac
++ done
++done
++$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
++$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
++
++# When interrupted or exit'd, cleanup temporary files, and complete
++# config.log. We remove comments because anyway the quotes in there
++# would cause problems or look ugly.
++# WARNING: Use '\'' to represent an apostrophe within the trap.
++# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
++trap 'exit_status=$?
++ # Save into config.log some information that might help in debugging.
++ {
++ echo
++
++ cat <<\_ASBOX
++@%:@@%:@ ---------------- @%:@@%:@
++@%:@@%:@ Cache variables. @%:@@%:@
++@%:@@%:@ ---------------- @%:@@%:@
++_ASBOX
++ echo
++ # The following way of writing the cache mishandles newlines in values,
++(
++ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
++ eval ac_val=\$$ac_var
++ case $ac_val in #(
++ *${as_nl}*)
++ case $ac_var in #(
++ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
++echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
++ esac
++ case $ac_var in #(
++ _ | IFS | as_nl) ;; #(
++ *) $as_unset $ac_var ;;
++ esac ;;
++ esac
++ done
++ (set) 2>&1 |
++ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
++ *${as_nl}ac_space=\ *)
++ sed -n \
++ "s/'\''/'\''\\\\'\'''\''/g;
++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
++ ;; #(
++ *)
++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
++ ;;
++ esac |
++ sort
++)
++ echo
++
++ cat <<\_ASBOX
++@%:@@%:@ ----------------- @%:@@%:@
++@%:@@%:@ Output variables. @%:@@%:@
++@%:@@%:@ ----------------- @%:@@%:@
++_ASBOX
++ echo
++ for ac_var in $ac_subst_vars
++ do
++ eval ac_val=\$$ac_var
++ case $ac_val in
++ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++ esac
++ echo "$ac_var='\''$ac_val'\''"
++ done | sort
++ echo
++
++ if test -n "$ac_subst_files"; then
++ cat <<\_ASBOX
++@%:@@%:@ ------------------- @%:@@%:@
++@%:@@%:@ File substitutions. @%:@@%:@
++@%:@@%:@ ------------------- @%:@@%:@
++_ASBOX
++ echo
++ for ac_var in $ac_subst_files
++ do
++ eval ac_val=\$$ac_var
++ case $ac_val in
++ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++ esac
++ echo "$ac_var='\''$ac_val'\''"
++ done | sort
++ echo
++ fi
++
++ if test -s confdefs.h; then
++ cat <<\_ASBOX
++@%:@@%:@ ----------- @%:@@%:@
++@%:@@%:@ confdefs.h. @%:@@%:@
++@%:@@%:@ ----------- @%:@@%:@
++_ASBOX
++ echo
++ cat confdefs.h
++ echo
++ fi
++ test "$ac_signal" != 0 &&
++ echo "$as_me: caught signal $ac_signal"
++ echo "$as_me: exit $exit_status"
++ } >&5
++ rm -f core *.core core.conftest.* &&
++ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
++ exit $exit_status
++' 0
++for ac_signal in 1 2 13 15; do
++ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
++done
++ac_signal=0
++
++# confdefs.h avoids OS command line length limits that DEFS can exceed.
++rm -f -r conftest* confdefs.h
++
++# Predefined preprocessor variables.
++
++cat >>confdefs.h <<_ACEOF
++@%:@define PACKAGE_NAME "$PACKAGE_NAME"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++@%:@define PACKAGE_STRING "$PACKAGE_STRING"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
++_ACEOF
++
++
++# Let the site file select an alternate cache file if it wants to.
++# Prefer explicitly selected file to automatically selected ones.
++if test -n "$CONFIG_SITE"; then
++ set x $CONFIG_SITE
++elif test "x$prefix" != xNONE; then
++ set x "$prefix/share/config.site" "$prefix/etc/config.site"
++else
++ set x "$ac_default_prefix/share/config.site" \
++ "$ac_default_prefix/etc/config.site"
++fi
++shift
++for ac_site_file
++do
++ if test -r "$ac_site_file"; then
++ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
++echo "$as_me: loading site script $ac_site_file" >&6;}
++ sed 's/^/| /' "$ac_site_file" >&5
++ . "$ac_site_file"
++ fi
++done
++
++if test -r "$cache_file"; then
++ # Some versions of bash will fail to source /dev/null (special
++ # files actually), so we avoid doing that.
++ if test -f "$cache_file"; then
++ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
++echo "$as_me: loading cache $cache_file" >&6;}
++ case $cache_file in
++ [\\/]* | ?:[\\/]* ) . "$cache_file";;
++ *) . "./$cache_file";;
++ esac
++ fi
++else
++ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
++echo "$as_me: creating cache $cache_file" >&6;}
++ >$cache_file
++fi
++
++# Check that the precious variables saved in the cache have kept the same
++# value.
++ac_cache_corrupted=false
++for ac_var in $ac_precious_vars; do
++ eval ac_old_set=\$ac_cv_env_${ac_var}_set
++ eval ac_new_set=\$ac_env_${ac_var}_set
++ eval ac_old_val=\$ac_cv_env_${ac_var}_value
++ eval ac_new_val=\$ac_env_${ac_var}_value
++ case $ac_old_set,$ac_new_set in
++ set,)
++ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
++echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
++ ac_cache_corrupted=: ;;
++ ,set)
++ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
++echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
++ ac_cache_corrupted=: ;;
++ ,);;
++ *)
++ if test "x$ac_old_val" != "x$ac_new_val"; then
++ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
++echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
++ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
++echo "$as_me: former value: $ac_old_val" >&2;}
++ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
++echo "$as_me: current value: $ac_new_val" >&2;}
++ ac_cache_corrupted=:
++ fi;;
++ esac
++ # Pass precious variables to config.status.
++ if test "$ac_new_set" = set; then
++ case $ac_new_val in
++ *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
++ *) ac_arg=$ac_var=$ac_new_val ;;
++ esac
++ case " $ac_configure_args " in
++ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
++ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
++ esac
++ fi
++done
++if $ac_cache_corrupted; then
++ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
++echo "$as_me: error: changes in the environment can compromise the build" >&2;}
++ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
++echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++am__api_version='1.10'
++
++ac_aux_dir=
++for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
++ if test -f "$ac_dir/install-sh"; then
++ ac_aux_dir=$ac_dir
++ ac_install_sh="$ac_aux_dir/install-sh -c"
++ break
++ elif test -f "$ac_dir/install.sh"; then
++ ac_aux_dir=$ac_dir
++ ac_install_sh="$ac_aux_dir/install.sh -c"
++ break
++ elif test -f "$ac_dir/shtool"; then
++ ac_aux_dir=$ac_dir
++ ac_install_sh="$ac_aux_dir/shtool install -c"
++ break
++ fi
++done
++if test -z "$ac_aux_dir"; then
++ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
++echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++# These three variables are undocumented and unsupported,
++# and are intended to be withdrawn in a future Autoconf release.
++# They can cause serious problems if a builder's source tree is in a directory
++# whose full name contains unusual characters.
++ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
++ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
++ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
++
++
++# Find a good install program. We prefer a C program (faster),
++# so one script is as good as another. But avoid the broken or
++# incompatible versions:
++# SysV /etc/install, /usr/sbin/install
++# SunOS /usr/etc/install
++# IRIX /sbin/install
++# AIX /bin/install
++# AmigaOS /C/install, which installs bootblocks on floppy discs
++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
++# AFS /usr/afsws/bin/install, which mishandles nonexistent args
++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
++# OS/2's system install, which has a completely different semantic
++# ./install, which can be erroneously created by make from ./install.sh.
++{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
++echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
++if test -z "$INSTALL"; then
++if test "${ac_cv_path_install+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ # Account for people who put trailing slashes in PATH elements.
++case $as_dir/ in
++ ./ | .// | /cC/* | \
++ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
++ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
++ /usr/ucb/* ) ;;
++ *)
++ # OSF1 and SCO ODT 3.0 have their own names for install.
++ # Don't use installbsd from OSF since it installs stuff as root
++ # by default.
++ for ac_prog in ginstall scoinst install; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
++ if test $ac_prog = install &&
++ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
++ # AIX install. It has an incompatible calling convention.
++ :
++ elif test $ac_prog = install &&
++ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
++ # program-specific install script used by HP pwplus--don't use.
++ :
++ else
++ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
++ break 3
++ fi
++ fi
++ done
++ done
++ ;;
++esac
++done
++IFS=$as_save_IFS
++
++
++fi
++ if test "${ac_cv_path_install+set}" = set; then
++ INSTALL=$ac_cv_path_install
++ else
++ # As a last resort, use the slow shell script. Don't cache a
++ # value for INSTALL within a source directory, because that will
++ # break other packages using the cache if that directory is
++ # removed, or if the value is a relative name.
++ INSTALL=$ac_install_sh
++ fi
++fi
++{ echo "$as_me:$LINENO: result: $INSTALL" >&5
++echo "${ECHO_T}$INSTALL" >&6; }
++
++# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
++# It thinks the first close brace ends the variable substitution.
++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
++
++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
++
++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
++
++{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
++echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
++# Just in case
++sleep 1
++echo timestamp > conftest.file
++# Do `set' in a subshell so we don't clobber the current shell's
++# arguments. Must try -L first in case configure is actually a
++# symlink; some systems play weird games with the mod time of symlinks
++# (eg FreeBSD returns the mod time of the symlink's containing
++# directory).
++if (
++ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
++ if test "$*" = "X"; then
++ # -L didn't work.
++ set X `ls -t $srcdir/configure conftest.file`
++ fi
++ rm -f conftest.file
++ if test "$*" != "X $srcdir/configure conftest.file" \
++ && test "$*" != "X conftest.file $srcdir/configure"; then
++
++ # If neither matched, then we have a broken ls. This can happen
++ # if, for instance, CONFIG_SHELL is bash and it inherits a
++ # broken ls alias from the environment. This has actually
++ # happened. Such a system could not be considered "sane".
++ { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
++alias in your environment" >&5
++echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
++alias in your environment" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++
++ test "$2" = conftest.file
++ )
++then
++ # Ok.
++ :
++else
++ { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
++Check your system clock" >&5
++echo "$as_me: error: newly created file is older than distributed files!
++Check your system clock" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++{ echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++test "$program_prefix" != NONE &&
++ program_transform_name="s&^&$program_prefix&;$program_transform_name"
++# Use a double $ so make ignores it.
++test "$program_suffix" != NONE &&
++ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
++# Double any \ or $. echo might interpret backslashes.
++# By default was `s,x,x', remove it if useless.
++cat <<\_ACEOF >conftest.sed
++s/[\\$]/&&/g;s/;s,x,x,$//
++_ACEOF
++program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
++rm -f conftest.sed
++
++# expand $ac_aux_dir to an absolute path
++am_aux_dir=`cd $ac_aux_dir && pwd`
++
++test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
++# Use eval to expand $SHELL
++if eval "$MISSING --run true"; then
++ am_missing_run="$MISSING --run "
++else
++ am_missing_run=
++ { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
++echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
++fi
++
++{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
++echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
++if test -z "$MKDIR_P"; then
++ if test "${ac_cv_path_mkdir+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_prog in mkdir gmkdir; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
++ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
++ 'mkdir (GNU coreutils) '* | \
++ 'mkdir (coreutils) '* | \
++ 'mkdir (fileutils) '4.1*)
++ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
++ break 3;;
++ esac
++ done
++ done
++done
++IFS=$as_save_IFS
++
++fi
++
++ if test "${ac_cv_path_mkdir+set}" = set; then
++ MKDIR_P="$ac_cv_path_mkdir -p"
++ else
++ # As a last resort, use the slow shell script. Don't cache a
++ # value for MKDIR_P within a source directory, because that will
++ # break other packages using the cache if that directory is
++ # removed, or if the value is a relative name.
++ test -d ./--version && rmdir ./--version
++ MKDIR_P="$ac_install_sh -d"
++ fi
++fi
++{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
++echo "${ECHO_T}$MKDIR_P" >&6; }
++
++mkdir_p="$MKDIR_P"
++case $mkdir_p in
++ [\\/$]* | ?:[\\/]*) ;;
++ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
++esac
++
++for ac_prog in gawk mawk nawk awk
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_AWK+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$AWK"; then
++ ac_cv_prog_AWK="$AWK" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_AWK="$ac_prog"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++AWK=$ac_cv_prog_AWK
++if test -n "$AWK"; then
++ { echo "$as_me:$LINENO: result: $AWK" >&5
++echo "${ECHO_T}$AWK" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++ test -n "$AWK" && break
++done
++
++{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
++echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
++set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
++if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.make <<\_ACEOF
++SHELL = /bin/sh
++all:
++ @echo '@@@%%%=$(MAKE)=@@@%%%'
++_ACEOF
++# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
++case `${MAKE-make} -f conftest.make 2>/dev/null` in
++ *@@@%%%=?*=@@@%%%*)
++ eval ac_cv_prog_make_${ac_make}_set=yes;;
++ *)
++ eval ac_cv_prog_make_${ac_make}_set=no;;
++esac
++rm -f conftest.make
++fi
++if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
++ { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++ SET_MAKE=
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++ SET_MAKE="MAKE=${MAKE-make}"
++fi
++
++rm -rf .tst 2>/dev/null
++mkdir .tst 2>/dev/null
++if test -d .tst; then
++ am__leading_dot=.
++else
++ am__leading_dot=_
++fi
++rmdir .tst 2>/dev/null
++
++if test "`cd $srcdir && pwd`" != "`pwd`"; then
++ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
++ # is not polluted with repeated "-I."
++ am__isrc=' -I$(srcdir)'
++ # test to see if srcdir already configured
++ if test -f $srcdir/config.status; then
++ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
++echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++fi
++
++# test whether we have cygpath
++if test -z "$CYGPATH_W"; then
++ if (cygpath --version) >/dev/null 2>/dev/null; then
++ CYGPATH_W='cygpath -w'
++ else
++ CYGPATH_W=echo
++ fi
++fi
++
++
++# Define the identity of the package.
++ PACKAGE=LibVNCServer
++ VERSION=0.9.1
++
++
++cat >>confdefs.h <<_ACEOF
++@%:@define PACKAGE "$PACKAGE"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++@%:@define VERSION "$VERSION"
++_ACEOF
++
++# Some tools Automake needs.
++
++ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
++
++
++AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
++
++
++AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
++
++
++AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
++
++
++MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
++
++install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
++
++# Installed binaries are usually stripped using `strip' when the user
++# run `make install-strip'. However `strip' might not be the right
++# tool to use in cross-compilation environments, therefore Automake
++# will honor the `STRIP' environment variable to overrule this program.
++if test "$cross_compiling" != no; then
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
++set dummy ${ac_tool_prefix}strip; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_STRIP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$STRIP"; then
++ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++STRIP=$ac_cv_prog_STRIP
++if test -n "$STRIP"; then
++ { echo "$as_me:$LINENO: result: $STRIP" >&5
++echo "${ECHO_T}$STRIP" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_STRIP"; then
++ ac_ct_STRIP=$STRIP
++ # Extract the first word of "strip", so it can be a program name with args.
++set dummy strip; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_STRIP"; then
++ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_STRIP="strip"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
++if test -n "$ac_ct_STRIP"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
++echo "${ECHO_T}$ac_ct_STRIP" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_STRIP" = x; then
++ STRIP=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ STRIP=$ac_ct_STRIP
++ fi
++else
++ STRIP="$ac_cv_prog_STRIP"
++fi
++
++fi
++INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
++
++# We need awk for the "check" target. The system "awk" is bad on
++# some platforms.
++# Always define AMTAR for backward compatibility.
++
++AMTAR=${AMTAR-"${am_missing_run}tar"}
++
++am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
++
++
++
++
++
++ac_config_headers="$ac_config_headers rfbconfig.h"
++
++ac_config_headers="$ac_config_headers "
++
++
++ac_config_commands="$ac_config_commands rfb/rfbconfig.h"
++
++
++# Checks for programs.
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}gcc; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$CC"; then
++ ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_CC="${ac_tool_prefix}gcc"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++ { echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_CC"; then
++ ac_ct_CC=$CC
++ # Extract the first word of "gcc", so it can be a program name with args.
++set dummy gcc; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_CC"; then
++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_CC="gcc"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
++echo "${ECHO_T}$ac_ct_CC" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_CC" = x; then
++ CC=""
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ CC=$ac_ct_CC
++ fi
++else
++ CC="$ac_cv_prog_CC"
++fi
++
++if test -z "$CC"; then
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}cc; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$CC"; then
++ ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_CC="${ac_tool_prefix}cc"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++ { echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++ fi
++fi
++if test -z "$CC"; then
++ # Extract the first word of "cc", so it can be a program name with args.
++set dummy cc; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$CC"; then
++ ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++ ac_prog_rejected=no
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
++ ac_prog_rejected=yes
++ continue
++ fi
++ ac_cv_prog_CC="cc"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++if test $ac_prog_rejected = yes; then
++ # We found a bogon in the path, so make sure we never use it.
++ set dummy $ac_cv_prog_CC
++ shift
++ if test $@%:@ != 0; then
++ # We chose a different compiler from the bogus one.
++ # However, it has the same basename, so the bogon will be chosen
++ # first if we set CC to just the basename; use the full file name.
++ shift
++ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
++ fi
++fi
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++ { echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$CC"; then
++ if test -n "$ac_tool_prefix"; then
++ for ac_prog in cl.exe
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$CC"; then
++ ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++ { echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++ test -n "$CC" && break
++ done
++fi
++if test -z "$CC"; then
++ ac_ct_CC=$CC
++ for ac_prog in cl.exe
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_CC"; then
++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_CC="$ac_prog"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
++echo "${ECHO_T}$ac_ct_CC" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++ test -n "$ac_ct_CC" && break
++done
++
++ if test "x$ac_ct_CC" = x; then
++ CC=""
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ CC=$ac_ct_CC
++ fi
++fi
++
++fi
++
++
++test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
++See \`config.log' for more details." >&5
++echo "$as_me: error: no acceptable C compiler found in \$PATH
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++
++# Provide some information about the compiler.
++echo "$as_me:$LINENO: checking for C compiler version" >&5
++ac_compiler=`set X $ac_compile; echo $2`
++{ (ac_try="$ac_compiler --version >&5"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compiler --version >&5") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++{ (ac_try="$ac_compiler -v >&5"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compiler -v >&5") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++{ (ac_try="$ac_compiler -V >&5"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compiler -V >&5") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files a.out a.exe b.out"
++# Try to create an executable without -o first, disregard a.out.
++# It will help us diagnose broken compilers, and finding out an intuition
++# of exeext.
++{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
++echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
++ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
++#
++# List of possible output files, starting from the most likely.
++# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
++# only as a last resort. b.out is created by i960 compilers.
++ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
++#
++# The IRIX 6 linker writes into existing files which may not be
++# executable, retaining their permissions. Remove them first so a
++# subsequent execution test works.
++ac_rmfiles=
++for ac_file in $ac_files
++do
++ case $ac_file in
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
++ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
++ esac
++done
++rm -f $ac_rmfiles
++
++if { (ac_try="$ac_link_default"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link_default") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
++# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
++# in a Makefile. We should not override ac_cv_exeext if it was cached,
++# so that the user can short-circuit this test for compilers unknown to
++# Autoconf.
++for ac_file in $ac_files ''
++do
++ test -f "$ac_file" || continue
++ case $ac_file in
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
++ ;;
++ [ab].out )
++ # We found the default executable, but exeext='' is most
++ # certainly right.
++ break;;
++ *.* )
++ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
++ then :; else
++ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
++ fi
++ # We set ac_cv_exeext here because the later test for it is not
++ # safe: cross compilers may not add the suffix if given an `-o'
++ # argument, so we may need to know it at that point already.
++ # Even if this section looks crufty: it has the advantage of
++ # actually working.
++ break;;
++ * )
++ break;;
++ esac
++done
++test "$ac_cv_exeext" = no && ac_cv_exeext=
++
++else
++ ac_file=''
++fi
++
++{ echo "$as_me:$LINENO: result: $ac_file" >&5
++echo "${ECHO_T}$ac_file" >&6; }
++if test -z "$ac_file"; then
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
++See \`config.log' for more details." >&5
++echo "$as_me: error: C compiler cannot create executables
++See \`config.log' for more details." >&2;}
++ { (exit 77); exit 77; }; }
++fi
++
++ac_exeext=$ac_cv_exeext
++
++# Check that the compiler produces executables we can run. If not, either
++# the compiler is broken, or we cross compile.
++{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
++echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
++# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
++# If not cross compiling, check that we can run a simple program.
++if test "$cross_compiling" != yes; then
++ if { ac_try='./$ac_file'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cross_compiling=no
++ else
++ if test "$cross_compiling" = maybe; then
++ cross_compiling=yes
++ else
++ { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
++If you meant to cross compile, use \`--host'.
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot run C compiled programs.
++If you meant to cross compile, use \`--host'.
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++ fi
++fi
++{ echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++
++rm -f a.out a.exe conftest$ac_cv_exeext b.out
++ac_clean_files=$ac_clean_files_save
++# Check that the compiler produces executables we can run. If not, either
++# the compiler is broken, or we cross compile.
++{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
++echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
++{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
++echo "${ECHO_T}$cross_compiling" >&6; }
++
++{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
++echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ # If both `conftest.exe' and `conftest' are `present' (well, observable)
++# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
++# work properly (i.e., refer to `conftest.exe'), while it won't with
++# `rm'.
++for ac_file in conftest.exe conftest conftest.*; do
++ test -f "$ac_file" || continue
++ case $ac_file in
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
++ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
++ break;;
++ * ) break;;
++ esac
++done
++else
++ { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++rm -f conftest$ac_cv_exeext
++{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
++echo "${ECHO_T}$ac_cv_exeext" >&6; }
++
++rm -f conftest.$ac_ext
++EXEEXT=$ac_cv_exeext
++ac_exeext=$EXEEXT
++{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
++echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
++if test "${ac_cv_objext+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.o conftest.obj
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ for ac_file in conftest.o conftest.obj conftest.*; do
++ test -f "$ac_file" || continue;
++ case $ac_file in
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
++ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
++ break;;
++ esac
++done
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot compute suffix of object files: cannot compile
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++rm -f conftest.$ac_cv_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
++echo "${ECHO_T}$ac_cv_objext" >&6; }
++OBJEXT=$ac_cv_objext
++ac_objext=$OBJEXT
++{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
++echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
++if test "${ac_cv_c_compiler_gnu+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++#ifndef __GNUC__
++ choke me
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_compiler_gnu=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_compiler_gnu=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ac_cv_c_compiler_gnu=$ac_compiler_gnu
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
++echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
++GCC=`test $ac_compiler_gnu = yes && echo yes`
++ac_test_CFLAGS=${CFLAGS+set}
++ac_save_CFLAGS=$CFLAGS
++{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
++echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
++if test "${ac_cv_prog_cc_g+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_save_c_werror_flag=$ac_c_werror_flag
++ ac_c_werror_flag=yes
++ ac_cv_prog_cc_g=no
++ CFLAGS="-g"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_prog_cc_g=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ CFLAGS=""
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_c_werror_flag=$ac_save_c_werror_flag
++ CFLAGS="-g"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_prog_cc_g=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ ac_c_werror_flag=$ac_save_c_werror_flag
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
++echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
++if test "$ac_test_CFLAGS" = set; then
++ CFLAGS=$ac_save_CFLAGS
++elif test $ac_cv_prog_cc_g = yes; then
++ if test "$GCC" = yes; then
++ CFLAGS="-g -O2"
++ else
++ CFLAGS="-g"
++ fi
++else
++ if test "$GCC" = yes; then
++ CFLAGS="-O2"
++ else
++ CFLAGS=
++ fi
++fi
++{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
++echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
++if test "${ac_cv_prog_cc_c89+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_prog_cc_c89=no
++ac_save_CC=$CC
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdarg.h>
++#include <stdio.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
++struct buf { int x; };
++FILE * (*rcsopen) (struct buf *, struct stat *, int);
++static char *e (p, i)
++ char **p;
++ int i;
++{
++ return p[i];
++}
++static char *f (char * (*g) (char **, int), char **p, ...)
++{
++ char *s;
++ va_list v;
++ va_start (v,p);
++ s = g (p, va_arg (v,int));
++ va_end (v);
++ return s;
++}
++
++/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
++ function prototypes and stuff, but not '\xHH' hex character constants.
++ These don't provoke an error unfortunately, instead are silently treated
++ as 'x'. The following induces an error, until -std is added to get
++ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
++ array size at least. It's necessary to write '\x00'==0 to get something
++ that's true only with -std. */
++int osf4_cc_array ['\x00' == 0 ? 1 : -1];
++
++/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
++ inside strings and character constants. */
++#define FOO(x) 'x'
++int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
++
++int test (int i, double x);
++struct s1 {int (*f) (int a);};
++struct s2 {int (*f) (double a);};
++int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
++int argc;
++char **argv;
++int
++main ()
++{
++return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
++ ;
++ return 0;
++}
++_ACEOF
++for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
++ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
++do
++ CC="$ac_save_CC $ac_arg"
++ rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_prog_cc_c89=$ac_arg
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext
++ test "x$ac_cv_prog_cc_c89" != "xno" && break
++done
++rm -f conftest.$ac_ext
++CC=$ac_save_CC
++
++fi
++# AC_CACHE_VAL
++case "x$ac_cv_prog_cc_c89" in
++ x)
++ { echo "$as_me:$LINENO: result: none needed" >&5
++echo "${ECHO_T}none needed" >&6; } ;;
++ xno)
++ { echo "$as_me:$LINENO: result: unsupported" >&5
++echo "${ECHO_T}unsupported" >&6; } ;;
++ *)
++ CC="$CC $ac_cv_prog_cc_c89"
++ { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
++echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
++esac
++
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++DEPDIR="${am__leading_dot}deps"
++
++ac_config_commands="$ac_config_commands depfiles"
++
++
++am_make=${MAKE-make}
++cat > confinc << 'END'
++am__doit:
++ @echo done
++.PHONY: am__doit
++END
++# If we don't find an include directive, just comment out the code.
++{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
++echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
++am__include="#"
++am__quote=
++_am_result=none
++# First try GNU make style include.
++echo "include confinc" > confmf
++# We grep out `Entering directory' and `Leaving directory'
++# messages which can occur if `w' ends up in MAKEFLAGS.
++# In particular we don't look at `^make:' because GNU make might
++# be invoked under some other name (usually "gmake"), in which
++# case it prints its new name instead of `make'.
++if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
++ am__include=include
++ am__quote=
++ _am_result=GNU
++fi
++# Now try BSD make style include.
++if test "$am__include" = "#"; then
++ echo '.include "confinc"' > confmf
++ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
++ am__include=.include
++ am__quote="\""
++ _am_result=BSD
++ fi
++fi
++
++
++{ echo "$as_me:$LINENO: result: $_am_result" >&5
++echo "${ECHO_T}$_am_result" >&6; }
++rm -f confinc confmf
++
++# Check whether --enable-dependency-tracking was given.
++if test "${enable_dependency_tracking+set}" = set; then
++ enableval=$enable_dependency_tracking;
++fi
++
++if test "x$enable_dependency_tracking" != xno; then
++ am_depcomp="$ac_aux_dir/depcomp"
++ AMDEPBACKSLASH='\'
++fi
++ if test "x$enable_dependency_tracking" != xno; then
++ AMDEP_TRUE=
++ AMDEP_FALSE='#'
++else
++ AMDEP_TRUE='#'
++ AMDEP_FALSE=
++fi
++
++
++
++depcc="$CC" am_compiler_list=
++
++{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
++echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
++if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
++ # We make a subdir and do the tests there. Otherwise we can end up
++ # making bogus files that we don't know about and never remove. For
++ # instance it was reported that on HP-UX the gcc test will end up
++ # making a dummy file named `D' -- because `-MD' means `put the output
++ # in D'.
++ mkdir conftest.dir
++ # Copy depcomp to subdir because otherwise we won't find it if we're
++ # using a relative directory.
++ cp "$am_depcomp" conftest.dir
++ cd conftest.dir
++ # We will build objects and dependencies in a subdirectory because
++ # it helps to detect inapplicable dependency modes. For instance
++ # both Tru64's cc and ICC support -MD to output dependencies as a
++ # side effect of compilation, but ICC will put the dependencies in
++ # the current directory while Tru64 will put them in the object
++ # directory.
++ mkdir sub
++
++ am_cv_CC_dependencies_compiler_type=none
++ if test "$am_compiler_list" = ""; then
++ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
++ fi
++ for depmode in $am_compiler_list; do
++ # Setup a source with many dependencies, because some compilers
++ # like to wrap large dependency lists on column 80 (with \), and
++ # we should not choose a depcomp mode which is confused by this.
++ #
++ # We need to recreate these files for each test, as the compiler may
++ # overwrite some of them when testing with obscure command lines.
++ # This happens at least with the AIX C compiler.
++ : > sub/conftest.c
++ for i in 1 2 3 4 5 6; do
++ echo '#include "conftst'$i'.h"' >> sub/conftest.c
++ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
++ # Solaris 8's {/usr,}/bin/sh.
++ touch sub/conftst$i.h
++ done
++ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
++
++ case $depmode in
++ nosideeffect)
++ # after this tag, mechanisms are not by side-effect, so they'll
++ # only be used when explicitly requested
++ if test "x$enable_dependency_tracking" = xyes; then
++ continue
++ else
++ break
++ fi
++ ;;
++ none) break ;;
++ esac
++ # We check with `-c' and `-o' for the sake of the "dashmstdout"
++ # mode. It turns out that the SunPro C++ compiler does not properly
++ # handle `-M -o', and we need to detect this.
++ if depmode=$depmode \
++ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
++ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
++ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
++ >/dev/null 2>conftest.err &&
++ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
++ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
++ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
++ # icc doesn't choke on unknown options, it will just issue warnings
++ # or remarks (even with -Werror). So we grep stderr for any message
++ # that says an option was ignored or not supported.
++ # When given -MP, icc 7.0 and 7.1 complain thusly:
++ # icc: Command line warning: ignoring option '-M'; no argument required
++ # The diagnosis changed in icc 8.0:
++ # icc: Command line remark: option '-MP' not supported
++ if (grep 'ignoring option' conftest.err ||
++ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
++ am_cv_CC_dependencies_compiler_type=$depmode
++ break
++ fi
++ fi
++ done
++
++ cd ..
++ rm -rf conftest.dir
++else
++ am_cv_CC_dependencies_compiler_type=none
++fi
++
++fi
++{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
++echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
++CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
++
++ if
++ test "x$enable_dependency_tracking" != xno \
++ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
++ am__fastdepCC_TRUE=
++ am__fastdepCC_FALSE='#'
++else
++ am__fastdepCC_TRUE='#'
++ am__fastdepCC_FALSE=
++fi
++
++
++if test -z "$CC"; then
++ CCLD="\$(CC)"
++else
++ CCLD="$CC"
++fi
++{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
++echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
++set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
++if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.make <<\_ACEOF
++SHELL = /bin/sh
++all:
++ @echo '@@@%%%=$(MAKE)=@@@%%%'
++_ACEOF
++# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
++case `${MAKE-make} -f conftest.make 2>/dev/null` in
++ *@@@%%%=?*=@@@%%%*)
++ eval ac_cv_prog_make_${ac_make}_set=yes;;
++ *)
++ eval ac_cv_prog_make_${ac_make}_set=no;;
++esac
++rm -f conftest.make
++fi
++if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
++ { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++ SET_MAKE=
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++ SET_MAKE="MAKE=${MAKE-make}"
++fi
++
++case `pwd` in
++ *\ * | *\ *)
++ { echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
++echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
++esac
++
++
++
++macro_version='2.2.4'
++macro_revision='1.2976'
++
++
++
++
++
++
++
++
++
++
++
++
++
++ltmain="$ac_aux_dir/ltmain.sh"
++
++# Make sure we can run config.sub.
++$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
++ { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
++echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
++ { (exit 1); exit 1; }; }
++
++{ echo "$as_me:$LINENO: checking build system type" >&5
++echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
++if test "${ac_cv_build+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_build_alias=$build_alias
++test "x$ac_build_alias" = x &&
++ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
++test "x$ac_build_alias" = x &&
++ { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
++echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
++ { (exit 1); exit 1; }; }
++ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
++ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
++echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
++ { (exit 1); exit 1; }; }
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
++echo "${ECHO_T}$ac_cv_build" >&6; }
++case $ac_cv_build in
++*-*-*) ;;
++*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
++echo "$as_me: error: invalid value of canonical build" >&2;}
++ { (exit 1); exit 1; }; };;
++esac
++build=$ac_cv_build
++ac_save_IFS=$IFS; IFS='-'
++set x $ac_cv_build
++shift
++build_cpu=$1
++build_vendor=$2
++shift; shift
++# Remember, the first character of IFS is used to create $*,
++# except with old shells:
++build_os=$*
++IFS=$ac_save_IFS
++case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
++
++
++{ echo "$as_me:$LINENO: checking host system type" >&5
++echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
++if test "${ac_cv_host+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test "x$host_alias" = x; then
++ ac_cv_host=$ac_cv_build
++else
++ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
++ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
++echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
++echo "${ECHO_T}$ac_cv_host" >&6; }
++case $ac_cv_host in
++*-*-*) ;;
++*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
++echo "$as_me: error: invalid value of canonical host" >&2;}
++ { (exit 1); exit 1; }; };;
++esac
++host=$ac_cv_host
++ac_save_IFS=$IFS; IFS='-'
++set x $ac_cv_host
++shift
++host_cpu=$1
++host_vendor=$2
++shift; shift
++# Remember, the first character of IFS is used to create $*,
++# except with old shells:
++host_os=$*
++IFS=$ac_save_IFS
++case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
++
++
++{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
++echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; }
++if test "${ac_cv_path_SED+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
++ for ac_i in 1 2 3 4 5 6 7; do
++ ac_script="$ac_script$as_nl$ac_script"
++ done
++ echo "$ac_script" | sed 99q >conftest.sed
++ $as_unset ac_script || ac_script=
++ # Extract the first word of "sed gsed" to use in msg output
++if test -z "$SED"; then
++set dummy sed gsed; ac_prog_name=$2
++if test "${ac_cv_path_SED+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_path_SED_found=false
++# Loop through the user's path and test for each of PROGNAME-LIST
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_prog in sed gsed; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
++ { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
++ # Check for GNU ac_path_SED and select it if it is found.
++ # Check for GNU $ac_path_SED
++case `"$ac_path_SED" --version 2>&1` in
++*GNU*)
++ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
++*)
++ ac_count=0
++ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
++ while :
++ do
++ cat "conftest.in" "conftest.in" >"conftest.tmp"
++ mv "conftest.tmp" "conftest.in"
++ cp "conftest.in" "conftest.nl"
++ echo '' >> "conftest.nl"
++ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++ ac_count=`expr $ac_count + 1`
++ if test $ac_count -gt ${ac_path_SED_max-0}; then
++ # Best one so far, save it but keep looking for a better one
++ ac_cv_path_SED="$ac_path_SED"
++ ac_path_SED_max=$ac_count
++ fi
++ # 10*(2^10) chars as input seems more than enough
++ test $ac_count -gt 10 && break
++ done
++ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
++esac
++
++
++ $ac_path_SED_found && break 3
++ done
++done
++
++done
++IFS=$as_save_IFS
++
++
++fi
++
++SED="$ac_cv_path_SED"
++if test -z "$SED"; then
++ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in \$PATH" >&5
++echo "$as_me: error: no acceptable $ac_prog_name could be found in \$PATH" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++else
++ ac_cv_path_SED=$SED
++fi
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
++echo "${ECHO_T}$ac_cv_path_SED" >&6; }
++ SED="$ac_cv_path_SED"
++ rm -f conftest.sed
++
++test -z "$SED" && SED=sed
++Xsed="$SED -e 1s/^X//"
++
++
++
++
++
++
++
++
++
++
++
++{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
++echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
++if test "${ac_cv_path_GREP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ # Extract the first word of "grep ggrep" to use in msg output
++if test -z "$GREP"; then
++set dummy grep ggrep; ac_prog_name=$2
++if test "${ac_cv_path_GREP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_path_GREP_found=false
++# Loop through the user's path and test for each of PROGNAME-LIST
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_prog in grep ggrep; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
++ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
++ # Check for GNU ac_path_GREP and select it if it is found.
++ # Check for GNU $ac_path_GREP
++case `"$ac_path_GREP" --version 2>&1` in
++*GNU*)
++ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
++*)
++ ac_count=0
++ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
++ while :
++ do
++ cat "conftest.in" "conftest.in" >"conftest.tmp"
++ mv "conftest.tmp" "conftest.in"
++ cp "conftest.in" "conftest.nl"
++ echo 'GREP' >> "conftest.nl"
++ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++ ac_count=`expr $ac_count + 1`
++ if test $ac_count -gt ${ac_path_GREP_max-0}; then
++ # Best one so far, save it but keep looking for a better one
++ ac_cv_path_GREP="$ac_path_GREP"
++ ac_path_GREP_max=$ac_count
++ fi
++ # 10*(2^10) chars as input seems more than enough
++ test $ac_count -gt 10 && break
++ done
++ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
++esac
++
++
++ $ac_path_GREP_found && break 3
++ done
++done
++
++done
++IFS=$as_save_IFS
++
++
++fi
++
++GREP="$ac_cv_path_GREP"
++if test -z "$GREP"; then
++ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
++echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++else
++ ac_cv_path_GREP=$GREP
++fi
++
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
++echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
++ GREP="$ac_cv_path_GREP"
++
++
++{ echo "$as_me:$LINENO: checking for egrep" >&5
++echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
++if test "${ac_cv_path_EGREP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
++ then ac_cv_path_EGREP="$GREP -E"
++ else
++ # Extract the first word of "egrep" to use in msg output
++if test -z "$EGREP"; then
++set dummy egrep; ac_prog_name=$2
++if test "${ac_cv_path_EGREP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_path_EGREP_found=false
++# Loop through the user's path and test for each of PROGNAME-LIST
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_prog in egrep; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
++ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
++ # Check for GNU ac_path_EGREP and select it if it is found.
++ # Check for GNU $ac_path_EGREP
++case `"$ac_path_EGREP" --version 2>&1` in
++*GNU*)
++ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
++*)
++ ac_count=0
++ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
++ while :
++ do
++ cat "conftest.in" "conftest.in" >"conftest.tmp"
++ mv "conftest.tmp" "conftest.in"
++ cp "conftest.in" "conftest.nl"
++ echo 'EGREP' >> "conftest.nl"
++ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++ ac_count=`expr $ac_count + 1`
++ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
++ # Best one so far, save it but keep looking for a better one
++ ac_cv_path_EGREP="$ac_path_EGREP"
++ ac_path_EGREP_max=$ac_count
++ fi
++ # 10*(2^10) chars as input seems more than enough
++ test $ac_count -gt 10 && break
++ done
++ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
++esac
++
++
++ $ac_path_EGREP_found && break 3
++ done
++done
++
++done
++IFS=$as_save_IFS
++
++
++fi
++
++EGREP="$ac_cv_path_EGREP"
++if test -z "$EGREP"; then
++ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
++echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++else
++ ac_cv_path_EGREP=$EGREP
++fi
++
++
++ fi
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
++echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
++ EGREP="$ac_cv_path_EGREP"
++
++
++{ echo "$as_me:$LINENO: checking for fgrep" >&5
++echo $ECHO_N "checking for fgrep... $ECHO_C" >&6; }
++if test "${ac_cv_path_FGREP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
++ then ac_cv_path_FGREP="$GREP -F"
++ else
++ # Extract the first word of "fgrep" to use in msg output
++if test -z "$FGREP"; then
++set dummy fgrep; ac_prog_name=$2
++if test "${ac_cv_path_FGREP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_path_FGREP_found=false
++# Loop through the user's path and test for each of PROGNAME-LIST
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_prog in fgrep; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
++ { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
++ # Check for GNU ac_path_FGREP and select it if it is found.
++ # Check for GNU $ac_path_FGREP
++case `"$ac_path_FGREP" --version 2>&1` in
++*GNU*)
++ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
++*)
++ ac_count=0
++ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
++ while :
++ do
++ cat "conftest.in" "conftest.in" >"conftest.tmp"
++ mv "conftest.tmp" "conftest.in"
++ cp "conftest.in" "conftest.nl"
++ echo 'FGREP' >> "conftest.nl"
++ "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++ ac_count=`expr $ac_count + 1`
++ if test $ac_count -gt ${ac_path_FGREP_max-0}; then
++ # Best one so far, save it but keep looking for a better one
++ ac_cv_path_FGREP="$ac_path_FGREP"
++ ac_path_FGREP_max=$ac_count
++ fi
++ # 10*(2^10) chars as input seems more than enough
++ test $ac_count -gt 10 && break
++ done
++ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
++esac
++
++
++ $ac_path_FGREP_found && break 3
++ done
++done
++
++done
++IFS=$as_save_IFS
++
++
++fi
++
++FGREP="$ac_cv_path_FGREP"
++if test -z "$FGREP"; then
++ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
++echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++else
++ ac_cv_path_FGREP=$FGREP
++fi
++
++
++ fi
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5
++echo "${ECHO_T}$ac_cv_path_FGREP" >&6; }
++ FGREP="$ac_cv_path_FGREP"
++
++
++test -z "$GREP" && GREP=grep
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++# Check whether --with-gnu-ld was given.
++if test "${with_gnu_ld+set}" = set; then
++ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
++else
++ with_gnu_ld=no
++fi
++
++ac_prog=ld
++if test "$GCC" = yes; then
++ # Check if gcc -print-prog-name=ld gives a path.
++ { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
++echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
++ case $host in
++ *-*-mingw*)
++ # gcc leaves a trailing carriage return which upsets mingw
++ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
++ *)
++ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
++ esac
++ case $ac_prog in
++ # Accept absolute paths.
++ [\\/]* | ?:[\\/]*)
++ re_direlt='/[^/][^/]*/\.\./'
++ # Canonicalize the pathname of ld
++ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
++ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
++ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
++ done
++ test -z "$LD" && LD="$ac_prog"
++ ;;
++ "")
++ # If it fails, then pretend we aren't using GCC.
++ ac_prog=ld
++ ;;
++ *)
++ # If it is relative, then search for the first ld in PATH.
++ with_gnu_ld=unknown
++ ;;
++ esac
++elif test "$with_gnu_ld" = yes; then
++ { echo "$as_me:$LINENO: checking for GNU ld" >&5
++echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
++else
++ { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
++echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
++fi
++if test "${lt_cv_path_LD+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -z "$LD"; then
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ for ac_dir in $PATH; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
++ lt_cv_path_LD="$ac_dir/$ac_prog"
++ # Check to see if the program is GNU ld. I'd rather use --version,
++ # but apparently some variants of GNU ld only accept -v.
++ # Break only if it was the GNU/non-GNU ld that we prefer.
++ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
++ *GNU* | *'with BFD'*)
++ test "$with_gnu_ld" != no && break
++ ;;
++ *)
++ test "$with_gnu_ld" != yes && break
++ ;;
++ esac
++ fi
++ done
++ IFS="$lt_save_ifs"
++else
++ lt_cv_path_LD="$LD" # Let the user override the test with a path.
++fi
++fi
++
++LD="$lt_cv_path_LD"
++if test -n "$LD"; then
++ { echo "$as_me:$LINENO: result: $LD" >&5
++echo "${ECHO_T}$LD" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
++echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
++ { (exit 1); exit 1; }; }
++{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
++echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
++if test "${lt_cv_prog_gnu_ld+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ # I'd rather use --version here, but apparently some GNU lds only accept -v.
++case `$LD -v 2>&1 </dev/null` in
++*GNU* | *'with BFD'*)
++ lt_cv_prog_gnu_ld=yes
++ ;;
++*)
++ lt_cv_prog_gnu_ld=no
++ ;;
++esac
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
++echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
++with_gnu_ld=$lt_cv_prog_gnu_ld
++
++
++
++
++
++
++
++
++
++{ echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5
++echo $ECHO_N "checking for BSD- or MS-compatible name lister (nm)... $ECHO_C" >&6; }
++if test "${lt_cv_path_NM+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$NM"; then
++ # Let the user override the test.
++ lt_cv_path_NM="$NM"
++else
++ lt_nm_to_check="${ac_tool_prefix}nm"
++ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
++ lt_nm_to_check="$lt_nm_to_check nm"
++ fi
++ for lt_tmp_nm in $lt_nm_to_check; do
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ tmp_nm="$ac_dir/$lt_tmp_nm"
++ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
++ # Check to see if the nm accepts a BSD-compat flag.
++ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
++ # nm: unknown option "B" ignored
++ # Tru64's nm complains that /dev/null is an invalid object file
++ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
++ */dev/null* | *'Invalid file or object type'*)
++ lt_cv_path_NM="$tmp_nm -B"
++ break
++ ;;
++ *)
++ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
++ */dev/null*)
++ lt_cv_path_NM="$tmp_nm -p"
++ break
++ ;;
++ *)
++ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
++ continue # so that we can try to find one that supports BSD flags
++ ;;
++ esac
++ ;;
++ esac
++ fi
++ done
++ IFS="$lt_save_ifs"
++ done
++ : ${lt_cv_path_NM=no}
++fi
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
++echo "${ECHO_T}$lt_cv_path_NM" >&6; }
++if test "$lt_cv_path_NM" != "no"; then
++ NM="$lt_cv_path_NM"
++else
++ # Didn't find any BSD compatible name lister, look for dumpbin.
++ if test -n "$ac_tool_prefix"; then
++ for ac_prog in "dumpbin -symbols" "link -dump -symbols"
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_DUMPBIN+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$DUMPBIN"; then
++ ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++DUMPBIN=$ac_cv_prog_DUMPBIN
++if test -n "$DUMPBIN"; then
++ { echo "$as_me:$LINENO: result: $DUMPBIN" >&5
++echo "${ECHO_T}$DUMPBIN" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++ test -n "$DUMPBIN" && break
++ done
++fi
++if test -z "$DUMPBIN"; then
++ ac_ct_DUMPBIN=$DUMPBIN
++ for ac_prog in "dumpbin -symbols" "link -dump -symbols"
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_DUMPBIN"; then
++ ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
++if test -n "$ac_ct_DUMPBIN"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5
++echo "${ECHO_T}$ac_ct_DUMPBIN" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++ test -n "$ac_ct_DUMPBIN" && break
++done
++
++ if test "x$ac_ct_DUMPBIN" = x; then
++ DUMPBIN=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ DUMPBIN=$ac_ct_DUMPBIN
++ fi
++fi
++
++
++ if test "$DUMPBIN" != ":"; then
++ NM="$DUMPBIN"
++ fi
++fi
++test -z "$NM" && NM=nm
++
++
++
++
++
++
++{ echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5
++echo $ECHO_N "checking the name lister ($NM) interface... $ECHO_C" >&6; }
++if test "${lt_cv_nm_interface+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_nm_interface="BSD nm"
++ echo "int some_variable = 0;" > conftest.$ac_ext
++ (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&5)
++ (eval "$ac_compile" 2>conftest.err)
++ cat conftest.err >&5
++ (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
++ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
++ cat conftest.err >&5
++ (eval echo "\"\$as_me:__oline__: output\"" >&5)
++ cat conftest.out >&5
++ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
++ lt_cv_nm_interface="MS dumpbin"
++ fi
++ rm -f conftest*
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5
++echo "${ECHO_T}$lt_cv_nm_interface" >&6; }
++
++{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
++echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
++LN_S=$as_ln_s
++if test "$LN_S" = "ln -s"; then
++ { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
++echo "${ECHO_T}no, using $LN_S" >&6; }
++fi
++
++# find the maximum length of command line arguments
++{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
++echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
++if test "${lt_cv_sys_max_cmd_len+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ i=0
++ teststring="ABCD"
++
++ case $build_os in
++ msdosdjgpp*)
++ # On DJGPP, this test can blow up pretty badly due to problems in libc
++ # (any single argument exceeding 2000 bytes causes a buffer overrun
++ # during glob expansion). Even if it were fixed, the result of this
++ # check would be larger than it should be.
++ lt_cv_sys_max_cmd_len=12288; # 12K is about right
++ ;;
++
++ gnu*)
++ # Under GNU Hurd, this test is not required because there is
++ # no limit to the length of command line arguments.
++ # Libtool will interpret -1 as no limit whatsoever
++ lt_cv_sys_max_cmd_len=-1;
++ ;;
++
++ cygwin* | mingw*)
++ # On Win9x/ME, this test blows up -- it succeeds, but takes
++ # about 5 minutes as the teststring grows exponentially.
++ # Worse, since 9x/ME are not pre-emptively multitasking,
++ # you end up with a "frozen" computer, even though with patience
++ # the test eventually succeeds (with a max line length of 256k).
++ # Instead, let's just punt: use the minimum linelength reported by
++ # all of the supported platforms: 8192 (on NT/2K/XP).
++ lt_cv_sys_max_cmd_len=8192;
++ ;;
++
++ amigaos*)
++ # On AmigaOS with pdksh, this test takes hours, literally.
++ # So we just punt and use a minimum line length of 8192.
++ lt_cv_sys_max_cmd_len=8192;
++ ;;
++
++ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
++ # This has been around since 386BSD, at least. Likely further.
++ if test -x /sbin/sysctl; then
++ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
++ elif test -x /usr/sbin/sysctl; then
++ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
++ else
++ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
++ fi
++ # And add a safety zone
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
++ ;;
++
++ interix*)
++ # We know the value 262144 and hardcode it with a safety zone (like BSD)
++ lt_cv_sys_max_cmd_len=196608
++ ;;
++
++ osf*)
++ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
++ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
++ # nice to cause kernel panics so lets avoid the loop below.
++ # First set a reasonable default.
++ lt_cv_sys_max_cmd_len=16384
++ #
++ if test -x /sbin/sysconfig; then
++ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
++ *1*) lt_cv_sys_max_cmd_len=-1 ;;
++ esac
++ fi
++ ;;
++ sco3.2v5*)
++ lt_cv_sys_max_cmd_len=102400
++ ;;
++ sysv5* | sco5v6* | sysv4.2uw2*)
++ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
++ if test -n "$kargmax"; then
++ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
++ else
++ lt_cv_sys_max_cmd_len=32768
++ fi
++ ;;
++ *)
++ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
++ if test -n "$lt_cv_sys_max_cmd_len"; then
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
++ else
++ # Make teststring a little bigger before we do anything with it.
++ # a 1K string should be a reasonable start.
++ for i in 1 2 3 4 5 6 7 8 ; do
++ teststring=$teststring$teststring
++ done
++ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
++ # If test is not a shell built-in, we'll probably end up computing a
++ # maximum length that is only half of the actual maximum length, but
++ # we can't tell.
++ while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
++ = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
++ test $i != 17 # 1/2 MB should be enough
++ do
++ i=`expr $i + 1`
++ teststring=$teststring$teststring
++ done
++ # Only check the string length outside the loop.
++ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
++ teststring=
++ # Add a significant safety factor because C++ compilers can tack on
++ # massive amounts of additional arguments before passing them to the
++ # linker. It appears as though 1/2 is a usable value.
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
++ fi
++ ;;
++ esac
++
++fi
++
++if test -n $lt_cv_sys_max_cmd_len ; then
++ { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
++echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; }
++else
++ { echo "$as_me:$LINENO: result: none" >&5
++echo "${ECHO_T}none" >&6; }
++fi
++max_cmd_len=$lt_cv_sys_max_cmd_len
++
++
++
++
++
++
++: ${CP="cp -f"}
++: ${MV="mv -f"}
++: ${RM="rm -f"}
++
++{ echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5
++echo $ECHO_N "checking whether the shell understands some XSI constructs... $ECHO_C" >&6; }
++# Try some XSI features
++xsi_shell=no
++( _lt_dummy="a/b/c"
++ test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
++ = c,a/b,, \
++ && eval 'test $(( 1 + 1 )) -eq 2 \
++ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
++ && xsi_shell=yes
++{ echo "$as_me:$LINENO: result: $xsi_shell" >&5
++echo "${ECHO_T}$xsi_shell" >&6; }
++
++
++{ echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5
++echo $ECHO_N "checking whether the shell understands \"+=\"... $ECHO_C" >&6; }
++lt_shell_append=no
++( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
++ >/dev/null 2>&1 \
++ && lt_shell_append=yes
++{ echo "$as_me:$LINENO: result: $lt_shell_append" >&5
++echo "${ECHO_T}$lt_shell_append" >&6; }
++
++
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++ lt_unset=unset
++else
++ lt_unset=false
++fi
++
++
++
++
++
++# test EBCDIC or ASCII
++case `echo X|tr X '\101'` in
++ A) # ASCII based system
++ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
++ lt_SP2NL='tr \040 \012'
++ lt_NL2SP='tr \015\012 \040\040'
++ ;;
++ *) # EBCDIC based system
++ lt_SP2NL='tr \100 \n'
++ lt_NL2SP='tr \r\n \100\100'
++ ;;
++esac
++
++
++
++
++
++
++
++
++
++{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
++echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
++if test "${lt_cv_ld_reload_flag+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_ld_reload_flag='-r'
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
++echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
++reload_flag=$lt_cv_ld_reload_flag
++case $reload_flag in
++"" | " "*) ;;
++*) reload_flag=" $reload_flag" ;;
++esac
++reload_cmds='$LD$reload_flag -o $output$reload_objs'
++case $host_os in
++ darwin*)
++ if test "$GCC" = yes; then
++ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
++ else
++ reload_cmds='$LD$reload_flag -o $output$reload_objs'
++ fi
++ ;;
++esac
++
++
++
++
++
++
++
++
++
++
++{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
++echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; }
++if test "${lt_cv_deplibs_check_method+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_file_magic_cmd='$MAGIC_CMD'
++lt_cv_file_magic_test_file=
++lt_cv_deplibs_check_method='unknown'
++# Need to set the preceding variable on all platforms that support
++# interlibrary dependencies.
++# 'none' -- dependencies not supported.
++# `unknown' -- same as none, but documents that we really don't know.
++# 'pass_all' -- all dependencies passed with no checks.
++# 'test_compile' -- check by making test program.
++# 'file_magic [[regex]]' -- check by looking for files in library path
++# which responds to the $file_magic_cmd with a given extended regex.
++# If you have `file' or equivalent on your system and you're not sure
++# whether `pass_all' will *always* work, you probably want this one.
++
++case $host_os in
++aix[4-9]*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++beos*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++bsdi[45]*)
++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
++ lt_cv_file_magic_cmd='/usr/bin/file -L'
++ lt_cv_file_magic_test_file=/shlib/libc.so
++ ;;
++
++cygwin*)
++ # func_win32_libid is a shell function defined in ltmain.sh
++ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
++ lt_cv_file_magic_cmd='func_win32_libid'
++ ;;
++
++mingw* | pw32*)
++ # Base MSYS/MinGW do not provide the 'file' command needed by
++ # func_win32_libid shell function, so use a weaker test based on 'objdump',
++ # unless we find 'file', for example because we are cross-compiling.
++ if ( file / ) >/dev/null 2>&1; then
++ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
++ lt_cv_file_magic_cmd='func_win32_libid'
++ else
++ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
++ lt_cv_file_magic_cmd='$OBJDUMP -f'
++ fi
++ ;;
++
++darwin* | rhapsody*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++freebsd* | dragonfly*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
++ case $host_cpu in
++ i*86 )
++ # Not sure whether the presence of OpenBSD here was a mistake.
++ # Let's accept both of them until this is cleared up.
++ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
++ lt_cv_file_magic_cmd=/usr/bin/file
++ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
++ ;;
++ esac
++ else
++ lt_cv_deplibs_check_method=pass_all
++ fi
++ ;;
++
++gnu*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++hpux10.20* | hpux11*)
++ lt_cv_file_magic_cmd=/usr/bin/file
++ case $host_cpu in
++ ia64*)
++ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
++ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
++ ;;
++ hppa*64*)
++ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
++ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
++ ;;
++ *)
++ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
++ lt_cv_file_magic_test_file=/usr/lib/libc.sl
++ ;;
++ esac
++ ;;
++
++interix[3-9]*)
++ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
++ ;;
++
++irix5* | irix6* | nonstopux*)
++ case $LD in
++ *-32|*"-32 ") libmagic=32-bit;;
++ *-n32|*"-n32 ") libmagic=N32;;
++ *-64|*"-64 ") libmagic=64-bit;;
++ *) libmagic=never-match;;
++ esac
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++# This must be Linux ELF.
++linux* | k*bsd*-gnu)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++netbsd*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
++ else
++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
++ fi
++ ;;
++
++newos6*)
++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
++ lt_cv_file_magic_cmd=/usr/bin/file
++ lt_cv_file_magic_test_file=/usr/lib/libnls.so
++ ;;
++
++*nto* | *qnx*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++openbsd*)
++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
++ else
++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
++ fi
++ ;;
++
++osf3* | osf4* | osf5*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++rdos*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++solaris*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++sysv4 | sysv4.3*)
++ case $host_vendor in
++ motorola)
++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
++ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
++ ;;
++ ncr)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++ sequent)
++ lt_cv_file_magic_cmd='/bin/file'
++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
++ ;;
++ sni)
++ lt_cv_file_magic_cmd='/bin/file'
++ lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
++ lt_cv_file_magic_test_file=/lib/libc.so
++ ;;
++ siemens)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++ pc)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++ esac
++ ;;
++
++tpf*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++esac
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
++echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
++file_magic_cmd=$lt_cv_file_magic_cmd
++deplibs_check_method=$lt_cv_deplibs_check_method
++test -z "$deplibs_check_method" && deplibs_check_method=unknown
++
++
++
++
++
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
++set dummy ${ac_tool_prefix}ar; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_AR+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$AR"; then
++ ac_cv_prog_AR="$AR" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_AR="${ac_tool_prefix}ar"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++AR=$ac_cv_prog_AR
++if test -n "$AR"; then
++ { echo "$as_me:$LINENO: result: $AR" >&5
++echo "${ECHO_T}$AR" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_AR"; then
++ ac_ct_AR=$AR
++ # Extract the first word of "ar", so it can be a program name with args.
++set dummy ar; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_AR"; then
++ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_AR="ar"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_AR=$ac_cv_prog_ac_ct_AR
++if test -n "$ac_ct_AR"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
++echo "${ECHO_T}$ac_ct_AR" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_AR" = x; then
++ AR="false"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ AR=$ac_ct_AR
++ fi
++else
++ AR="$ac_cv_prog_AR"
++fi
++
++test -z "$AR" && AR=ar
++test -z "$AR_FLAGS" && AR_FLAGS=cru
++
++
++
++
++
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
++set dummy ${ac_tool_prefix}strip; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_STRIP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$STRIP"; then
++ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++STRIP=$ac_cv_prog_STRIP
++if test -n "$STRIP"; then
++ { echo "$as_me:$LINENO: result: $STRIP" >&5
++echo "${ECHO_T}$STRIP" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_STRIP"; then
++ ac_ct_STRIP=$STRIP
++ # Extract the first word of "strip", so it can be a program name with args.
++set dummy strip; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_STRIP"; then
++ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_STRIP="strip"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
++if test -n "$ac_ct_STRIP"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
++echo "${ECHO_T}$ac_ct_STRIP" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_STRIP" = x; then
++ STRIP=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ STRIP=$ac_ct_STRIP
++ fi
++else
++ STRIP="$ac_cv_prog_STRIP"
++fi
++
++test -z "$STRIP" && STRIP=:
++
++
++
++
++
++
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
++set dummy ${ac_tool_prefix}ranlib; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_RANLIB+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$RANLIB"; then
++ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++RANLIB=$ac_cv_prog_RANLIB
++if test -n "$RANLIB"; then
++ { echo "$as_me:$LINENO: result: $RANLIB" >&5
++echo "${ECHO_T}$RANLIB" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_RANLIB"; then
++ ac_ct_RANLIB=$RANLIB
++ # Extract the first word of "ranlib", so it can be a program name with args.
++set dummy ranlib; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_RANLIB"; then
++ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_RANLIB="ranlib"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
++if test -n "$ac_ct_RANLIB"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
++echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_RANLIB" = x; then
++ RANLIB=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ RANLIB=$ac_ct_RANLIB
++ fi
++else
++ RANLIB="$ac_cv_prog_RANLIB"
++fi
++
++test -z "$RANLIB" && RANLIB=:
++
++
++
++
++
++
++# Determine commands to create old-style static archives.
++old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
++old_postinstall_cmds='chmod 644 $oldlib'
++old_postuninstall_cmds=
++
++if test -n "$RANLIB"; then
++ case $host_os in
++ openbsd*)
++ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
++ ;;
++ *)
++ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
++ ;;
++ esac
++ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++# If no C compiler was specified, use CC.
++LTCC=${LTCC-"$CC"}
++
++# If no C compiler flags were specified, use CFLAGS.
++LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
++
++# Allow CC to be a program name with arguments.
++compiler=$CC
++
++
++# Check for command to grab the raw symbol name followed by C symbol from nm.
++{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
++echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
++if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++# These are sane defaults that work on at least a few old systems.
++# [They come from Ultrix. What could be older than Ultrix?!! ;)]
++
++# Character class describing NM global symbol codes.
++symcode='[BCDEGRST]'
++
++# Regexp to match symbols that can be accessed directly from C.
++sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
++
++# Define system-specific variables.
++case $host_os in
++aix*)
++ symcode='[BCDT]'
++ ;;
++cygwin* | mingw* | pw32*)
++ symcode='[ABCDGISTW]'
++ ;;
++hpux*)
++ if test "$host_cpu" = ia64; then
++ symcode='[ABCDEGRST]'
++ fi
++ ;;
++irix* | nonstopux*)
++ symcode='[BCDEGRST]'
++ ;;
++osf*)
++ symcode='[BCDEGQRST]'
++ ;;
++solaris*)
++ symcode='[BDRT]'
++ ;;
++sco3.2v5*)
++ symcode='[DT]'
++ ;;
++sysv4.2uw2*)
++ symcode='[DT]'
++ ;;
++sysv5* | sco5v6* | unixware* | OpenUNIX*)
++ symcode='[ABDT]'
++ ;;
++sysv4)
++ symcode='[DFNSTU]'
++ ;;
++esac
++
++# If we're using GNU nm, then use its standard symbol codes.
++case `$NM -V 2>&1` in
++*GNU* | *'with BFD'*)
++ symcode='[ABCDGIRSTW]' ;;
++esac
++
++# Transform an extracted symbol line into a proper C declaration.
++# Some systems (esp. on ia64) link data and code symbols differently,
++# so use this general approach.
++lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
++
++# Transform an extracted symbol line into symbol name and symbol address
++lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
++
++# Handle CRLF in mingw tool chain
++opt_cr=
++case $build_os in
++mingw*)
++ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
++ ;;
++esac
++
++# Try without a prefix underscore, then with it.
++for ac_symprfx in "" "_"; do
++
++ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
++ symxfrm="\\1 $ac_symprfx\\2 \\2"
++
++ # Write the raw and C identifiers.
++ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++ # Fake it for dumpbin and say T for any non-static function
++ # and D for any global variable.
++ # Also find C++ and __fastcall symbols from MSVC++,
++ # which start with @ or ?.
++ lt_cv_sys_global_symbol_pipe="$AWK '"\
++" {last_section=section; section=\$ 3};"\
++" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
++" \$ 0!~/External *\|/{next};"\
++" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
++" {if(hide[section]) next};"\
++" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
++" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
++" s[1]~/^[@?]/{print s[1], s[1]; next};"\
++" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
++" ' prfx=^$ac_symprfx"
++ else
++ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
++ fi
++
++ # Check to see that the pipe works correctly.
++ pipe_works=no
++
++ rm -f conftest*
++ cat > conftest.$ac_ext <<_LT_EOF
++#ifdef __cplusplus
++extern "C" {
++#endif
++char nm_test_var;
++void nm_test_func(void);
++void nm_test_func(void){}
++#ifdef __cplusplus
++}
++#endif
++int main(){nm_test_var='a';nm_test_func();return(0);}
++_LT_EOF
++
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ # Now try to grab the symbols.
++ nlist=conftest.nm
++ if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
++ (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && test -s "$nlist"; then
++ # Try sorting and uniquifying the output.
++ if sort "$nlist" | uniq > "$nlist"T; then
++ mv -f "$nlist"T "$nlist"
++ else
++ rm -f "$nlist"T
++ fi
++
++ # Make sure that we snagged all the symbols we need.
++ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
++ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
++ cat <<_LT_EOF > conftest.$ac_ext
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++_LT_EOF
++ # Now generate the symbol file.
++ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
++
++ cat <<_LT_EOF >> conftest.$ac_ext
++
++/* The mapping between symbol names and symbols. */
++const struct {
++ const char *name;
++ void *address;
++}
++lt__PROGRAM__LTX_preloaded_symbols[] =
++{
++ { "@PROGRAM@", (void *) 0 },
++_LT_EOF
++ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
++ cat <<\_LT_EOF >> conftest.$ac_ext
++ {0, (void *) 0}
++};
++
++/* This works around a problem in FreeBSD linker */
++#ifdef FREEBSD_WORKAROUND
++static const void *lt_preloaded_setup() {
++ return lt__PROGRAM__LTX_preloaded_symbols;
++}
++#endif
++
++#ifdef __cplusplus
++}
++#endif
++_LT_EOF
++ # Now try linking the two files.
++ mv conftest.$ac_objext conftstm.$ac_objext
++ lt_save_LIBS="$LIBS"
++ lt_save_CFLAGS="$CFLAGS"
++ LIBS="conftstm.$ac_objext"
++ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
++ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && test -s conftest${ac_exeext}; then
++ pipe_works=yes
++ fi
++ LIBS="$lt_save_LIBS"
++ CFLAGS="$lt_save_CFLAGS"
++ else
++ echo "cannot find nm_test_func in $nlist" >&5
++ fi
++ else
++ echo "cannot find nm_test_var in $nlist" >&5
++ fi
++ else
++ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
++ fi
++ else
++ echo "$progname: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ fi
++ rm -rf conftest* conftst*
++
++ # Do not use the global_symbol_pipe unless it works.
++ if test "$pipe_works" = yes; then
++ break
++ else
++ lt_cv_sys_global_symbol_pipe=
++ fi
++done
++
++fi
++
++if test -z "$lt_cv_sys_global_symbol_pipe"; then
++ lt_cv_sys_global_symbol_to_cdecl=
++fi
++if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
++ { echo "$as_me:$LINENO: result: failed" >&5
++echo "${ECHO_T}failed" >&6; }
++else
++ { echo "$as_me:$LINENO: result: ok" >&5
++echo "${ECHO_T}ok" >&6; }
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++# Check whether --enable-libtool-lock was given.
++if test "${enable_libtool_lock+set}" = set; then
++ enableval=$enable_libtool_lock;
++fi
++
++test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
++
++# Some flags need to be propagated to the compiler or linker for good
++# libtool support.
++case $host in
++ia64-*-hpux*)
++ # Find out which ABI we are using.
++ echo 'int i;' > conftest.$ac_ext
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ case `/usr/bin/file conftest.$ac_objext` in
++ *ELF-32*)
++ HPUX_IA64_MODE="32"
++ ;;
++ *ELF-64*)
++ HPUX_IA64_MODE="64"
++ ;;
++ esac
++ fi
++ rm -rf conftest*
++ ;;
++*-*-irix6*)
++ # Find out which ABI we are using.
++ echo '#line __oline__ "configure"' > conftest.$ac_ext
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ if test "$lt_cv_prog_gnu_ld" = yes; then
++ case `/usr/bin/file conftest.$ac_objext` in
++ *32-bit*)
++ LD="${LD-ld} -melf32bsmip"
++ ;;
++ *N32*)
++ LD="${LD-ld} -melf32bmipn32"
++ ;;
++ *64-bit*)
++ LD="${LD-ld} -melf64bmip"
++ ;;
++ esac
++ else
++ case `/usr/bin/file conftest.$ac_objext` in
++ *32-bit*)
++ LD="${LD-ld} -32"
++ ;;
++ *N32*)
++ LD="${LD-ld} -n32"
++ ;;
++ *64-bit*)
++ LD="${LD-ld} -64"
++ ;;
++ esac
++ fi
++ fi
++ rm -rf conftest*
++ ;;
++
++x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
++s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
++ # Find out which ABI we are using.
++ echo 'int i;' > conftest.$ac_ext
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ case `/usr/bin/file conftest.o` in
++ *32-bit*)
++ case $host in
++ x86_64-*kfreebsd*-gnu)
++ LD="${LD-ld} -m elf_i386_fbsd"
++ ;;
++ x86_64-*linux*)
++ LD="${LD-ld} -m elf_i386"
++ ;;
++ ppc64-*linux*|powerpc64-*linux*)
++ LD="${LD-ld} -m elf32ppclinux"
++ ;;
++ s390x-*linux*)
++ LD="${LD-ld} -m elf_s390"
++ ;;
++ sparc64-*linux*)
++ LD="${LD-ld} -m elf32_sparc"
++ ;;
++ esac
++ ;;
++ *64-bit*)
++ case $host in
++ x86_64-*kfreebsd*-gnu)
++ LD="${LD-ld} -m elf_x86_64_fbsd"
++ ;;
++ x86_64-*linux*)
++ LD="${LD-ld} -m elf_x86_64"
++ ;;
++ ppc*-*linux*|powerpc*-*linux*)
++ LD="${LD-ld} -m elf64ppc"
++ ;;
++ s390*-*linux*|s390*-*tpf*)
++ LD="${LD-ld} -m elf64_s390"
++ ;;
++ sparc*-*linux*)
++ LD="${LD-ld} -m elf64_sparc"
++ ;;
++ esac
++ ;;
++ esac
++ fi
++ rm -rf conftest*
++ ;;
++
++*-*-sco3.2v5*)
++ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
++ SAVE_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS -belf"
++ { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
++echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; }
++if test "${lt_cv_cc_needs_belf+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ lt_cv_cc_needs_belf=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ lt_cv_cc_needs_belf=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
++echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; }
++ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
++ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
++ CFLAGS="$SAVE_CFLAGS"
++ fi
++ ;;
++sparc*-*solaris*)
++ # Find out which ABI we are using.
++ echo 'int i;' > conftest.$ac_ext
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ case `/usr/bin/file conftest.o` in
++ *64-bit*)
++ case $lt_cv_prog_gnu_ld in
++ yes*) LD="${LD-ld} -m elf64_sparc" ;;
++ *)
++ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
++ LD="${LD-ld} -64"
++ fi
++ ;;
++ esac
++ ;;
++ esac
++ fi
++ rm -rf conftest*
++ ;;
++esac
++
++need_locks="$enable_libtool_lock"
++
++
++ case $host_os in
++ rhapsody* | darwin*)
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$DSYMUTIL"; then
++ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++DSYMUTIL=$ac_cv_prog_DSYMUTIL
++if test -n "$DSYMUTIL"; then
++ { echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
++echo "${ECHO_T}$DSYMUTIL" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_DSYMUTIL"; then
++ ac_ct_DSYMUTIL=$DSYMUTIL
++ # Extract the first word of "dsymutil", so it can be a program name with args.
++set dummy dsymutil; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_DSYMUTIL"; then
++ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
++if test -n "$ac_ct_DSYMUTIL"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
++echo "${ECHO_T}$ac_ct_DSYMUTIL" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_DSYMUTIL" = x; then
++ DSYMUTIL=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ DSYMUTIL=$ac_ct_DSYMUTIL
++ fi
++else
++ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
++fi
++
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
++set dummy ${ac_tool_prefix}nmedit; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_NMEDIT+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$NMEDIT"; then
++ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++NMEDIT=$ac_cv_prog_NMEDIT
++if test -n "$NMEDIT"; then
++ { echo "$as_me:$LINENO: result: $NMEDIT" >&5
++echo "${ECHO_T}$NMEDIT" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_NMEDIT"; then
++ ac_ct_NMEDIT=$NMEDIT
++ # Extract the first word of "nmedit", so it can be a program name with args.
++set dummy nmedit; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_NMEDIT"; then
++ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_NMEDIT="nmedit"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
++if test -n "$ac_ct_NMEDIT"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
++echo "${ECHO_T}$ac_ct_NMEDIT" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_NMEDIT" = x; then
++ NMEDIT=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ NMEDIT=$ac_ct_NMEDIT
++ fi
++else
++ NMEDIT="$ac_cv_prog_NMEDIT"
++fi
++
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
++set dummy ${ac_tool_prefix}lipo; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_LIPO+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$LIPO"; then
++ ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++LIPO=$ac_cv_prog_LIPO
++if test -n "$LIPO"; then
++ { echo "$as_me:$LINENO: result: $LIPO" >&5
++echo "${ECHO_T}$LIPO" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_LIPO"; then
++ ac_ct_LIPO=$LIPO
++ # Extract the first word of "lipo", so it can be a program name with args.
++set dummy lipo; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_LIPO"; then
++ ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_LIPO="lipo"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
++if test -n "$ac_ct_LIPO"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5
++echo "${ECHO_T}$ac_ct_LIPO" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_LIPO" = x; then
++ LIPO=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ LIPO=$ac_ct_LIPO
++ fi
++else
++ LIPO="$ac_cv_prog_LIPO"
++fi
++
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
++set dummy ${ac_tool_prefix}otool; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_OTOOL+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$OTOOL"; then
++ ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++OTOOL=$ac_cv_prog_OTOOL
++if test -n "$OTOOL"; then
++ { echo "$as_me:$LINENO: result: $OTOOL" >&5
++echo "${ECHO_T}$OTOOL" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_OTOOL"; then
++ ac_ct_OTOOL=$OTOOL
++ # Extract the first word of "otool", so it can be a program name with args.
++set dummy otool; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_OTOOL"; then
++ ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_OTOOL="otool"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
++if test -n "$ac_ct_OTOOL"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5
++echo "${ECHO_T}$ac_ct_OTOOL" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_OTOOL" = x; then
++ OTOOL=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ OTOOL=$ac_ct_OTOOL
++ fi
++else
++ OTOOL="$ac_cv_prog_OTOOL"
++fi
++
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
++set dummy ${ac_tool_prefix}otool64; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_OTOOL64+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$OTOOL64"; then
++ ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++OTOOL64=$ac_cv_prog_OTOOL64
++if test -n "$OTOOL64"; then
++ { echo "$as_me:$LINENO: result: $OTOOL64" >&5
++echo "${ECHO_T}$OTOOL64" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_OTOOL64"; then
++ ac_ct_OTOOL64=$OTOOL64
++ # Extract the first word of "otool64", so it can be a program name with args.
++set dummy otool64; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_OTOOL64"; then
++ ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_OTOOL64="otool64"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
++if test -n "$ac_ct_OTOOL64"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5
++echo "${ECHO_T}$ac_ct_OTOOL64" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++ if test "x$ac_ct_OTOOL64" = x; then
++ OTOOL64=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ OTOOL64=$ac_ct_OTOOL64
++ fi
++else
++ OTOOL64="$ac_cv_prog_OTOOL64"
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ { echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
++echo $ECHO_N "checking for -single_module linker flag... $ECHO_C" >&6; }
++if test "${lt_cv_apple_cc_single_mod+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_apple_cc_single_mod=no
++ if test -z "${LT_MULTI_MODULE}"; then
++ # By default we will add the -single_module flag. You can override
++ # by either setting the environment variable LT_MULTI_MODULE
++ # non-empty at configure time, or by adding -multi_module to the
++ # link flags.
++ rm -rf libconftest.dylib*
++ echo "int foo(void){return 1;}" > conftest.c
++ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
++-dynamiclib -Wl,-single_module conftest.c" >&5
++ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
++ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
++ _lt_result=$?
++ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
++ lt_cv_apple_cc_single_mod=yes
++ else
++ cat conftest.err >&5
++ fi
++ rm -rf libconftest.dylib*
++ rm -f conftest.*
++ fi
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
++echo "${ECHO_T}$lt_cv_apple_cc_single_mod" >&6; }
++ { echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
++echo $ECHO_N "checking for -exported_symbols_list linker flag... $ECHO_C" >&6; }
++if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_ld_exported_symbols_list=no
++ save_LDFLAGS=$LDFLAGS
++ echo "_main" > conftest.sym
++ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ lt_cv_ld_exported_symbols_list=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ lt_cv_ld_exported_symbols_list=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ LDFLAGS="$save_LDFLAGS"
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
++echo "${ECHO_T}$lt_cv_ld_exported_symbols_list" >&6; }
++ case $host_os in
++ rhapsody* | darwin1.[012])
++ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
++ darwin1.*)
++ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
++ darwin*) # darwin 5.x on
++ # if running on 10.5 or later, the deployment target defaults
++ # to the OS version, if on x86, and 10.4, the deployment
++ # target defaults to 10.4. Don't you love it?
++ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
++ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
++ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
++ 10.[012]*)
++ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
++ 10.*)
++ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
++ esac
++ ;;
++ esac
++ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
++ _lt_dar_single_mod='$single_module'
++ fi
++ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
++ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
++ else
++ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
++ fi
++ if test "$DSYMUTIL" != ":"; then
++ _lt_dsymutil='~$DSYMUTIL $lib || :'
++ else
++ _lt_dsymutil=
++ fi
++ ;;
++ esac
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
++echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
++# On Suns, sometimes $CPP names a directory.
++if test -n "$CPP" && test -d "$CPP"; then
++ CPP=
++fi
++if test -z "$CPP"; then
++ if test "${ac_cv_prog_CPP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ # Double quotes because CPP needs to be expanded
++ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
++ do
++ ac_preproc_ok=false
++for ac_c_preproc_warn_flag in '' yes
++do
++ # Use a header file that comes with gcc, so configuring glibc
++ # with a fresh cross-compiler works.
++ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ # <limits.h> exists even on freestanding compilers.
++ # On the NeXT, cc -E runs the code through the compiler's parser,
++ # not just through cpp. "Syntax error" is here to catch this case.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@ifdef __STDC__
++@%:@ include <limits.h>
++@%:@else
++@%:@ include <assert.h>
++@%:@endif
++ Syntax error
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ # Broken: fails on valid input.
++continue
++fi
++
++rm -f conftest.err conftest.$ac_ext
++
++ # OK, works on sane cases. Now check whether nonexistent headers
++ # can be detected and how.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <ac_nonexistent.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ # Broken: success on invalid input.
++continue
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ # Passes both tests.
++ac_preproc_ok=:
++break
++fi
++
++rm -f conftest.err conftest.$ac_ext
++
++done
++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
++rm -f conftest.err conftest.$ac_ext
++if $ac_preproc_ok; then
++ break
++fi
++
++ done
++ ac_cv_prog_CPP=$CPP
++
++fi
++ CPP=$ac_cv_prog_CPP
++else
++ ac_cv_prog_CPP=$CPP
++fi
++{ echo "$as_me:$LINENO: result: $CPP" >&5
++echo "${ECHO_T}$CPP" >&6; }
++ac_preproc_ok=false
++for ac_c_preproc_warn_flag in '' yes
++do
++ # Use a header file that comes with gcc, so configuring glibc
++ # with a fresh cross-compiler works.
++ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ # <limits.h> exists even on freestanding compilers.
++ # On the NeXT, cc -E runs the code through the compiler's parser,
++ # not just through cpp. "Syntax error" is here to catch this case.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@ifdef __STDC__
++@%:@ include <limits.h>
++@%:@else
++@%:@ include <assert.h>
++@%:@endif
++ Syntax error
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ # Broken: fails on valid input.
++continue
++fi
++
++rm -f conftest.err conftest.$ac_ext
++
++ # OK, works on sane cases. Now check whether nonexistent headers
++ # can be detected and how.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <ac_nonexistent.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ # Broken: success on invalid input.
++continue
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ # Passes both tests.
++ac_preproc_ok=:
++break
++fi
++
++rm -f conftest.err conftest.$ac_ext
++
++done
++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
++rm -f conftest.err conftest.$ac_ext
++if $ac_preproc_ok; then
++ :
++else
++ { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
++See \`config.log' for more details." >&5
++echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
++echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
++if test "${ac_cv_header_stdc+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdlib.h>
++#include <stdarg.h>
++#include <string.h>
++#include <float.h>
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_stdc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_header_stdc=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++if test $ac_cv_header_stdc = yes; then
++ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <string.h>
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++ $EGREP "memchr" >/dev/null 2>&1; then
++ :
++else
++ ac_cv_header_stdc=no
++fi
++rm -f conftest*
++
++fi
++
++if test $ac_cv_header_stdc = yes; then
++ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdlib.h>
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++ $EGREP "free" >/dev/null 2>&1; then
++ :
++else
++ ac_cv_header_stdc=no
++fi
++rm -f conftest*
++
++fi
++
++if test $ac_cv_header_stdc = yes; then
++ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
++ if test "$cross_compiling" = yes; then
++ :
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <ctype.h>
++#include <stdlib.h>
++#if ((' ' & 0x0FF) == 0x020)
++# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
++# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
++#else
++# define ISLOWER(c) \
++ (('a' <= (c) && (c) <= 'i') \
++ || ('j' <= (c) && (c) <= 'r') \
++ || ('s' <= (c) && (c) <= 'z'))
++# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
++#endif
++
++#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
++int
++main ()
++{
++ int i;
++ for (i = 0; i < 256; i++)
++ if (XOR (islower (i), ISLOWER (i))
++ || toupper (i) != TOUPPER (i))
++ return 2;
++ return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_header_stdc=no
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++fi
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
++echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
++if test $ac_cv_header_stdc = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define STDC_HEADERS 1
++_ACEOF
++
++fi
++
++# On IRIX 5.3, sys/types and inttypes.h are conflicting.
++
++
++
++
++
++
++
++
++
++for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
++ inttypes.h stdint.h unistd.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++
++@%:@include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ eval "$as_ac_Header=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_Header=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++
++for ac_header in dlfcn.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++
++@%:@include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ eval "$as_ac_Header=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_Header=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++
++# Set options
++
++
++
++ enable_dlopen=no
++
++
++ enable_win32_dll=no
++
++
++ # Check whether --enable-shared was given.
++if test "${enable_shared+set}" = set; then
++ enableval=$enable_shared; p=${PACKAGE-default}
++ case $enableval in
++ yes) enable_shared=yes ;;
++ no) enable_shared=no ;;
++ *)
++ enable_shared=no
++ # Look at the argument we got. We use all the common list separators.
++ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++ for pkg in $enableval; do
++ IFS="$lt_save_ifs"
++ if test "X$pkg" = "X$p"; then
++ enable_shared=yes
++ fi
++ done
++ IFS="$lt_save_ifs"
++ ;;
++ esac
++else
++ enable_shared=yes
++fi
++
++
++
++
++
++
++
++
++
++ # Check whether --enable-static was given.
++if test "${enable_static+set}" = set; then
++ enableval=$enable_static; p=${PACKAGE-default}
++ case $enableval in
++ yes) enable_static=yes ;;
++ no) enable_static=no ;;
++ *)
++ enable_static=no
++ # Look at the argument we got. We use all the common list separators.
++ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++ for pkg in $enableval; do
++ IFS="$lt_save_ifs"
++ if test "X$pkg" = "X$p"; then
++ enable_static=yes
++ fi
++ done
++ IFS="$lt_save_ifs"
++ ;;
++ esac
++else
++ enable_static=yes
++fi
++
++
++
++
++
++
++
++
++
++
++# Check whether --with-pic was given.
++if test "${with_pic+set}" = set; then
++ withval=$with_pic; pic_mode="$withval"
++else
++ pic_mode=default
++fi
++
++
++test -z "$pic_mode" && pic_mode=default
++
++
++
++
++
++
++
++ # Check whether --enable-fast-install was given.
++if test "${enable_fast_install+set}" = set; then
++ enableval=$enable_fast_install; p=${PACKAGE-default}
++ case $enableval in
++ yes) enable_fast_install=yes ;;
++ no) enable_fast_install=no ;;
++ *)
++ enable_fast_install=no
++ # Look at the argument we got. We use all the common list separators.
++ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++ for pkg in $enableval; do
++ IFS="$lt_save_ifs"
++ if test "X$pkg" = "X$p"; then
++ enable_fast_install=yes
++ fi
++ done
++ IFS="$lt_save_ifs"
++ ;;
++ esac
++else
++ enable_fast_install=yes
++fi
++
++
++
++
++
++
++
++
++
++
++
++# This can be used to rebuild libtool when needed
++LIBTOOL_DEPS="$ltmain"
++
++# Always use our own libtool.
++LIBTOOL='$(SHELL) $(top_builddir)'
++LIBTOOL="$LIBTOOL/$host_alias-libtool"
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++test -z "$LN_S" && LN_S="ln -s"
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++if test -n "${ZSH_VERSION+set}" ; then
++ setopt NO_GLOB_SUBST
++fi
++
++{ echo "$as_me:$LINENO: checking for objdir" >&5
++echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
++if test "${lt_cv_objdir+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ rm -f .libs 2>/dev/null
++mkdir .libs 2>/dev/null
++if test -d .libs; then
++ lt_cv_objdir=.libs
++else
++ # MS-DOS does not allow filenames that begin with a dot.
++ lt_cv_objdir=_libs
++fi
++rmdir .libs 2>/dev/null
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
++echo "${ECHO_T}$lt_cv_objdir" >&6; }
++objdir=$lt_cv_objdir
++
++
++
++
++
++cat >>confdefs.h <<_ACEOF
++@%:@define LT_OBJDIR "$lt_cv_objdir/"
++_ACEOF
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++case $host_os in
++aix3*)
++ # AIX sometimes has problems with the GCC collect2 program. For some
++ # reason, if we set the COLLECT_NAMES environment variable, the problems
++ # vanish in a puff of smoke.
++ if test "X${COLLECT_NAMES+set}" != Xset; then
++ COLLECT_NAMES=
++ export COLLECT_NAMES
++ fi
++ ;;
++esac
++
++# Sed substitution that helps us do robust quoting. It backslashifies
++# metacharacters that are still active within double-quoted strings.
++sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
++
++# Same as above, but do not quote variable references.
++double_quote_subst='s/\(["`\\]\)/\\\1/g'
++
++# Sed substitution to delay expansion of an escaped shell variable in a
++# double_quote_subst'ed string.
++delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
++
++# Sed substitution to delay expansion of an escaped single quote.
++delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
++
++# Sed substitution to avoid accidental globbing in evaled expressions
++no_glob_subst='s/\*/\\\*/g'
++
++# Global variables:
++ofile=${host_alias}-libtool
++can_build_shared=yes
++
++# All known linkers require a `.a' archive for static linking (except MSVC,
++# which needs '.lib').
++libext=a
++
++with_gnu_ld="$lt_cv_prog_gnu_ld"
++
++old_CC="$CC"
++old_CFLAGS="$CFLAGS"
++
++# Set sane defaults for various variables
++test -z "$CC" && CC=cc
++test -z "$LTCC" && LTCC=$CC
++test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
++test -z "$LD" && LD=ld
++test -z "$ac_objext" && ac_objext=o
++
++for cc_temp in $compiler""; do
++ case $cc_temp in
++ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
++ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
++ \-*) ;;
++ *) break;;
++ esac
++done
++cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
++
++
++# Only perform the check for file, if the check method requires it
++test -z "$MAGIC_CMD" && MAGIC_CMD=file
++case $deplibs_check_method in
++file_magic*)
++ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
++ { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
++echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; }
++if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ case $MAGIC_CMD in
++[\\/*] | ?:[\\/]*)
++ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
++ ;;
++*)
++ lt_save_MAGIC_CMD="$MAGIC_CMD"
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
++ for ac_dir in $ac_dummy; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ if test -f $ac_dir/${ac_tool_prefix}file; then
++ lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
++ if test -n "$file_magic_test_file"; then
++ case $deplibs_check_method in
++ "file_magic "*)
++ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
++ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
++ $EGREP "$file_magic_regex" > /dev/null; then
++ :
++ else
++ cat <<_LT_EOF 1>&2
++
++*** Warning: the command libtool uses to detect shared libraries,
++*** $file_magic_cmd, produces output that libtool cannot recognize.
++*** The result is that libtool may fail to recognize shared libraries
++*** as such. This will affect the creation of libtool libraries that
++*** depend on shared libraries, but programs linked with such libtool
++*** libraries will work regardless of this problem. Nevertheless, you
++*** may want to report the problem to your system manager and/or to
++*** bug-libtool@gnu.org
++
++_LT_EOF
++ fi ;;
++ esac
++ fi
++ break
++ fi
++ done
++ IFS="$lt_save_ifs"
++ MAGIC_CMD="$lt_save_MAGIC_CMD"
++ ;;
++esac
++fi
++
++MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++if test -n "$MAGIC_CMD"; then
++ { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
++echo "${ECHO_T}$MAGIC_CMD" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++
++
++
++if test -z "$lt_cv_path_MAGIC_CMD"; then
++ if test -n "$ac_tool_prefix"; then
++ { echo "$as_me:$LINENO: checking for file" >&5
++echo $ECHO_N "checking for file... $ECHO_C" >&6; }
++if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ case $MAGIC_CMD in
++[\\/*] | ?:[\\/]*)
++ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
++ ;;
++*)
++ lt_save_MAGIC_CMD="$MAGIC_CMD"
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
++ for ac_dir in $ac_dummy; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ if test -f $ac_dir/file; then
++ lt_cv_path_MAGIC_CMD="$ac_dir/file"
++ if test -n "$file_magic_test_file"; then
++ case $deplibs_check_method in
++ "file_magic "*)
++ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
++ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
++ $EGREP "$file_magic_regex" > /dev/null; then
++ :
++ else
++ cat <<_LT_EOF 1>&2
++
++*** Warning: the command libtool uses to detect shared libraries,
++*** $file_magic_cmd, produces output that libtool cannot recognize.
++*** The result is that libtool may fail to recognize shared libraries
++*** as such. This will affect the creation of libtool libraries that
++*** depend on shared libraries, but programs linked with such libtool
++*** libraries will work regardless of this problem. Nevertheless, you
++*** may want to report the problem to your system manager and/or to
++*** bug-libtool@gnu.org
++
++_LT_EOF
++ fi ;;
++ esac
++ fi
++ break
++ fi
++ done
++ IFS="$lt_save_ifs"
++ MAGIC_CMD="$lt_save_MAGIC_CMD"
++ ;;
++esac
++fi
++
++MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++if test -n "$MAGIC_CMD"; then
++ { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
++echo "${ECHO_T}$MAGIC_CMD" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++ else
++ MAGIC_CMD=:
++ fi
++fi
++
++ fi
++ ;;
++esac
++
++# Use C for the default configuration in the libtool script
++
++lt_save_CC="$CC"
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++# Source file extension for C test sources.
++ac_ext=c
++
++# Object file extension for compiled C test sources.
++objext=o
++objext=$objext
++
++# Code to be used in simple compile tests
++lt_simple_compile_test_code="int some_variable = 0;"
++
++# Code to be used in simple link tests
++lt_simple_link_test_code='int main(){return(0);}'
++
++
++
++
++
++
++
++# If no C compiler was specified, use CC.
++LTCC=${LTCC-"$CC"}
++
++# If no C compiler flags were specified, use CFLAGS.
++LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
++
++# Allow CC to be a program name with arguments.
++compiler=$CC
++
++# Save the default compiler, since it gets overwritten when the other
++# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
++compiler_DEFAULT=$CC
++
++# save warnings/boilerplate of simple test code
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_compile_test_code" >conftest.$ac_ext
++eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_compiler_boilerplate=`cat conftest.err`
++$RM conftest*
++
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_link_test_code" >conftest.$ac_ext
++eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_linker_boilerplate=`cat conftest.err`
++$RM -r conftest*
++
++
++if test -n "$compiler"; then
++
++lt_prog_compiler_no_builtin_flag=
++
++if test "$GCC" = yes; then
++ lt_prog_compiler_no_builtin_flag=' -fno-builtin'
++
++ { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
++echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
++if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_prog_compiler_rtti_exceptions=no
++ ac_outfile=conftest.$ac_objext
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++ lt_compiler_flag="-fno-rtti -fno-exceptions"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ # The option is referenced via a variable to avoid confusing sed.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5)
++ (eval "$lt_compile" 2>conftest.err)
++ ac_status=$?
++ cat conftest.err >&5
++ echo "$as_me:__oline__: \$? = $ac_status" >&5
++ if (exit $ac_status) && test -s "$ac_outfile"; then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings other than the usual output.
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_rtti_exceptions=yes
++ fi
++ fi
++ $RM conftest*
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
++
++if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
++ lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
++else
++ :
++fi
++
++fi
++
++
++
++
++
++
++ lt_prog_compiler_wl=
++lt_prog_compiler_pic=
++lt_prog_compiler_static=
++
++{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
++echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
++
++ if test "$GCC" = yes; then
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_static='-static'
++
++ case $host_os in
++ aix*)
++ # All AIX code is PIC.
++ if test "$host_cpu" = ia64; then
++ # AIX 5 now supports IA64 processor
++ lt_prog_compiler_static='-Bstatic'
++ fi
++ ;;
++
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ lt_prog_compiler_pic='-fPIC'
++ ;;
++ m68k)
++ # FIXME: we need at least 68020 code to build shared libraries, but
++ # adding the `-m68020' flag to GCC prevents building anything better,
++ # like `-m68040'.
++ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
++ ;;
++ esac
++ ;;
++
++ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
++ # PIC is the default for these OSes.
++ ;;
++
++ mingw* | cygwin* | pw32* | os2*)
++ # This hack is so that the source file can tell whether it is being
++ # built for inclusion in a dll (and should export symbols for example).
++ # Although the cygwin gcc ignores -fPIC, still need this for old-style
++ # (--disable-auto-import) libraries
++ lt_prog_compiler_pic='-DDLL_EXPORT'
++ ;;
++
++ darwin* | rhapsody*)
++ # PIC is the default on this platform
++ # Common symbols not allowed in MH_DYLIB files
++ lt_prog_compiler_pic='-fno-common'
++ ;;
++
++ hpux*)
++ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
++ # not for PA HP-UX.
++ case $host_cpu in
++ hppa*64*|ia64*)
++ # +Z the default
++ ;;
++ *)
++ lt_prog_compiler_pic='-fPIC'
++ ;;
++ esac
++ ;;
++
++ interix[3-9]*)
++ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
++ # Instead, we relocate shared libraries at runtime.
++ ;;
++
++ msdosdjgpp*)
++ # Just because we use GCC doesn't mean we suddenly get shared libraries
++ # on systems that don't support them.
++ lt_prog_compiler_can_build_shared=no
++ enable_shared=no
++ ;;
++
++ *nto* | *qnx*)
++ # QNX uses GNU C++, but need to define -shared option too, otherwise
++ # it will coredump.
++ lt_prog_compiler_pic='-fPIC -shared'
++ ;;
++
++ sysv4*MP*)
++ if test -d /usr/nec; then
++ lt_prog_compiler_pic=-Kconform_pic
++ fi
++ ;;
++
++ *)
++ lt_prog_compiler_pic='-fPIC'
++ ;;
++ esac
++ else
++ # PORTME Check for flag to pass linker flags through the system compiler.
++ case $host_os in
++ aix*)
++ lt_prog_compiler_wl='-Wl,'
++ if test "$host_cpu" = ia64; then
++ # AIX 5 now supports IA64 processor
++ lt_prog_compiler_static='-Bstatic'
++ else
++ lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
++ fi
++ ;;
++
++ mingw* | cygwin* | pw32* | os2*)
++ # This hack is so that the source file can tell whether it is being
++ # built for inclusion in a dll (and should export symbols for example).
++ lt_prog_compiler_pic='-DDLL_EXPORT'
++ ;;
++
++ hpux9* | hpux10* | hpux11*)
++ lt_prog_compiler_wl='-Wl,'
++ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
++ # not for PA HP-UX.
++ case $host_cpu in
++ hppa*64*|ia64*)
++ # +Z the default
++ ;;
++ *)
++ lt_prog_compiler_pic='+Z'
++ ;;
++ esac
++ # Is there a better lt_prog_compiler_static that works with the bundled CC?
++ lt_prog_compiler_static='${wl}-a ${wl}archive'
++ ;;
++
++ irix5* | irix6* | nonstopux*)
++ lt_prog_compiler_wl='-Wl,'
++ # PIC (with -KPIC) is the default.
++ lt_prog_compiler_static='-non_shared'
++ ;;
++
++ linux* | k*bsd*-gnu)
++ case $cc_basename in
++ icc* | ecc* | ifort*)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-static'
++ ;;
++ pgcc* | pgf77* | pgf90* | pgf95*)
++ # Portland Group compilers (*not* the Pentium gcc compiler,
++ # which looks to be a dead project)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-fpic'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++ ccc*)
++ lt_prog_compiler_wl='-Wl,'
++ # All Alpha code is PIC.
++ lt_prog_compiler_static='-non_shared'
++ ;;
++ xl*)
++ # IBM XL C 8.0/Fortran 10.1 on PPC
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-qpic'
++ lt_prog_compiler_static='-qstaticlink'
++ ;;
++ *)
++ case `$CC -V 2>&1 | sed 5q` in
++ *Sun\ C*)
++ # Sun C 5.9
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ lt_prog_compiler_wl='-Wl,'
++ ;;
++ *Sun\ F*)
++ # Sun Fortran 8.3 passes all unrecognized flags to the linker
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ lt_prog_compiler_wl=''
++ ;;
++ esac
++ ;;
++ esac
++ ;;
++
++ newsos6)
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++
++ *nto* | *qnx*)
++ # QNX uses GNU C++, but need to define -shared option too, otherwise
++ # it will coredump.
++ lt_prog_compiler_pic='-fPIC -shared'
++ ;;
++
++ osf3* | osf4* | osf5*)
++ lt_prog_compiler_wl='-Wl,'
++ # All OSF/1 code is PIC.
++ lt_prog_compiler_static='-non_shared'
++ ;;
++
++ rdos*)
++ lt_prog_compiler_static='-non_shared'
++ ;;
++
++ solaris*)
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ case $cc_basename in
++ f77* | f90* | f95*)
++ lt_prog_compiler_wl='-Qoption ld ';;
++ *)
++ lt_prog_compiler_wl='-Wl,';;
++ esac
++ ;;
++
++ sunos4*)
++ lt_prog_compiler_wl='-Qoption ld '
++ lt_prog_compiler_pic='-PIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++
++ sysv4 | sysv4.2uw2* | sysv4.3*)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++
++ sysv4*MP*)
++ if test -d /usr/nec ;then
++ lt_prog_compiler_pic='-Kconform_pic'
++ lt_prog_compiler_static='-Bstatic'
++ fi
++ ;;
++
++ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++
++ unicos*)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_can_build_shared=no
++ ;;
++
++ uts4*)
++ lt_prog_compiler_pic='-pic'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++
++ *)
++ lt_prog_compiler_can_build_shared=no
++ ;;
++ esac
++ fi
++
++case $host_os in
++ # For platforms which do not support PIC, -DPIC is meaningless:
++ *djgpp*)
++ lt_prog_compiler_pic=
++ ;;
++ *)
++ lt_prog_compiler_pic="$lt_prog_compiler_pic@&t@ -DPIC"
++ ;;
++esac
++{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
++echo "${ECHO_T}$lt_prog_compiler_pic" >&6; }
++
++
++
++
++
++
++#
++# Check to make sure the PIC flag actually works.
++#
++if test -n "$lt_prog_compiler_pic"; then
++ { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
++echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
++if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_prog_compiler_pic_works=no
++ ac_outfile=conftest.$ac_objext
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++ lt_compiler_flag="$lt_prog_compiler_pic@&t@ -DPIC"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ # The option is referenced via a variable to avoid confusing sed.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5)
++ (eval "$lt_compile" 2>conftest.err)
++ ac_status=$?
++ cat conftest.err >&5
++ echo "$as_me:__oline__: \$? = $ac_status" >&5
++ if (exit $ac_status) && test -s "$ac_outfile"; then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings other than the usual output.
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_pic_works=yes
++ fi
++ fi
++ $RM conftest*
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_pic_works" >&6; }
++
++if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
++ case $lt_prog_compiler_pic in
++ "" | " "*) ;;
++ *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
++ esac
++else
++ lt_prog_compiler_pic=
++ lt_prog_compiler_can_build_shared=no
++fi
++
++fi
++
++
++
++
++
++
++#
++# Check to make sure the static flag actually works.
++#
++wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
++{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
++echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
++if test "${lt_cv_prog_compiler_static_works+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_prog_compiler_static_works=no
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
++ echo "$lt_simple_link_test_code" > conftest.$ac_ext
++ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
++ # The linker can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ if test -s conftest.err; then
++ # Append any errors to the config.log.
++ cat conftest.err 1>&5
++ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++ if diff conftest.exp conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_static_works=yes
++ fi
++ else
++ lt_cv_prog_compiler_static_works=yes
++ fi
++ fi
++ $RM -r conftest*
++ LDFLAGS="$save_LDFLAGS"
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_static_works" >&6; }
++
++if test x"$lt_cv_prog_compiler_static_works" = xyes; then
++ :
++else
++ lt_prog_compiler_static=
++fi
++
++
++
++
++
++
++
++ { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
++echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
++if test "${lt_cv_prog_compiler_c_o+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_prog_compiler_c_o=no
++ $RM -r conftest 2>/dev/null
++ mkdir conftest
++ cd conftest
++ mkdir out
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++
++ lt_compiler_flag="-o out/conftest2.$ac_objext"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5)
++ (eval "$lt_compile" 2>out/conftest.err)
++ ac_status=$?
++ cat out/conftest.err >&5
++ echo "$as_me:__oline__: \$? = $ac_status" >&5
++ if (exit $ac_status) && test -s out/conftest2.$ac_objext
++ then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
++ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
++ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_c_o=yes
++ fi
++ fi
++ chmod u+w . 2>&5
++ $RM conftest*
++ # SGI C++ compiler will create directory out/ii_files/ for
++ # template instantiation
++ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
++ $RM out/* && rmdir out
++ cd ..
++ $RM -r conftest
++ $RM conftest*
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
++
++
++
++
++
++
++ { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
++echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
++if test "${lt_cv_prog_compiler_c_o+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_prog_compiler_c_o=no
++ $RM -r conftest 2>/dev/null
++ mkdir conftest
++ cd conftest
++ mkdir out
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++
++ lt_compiler_flag="-o out/conftest2.$ac_objext"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5)
++ (eval "$lt_compile" 2>out/conftest.err)
++ ac_status=$?
++ cat out/conftest.err >&5
++ echo "$as_me:__oline__: \$? = $ac_status" >&5
++ if (exit $ac_status) && test -s out/conftest2.$ac_objext
++ then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
++ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
++ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_c_o=yes
++ fi
++ fi
++ chmod u+w . 2>&5
++ $RM conftest*
++ # SGI C++ compiler will create directory out/ii_files/ for
++ # template instantiation
++ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
++ $RM out/* && rmdir out
++ cd ..
++ $RM -r conftest
++ $RM conftest*
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
++
++
++
++
++hard_links="nottested"
++if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
++ # do not overwrite the value of need_locks provided by the user
++ { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
++echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
++ hard_links=yes
++ $RM conftest*
++ ln conftest.a conftest.b 2>/dev/null && hard_links=no
++ touch conftest.a
++ ln conftest.a conftest.b 2>&5 || hard_links=no
++ ln conftest.a conftest.b 2>/dev/null && hard_links=no
++ { echo "$as_me:$LINENO: result: $hard_links" >&5
++echo "${ECHO_T}$hard_links" >&6; }
++ if test "$hard_links" = no; then
++ { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
++echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
++ need_locks=warn
++ fi
++else
++ need_locks=no
++fi
++
++
++
++
++
++
++ { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
++echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
++
++ runpath_var=
++ allow_undefined_flag=
++ always_export_symbols=no
++ archive_cmds=
++ archive_expsym_cmds=
++ compiler_needs_object=no
++ enable_shared_with_static_runtimes=no
++ export_dynamic_flag_spec=
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
++ hardcode_automatic=no
++ hardcode_direct=no
++ hardcode_direct_absolute=no
++ hardcode_libdir_flag_spec=
++ hardcode_libdir_flag_spec_ld=
++ hardcode_libdir_separator=
++ hardcode_minus_L=no
++ hardcode_shlibpath_var=unsupported
++ inherit_rpath=no
++ link_all_deplibs=unknown
++ module_cmds=
++ module_expsym_cmds=
++ old_archive_from_new_cmds=
++ old_archive_from_expsyms_cmds=
++ thread_safe_flag_spec=
++ whole_archive_flag_spec=
++ # include_expsyms should be a list of space-separated symbols to be *always*
++ # included in the symbol list
++ include_expsyms=
++ # exclude_expsyms can be an extended regexp of symbols to exclude
++ # it will be wrapped by ` (' and `)$', so one must not match beginning or
++ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
++ # as well as any symbol that contains `d'.
++ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
++ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
++ # platforms (ab)use it in PIC code, but their linkers get confused if
++ # the symbol is explicitly referenced. Since portable code cannot
++ # rely on this symbol name, it's probably fine to never include it in
++ # preloaded symbol tables.
++ # Exclude shared library initialization/finalization symbols.
++ extract_expsyms_cmds=
++
++ case $host_os in
++ cygwin* | mingw* | pw32*)
++ # FIXME: the MSVC++ port hasn't been tested in a loooong time
++ # When not using gcc, we currently assume that we are using
++ # Microsoft Visual C++.
++ if test "$GCC" != yes; then
++ with_gnu_ld=no
++ fi
++ ;;
++ interix*)
++ # we just hope/assume this is gcc and not c89 (= MSVC++)
++ with_gnu_ld=yes
++ ;;
++ openbsd*)
++ with_gnu_ld=no
++ ;;
++ esac
++
++ ld_shlibs=yes
++ if test "$with_gnu_ld" = yes; then
++ # If archive_cmds runs LD, not CC, wlarc should be empty
++ wlarc='${wl}'
++
++ # Set some defaults for GNU ld with shared library support. These
++ # are reset later if shared libraries are not supported. Putting them
++ # here allows them to be overridden if necessary.
++ runpath_var=LD_RUN_PATH
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ export_dynamic_flag_spec='${wl}--export-dynamic'
++ # ancient GNU ld didn't support --whole-archive et. al.
++ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
++ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
++ else
++ whole_archive_flag_spec=
++ fi
++ supports_anon_versioning=no
++ case `$LD -v 2>&1` in
++ *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
++ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
++ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
++ *\ 2.11.*) ;; # other 2.11 versions
++ *) supports_anon_versioning=yes ;;
++ esac
++
++ # See if GNU ld supports shared libraries.
++ case $host_os in
++ aix[3-9]*)
++ # On AIX/PPC, the GNU linker is very broken
++ if test "$host_cpu" != ia64; then
++ ld_shlibs=no
++ cat <<_LT_EOF 1>&2
++
++*** Warning: the GNU linker, at least up to release 2.9.1, is reported
++*** to be unable to reliably create shared libraries on AIX.
++*** Therefore, libtool is disabling shared libraries support. If you
++*** really care for shared libraries, you may want to modify your PATH
++*** so that a non-GNU linker is found, and then restart.
++
++_LT_EOF
++ fi
++ ;;
++
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds=''
++ ;;
++ m68k)
++ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_minus_L=yes
++ ;;
++ esac
++ ;;
++
++ beos*)
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ allow_undefined_flag=unsupported
++ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
++ # support --undefined. This deserves some investigation. FIXME
++ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++
++ cygwin* | mingw* | pw32*)
++ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
++ # as there is no search path for DLLs.
++ hardcode_libdir_flag_spec='-L$libdir'
++ allow_undefined_flag=unsupported
++ always_export_symbols=no
++ enable_shared_with_static_runtimes=yes
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
++
++ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ # If the export-symbols file already is a .def file (1st line
++ # is EXPORTS), use it as is; otherwise, prepend...
++ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ cp $export_symbols $output_objdir/$soname.def;
++ else
++ echo EXPORTS > $output_objdir/$soname.def;
++ cat $export_symbols >> $output_objdir/$soname.def;
++ fi~
++ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++
++ interix[3-9]*)
++ hardcode_direct=no
++ hardcode_shlibpath_var=no
++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
++ export_dynamic_flag_spec='${wl}-E'
++ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
++ # Instead, shared libraries are loaded at an image base (0x10000000 by
++ # default) and relocated if they conflict, which is a slow very memory
++ # consuming and fragmenting process. To avoid this, we pick a random,
++ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
++ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++ archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++ ;;
++
++ gnu* | linux* | tpf* | k*bsd*-gnu)
++ tmp_diet=no
++ if test "$host_os" = linux-dietlibc; then
++ case $cc_basename in
++ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
++ esac
++ fi
++ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
++ && test "$tmp_diet" = no
++ then
++ tmp_addflag=
++ tmp_sharedflag='-shared'
++ case $cc_basename,$host_cpu in
++ pgcc*) # Portland Group C compiler
++ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ tmp_addflag=' $pic_flag'
++ ;;
++ pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
++ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ tmp_addflag=' $pic_flag -Mnomain' ;;
++ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
++ tmp_addflag=' -i_dynamic' ;;
++ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
++ tmp_addflag=' -i_dynamic -nofor_main' ;;
++ ifc* | ifort*) # Intel Fortran compiler
++ tmp_addflag=' -nofor_main' ;;
++ xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
++ tmp_sharedflag='-qmkshrobj'
++ tmp_addflag= ;;
++ esac
++ case `$CC -V 2>&1 | sed 5q` in
++ *Sun\ C*) # Sun C 5.9
++ whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ compiler_needs_object=yes
++ tmp_sharedflag='-G' ;;
++ *Sun\ F*) # Sun Fortran 8.3
++ tmp_sharedflag='-G' ;;
++ esac
++ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++
++ if test "x$supports_anon_versioning" = xyes; then
++ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
++ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
++ echo "local: *; };" >> $output_objdir/$libname.ver~
++ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
++ fi
++
++ case $cc_basename in
++ xlf*)
++ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
++ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
++ hardcode_libdir_flag_spec=
++ hardcode_libdir_flag_spec_ld='-rpath $libdir'
++ archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
++ if test "x$supports_anon_versioning" = xyes; then
++ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
++ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
++ echo "local: *; };" >> $output_objdir/$libname.ver~
++ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
++ fi
++ ;;
++ esac
++ else
++ ld_shlibs=no
++ fi
++ ;;
++
++ netbsd*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
++ wlarc=
++ else
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ fi
++ ;;
++
++ solaris*)
++ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
++ ld_shlibs=no
++ cat <<_LT_EOF 1>&2
++
++*** Warning: The releases 2.8.* of the GNU linker cannot reliably
++*** create shared libraries on Solaris systems. Therefore, libtool
++*** is disabling shared libraries support. We urge you to upgrade GNU
++*** binutils to release 2.9.1 or newer. Another option is to modify
++*** your PATH or compiler configuration so that the native linker is
++*** used, and then restart.
++
++_LT_EOF
++ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++
++ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
++ case `$LD -v 2>&1` in
++ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
++ ld_shlibs=no
++ cat <<_LT_EOF 1>&2
++
++*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
++*** reliably create shared libraries on SCO systems. Therefore, libtool
++*** is disabling shared libraries support. We urge you to upgrade GNU
++*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
++*** your PATH or compiler configuration so that the native linker is
++*** used, and then restart.
++
++_LT_EOF
++ ;;
++ *)
++ # For security reasons, it is highly recommended that you always
++ # use absolute paths for naming shared libraries, and exclude the
++ # DT_RUNPATH tag from executables and libraries. But doing so
++ # requires that you compile everything twice, which is a pain.
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++ esac
++ ;;
++
++ sunos4*)
++ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++ wlarc=
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ *)
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++ esac
++
++ if test "$ld_shlibs" = no; then
++ runpath_var=
++ hardcode_libdir_flag_spec=
++ export_dynamic_flag_spec=
++ whole_archive_flag_spec=
++ fi
++ else
++ # PORTME fill in a description of your system's linker (not GNU ld)
++ case $host_os in
++ aix3*)
++ allow_undefined_flag=unsupported
++ always_export_symbols=yes
++ archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
++ # Note: this linker hardcodes the directories in LIBPATH if there
++ # are no directories specified by -L.
++ hardcode_minus_L=yes
++ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
++ # Neither direct hardcoding nor static linking is supported with a
++ # broken collect2.
++ hardcode_direct=unsupported
++ fi
++ ;;
++
++ aix[4-9]*)
++ if test "$host_cpu" = ia64; then
++ # On IA64, the linker does run time linking by default, so we don't
++ # have to do anything special.
++ aix_use_runtimelinking=no
++ exp_sym_flag='-Bexport'
++ no_entry_flag=""
++ else
++ # If we're using GNU nm, then we don't want the "-C" option.
++ # -C means demangle to AIX nm, but means don't demangle with GNU nm
++ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
++ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ else
++ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ fi
++ aix_use_runtimelinking=no
++
++ # Test if we are trying to use run time linking or normal
++ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
++ # need to do runtime linking.
++ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
++ for ld_flag in $LDFLAGS; do
++ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
++ aix_use_runtimelinking=yes
++ break
++ fi
++ done
++ ;;
++ esac
++
++ exp_sym_flag='-bexport'
++ no_entry_flag='-bnoentry'
++ fi
++
++ # When large executables or shared objects are built, AIX ld can
++ # have problems creating the table of contents. If linking a library
++ # or program results in "error TOC overflow" add -mminimal-toc to
++ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
++ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
++
++ archive_cmds=''
++ hardcode_direct=yes
++ hardcode_direct_absolute=yes
++ hardcode_libdir_separator=':'
++ link_all_deplibs=yes
++ file_list_spec='${wl}-f,'
++
++ if test "$GCC" = yes; then
++ case $host_os in aix4.[012]|aix4.[012].*)
++ # We only want to do this on AIX 4.2 and lower, the check
++ # below for broken collect2 doesn't work under 4.3+
++ collect2name=`${CC} -print-prog-name=collect2`
++ if test -f "$collect2name" &&
++ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
++ then
++ # We have reworked collect2
++ :
++ else
++ # We have old collect2
++ hardcode_direct=unsupported
++ # It fails to find uninstalled libraries when the uninstalled
++ # path is not listed in the libpath. Setting hardcode_minus_L
++ # to unsupported forces relinking
++ hardcode_minus_L=yes
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_libdir_separator=
++ fi
++ ;;
++ esac
++ shared_flag='-shared'
++ if test "$aix_use_runtimelinking" = yes; then
++ shared_flag="$shared_flag "'${wl}-G'
++ fi
++ else
++ # not using gcc
++ if test "$host_cpu" = ia64; then
++ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
++ # chokes on -Wl,-G. The following line is correct:
++ shared_flag='-G'
++ else
++ if test "$aix_use_runtimelinking" = yes; then
++ shared_flag='${wl}-G'
++ else
++ shared_flag='${wl}-bM:SRE'
++ fi
++ fi
++ fi
++
++ # It seems that -bexpall does not export symbols beginning with
++ # underscore (_), so it is better to generate a list of symbols to export.
++ always_export_symbols=yes
++ if test "$aix_use_runtimelinking" = yes; then
++ # Warning - without using the other runtime loading flags (-brtl),
++ # -berok will link without error, but may produce a broken library.
++ allow_undefined_flag='-berok'
++ # Determine the default libpath from the value encoded in an
++ # empty executable.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++
++lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\(.*\)$/\1/
++ p
++ }
++ }'
++aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++# Check for a 64-bit object if we didn't find anything.
++if test -z "$aix_libpath"; then
++ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++fi
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++
++ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
++ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
++ else
++ if test "$host_cpu" = ia64; then
++ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
++ allow_undefined_flag="-z nodefs"
++ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
++ else
++ # Determine the default libpath from the value encoded in an
++ # empty executable.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++
++lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\(.*\)$/\1/
++ p
++ }
++ }'
++aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++# Check for a 64-bit object if we didn't find anything.
++if test -z "$aix_libpath"; then
++ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++fi
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
++
++ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
++ # Warning - without using the other run time loading flags,
++ # -berok will link without error, but may produce a broken library.
++ no_undefined_flag=' ${wl}-bernotok'
++ allow_undefined_flag=' ${wl}-berok'
++ # Exported symbols can be pulled into shared objects from archives
++ whole_archive_flag_spec='$convenience'
++ archive_cmds_need_lc=yes
++ # This is similar to how AIX traditionally builds its shared libraries.
++ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
++ fi
++ fi
++ ;;
++
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds=''
++ ;;
++ m68k)
++ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_minus_L=yes
++ ;;
++ esac
++ ;;
++
++ bsdi[45]*)
++ export_dynamic_flag_spec=-rdynamic
++ ;;
++
++ cygwin* | mingw* | pw32*)
++ # When not using gcc, we currently assume that we are using
++ # Microsoft Visual C++.
++ # hardcode_libdir_flag_spec is actually meaningless, as there is
++ # no search path for DLLs.
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
++ # The linker will automatically build a .lib file if we build a DLL.
++ old_archive_from_new_cmds='true'
++ # FIXME: Should let the user specify the lib program.
++ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
++ fix_srcfile_path='`cygpath -w "$srcfile"`'
++ enable_shared_with_static_runtimes=yes
++ ;;
++
++ darwin* | rhapsody*)
++
++
++ archive_cmds_need_lc=no
++ hardcode_direct=no
++ hardcode_automatic=yes
++ hardcode_shlibpath_var=unsupported
++ whole_archive_flag_spec=''
++ link_all_deplibs=yes
++ allow_undefined_flag="$_lt_dar_allow_undefined"
++ if test "$GCC" = "yes"; then
++ output_verbose_link_cmd=echo
++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
++
++ else
++ ld_shlibs=no
++ fi
++
++ ;;
++
++ dgux*)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_shlibpath_var=no
++ ;;
++
++ freebsd1*)
++ ld_shlibs=no
++ ;;
++
++ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
++ # support. Future versions do this automatically, but an explicit c++rt0.o
++ # does not break anything, and helps significantly (at the cost of a little
++ # extra space).
++ freebsd2.2*)
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
++ freebsd2*)
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_direct=yes
++ hardcode_minus_L=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
++ freebsd* | dragonfly*)
++ archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ hpux9*)
++ if test "$GCC" = yes; then
++ archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ else
++ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++ fi
++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
++ hardcode_libdir_separator=:
++ hardcode_direct=yes
++
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ hardcode_minus_L=yes
++ export_dynamic_flag_spec='${wl}-E'
++ ;;
++
++ hpux10*)
++ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
++ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
++ fi
++ if test "$with_gnu_ld" = no; then
++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
++ hardcode_libdir_flag_spec_ld='+b $libdir'
++ hardcode_libdir_separator=:
++ hardcode_direct=yes
++ hardcode_direct_absolute=yes
++ export_dynamic_flag_spec='${wl}-E'
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ hardcode_minus_L=yes
++ fi
++ ;;
++
++ hpux11*)
++ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
++ case $host_cpu in
++ hppa*64*)
++ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ ia64*)
++ archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ *)
++ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ esac
++ else
++ case $host_cpu in
++ hppa*64*)
++ archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ ia64*)
++ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ *)
++ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ esac
++ fi
++ if test "$with_gnu_ld" = no; then
++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
++ hardcode_libdir_separator=:
++
++ case $host_cpu in
++ hppa*64*|ia64*)
++ hardcode_direct=no
++ hardcode_shlibpath_var=no
++ ;;
++ *)
++ hardcode_direct=yes
++ hardcode_direct_absolute=yes
++ export_dynamic_flag_spec='${wl}-E'
++
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ hardcode_minus_L=yes
++ ;;
++ esac
++ fi
++ ;;
++
++ irix5* | irix6* | nonstopux*)
++ if test "$GCC" = yes; then
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ # Try to use the -exported_symbol ld option, if it does not
++ # work, assume that -exports_file does not work either and
++ # implicitly export all symbols.
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++ cat >conftest.$ac_ext <<_ACEOF
++int foo(void) {}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
++
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ LDFLAGS="$save_LDFLAGS"
++ else
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
++ fi
++ archive_cmds_need_lc='no'
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ hardcode_libdir_separator=:
++ inherit_rpath=yes
++ link_all_deplibs=yes
++ ;;
++
++ netbsd*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
++ else
++ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
++ fi
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ newsos6)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_direct=yes
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ hardcode_libdir_separator=:
++ hardcode_shlibpath_var=no
++ ;;
++
++ *nto* | *qnx*)
++ ;;
++
++ openbsd*)
++ if test -f /usr/libexec/ld.so; then
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ hardcode_direct_absolute=yes
++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
++ export_dynamic_flag_spec='${wl}-E'
++ else
++ case $host_os in
++ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_libdir_flag_spec='-R$libdir'
++ ;;
++ *)
++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
++ ;;
++ esac
++ fi
++ else
++ ld_shlibs=no
++ fi
++ ;;
++
++ os2*)
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_minus_L=yes
++ allow_undefined_flag=unsupported
++ archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
++ old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
++ ;;
++
++ osf3*)
++ if test "$GCC" = yes; then
++ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ else
++ allow_undefined_flag=' -expect_unresolved \*'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ fi
++ archive_cmds_need_lc='no'
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ hardcode_libdir_separator=:
++ ;;
++
++ osf4* | osf5*) # as osf3* with the addition of -msym flag
++ if test "$GCC" = yes; then
++ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ else
++ allow_undefined_flag=' -expect_unresolved \*'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
++ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
++
++ # Both c and cxx compiler support -rpath directly
++ hardcode_libdir_flag_spec='-rpath $libdir'
++ fi
++ archive_cmds_need_lc='no'
++ hardcode_libdir_separator=:
++ ;;
++
++ solaris*)
++ no_undefined_flag=' -z defs'
++ if test "$GCC" = yes; then
++ wlarc='${wl}'
++ archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ else
++ case `$CC -V 2>&1` in
++ *"Compilers 5.0"*)
++ wlarc=''
++ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
++ ;;
++ *)
++ wlarc='${wl}'
++ archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ ;;
++ esac
++ fi
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_shlibpath_var=no
++ case $host_os in
++ solaris2.[0-5] | solaris2.[0-5].*) ;;
++ *)
++ # The compiler driver will combine and reorder linker options,
++ # but understands `-z linker_flag'. GCC discards it without `$wl',
++ # but is careful enough not to reorder.
++ # Supported since Solaris 2.6 (maybe 2.5.1?)
++ if test "$GCC" = yes; then
++ whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
++ else
++ whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
++ fi
++ ;;
++ esac
++ link_all_deplibs=yes
++ ;;
++
++ sunos4*)
++ if test "x$host_vendor" = xsequent; then
++ # Use $CC to link under sequent, because it throws in some extra .o
++ # files that make .init and .fini sections work.
++ archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
++ fi
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_direct=yes
++ hardcode_minus_L=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ sysv4)
++ case $host_vendor in
++ sni)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_direct=yes # is this really true???
++ ;;
++ siemens)
++ ## LD is ld it makes a PLAMLIB
++ ## CC just makes a GrossModule.
++ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
++ reload_cmds='$CC -r -o $output$reload_objs'
++ hardcode_direct=no
++ ;;
++ motorola)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
++ ;;
++ esac
++ runpath_var='LD_RUN_PATH'
++ hardcode_shlibpath_var=no
++ ;;
++
++ sysv4.3*)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_shlibpath_var=no
++ export_dynamic_flag_spec='-Bexport'
++ ;;
++
++ sysv4*MP*)
++ if test -d /usr/nec; then
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_shlibpath_var=no
++ runpath_var=LD_RUN_PATH
++ hardcode_runpath_var=yes
++ ld_shlibs=yes
++ fi
++ ;;
++
++ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
++ no_undefined_flag='${wl}-z,text'
++ archive_cmds_need_lc=no
++ hardcode_shlibpath_var=no
++ runpath_var='LD_RUN_PATH'
++
++ if test "$GCC" = yes; then
++ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ fi
++ ;;
++
++ sysv5* | sco3.2v5* | sco5v6*)
++ # Note: We can NOT use -z defs as we might desire, because we do not
++ # link with -lc, and that would cause any symbols used from libc to
++ # always be unresolved, which means just about no library would
++ # ever link correctly. If we're not using GNU ld we use -z text
++ # though, which does catch some bad symbols but isn't as heavy-handed
++ # as -z defs.
++ no_undefined_flag='${wl}-z,text'
++ allow_undefined_flag='${wl}-z,nodefs'
++ archive_cmds_need_lc=no
++ hardcode_shlibpath_var=no
++ hardcode_libdir_flag_spec='${wl}-R,$libdir'
++ hardcode_libdir_separator=':'
++ link_all_deplibs=yes
++ export_dynamic_flag_spec='${wl}-Bexport'
++ runpath_var='LD_RUN_PATH'
++
++ if test "$GCC" = yes; then
++ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ fi
++ ;;
++
++ uts4*)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_shlibpath_var=no
++ ;;
++
++ *)
++ ld_shlibs=no
++ ;;
++ esac
++
++ if test x$host_vendor = xsni; then
++ case $host in
++ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
++ export_dynamic_flag_spec='${wl}-Blargedynsym'
++ ;;
++ esac
++ fi
++ fi
++
++{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
++echo "${ECHO_T}$ld_shlibs" >&6; }
++test "$ld_shlibs" = no && can_build_shared=no
++
++with_gnu_ld=$with_gnu_ld
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++#
++# Do we need to explicitly link libc?
++#
++case "x$archive_cmds_need_lc" in
++x|xyes)
++ # Assume -lc should be added
++ archive_cmds_need_lc=yes
++
++ if test "$enable_shared" = yes && test "$GCC" = yes; then
++ case $archive_cmds in
++ *'~'*)
++ # FIXME: we may have to deal with multi-command sequences.
++ ;;
++ '$CC '*)
++ # Test whether the compiler implicitly links with -lc since on some
++ # systems, -lgcc has to come before -lc. If gcc already passes -lc
++ # to ld, don't add -lc before -lgcc.
++ { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
++echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
++ $RM conftest*
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } 2>conftest.err; then
++ soname=conftest
++ lib=conftest
++ libobjs=conftest.$ac_objext
++ deplibs=
++ wl=$lt_prog_compiler_wl
++ pic_flag=$lt_prog_compiler_pic
++ compiler_flags=-v
++ linker_flags=-v
++ verstring=
++ output_objdir=.
++ libname=conftest
++ lt_save_allow_undefined_flag=$allow_undefined_flag
++ allow_undefined_flag=
++ if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
++ (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }
++ then
++ archive_cmds_need_lc=no
++ else
++ archive_cmds_need_lc=yes
++ fi
++ allow_undefined_flag=$lt_save_allow_undefined_flag
++ else
++ cat conftest.err 1>&5
++ fi
++ $RM conftest*
++ { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
++echo "${ECHO_T}$archive_cmds_need_lc" >&6; }
++ ;;
++ esac
++ fi
++ ;;
++esac
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
++echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
++
++if test "$GCC" = yes; then
++ case $host_os in
++ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
++ *) lt_awk_arg="/^libraries:/" ;;
++ esac
++ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
++ if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
++ # if the path contains ";" then we assume it to be the separator
++ # otherwise default to the standard path separator (i.e. ":") - it is
++ # assumed that no part of a normal pathname contains ";" but that should
++ # okay in the real world where ";" in dirpaths is itself problematic.
++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ # Ok, now we have the path, separated by spaces, we can step through it
++ # and add multilib dir if necessary.
++ lt_tmp_lt_search_path_spec=
++ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
++ for lt_sys_path in $lt_search_path_spec; do
++ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
++ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
++ else
++ test -d "$lt_sys_path" && \
++ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
++ fi
++ done
++ lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
++BEGIN {RS=" "; FS="/|\n";} {
++ lt_foo="";
++ lt_count=0;
++ for (lt_i = NF; lt_i > 0; lt_i--) {
++ if ($lt_i != "" && $lt_i != ".") {
++ if ($lt_i == "..") {
++ lt_count++;
++ } else {
++ if (lt_count == 0) {
++ lt_foo="/" $lt_i lt_foo;
++ } else {
++ lt_count--;
++ }
++ }
++ }
++ }
++ if (lt_foo != "") { lt_freq[lt_foo]++; }
++ if (lt_freq[lt_foo] == 1) { print lt_foo; }
++}'`
++ sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
++else
++ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
++fi
++library_names_spec=
++libname_spec='lib$name'
++soname_spec=
++shrext_cmds=".so"
++postinstall_cmds=
++postuninstall_cmds=
++finish_cmds=
++finish_eval=
++shlibpath_var=
++shlibpath_overrides_runpath=unknown
++version_type=none
++dynamic_linker="$host_os ld.so"
++sys_lib_dlsearch_path_spec="/lib /usr/lib"
++need_lib_prefix=unknown
++hardcode_into_libs=no
++
++# when you set need_version to no, make sure it does not cause -set_version
++# flags to be left without arguments
++need_version=unknown
++
++case $host_os in
++aix3*)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
++ shlibpath_var=LIBPATH
++
++ # AIX 3 has no versioning support, so we append a major version to the name.
++ soname_spec='${libname}${release}${shared_ext}$major'
++ ;;
++
++aix[4-9]*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ hardcode_into_libs=yes
++ if test "$host_cpu" = ia64; then
++ # AIX 5 supports IA64
++ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ else
++ # With GCC up to 2.95.x, collect2 would create an import file
++ # for dependence libraries. The import file would start with
++ # the line `#! .'. This would cause the generated library to
++ # depend on `.', always an invalid library. This was fixed in
++ # development snapshots of GCC prior to 3.0.
++ case $host_os in
++ aix4 | aix4.[01] | aix4.[01].*)
++ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
++ echo ' yes '
++ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
++ :
++ else
++ can_build_shared=no
++ fi
++ ;;
++ esac
++ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
++ # soname into executable. Probably we can add versioning support to
++ # collect2, so additional links can be useful in future.
++ if test "$aix_use_runtimelinking" = yes; then
++ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
++ # instead of lib<name>.a to let people know that these are not
++ # typical AIX shared libraries.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ else
++ # We preserve .a as extension for shared libraries through AIX4.2
++ # and later when we are not doing run time linking.
++ library_names_spec='${libname}${release}.a $libname.a'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ fi
++ shlibpath_var=LIBPATH
++ fi
++ ;;
++
++amigaos*)
++ case $host_cpu in
++ powerpc)
++ # Since July 2007 AmigaOS4 officially supports .so libraries.
++ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ ;;
++ m68k)
++ library_names_spec='$libname.ixlibrary $libname.a'
++ # Create ${libname}_ixlibrary.a entries in /sys/libs.
++ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
++ ;;
++ esac
++ ;;
++
++beos*)
++ library_names_spec='${libname}${shared_ext}'
++ dynamic_linker="$host_os ld.so"
++ shlibpath_var=LIBRARY_PATH
++ ;;
++
++bsdi[45]*)
++ version_type=linux
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
++ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
++ # the default ld.so.conf also contains /usr/contrib/lib and
++ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
++ # libtool to hard-code these into programs
++ ;;
++
++cygwin* | mingw* | pw32*)
++ version_type=windows
++ shrext_cmds=".dll"
++ need_version=no
++ need_lib_prefix=no
++
++ case $GCC,$host_os in
++ yes,cygwin* | yes,mingw* | yes,pw32*)
++ library_names_spec='$libname.dll.a'
++ # DLL is installed to $(libdir)/../bin by postinstall_cmds
++ postinstall_cmds='base_file=`basename \${file}`~
++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
++ dldir=$destdir/`dirname \$dlpath`~
++ test -d \$dldir || mkdir -p \$dldir~
++ $install_prog $dir/$dlname \$dldir/$dlname~
++ chmod a+x \$dldir/$dlname~
++ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
++ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
++ fi'
++ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
++ dlpath=$dir/\$dldll~
++ $RM \$dlpath'
++ shlibpath_overrides_runpath=yes
++
++ case $host_os in
++ cygwin*)
++ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
++ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
++ ;;
++ mingw*)
++ # MinGW DLLs use traditional 'lib' prefix
++ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
++ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
++ # It is most probably a Windows format PATH printed by
++ # mingw gcc, but we are running on Cygwin. Gcc prints its search
++ # path with ; separators, and with drive letters. We can handle the
++ # drive letters (cygwin fileutils understands them), so leave them,
++ # especially as we might pass files found there to a mingw objdump,
++ # which wouldn't understand a cygwinified path. Ahh.
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ ;;
++ pw32*)
++ # pw32 DLLs use 'pw' prefix rather than 'lib'
++ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
++ ;;
++ esac
++ ;;
++
++ *)
++ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
++ ;;
++ esac
++ dynamic_linker='Win32 ld.exe'
++ # FIXME: first we should search . and the directory the executable is in
++ shlibpath_var=PATH
++ ;;
++
++darwin* | rhapsody*)
++ dynamic_linker="$host_os dyld"
++ version_type=darwin
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
++ soname_spec='${libname}${release}${major}$shared_ext'
++ shlibpath_overrides_runpath=yes
++ shlibpath_var=DYLD_LIBRARY_PATH
++ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
++
++ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
++ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
++ ;;
++
++dgux*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ ;;
++
++freebsd1*)
++ dynamic_linker=no
++ ;;
++
++freebsd* | dragonfly*)
++ # DragonFly does not have aout. When/if they implement a new
++ # versioning mechanism, adjust this.
++ if test -x /usr/bin/objformat; then
++ objformat=`/usr/bin/objformat`
++ else
++ case $host_os in
++ freebsd[123]*) objformat=aout ;;
++ *) objformat=elf ;;
++ esac
++ fi
++ version_type=freebsd-$objformat
++ case $version_type in
++ freebsd-elf*)
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
++ need_version=no
++ need_lib_prefix=no
++ ;;
++ freebsd-*)
++ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
++ need_version=yes
++ ;;
++ esac
++ shlibpath_var=LD_LIBRARY_PATH
++ case $host_os in
++ freebsd2*)
++ shlibpath_overrides_runpath=yes
++ ;;
++ freebsd3.[01]* | freebsdelf3.[01]*)
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ ;;
++ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
++ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ ;;
++ *) # from 4.6 on, and DragonFly
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ ;;
++ esac
++ ;;
++
++gnu*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ hardcode_into_libs=yes
++ ;;
++
++hpux9* | hpux10* | hpux11*)
++ # Give a soname corresponding to the major version so that dld.sl refuses to
++ # link against other versions.
++ version_type=sunos
++ need_lib_prefix=no
++ need_version=no
++ case $host_cpu in
++ ia64*)
++ shrext_cmds='.so'
++ hardcode_into_libs=yes
++ dynamic_linker="$host_os dld.so"
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ if test "X$HPUX_IA64_MODE" = X32; then
++ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
++ else
++ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
++ fi
++ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
++ ;;
++ hppa*64*)
++ shrext_cmds='.sl'
++ hardcode_into_libs=yes
++ dynamic_linker="$host_os dld.sl"
++ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
++ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
++ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
++ ;;
++ *)
++ shrext_cmds='.sl'
++ dynamic_linker="$host_os dld.sl"
++ shlibpath_var=SHLIB_PATH
++ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ ;;
++ esac
++ # HP-UX runs *really* slowly unless shared libraries are mode 555.
++ postinstall_cmds='chmod 555 $lib'
++ ;;
++
++interix[3-9]*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ ;;
++
++irix5* | irix6* | nonstopux*)
++ case $host_os in
++ nonstopux*) version_type=nonstopux ;;
++ *)
++ if test "$lt_cv_prog_gnu_ld" = yes; then
++ version_type=linux
++ else
++ version_type=irix
++ fi ;;
++ esac
++ need_lib_prefix=no
++ need_version=no
++ soname_spec='${libname}${release}${shared_ext}$major'
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
++ case $host_os in
++ irix5* | nonstopux*)
++ libsuff= shlibsuff=
++ ;;
++ *)
++ case $LD in # libtool.m4 will add one of these switches to LD
++ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
++ libsuff= shlibsuff= libmagic=32-bit;;
++ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
++ libsuff=32 shlibsuff=N32 libmagic=N32;;
++ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
++ libsuff=64 shlibsuff=64 libmagic=64-bit;;
++ *) libsuff= shlibsuff= libmagic=never-match;;
++ esac
++ ;;
++ esac
++ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
++ shlibpath_overrides_runpath=no
++ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
++ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
++ hardcode_into_libs=yes
++ ;;
++
++# No shared lib support for Linux oldld, aout, or coff.
++linux*oldld* | linux*aout* | linux*coff*)
++ dynamic_linker=no
++ ;;
++
++# This must be Linux ELF.
++linux* | k*bsd*-gnu)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ # Some binutils ld are patched to set DT_RUNPATH
++ save_LDFLAGS=$LDFLAGS
++ save_libdir=$libdir
++ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
++ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
++ shlibpath_overrides_runpath=yes
++fi
++
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ LDFLAGS=$save_LDFLAGS
++ libdir=$save_libdir
++
++ # This implies no fast_install, which is unacceptable.
++ # Some rework will be needed to allow for fast_install
++ # before this can be enabled.
++ hardcode_into_libs=yes
++
++ # Append ld.so.conf contents to the search path
++ if test -f /etc/ld.so.conf; then
++ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
++ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
++ fi
++
++ # We used to test for /lib/ld.so.1 and disable shared libraries on
++ # powerpc, because MkLinux only supported shared libraries with the
++ # GNU dynamic linker. Since this was broken with cross compilers,
++ # most powerpc-linux boxes support dynamic linking these days and
++ # people can always --disable-shared, the test was removed, and we
++ # assume the GNU/Linux dynamic linker is in use.
++ dynamic_linker='GNU/Linux ld.so'
++ ;;
++
++netbsd*)
++ version_type=sunos
++ need_lib_prefix=no
++ need_version=no
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
++ dynamic_linker='NetBSD (a.out) ld.so'
++ else
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ dynamic_linker='NetBSD ld.elf_so'
++ fi
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ ;;
++
++newsos6)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ ;;
++
++*nto* | *qnx*)
++ version_type=qnx
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ dynamic_linker='ldqnx.so'
++ ;;
++
++openbsd*)
++ version_type=sunos
++ sys_lib_dlsearch_path_spec="/usr/lib"
++ need_lib_prefix=no
++ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
++ case $host_os in
++ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
++ *) need_version=no ;;
++ esac
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ case $host_os in
++ openbsd2.[89] | openbsd2.[89].*)
++ shlibpath_overrides_runpath=no
++ ;;
++ *)
++ shlibpath_overrides_runpath=yes
++ ;;
++ esac
++ else
++ shlibpath_overrides_runpath=yes
++ fi
++ ;;
++
++os2*)
++ libname_spec='$name'
++ shrext_cmds=".dll"
++ need_lib_prefix=no
++ library_names_spec='$libname${shared_ext} $libname.a'
++ dynamic_linker='OS/2 ld.exe'
++ shlibpath_var=LIBPATH
++ ;;
++
++osf3* | osf4* | osf5*)
++ version_type=osf
++ need_lib_prefix=no
++ need_version=no
++ soname_spec='${libname}${release}${shared_ext}$major'
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
++ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
++ ;;
++
++rdos*)
++ dynamic_linker=no
++ ;;
++
++solaris*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ # ldd complains unless libraries are executable
++ postinstall_cmds='chmod +x $lib'
++ ;;
++
++sunos4*)
++ version_type=sunos
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
++ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ if test "$with_gnu_ld" = yes; then
++ need_lib_prefix=no
++ fi
++ need_version=yes
++ ;;
++
++sysv4 | sysv4.3*)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ case $host_vendor in
++ sni)
++ shlibpath_overrides_runpath=no
++ need_lib_prefix=no
++ runpath_var=LD_RUN_PATH
++ ;;
++ siemens)
++ need_lib_prefix=no
++ ;;
++ motorola)
++ need_lib_prefix=no
++ need_version=no
++ shlibpath_overrides_runpath=no
++ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
++ ;;
++ esac
++ ;;
++
++sysv4*MP*)
++ if test -d /usr/nec ;then
++ version_type=linux
++ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
++ soname_spec='$libname${shared_ext}.$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ fi
++ ;;
++
++sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
++ version_type=freebsd-elf
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ hardcode_into_libs=yes
++ if test "$with_gnu_ld" = yes; then
++ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
++ else
++ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
++ case $host_os in
++ sco3.2v5*)
++ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
++ ;;
++ esac
++ fi
++ sys_lib_dlsearch_path_spec='/usr/lib'
++ ;;
++
++tpf*)
++ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ ;;
++
++uts4*)
++ version_type=linux
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ ;;
++
++*)
++ dynamic_linker=no
++ ;;
++esac
++{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
++echo "${ECHO_T}$dynamic_linker" >&6; }
++test "$dynamic_linker" = no && can_build_shared=no
++
++variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
++if test "$GCC" = yes; then
++ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
++fi
++
++if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
++ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
++fi
++if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
++ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
++echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
++hardcode_action=
++if test -n "$hardcode_libdir_flag_spec" ||
++ test -n "$runpath_var" ||
++ test "X$hardcode_automatic" = "Xyes" ; then
++
++ # We can hardcode non-existent directories.
++ if test "$hardcode_direct" != no &&
++ # If the only mechanism to avoid hardcoding is shlibpath_var, we
++ # have to relink, otherwise we might link with an installed library
++ # when we should be linking with a yet-to-be-installed one
++ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
++ test "$hardcode_minus_L" != no; then
++ # Linking always hardcodes the temporary library directory.
++ hardcode_action=relink
++ else
++ # We can link without hardcoding, and we can hardcode nonexisting dirs.
++ hardcode_action=immediate
++ fi
++else
++ # We cannot hardcode anything, or else we can only hardcode existing
++ # directories.
++ hardcode_action=unsupported
++fi
++{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
++echo "${ECHO_T}$hardcode_action" >&6; }
++
++if test "$hardcode_action" = relink ||
++ test "$inherit_rpath" = yes; then
++ # Fast installation is not supported
++ enable_fast_install=no
++elif test "$shlibpath_overrides_runpath" = yes ||
++ test "$enable_shared" = no; then
++ # Fast installation is not necessary
++ enable_fast_install=needless
++fi
++
++
++
++
++
++
++ if test "x$enable_dlopen" != xyes; then
++ enable_dlopen=unknown
++ enable_dlopen_self=unknown
++ enable_dlopen_self_static=unknown
++else
++ lt_cv_dlopen=no
++ lt_cv_dlopen_libs=
++
++ case $host_os in
++ beos*)
++ lt_cv_dlopen="load_add_on"
++ lt_cv_dlopen_libs=
++ lt_cv_dlopen_self=yes
++ ;;
++
++ mingw* | pw32*)
++ lt_cv_dlopen="LoadLibrary"
++ lt_cv_dlopen_libs=
++ ;;
++
++ cygwin*)
++ lt_cv_dlopen="dlopen"
++ lt_cv_dlopen_libs=
++ ;;
++
++ darwin*)
++ # if libdl is installed we need to link against it
++ { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
++echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_dl_dlopen+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++int
++main ()
++{
++return dlopen ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_dl_dlopen=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_dl_dlopen=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
++echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
++if test $ac_cv_lib_dl_dlopen = yes; then
++ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
++else
++
++ lt_cv_dlopen="dyld"
++ lt_cv_dlopen_libs=
++ lt_cv_dlopen_self=yes
++
++fi
++
++ ;;
++
++ *)
++ { echo "$as_me:$LINENO: checking for shl_load" >&5
++echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
++if test "${ac_cv_func_shl_load+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define shl_load innocuous_shl_load
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char shl_load (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef shl_load
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char shl_load ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_shl_load || defined __stub___shl_load
++choke me
++#endif
++
++int
++main ()
++{
++return shl_load ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func_shl_load=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_func_shl_load=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
++echo "${ECHO_T}$ac_cv_func_shl_load" >&6; }
++if test $ac_cv_func_shl_load = yes; then
++ lt_cv_dlopen="shl_load"
++else
++ { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
++echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
++if test "${ac_cv_lib_dld_shl_load+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldld $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char shl_load ();
++int
++main ()
++{
++return shl_load ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_dld_shl_load=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_dld_shl_load=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
++echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
++if test $ac_cv_lib_dld_shl_load = yes; then
++ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
++else
++ { echo "$as_me:$LINENO: checking for dlopen" >&5
++echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
++if test "${ac_cv_func_dlopen+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define dlopen innocuous_dlopen
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char dlopen (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef dlopen
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_dlopen || defined __stub___dlopen
++choke me
++#endif
++
++int
++main ()
++{
++return dlopen ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func_dlopen=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_func_dlopen=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
++echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
++if test $ac_cv_func_dlopen = yes; then
++ lt_cv_dlopen="dlopen"
++else
++ { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
++echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_dl_dlopen+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++int
++main ()
++{
++return dlopen ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_dl_dlopen=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_dl_dlopen=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
++echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
++if test $ac_cv_lib_dl_dlopen = yes; then
++ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
++else
++ { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
++echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
++if test "${ac_cv_lib_svld_dlopen+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lsvld $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++int
++main ()
++{
++return dlopen ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_svld_dlopen=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_svld_dlopen=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
++echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; }
++if test $ac_cv_lib_svld_dlopen = yes; then
++ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
++else
++ { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
++echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; }
++if test "${ac_cv_lib_dld_dld_link+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldld $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dld_link ();
++int
++main ()
++{
++return dld_link ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_dld_dld_link=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_dld_dld_link=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
++echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
++if test $ac_cv_lib_dld_dld_link = yes; then
++ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
++fi
++
++
++fi
++
++
++fi
++
++
++fi
++
++
++fi
++
++
++fi
++
++ ;;
++ esac
++
++ if test "x$lt_cv_dlopen" != xno; then
++ enable_dlopen=yes
++ else
++ enable_dlopen=no
++ fi
++
++ case $lt_cv_dlopen in
++ dlopen)
++ save_CPPFLAGS="$CPPFLAGS"
++ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
++
++ save_LDFLAGS="$LDFLAGS"
++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
++
++ save_LIBS="$LIBS"
++ LIBS="$lt_cv_dlopen_libs $LIBS"
++
++ { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
++echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; }
++if test "${lt_cv_dlopen_self+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test "$cross_compiling" = yes; then :
++ lt_cv_dlopen_self=cross
++else
++ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
++ lt_status=$lt_dlunknown
++ cat > conftest.$ac_ext <<_LT_EOF
++#line __oline__ "configure"
++#include "confdefs.h"
++
++#if HAVE_DLFCN_H
++#include <dlfcn.h>
++#endif
++
++#include <stdio.h>
++
++#ifdef RTLD_GLOBAL
++# define LT_DLGLOBAL RTLD_GLOBAL
++#else
++# ifdef DL_GLOBAL
++# define LT_DLGLOBAL DL_GLOBAL
++# else
++# define LT_DLGLOBAL 0
++# endif
++#endif
++
++/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
++ find out it does not work in some platform. */
++#ifndef LT_DLLAZY_OR_NOW
++# ifdef RTLD_LAZY
++# define LT_DLLAZY_OR_NOW RTLD_LAZY
++# else
++# ifdef DL_LAZY
++# define LT_DLLAZY_OR_NOW DL_LAZY
++# else
++# ifdef RTLD_NOW
++# define LT_DLLAZY_OR_NOW RTLD_NOW
++# else
++# ifdef DL_NOW
++# define LT_DLLAZY_OR_NOW DL_NOW
++# else
++# define LT_DLLAZY_OR_NOW 0
++# endif
++# endif
++# endif
++# endif
++#endif
++
++#ifdef __cplusplus
++extern "C" void exit (int);
++#endif
++
++void fnord() { int i=42;}
++int main ()
++{
++ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
++ int status = $lt_dlunknown;
++
++ if (self)
++ {
++ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
++ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
++ /* dlclose (self); */
++ }
++ else
++ puts (dlerror ());
++
++ exit (status);
++}
++_LT_EOF
++ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
++ (./conftest; exit; ) >&5 2>/dev/null
++ lt_status=$?
++ case x$lt_status in
++ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
++ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
++ x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
++ esac
++ else :
++ # compilation failed
++ lt_cv_dlopen_self=no
++ fi
++fi
++rm -fr conftest*
++
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
++echo "${ECHO_T}$lt_cv_dlopen_self" >&6; }
++
++ if test "x$lt_cv_dlopen_self" = xyes; then
++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
++ { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
++echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; }
++if test "${lt_cv_dlopen_self_static+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test "$cross_compiling" = yes; then :
++ lt_cv_dlopen_self_static=cross
++else
++ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
++ lt_status=$lt_dlunknown
++ cat > conftest.$ac_ext <<_LT_EOF
++#line __oline__ "configure"
++#include "confdefs.h"
++
++#if HAVE_DLFCN_H
++#include <dlfcn.h>
++#endif
++
++#include <stdio.h>
++
++#ifdef RTLD_GLOBAL
++# define LT_DLGLOBAL RTLD_GLOBAL
++#else
++# ifdef DL_GLOBAL
++# define LT_DLGLOBAL DL_GLOBAL
++# else
++# define LT_DLGLOBAL 0
++# endif
++#endif
++
++/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
++ find out it does not work in some platform. */
++#ifndef LT_DLLAZY_OR_NOW
++# ifdef RTLD_LAZY
++# define LT_DLLAZY_OR_NOW RTLD_LAZY
++# else
++# ifdef DL_LAZY
++# define LT_DLLAZY_OR_NOW DL_LAZY
++# else
++# ifdef RTLD_NOW
++# define LT_DLLAZY_OR_NOW RTLD_NOW
++# else
++# ifdef DL_NOW
++# define LT_DLLAZY_OR_NOW DL_NOW
++# else
++# define LT_DLLAZY_OR_NOW 0
++# endif
++# endif
++# endif
++# endif
++#endif
++
++#ifdef __cplusplus
++extern "C" void exit (int);
++#endif
++
++void fnord() { int i=42;}
++int main ()
++{
++ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
++ int status = $lt_dlunknown;
++
++ if (self)
++ {
++ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
++ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
++ /* dlclose (self); */
++ }
++ else
++ puts (dlerror ());
++
++ exit (status);
++}
++_LT_EOF
++ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
++ (./conftest; exit; ) >&5 2>/dev/null
++ lt_status=$?
++ case x$lt_status in
++ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
++ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
++ x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
++ esac
++ else :
++ # compilation failed
++ lt_cv_dlopen_self_static=no
++ fi
++fi
++rm -fr conftest*
++
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
++echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
++ fi
++
++ CPPFLAGS="$save_CPPFLAGS"
++ LDFLAGS="$save_LDFLAGS"
++ LIBS="$save_LIBS"
++ ;;
++ esac
++
++ case $lt_cv_dlopen_self in
++ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
++ *) enable_dlopen_self=unknown ;;
++ esac
++
++ case $lt_cv_dlopen_self_static in
++ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
++ *) enable_dlopen_self_static=unknown ;;
++ esac
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++striplib=
++old_striplib=
++{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
++echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
++if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
++ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
++ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
++ { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++else
++# FIXME - insert some real tests, host_os isn't really good enough
++ case $host_os in
++ darwin*)
++ if test -n "$STRIP" ; then
++ striplib="$STRIP -x"
++ old_striplib="$STRIP -S"
++ { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++ else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++ fi
++ ;;
++ *)
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++ ;;
++ esac
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++ # Report which library types will actually be built
++ { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
++echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
++ { echo "$as_me:$LINENO: result: $can_build_shared" >&5
++echo "${ECHO_T}$can_build_shared" >&6; }
++
++ { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
++echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
++ test "$can_build_shared" = "no" && enable_shared=no
++
++ # On AIX, shared libraries and static libraries use the same namespace, and
++ # are all built from PIC.
++ case $host_os in
++ aix3*)
++ test "$enable_shared" = yes && enable_static=no
++ if test -n "$RANLIB"; then
++ archive_cmds="$archive_cmds~\$RANLIB \$lib"
++ postinstall_cmds='$RANLIB $lib'
++ fi
++ ;;
++
++ aix[4-9]*)
++ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
++ test "$enable_shared" = yes && enable_static=no
++ fi
++ ;;
++ esac
++ { echo "$as_me:$LINENO: result: $enable_shared" >&5
++echo "${ECHO_T}$enable_shared" >&6; }
++
++ { echo "$as_me:$LINENO: checking whether to build static libraries" >&5
++echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
++ # Make sure either enable_shared or enable_static is yes.
++ test "$enable_shared" = yes || enable_static=yes
++ { echo "$as_me:$LINENO: result: $enable_static" >&5
++echo "${ECHO_T}$enable_static" >&6; }
++
++
++
++
++fi
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++CC="$lt_save_CC"
++
++
++
++
++
++
++
++
++
++
++
++
++
++ ac_config_commands="$ac_config_commands libtool"
++
++
++
++
++# Only expand once:
++
++
++# Extract the first word of "ar", so it can be a program name with args.
++set dummy ar; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_path_AR+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ case $AR in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_AR="$AR" # Let the user override the test with a path.
++ ;;
++ *)
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++as_dummy="$PATH:/usr/ccs/bin"
++for as_dir in $as_dummy
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++ test -z "$ac_cv_path_AR" && ac_cv_path_AR="/usr/bin/ar"
++ ;;
++esac
++fi
++AR=$ac_cv_path_AR
++if test -n "$AR"; then
++ { echo "$as_me:$LINENO: result: $AR" >&5
++echo "${ECHO_T}$AR" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++
++# Options
++
++
++
++# Check whether --with-tightvnc-filetransfer was given.
++if test "${with_tightvnc_filetransfer+set}" = set; then
++ withval=$with_tightvnc_filetransfer;
++else
++ with_tightvnc_filetransfer=yes
++fi
++
++# AC_DEFINE moved to after libpthread check.
++
++
++
++
++# Check whether --with-24bpp was given.
++if test "${with_24bpp+set}" = set; then
++ withval=$with_24bpp;
++else
++ with_24bpp=yes
++fi
++
++if test "x$with_24bpp" = "xyes"; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define ALLOW24BPP 1
++_ACEOF
++
++fi
++
++
++
++# Check whether --with-ffmpeg was given.
++if test "${with_ffmpeg+set}" = set; then
++ withval=$with_ffmpeg;
++fi
++
++
++ if test ! -z "$with_ffmpeg"; then
++ WITH_FFMPEG_TRUE=
++ WITH_FFMPEG_FALSE='#'
++else
++ WITH_FFMPEG_TRUE='#'
++ WITH_FFMPEG_FALSE=
++fi
++
++if test ! -z "$with_ffmpeg"; then
++ { echo "$as_me:$LINENO: checking for lame_init in -lmp3lame" >&5
++echo $ECHO_N "checking for lame_init in -lmp3lame... $ECHO_C" >&6; }
++if test "${ac_cv_lib_mp3lame_lame_init+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lmp3lame $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char lame_init ();
++int
++main ()
++{
++return lame_init ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_mp3lame_lame_init=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_mp3lame_lame_init=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_mp3lame_lame_init" >&5
++echo "${ECHO_T}$ac_cv_lib_mp3lame_lame_init" >&6; }
++if test $ac_cv_lib_mp3lame_lame_init = yes; then
++ HAVE_MP3LAME="true"
++else
++ HAVE_MP3LAME="false"
++fi
++
++fi
++ if test "$HAVE_MP3LAME" = "true"; then
++ HAVE_MP3LAME_TRUE=
++ HAVE_MP3LAME_FALSE='#'
++else
++ HAVE_MP3LAME_TRUE='#'
++ HAVE_MP3LAME_FALSE=
++fi
++
++
++# Seem to need this dummy here to induce the 'checking for egrep... grep -E', etc.
++# before it seemed to be inside the with_jpeg conditional.
++if test "${ac_cv_header_thenonexistentheader_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for thenonexistentheader.h" >&5
++echo $ECHO_N "checking for thenonexistentheader.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_thenonexistentheader_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_thenonexistentheader_h" >&5
++echo "${ECHO_T}$ac_cv_header_thenonexistentheader_h" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking thenonexistentheader.h usability" >&5
++echo $ECHO_N "checking thenonexistentheader.h usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <thenonexistentheader.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking thenonexistentheader.h presence" >&5
++echo $ECHO_N "checking thenonexistentheader.h presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <thenonexistentheader.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for thenonexistentheader.h" >&5
++echo $ECHO_N "checking for thenonexistentheader.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_thenonexistentheader_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_thenonexistentheader_h=$ac_header_preproc
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_thenonexistentheader_h" >&5
++echo "${ECHO_T}$ac_cv_header_thenonexistentheader_h" >&6; }
++
++fi
++if test $ac_cv_header_thenonexistentheader_h = yes; then
++ HAVE_THENONEXISTENTHEADER_H="true"
++fi
++
++
++
++# Checks for X libraries
++HAVE_X="false"
++{ echo "$as_me:$LINENO: checking for X" >&5
++echo $ECHO_N "checking for X... $ECHO_C" >&6; }
++
++
++# Check whether --with-x was given.
++if test "${with_x+set}" = set; then
++ withval=$with_x;
++fi
++
++# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
++if test "x$with_x" = xno; then
++ # The user explicitly disabled X.
++ have_x=disabled
++else
++ case $x_includes,$x_libraries in #(
++ *\'*) { { echo "$as_me:$LINENO: error: Cannot use X directory names containing '" >&5
++echo "$as_me: error: Cannot use X directory names containing '" >&2;}
++ { (exit 1); exit 1; }; };; #(
++ *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ # One or both of the vars are not set, and there is no cached value.
++ac_x_includes=no ac_x_libraries=no
++# Standard set of common directories for X headers.
++# Check X11 before X11Rn because it is often a symlink to the current release.
++ac_x_header_dirs=''
++
++if test "$ac_x_includes" = no; then
++ # Guess where to find include files, by looking for Xlib.h.
++ # First, try using that file with no special directory specified.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <X11/Xlib.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ # We can compile using X headers with no special include directory.
++ac_x_includes=
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ for ac_dir in $ac_x_header_dirs; do
++ if test -r "$ac_dir/X11/Xlib.h"; then
++ ac_x_includes=$ac_dir
++ break
++ fi
++done
++fi
++
++rm -f conftest.err conftest.$ac_ext
++fi # $ac_x_includes = no
++
++if test "$ac_x_libraries" = no; then
++ # Check for the libraries.
++ # See if we find them without any special options.
++ # Don't add to $LIBS permanently.
++ ac_save_LIBS=$LIBS
++ LIBS="-lX11 $LIBS"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <X11/Xlib.h>
++int
++main ()
++{
++XrmInitialize ()
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ LIBS=$ac_save_LIBS
++# We can link X programs with no special library path.
++ac_x_libraries=
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ LIBS=$ac_save_LIBS
++for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
++do
++ # Don't even attempt the hair of trying to link an X program!
++ for ac_extension in a so sl; do
++ if test -r "$ac_dir/libX11.$ac_extension"; then
++ ac_x_libraries=$ac_dir
++ break 2
++ fi
++ done
++done
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi # $ac_x_libraries = no
++
++case $ac_x_includes,$ac_x_libraries in #(
++ no,* | *,no | *\'*)
++ # Didn't find X, or a directory has "'" in its name.
++ ac_cv_have_x="have_x=no";; #(
++ *)
++ # Record where we found X for the cache.
++ ac_cv_have_x="have_x=yes\
++ ac_x_includes='$ac_x_includes'\
++ ac_x_libraries='$ac_x_libraries'"
++esac
++fi
++;; #(
++ *) have_x=yes;;
++ esac
++ eval "$ac_cv_have_x"
++fi # $with_x != no
++
++if test "$have_x" != yes; then
++ { echo "$as_me:$LINENO: result: $have_x" >&5
++echo "${ECHO_T}$have_x" >&6; }
++ no_x=yes
++else
++ # If each of the values was on the command line, it overrides each guess.
++ test "x$x_includes" = xNONE && x_includes=$ac_x_includes
++ test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
++ # Update the cache value to reflect the command line values.
++ ac_cv_have_x="have_x=yes\
++ ac_x_includes='$x_includes'\
++ ac_x_libraries='$x_libraries'"
++ { echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5
++echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6; }
++fi
++
++if test "$no_x" = yes; then
++ # Not all programs may use this symbol, but it does not hurt to define it.
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define X_DISPLAY_MISSING 1
++_ACEOF
++
++ X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
++else
++ if test -n "$x_includes"; then
++ X_CFLAGS="$X_CFLAGS -I$x_includes"
++ fi
++
++ # It would also be nice to do this for all -L options, not just this one.
++ if test -n "$x_libraries"; then
++ X_LIBS="$X_LIBS -L$x_libraries"
++ # For Solaris; some versions of Sun CC require a space after -R and
++ # others require no space. Words are not sufficient . . . .
++ { echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5
++echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6; }
++ ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
++ ac_xsave_c_werror_flag=$ac_c_werror_flag
++ ac_c_werror_flag=yes
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++ X_LIBS="$X_LIBS -R$x_libraries"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ LIBS="$ac_xsave_LIBS -R $x_libraries"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++ X_LIBS="$X_LIBS -R $x_libraries"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ { echo "$as_me:$LINENO: result: neither works" >&5
++echo "${ECHO_T}neither works" >&6; }
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ ac_c_werror_flag=$ac_xsave_c_werror_flag
++ LIBS=$ac_xsave_LIBS
++ fi
++
++ # Check for system-dependent libraries X programs must link with.
++ # Do this before checking for the system-independent R6 libraries
++ # (-lICE), since we may need -lsocket or whatever for X linking.
++
++ if test "$ISC" = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
++ else
++ # Martyn Johnson says this is needed for Ultrix, if the X
++ # libraries were built with DECnet support. And Karl Berry says
++ # the Alpha needs dnet_stub (dnet does not exist).
++ ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XOpenDisplay ();
++int
++main ()
++{
++return XOpenDisplay ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ { echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5
++echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6; }
++if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldnet $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dnet_ntoa ();
++int
++main ()
++{
++return dnet_ntoa ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_dnet_dnet_ntoa=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_dnet_dnet_ntoa=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
++echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6; }
++if test $ac_cv_lib_dnet_dnet_ntoa = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
++fi
++
++ if test $ac_cv_lib_dnet_dnet_ntoa = no; then
++ { echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5
++echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6; }
++if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldnet_stub $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dnet_ntoa ();
++int
++main ()
++{
++return dnet_ntoa ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_dnet_stub_dnet_ntoa=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_dnet_stub_dnet_ntoa=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
++echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
++if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
++fi
++
++ fi
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ LIBS="$ac_xsave_LIBS"
++
++ # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
++ # to get the SysV transport functions.
++ # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
++ # needs -lnsl.
++ # The nsl library prevents programs from opening the X display
++ # on Irix 5.2, according to T.E. Dickey.
++ # The functions gethostbyname, getservbyname, and inet_addr are
++ # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
++ { echo "$as_me:$LINENO: checking for gethostbyname" >&5
++echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6; }
++if test "${ac_cv_func_gethostbyname+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define gethostbyname to an innocuous variant, in case <limits.h> declares gethostbyname.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define gethostbyname innocuous_gethostbyname
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char gethostbyname (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef gethostbyname
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char gethostbyname ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_gethostbyname || defined __stub___gethostbyname
++choke me
++#endif
++
++int
++main ()
++{
++return gethostbyname ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func_gethostbyname=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_func_gethostbyname=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6; }
++
++ if test $ac_cv_func_gethostbyname = no; then
++ { echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
++echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lnsl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char gethostbyname ();
++int
++main ()
++{
++return gethostbyname ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_nsl_gethostbyname=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_nsl_gethostbyname=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6; }
++if test $ac_cv_lib_nsl_gethostbyname = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
++fi
++
++ if test $ac_cv_lib_nsl_gethostbyname = no; then
++ { echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5
++echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6; }
++if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lbsd $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char gethostbyname ();
++int
++main ()
++{
++return gethostbyname ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_bsd_gethostbyname=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_bsd_gethostbyname=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6; }
++if test $ac_cv_lib_bsd_gethostbyname = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
++fi
++
++ fi
++ fi
++
++ # lieder@skyler.mavd.honeywell.com says without -lsocket,
++ # socket/setsockopt and other routines are undefined under SCO ODT
++ # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary
++ # on later versions), says Simon Leinen: it contains gethostby*
++ # variants that don't use the name server (or something). -lsocket
++ # must be given before -lnsl if both are needed. We assume that
++ # if connect needs -lnsl, so does gethostbyname.
++ { echo "$as_me:$LINENO: checking for connect" >&5
++echo $ECHO_N "checking for connect... $ECHO_C" >&6; }
++if test "${ac_cv_func_connect+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define connect to an innocuous variant, in case <limits.h> declares connect.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define connect innocuous_connect
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char connect (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef connect
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char connect ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_connect || defined __stub___connect
++choke me
++#endif
++
++int
++main ()
++{
++return connect ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func_connect=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_func_connect=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5
++echo "${ECHO_T}$ac_cv_func_connect" >&6; }
++
++ if test $ac_cv_func_connect = no; then
++ { echo "$as_me:$LINENO: checking for connect in -lsocket" >&5
++echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6; }
++if test "${ac_cv_lib_socket_connect+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char connect ();
++int
++main ()
++{
++return connect ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_socket_connect=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_socket_connect=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5
++echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6; }
++if test $ac_cv_lib_socket_connect = yes; then
++ X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
++fi
++
++ fi
++
++ # Guillermo Gomez says -lposix is necessary on A/UX.
++ { echo "$as_me:$LINENO: checking for remove" >&5
++echo $ECHO_N "checking for remove... $ECHO_C" >&6; }
++if test "${ac_cv_func_remove+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define remove to an innocuous variant, in case <limits.h> declares remove.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define remove innocuous_remove
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char remove (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef remove
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char remove ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_remove || defined __stub___remove
++choke me
++#endif
++
++int
++main ()
++{
++return remove ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func_remove=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_func_remove=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5
++echo "${ECHO_T}$ac_cv_func_remove" >&6; }
++
++ if test $ac_cv_func_remove = no; then
++ { echo "$as_me:$LINENO: checking for remove in -lposix" >&5
++echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6; }
++if test "${ac_cv_lib_posix_remove+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lposix $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char remove ();
++int
++main ()
++{
++return remove ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_posix_remove=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_posix_remove=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5
++echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6; }
++if test $ac_cv_lib_posix_remove = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
++fi
++
++ fi
++
++ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
++ { echo "$as_me:$LINENO: checking for shmat" >&5
++echo $ECHO_N "checking for shmat... $ECHO_C" >&6; }
++if test "${ac_cv_func_shmat+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define shmat to an innocuous variant, in case <limits.h> declares shmat.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define shmat innocuous_shmat
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char shmat (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef shmat
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char shmat ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_shmat || defined __stub___shmat
++choke me
++#endif
++
++int
++main ()
++{
++return shmat ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func_shmat=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_func_shmat=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5
++echo "${ECHO_T}$ac_cv_func_shmat" >&6; }
++
++ if test $ac_cv_func_shmat = no; then
++ { echo "$as_me:$LINENO: checking for shmat in -lipc" >&5
++echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6; }
++if test "${ac_cv_lib_ipc_shmat+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lipc $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char shmat ();
++int
++main ()
++{
++return shmat ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_ipc_shmat=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_ipc_shmat=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5
++echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6; }
++if test $ac_cv_lib_ipc_shmat = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
++fi
++
++ fi
++ fi
++
++ # Check for libraries that X11R6 Xt/Xaw programs need.
++ ac_save_LDFLAGS=$LDFLAGS
++ test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
++ # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
++ # check for ICE first), but we must link in the order -lSM -lICE or
++ # we get undefined symbols. So assume we have SM if we have ICE.
++ # These have to be linked with before -lX11, unlike the other
++ # libraries we check for below, so use a different variable.
++ # John Interrante, Karl Berry
++ { echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5
++echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6; }
++if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lICE $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char IceConnectionNumber ();
++int
++main ()
++{
++return IceConnectionNumber ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_ICE_IceConnectionNumber=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_ICE_IceConnectionNumber=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
++echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
++if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then
++ X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
++fi
++
++ LDFLAGS=$ac_save_LDFLAGS
++
++fi
++
++
++
++
++# See if we are to build x11vnc:
++
++
++
++# Check whether --with-system-libvncserver was given.
++if test "${with_system_libvncserver+set}" = set; then
++ withval=$with_system_libvncserver;
++fi
++
++
++# Check whether --with-x11vnc was given.
++if test "${with_x11vnc+set}" = set; then
++ withval=$with_x11vnc;
++fi
++
++
++if test ! -z "$with_x11vnc" -a "$with_x11vnc" = "yes"; then
++ build_x11vnc="yes"
++elif test "$PACKAGE_NAME" = "x11vnc"; then
++ build_x11vnc="yes"
++else
++ build_x11vnc="no"
++fi
++
++# x11vnc only:
++if test "$build_x11vnc" = "yes"; then
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++# Check whether --with-xkeyboard was given.
++if test "${with_xkeyboard+set}" = set; then
++ withval=$with_xkeyboard;
++fi
++
++
++# Check whether --with-xinerama was given.
++if test "${with_xinerama+set}" = set; then
++ withval=$with_xinerama;
++fi
++
++
++# Check whether --with-xrandr was given.
++if test "${with_xrandr+set}" = set; then
++ withval=$with_xrandr;
++fi
++
++
++# Check whether --with-xfixes was given.
++if test "${with_xfixes+set}" = set; then
++ withval=$with_xfixes;
++fi
++
++
++# Check whether --with-xdamage was given.
++if test "${with_xdamage+set}" = set; then
++ withval=$with_xdamage;
++fi
++
++
++# Check whether --with-xtrap was given.
++if test "${with_xtrap+set}" = set; then
++ withval=$with_xtrap;
++fi
++
++
++# Check whether --with-xrecord was given.
++if test "${with_xrecord+set}" = set; then
++ withval=$with_xrecord;
++fi
++
++
++# Check whether --with-fbpm was given.
++if test "${with_fbpm+set}" = set; then
++ withval=$with_fbpm;
++fi
++
++
++# Check whether --with-dpms was given.
++if test "${with_dpms+set}" = set; then
++ withval=$with_dpms;
++fi
++
++
++# Check whether --with-v4l was given.
++if test "${with_v4l+set}" = set; then
++ withval=$with_v4l;
++fi
++
++
++# Check whether --with-fbdev was given.
++if test "${with_fbdev+set}" = set; then
++ withval=$with_fbdev;
++fi
++
++
++# Check whether --with-uinput was given.
++if test "${with_uinput+set}" = set; then
++ withval=$with_uinput;
++fi
++
++
++# Check whether --with-macosx-native was given.
++if test "${with_macosx_native+set}" = set; then
++ withval=$with_macosx_native;
++fi
++
++
++fi
++# end x11vnc only.
++
++if test "x$with_x" = "xno"; then
++ HAVE_X="false"
++elif test "$X_CFLAGS" != "-DX_DISPLAY_MISSING"; then
++ { echo "$as_me:$LINENO: checking for XGetImage in -lX11" >&5
++echo $ECHO_N "checking for XGetImage in -lX11... $ECHO_C" >&6; }
++if test "${ac_cv_lib_X11_XGetImage+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lX11 $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XGetImage ();
++int
++main ()
++{
++return XGetImage ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_X11_XGetImage=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_X11_XGetImage=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XGetImage" >&5
++echo "${ECHO_T}$ac_cv_lib_X11_XGetImage" >&6; }
++if test $ac_cv_lib_X11_XGetImage = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_X11 1
++_ACEOF
++ HAVE_X="true"
++else
++ HAVE_X="false"
++fi
++
++
++ # x11vnc only:
++ if test $HAVE_X = "true" -a "$build_x11vnc" = "yes"; then
++ X_PRELIBS="$X_PRELIBS -lXext"
++
++ { echo "$as_me:$LINENO: checking for XShmGetImage in -lXext" >&5
++echo $ECHO_N "checking for XShmGetImage in -lXext... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xext_XShmGetImage+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXext $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XShmGetImage ();
++int
++main ()
++{
++return XShmGetImage ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xext_XShmGetImage=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xext_XShmGetImage=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XShmGetImage" >&5
++echo "${ECHO_T}$ac_cv_lib_Xext_XShmGetImage" >&6; }
++if test $ac_cv_lib_Xext_XShmGetImage = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_XSHM 1
++_ACEOF
++
++fi
++
++
++ { echo "$as_me:$LINENO: checking for XReadScreen in -lXext" >&5
++echo $ECHO_N "checking for XReadScreen in -lXext... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xext_XReadScreen+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXext $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XReadScreen ();
++int
++main ()
++{
++return XReadScreen ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xext_XReadScreen=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xext_XReadScreen=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XReadScreen" >&5
++echo "${ECHO_T}$ac_cv_lib_Xext_XReadScreen" >&6; }
++if test $ac_cv_lib_Xext_XReadScreen = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_SOLARIS_XREADSCREEN 1
++_ACEOF
++
++fi
++
++
++ { echo "$as_me:$LINENO: checking for X11/extensions/readdisplay.h" >&5
++echo $ECHO_N "checking for X11/extensions/readdisplay.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_X11_extensions_readdisplay_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <X11/Xlib.h>
++
++@%:@include <X11/extensions/readdisplay.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_X11_extensions_readdisplay_h=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_header_X11_extensions_readdisplay_h=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_readdisplay_h" >&5
++echo "${ECHO_T}$ac_cv_header_X11_extensions_readdisplay_h" >&6; }
++if test $ac_cv_header_X11_extensions_readdisplay_h = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_IRIX_XREADDISPLAY 1
++_ACEOF
++
++fi
++
++
++
++ if test "x$with_fbpm" != "xno"; then
++ { echo "$as_me:$LINENO: checking for FBPMForceLevel in -lXext" >&5
++echo $ECHO_N "checking for FBPMForceLevel in -lXext... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xext_FBPMForceLevel+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXext $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char FBPMForceLevel ();
++int
++main ()
++{
++return FBPMForceLevel ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xext_FBPMForceLevel=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xext_FBPMForceLevel=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_FBPMForceLevel" >&5
++echo "${ECHO_T}$ac_cv_lib_Xext_FBPMForceLevel" >&6; }
++if test $ac_cv_lib_Xext_FBPMForceLevel = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_FBPM 1
++_ACEOF
++
++fi
++
++ fi
++
++ if test "x$with_dpms" != "xno"; then
++ { echo "$as_me:$LINENO: checking for DPMSForceLevel in -lXext" >&5
++echo $ECHO_N "checking for DPMSForceLevel in -lXext... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xext_DPMSForceLevel+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXext $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char DPMSForceLevel ();
++int
++main ()
++{
++return DPMSForceLevel ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xext_DPMSForceLevel=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xext_DPMSForceLevel=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_DPMSForceLevel" >&5
++echo "${ECHO_T}$ac_cv_lib_Xext_DPMSForceLevel" >&6; }
++if test $ac_cv_lib_Xext_DPMSForceLevel = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_DPMS 1
++_ACEOF
++
++fi
++
++ fi
++
++ { echo "$as_me:$LINENO: checking for XTestGrabControl in -lXtst" >&5
++echo $ECHO_N "checking for XTestGrabControl in -lXtst... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xtst_XTestGrabControl+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXtst $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XTestGrabControl ();
++int
++main ()
++{
++return XTestGrabControl ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xtst_XTestGrabControl=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xtst_XTestGrabControl=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xtst_XTestGrabControl" >&5
++echo "${ECHO_T}$ac_cv_lib_Xtst_XTestGrabControl" >&6; }
++if test $ac_cv_lib_Xtst_XTestGrabControl = yes; then
++ X_PRELIBS="-lXtst $X_PRELIBS"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_XTESTGRABCONTROL 1
++_ACEOF
++ HAVE_XTESTGRABCONTROL="true"
++fi
++
++
++ { echo "$as_me:$LINENO: checking for XTestFakeKeyEvent in -lXtst" >&5
++echo $ECHO_N "checking for XTestFakeKeyEvent in -lXtst... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xtst_XTestFakeKeyEvent+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXtst $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XTestFakeKeyEvent ();
++int
++main ()
++{
++return XTestFakeKeyEvent ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xtst_XTestFakeKeyEvent=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xtst_XTestFakeKeyEvent=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xtst_XTestFakeKeyEvent" >&5
++echo "${ECHO_T}$ac_cv_lib_Xtst_XTestFakeKeyEvent" >&6; }
++if test $ac_cv_lib_Xtst_XTestFakeKeyEvent = yes; then
++ X_PRELIBS="-lXtst $X_PRELIBS"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_XTEST 1
++_ACEOF
++ HAVE_XTEST="true"
++fi
++
++
++ if test "x$with_xrecord" != "xno"; then
++ { echo "$as_me:$LINENO: checking for XRecordEnableContextAsync in -lXtst" >&5
++echo $ECHO_N "checking for XRecordEnableContextAsync in -lXtst... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xtst_XRecordEnableContextAsync+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXtst $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XRecordEnableContextAsync ();
++int
++main ()
++{
++return XRecordEnableContextAsync ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xtst_XRecordEnableContextAsync=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xtst_XRecordEnableContextAsync=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xtst_XRecordEnableContextAsync" >&5
++echo "${ECHO_T}$ac_cv_lib_Xtst_XRecordEnableContextAsync" >&6; }
++if test $ac_cv_lib_Xtst_XRecordEnableContextAsync = yes; then
++ X_PRELIBS="-lXtst $X_PRELIBS"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_RECORD 1
++_ACEOF
++
++fi
++
++ fi
++
++ # we use XTRAP on X11R5, or user can set X11VNC_USE_XTRAP
++ if test "x$with_xtrap" != "xno"; then
++ if test ! -z "$X11VNC_USE_XTRAP" -o -z "$HAVE_XTESTGRABCONTROL"; then
++ { echo "$as_me:$LINENO: checking for XETrapSetGrabServer in -lXTrap" >&5
++echo $ECHO_N "checking for XETrapSetGrabServer in -lXTrap... $ECHO_C" >&6; }
++if test "${ac_cv_lib_XTrap_XETrapSetGrabServer+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXTrap $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XETrapSetGrabServer ();
++int
++main ()
++{
++return XETrapSetGrabServer ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_XTrap_XETrapSetGrabServer=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_XTrap_XETrapSetGrabServer=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_XTrap_XETrapSetGrabServer" >&5
++echo "${ECHO_T}$ac_cv_lib_XTrap_XETrapSetGrabServer" >&6; }
++if test $ac_cv_lib_XTrap_XETrapSetGrabServer = yes; then
++ X_PRELIBS="$X_PRELIBS -lXTrap"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBXTRAP 1
++_ACEOF
++
++fi
++
++ # tru64 uses libXETrap.so
++ { echo "$as_me:$LINENO: checking for XETrapSetGrabServer in -lXETrap" >&5
++echo $ECHO_N "checking for XETrapSetGrabServer in -lXETrap... $ECHO_C" >&6; }
++if test "${ac_cv_lib_XETrap_XETrapSetGrabServer+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXETrap $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XETrapSetGrabServer ();
++int
++main ()
++{
++return XETrapSetGrabServer ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_XETrap_XETrapSetGrabServer=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_XETrap_XETrapSetGrabServer=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_XETrap_XETrapSetGrabServer" >&5
++echo "${ECHO_T}$ac_cv_lib_XETrap_XETrapSetGrabServer" >&6; }
++if test $ac_cv_lib_XETrap_XETrapSetGrabServer = yes; then
++ X_PRELIBS="$X_PRELIBS -lXETrap"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBXTRAP 1
++_ACEOF
++
++fi
++
++ fi
++ fi
++
++ if test "x$with_xkeyboard" != "xno"; then
++ saved_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
++ { echo "$as_me:$LINENO: checking for X11/XKBlib.h" >&5
++echo $ECHO_N "checking for X11/XKBlib.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_X11_XKBlib_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <X11/Xlib.h>
++
++@%:@include <X11/XKBlib.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_X11_XKBlib_h=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_header_X11_XKBlib_h=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_XKBlib_h" >&5
++echo "${ECHO_T}$ac_cv_header_X11_XKBlib_h" >&6; }
++if test $ac_cv_header_X11_XKBlib_h = yes; then
++ HAVE_XKBLIB_H="true"
++else
++ HAVE_XKBLIB_H="false"
++fi
++
++
++ CPPFLAGS="$saved_CPPFLAGS"
++ if test $HAVE_XKBLIB_H = "true"; then
++ { echo "$as_me:$LINENO: checking for XkbSelectEvents in -lX11" >&5
++echo $ECHO_N "checking for XkbSelectEvents in -lX11... $ECHO_C" >&6; }
++if test "${ac_cv_lib_X11_XkbSelectEvents+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lX11 $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XkbSelectEvents ();
++int
++main ()
++{
++return XkbSelectEvents ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_X11_XkbSelectEvents=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_X11_XkbSelectEvents=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XkbSelectEvents" >&5
++echo "${ECHO_T}$ac_cv_lib_X11_XkbSelectEvents" >&6; }
++if test $ac_cv_lib_X11_XkbSelectEvents = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_XKEYBOARD 1
++_ACEOF
++
++fi
++
++ fi
++ fi
++
++ if test "x$with_xinerama" != "xno"; then
++ { echo "$as_me:$LINENO: checking for XineramaQueryScreens in -lXinerama" >&5
++echo $ECHO_N "checking for XineramaQueryScreens in -lXinerama... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xinerama_XineramaQueryScreens+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXinerama $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XineramaQueryScreens ();
++int
++main ()
++{
++return XineramaQueryScreens ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xinerama_XineramaQueryScreens=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xinerama_XineramaQueryScreens=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xinerama_XineramaQueryScreens" >&5
++echo "${ECHO_T}$ac_cv_lib_Xinerama_XineramaQueryScreens" >&6; }
++if test $ac_cv_lib_Xinerama_XineramaQueryScreens = yes; then
++ X_PRELIBS="$X_PRELIBS -lXinerama"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBXINERAMA 1
++_ACEOF
++
++fi
++
++ fi
++
++ if test "x$with_xrandr" != "xno"; then
++ { echo "$as_me:$LINENO: checking for XRRSelectInput in -lXrandr" >&5
++echo $ECHO_N "checking for XRRSelectInput in -lXrandr... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xrandr_XRRSelectInput+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXrandr $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XRRSelectInput ();
++int
++main ()
++{
++return XRRSelectInput ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xrandr_XRRSelectInput=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xrandr_XRRSelectInput=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xrandr_XRRSelectInput" >&5
++echo "${ECHO_T}$ac_cv_lib_Xrandr_XRRSelectInput" >&6; }
++if test $ac_cv_lib_Xrandr_XRRSelectInput = yes; then
++ X_PRELIBS="$X_PRELIBS -lXrandr"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBXRANDR 1
++_ACEOF
++
++fi
++
++ fi
++
++ if test "x$with_xfixes" != "xno"; then
++ { echo "$as_me:$LINENO: checking for XFixesGetCursorImage in -lXfixes" >&5
++echo $ECHO_N "checking for XFixesGetCursorImage in -lXfixes... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xfixes_XFixesGetCursorImage+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXfixes $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XFixesGetCursorImage ();
++int
++main ()
++{
++return XFixesGetCursorImage ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xfixes_XFixesGetCursorImage=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xfixes_XFixesGetCursorImage=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xfixes_XFixesGetCursorImage" >&5
++echo "${ECHO_T}$ac_cv_lib_Xfixes_XFixesGetCursorImage" >&6; }
++if test $ac_cv_lib_Xfixes_XFixesGetCursorImage = yes; then
++ X_PRELIBS="$X_PRELIBS -lXfixes"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBXFIXES 1
++_ACEOF
++ HAVE_LIBXFIXES="true"
++fi
++
++ fi
++
++ if test "x$with_xdamage" != "xno"; then
++ { echo "$as_me:$LINENO: checking for XDamageQueryExtension in -lXdamage" >&5
++echo $ECHO_N "checking for XDamageQueryExtension in -lXdamage... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xdamage_XDamageQueryExtension+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXdamage $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XDamageQueryExtension ();
++int
++main ()
++{
++return XDamageQueryExtension ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xdamage_XDamageQueryExtension=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_Xdamage_XDamageQueryExtension=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xdamage_XDamageQueryExtension" >&5
++echo "${ECHO_T}$ac_cv_lib_Xdamage_XDamageQueryExtension" >&6; }
++if test $ac_cv_lib_Xdamage_XDamageQueryExtension = yes; then
++ X_PRELIBS="$X_PRELIBS -lXdamage"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBXDAMAGE 1
++_ACEOF
++ HAVE_LIBXDAMAGE="true"
++fi
++
++ fi
++
++ if test ! -z "$HAVE_LIBXFIXES" -o ! -z "$HAVE_LIBXDAMAGE"; then
++ # need /usr/sfw/lib in RPATH for Solaris 10 and later
++ case `(uname -sr) 2>/dev/null` in
++ "SunOS 5"*) X_EXTRA_LIBS="$X_EXTRA_LIBS -R/usr/sfw/lib" ;;
++ esac
++ fi
++
++ X_LIBS="$X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS"
++ fi
++ # end x11vnc only.
++fi
++
++
++ if test $HAVE_X != "false"; then
++ HAVE_X_TRUE=
++ HAVE_X_FALSE='#'
++else
++ HAVE_X_TRUE='#'
++ HAVE_X_FALSE=
++fi
++
++
++# x11vnc only:
++if test "$build_x11vnc" = "yes"; then
++
++if test "x$HAVE_X" = "xfalse" -a "x$with_x" != "xno"; then
++ { { echo "$as_me:$LINENO: error:
++==========================================================================
++A working X window system build environment is required to build x11vnc.
++Make sure any required X development packages are installed. If they are
++installed in non-standard locations, one can use the --x-includes=DIR
++and --x-libraries=DIR configure options or set the CPPFLAGS and LDFLAGS
++environment variables to indicate where the X window system header files
++and libraries may be found. On 64+32 bit machines you may need to point
++to lib64 or lib32 directories to pick up the correct word size.
++
++If you want to build x11vnc without X support (e.g. for -rawfb use only
++or for native Mac OS X), specify the --without-x configure option.
++==========================================================================
++" >&5
++echo "$as_me: error:
++==========================================================================
++A working X window system build environment is required to build x11vnc.
++Make sure any required X development packages are installed. If they are
++installed in non-standard locations, one can use the --x-includes=DIR
++and --x-libraries=DIR configure options or set the CPPFLAGS and LDFLAGS
++environment variables to indicate where the X window system header files
++and libraries may be found. On 64+32 bit machines you may need to point
++to lib64 or lib32 directories to pick up the correct word size.
++
++If you want to build x11vnc without X support (e.g. for -rawfb use only
++or for native Mac OS X), specify the --without-x configure option.
++==========================================================================
++" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++if test "x$HAVE_X" = "xtrue" -a "x$HAVE_XTEST" != "xtrue"; then
++ { echo "$as_me:$LINENO: WARNING:
++==========================================================================
++A working build environment for the XTEST extension was not found (libXtst).
++An x11vnc built this way will be only barely usable. You will be able to
++move the mouse but not click or type. There can also be deadlocks if an
++application grabs the X server.
++
++It is recommended that you install the necessary development packages
++for XTEST (perhaps it is named something like libxtst-dev) and run
++configure again.
++==========================================================================
++" >&5
++echo "$as_me: WARNING:
++==========================================================================
++A working build environment for the XTEST extension was not found (libXtst).
++An x11vnc built this way will be only barely usable. You will be able to
++move the mouse but not click or type. There can also be deadlocks if an
++application grabs the X server.
++
++It is recommended that you install the necessary development packages
++for XTEST (perhaps it is named something like libxtst-dev) and run
++configure again.
++==========================================================================
++" >&2;}
++fi
++
++
++
++
++# Check whether --with-crypt was given.
++if test "${with_crypt+set}" = set; then
++ withval=$with_crypt;
++fi
++
++if test "x$with_crypt" != "xno"; then
++
++for ac_func in crypt
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
++
++int
++main ()
++{
++return $ac_func ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ eval "$as_ac_var=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_var=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++ac_res=`eval echo '${'$as_ac_var'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++ HAVE_LIBC_CRYPT="true"
++fi
++done
++
++ if test -z "$HAVE_LIBC_CRYPT"; then
++ { echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5
++echo $ECHO_N "checking for crypt in -lcrypt... $ECHO_C" >&6; }
++if test "${ac_cv_lib_crypt_crypt+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lcrypt $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char crypt ();
++int
++main ()
++{
++return crypt ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_crypt_crypt=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_crypt_crypt=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_crypt_crypt" >&5
++echo "${ECHO_T}$ac_cv_lib_crypt_crypt" >&6; }
++if test $ac_cv_lib_crypt_crypt = yes; then
++ CRYPT_LIBS="-lcrypt"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBCRYPT 1
++_ACEOF
++
++fi
++
++ fi
++fi
++
++
++# some OS's need both -lssl and -lcrypto on link line:
++
++
++
++# Check whether --with-crypto was given.
++if test "${with_crypto+set}" = set; then
++ withval=$with_crypto;
++fi
++
++
++
++
++
++# Check whether --with-ssl was given.
++if test "${with_ssl+set}" = set; then
++ withval=$with_ssl;
++fi
++
++
++if test "x$with_crypto" != "xno" -a "x$with_ssl" != "xno"; then
++ { echo "$as_me:$LINENO: checking for RAND_file_name in -lcrypto" >&5
++echo $ECHO_N "checking for RAND_file_name in -lcrypto... $ECHO_C" >&6; }
++if test "${ac_cv_lib_crypto_RAND_file_name+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lcrypto $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char RAND_file_name ();
++int
++main ()
++{
++return RAND_file_name ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_crypto_RAND_file_name=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_crypto_RAND_file_name=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_crypto_RAND_file_name" >&5
++echo "${ECHO_T}$ac_cv_lib_crypto_RAND_file_name" >&6; }
++if test $ac_cv_lib_crypto_RAND_file_name = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBCRYPTO 1
++_ACEOF
++ HAVE_LIBCRYPTO="true"
++fi
++
++fi
++
++if test "x$with_ssl" != "xno"; then
++ if test "x$HAVE_LIBCRYPTO" = "xtrue"; then
++ { echo "$as_me:$LINENO: checking for SSL_library_init in -lssl" >&5
++echo $ECHO_N "checking for SSL_library_init in -lssl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_ssl_SSL_library_init+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lssl -lcrypto $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char SSL_library_init ();
++int
++main ()
++{
++return SSL_library_init ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_ssl_SSL_library_init=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_ssl_SSL_library_init=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_library_init" >&5
++echo "${ECHO_T}$ac_cv_lib_ssl_SSL_library_init" >&6; }
++if test $ac_cv_lib_ssl_SSL_library_init = yes; then
++ SSL_LIBS="-lssl -lcrypto"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBSSL 1
++_ACEOF
++ HAVE_LIBSSL="true"
++fi
++
++ else
++ { echo "$as_me:$LINENO: checking for SSL_library_init in -lssl" >&5
++echo $ECHO_N "checking for SSL_library_init in -lssl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_ssl_SSL_library_init+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lssl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char SSL_library_init ();
++int
++main ()
++{
++return SSL_library_init ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_ssl_SSL_library_init=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_ssl_SSL_library_init=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_library_init" >&5
++echo "${ECHO_T}$ac_cv_lib_ssl_SSL_library_init" >&6; }
++if test $ac_cv_lib_ssl_SSL_library_init = yes; then
++ SSL_LIBS="-lssl"
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LIBSSL 1
++_ACEOF
++ HAVE_LIBSSL="true"
++fi
++
++ fi
++fi
++
++
++ if test "x$HAVE_LIBSSL" != "xtrue"; then
++ { echo "$as_me:$LINENO: WARNING:
++==========================================================================
++The openssl encryption library libssl.so was not found. An x11vnc built
++this way will not support SSL encryption. To enable SSL install the
++necessary development packages (perhaps it is named something like
++libssl-dev) and run configure again.
++==========================================================================
++" >&5
++echo "$as_me: WARNING:
++==========================================================================
++The openssl encryption library libssl.so was not found. An x11vnc built
++this way will not support SSL encryption. To enable SSL install the
++necessary development packages (perhaps it is named something like
++libssl-dev) and run configure again.
++==========================================================================
++" >&2;}
++ fi
++
++if test "x$with_v4l" != "xno"; then
++ if test "${ac_cv_header_linux_videodev_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for linux/videodev.h" >&5
++echo $ECHO_N "checking for linux/videodev.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_videodev_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_videodev_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_videodev_h" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking linux/videodev.h usability" >&5
++echo $ECHO_N "checking linux/videodev.h usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <linux/videodev.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking linux/videodev.h presence" >&5
++echo $ECHO_N "checking linux/videodev.h presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <linux/videodev.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: linux/videodev.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: linux/videodev.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: linux/videodev.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: linux/videodev.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: linux/videodev.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: linux/videodev.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: linux/videodev.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: linux/videodev.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for linux/videodev.h" >&5
++echo $ECHO_N "checking for linux/videodev.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_videodev_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_linux_videodev_h=$ac_header_preproc
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_videodev_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_videodev_h" >&6; }
++
++fi
++if test $ac_cv_header_linux_videodev_h = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LINUX_VIDEODEV_H 1
++_ACEOF
++
++fi
++
++
++fi
++if test "x$with_fbdev" != "xno"; then
++ if test "${ac_cv_header_linux_fb_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for linux/fb.h" >&5
++echo $ECHO_N "checking for linux/fb.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_fb_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_fb_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_fb_h" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking linux/fb.h usability" >&5
++echo $ECHO_N "checking linux/fb.h usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <linux/fb.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking linux/fb.h presence" >&5
++echo $ECHO_N "checking linux/fb.h presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <linux/fb.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: linux/fb.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: linux/fb.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: linux/fb.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: linux/fb.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: linux/fb.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: linux/fb.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: linux/fb.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: linux/fb.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for linux/fb.h" >&5
++echo $ECHO_N "checking for linux/fb.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_fb_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_linux_fb_h=$ac_header_preproc
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_fb_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_fb_h" >&6; }
++
++fi
++if test $ac_cv_header_linux_fb_h = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LINUX_FB_H 1
++_ACEOF
++
++fi
++
++
++fi
++if test "x$with_uinput" != "xno"; then
++ if test "${ac_cv_header_linux_input_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for linux/input.h" >&5
++echo $ECHO_N "checking for linux/input.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_input_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_input_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_input_h" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking linux/input.h usability" >&5
++echo $ECHO_N "checking linux/input.h usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <linux/input.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking linux/input.h presence" >&5
++echo $ECHO_N "checking linux/input.h presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <linux/input.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: linux/input.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: linux/input.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: linux/input.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: linux/input.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: linux/input.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: linux/input.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: linux/input.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: linux/input.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for linux/input.h" >&5
++echo $ECHO_N "checking for linux/input.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_input_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_linux_input_h=$ac_header_preproc
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_input_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_input_h" >&6; }
++
++fi
++if test $ac_cv_header_linux_input_h = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LINUX_INPUT_H 1
++_ACEOF
++ HAVE_LINUX_INPUT_H="true"
++fi
++
++
++ if test "x$HAVE_LINUX_INPUT_H" = "xtrue"; then
++ { echo "$as_me:$LINENO: checking for linux/uinput.h" >&5
++echo $ECHO_N "checking for linux/uinput.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_uinput_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <linux/input.h>
++
++@%:@include <linux/uinput.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_linux_uinput_h=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_header_linux_uinput_h=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_uinput_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_uinput_h" >&6; }
++if test $ac_cv_header_linux_uinput_h = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_LINUX_UINPUT_H 1
++_ACEOF
++
++fi
++
++
++ fi
++fi
++
++if test "x$with_macosx_native" != "xno"; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_MACOSX_NATIVE_DISPLAY 1
++_ACEOF
++
++fi
++
++
++
++
++# Check whether --with-avahi was given.
++if test "${with_avahi+set}" = set; then
++ withval=$with_avahi;
++fi
++
++if test "x$with_avahi" != "xno"; then
++ printf "checking for avahi... "
++ if test ! -z "$with_avahi" -a "x$with_avahi" != "xyes"; then
++ AVAHI_CFLAGS="-I$with_avahi/include"
++ AVAHI_LIBS="-L$with_avahi/lib -lavahi-common -lavahi-client"
++ echo "using $with_avahi"
++ with_avahi=yes
++ elif pkg-config --atleast-version=0.6.4 avahi-client >/dev/null 2>&1; then
++ AVAHI_CFLAGS=`pkg-config --cflags avahi-client`
++ AVAHI_LIBS=`pkg-config --libs avahi-client`
++ with_avahi=yes
++ echo yes
++ else
++ with_avahi=no
++ echo no
++ fi
++fi
++if test "x$with_avahi" = "xyes"; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_AVAHI 1
++_ACEOF
++
++
++
++fi
++
++fi
++# end x11vnc only.
++
++# Checks for libraries.
++
++uname_s=`(uname -s) 2>/dev/null`
++ld_minus_R="yes"
++if test "x$uname_s" = "xHP-UX"; then
++ ld_minus_R="no"
++elif test "x$uname_s" = "xOSF1"; then
++ ld_minus_R="no"
++elif test "x$uname_s" = "xDarwin"; then
++ ld_minus_R="no"
++fi
++
++if test ! -z "$with_system_libvncserver" -a "x$with_system_libvncserver" != "xno"; then
++ printf "checking for system libvncserver... "
++ if test "x$with_system_libvncserver" != "xyes"; then
++ rflag=""
++ if test "x$ld_minus_R" = "xno"; then
++ :
++ elif test "x$GCC" = "xyes"; then
++ rflag="-Xlinker -R$with_system_libvncserver/lib"
++ else
++ rflag="-R$with_system_libvncserver/lib"
++ fi
++ SYSTEM_LIBVNCSERVER_CFLAGS="-I$with_system_libvncserver/include"
++ SYSTEM_LIBVNCSERVER_LIBS="-L$with_system_libvncserver/lib $rflag -lvncserver -lvncclient"
++ echo "using $with_system_libvncserver"
++ with_system_libvncserver=yes
++ elif libvncserver-config --version >/dev/null 2>&1; then
++ rflag=""
++ rprefix=`libvncserver-config --prefix`
++ if test "x$ld_minus_R" = "xno"; then
++ :
++ elif test "x$GCC" = "xyes"; then
++ rflag=" -Xlinker -R$rprefix/lib "
++ else
++ rflag=" -R$rprefix/lib "
++ fi
++ SYSTEM_LIBVNCSERVER_CFLAGS=`libvncserver-config --cflags`
++ SYSTEM_LIBVNCSERVER_LIBS="$rflag"`libvncserver-config --libs`
++ with_system_libvncserver=yes
++ echo yes
++ else
++ with_system_libvncserver=no
++ echo no
++ fi
++fi
++
++if test "x$with_system_libvncserver" = "xyes"; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_SYSTEM_LIBVNCSERVER 1
++_ACEOF
++
++
++
++fi
++ if test "x$with_system_libvncserver" = "xyes"; then
++ HAVE_SYSTEM_LIBVNCSERVER_TRUE=
++ HAVE_SYSTEM_LIBVNCSERVER_FALSE='#'
++else
++ HAVE_SYSTEM_LIBVNCSERVER_TRUE='#'
++ HAVE_SYSTEM_LIBVNCSERVER_FALSE=
++fi
++
++
++
++
++# Check whether --with-jpeg was given.
++if test "${with_jpeg+set}" = set; then
++ withval=$with_jpeg;
++fi
++
++
++# At this point:
++# no jpeg on command line with_jpeg=""
++# -with-jpeg with_jpeg="yes"
++# -without-jpeg with_jpeg="no"
++# -with-jpeg=/foo/dir with_jpeg="/foo/dir"
++
++if test "x$with_jpeg" != "xno"; then
++ if test ! -z "$with_jpeg" -a "x$with_jpeg" != "xyes"; then
++ # add user supplied directory to flags:
++ saved_CPPFLAGS="$CPPFLAGS"
++ saved_LDFLAGS="$LDFLAGS"
++ CPPFLAGS="$CPPFLAGS -I$with_jpeg/include"
++ LDFLAGS="$LDFLAGS -L$with_jpeg/lib"
++ if test "x$ld_minus_R" = "xno"; then
++ :
++ elif test "x$GCC" = "xyes"; then
++ # this is not complete... in general a rat's nest.
++ LDFLAGS="$LDFLAGS -Xlinker -R$with_jpeg/lib"
++ else
++ LDFLAGS="$LDFLAGS -R$with_jpeg/lib"
++ fi
++ fi
++ if test "${ac_cv_header_jpeglib_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for jpeglib.h" >&5
++echo $ECHO_N "checking for jpeglib.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_jpeglib_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5
++echo "${ECHO_T}$ac_cv_header_jpeglib_h" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking jpeglib.h usability" >&5
++echo $ECHO_N "checking jpeglib.h usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <jpeglib.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking jpeglib.h presence" >&5
++echo $ECHO_N "checking jpeglib.h presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <jpeglib.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: jpeglib.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: jpeglib.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: jpeglib.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: jpeglib.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for jpeglib.h" >&5
++echo $ECHO_N "checking for jpeglib.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_jpeglib_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_jpeglib_h=$ac_header_preproc
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5
++echo "${ECHO_T}$ac_cv_header_jpeglib_h" >&6; }
++
++fi
++if test $ac_cv_header_jpeglib_h = yes; then
++ HAVE_JPEGLIB_H="true"
++fi
++
++
++ if test "x$HAVE_JPEGLIB_H" = "xtrue"; then
++
++{ echo "$as_me:$LINENO: checking for jpeg_CreateCompress in -ljpeg" >&5
++echo $ECHO_N "checking for jpeg_CreateCompress in -ljpeg... $ECHO_C" >&6; }
++if test "${ac_cv_lib_jpeg_jpeg_CreateCompress+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ljpeg $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char jpeg_CreateCompress ();
++int
++main ()
++{
++return jpeg_CreateCompress ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_jpeg_jpeg_CreateCompress=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_jpeg_jpeg_CreateCompress=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_jpeg_jpeg_CreateCompress" >&5
++echo "${ECHO_T}$ac_cv_lib_jpeg_jpeg_CreateCompress" >&6; }
++if test $ac_cv_lib_jpeg_jpeg_CreateCompress = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define HAVE_LIBJPEG 1
++_ACEOF
++
++ LIBS="-ljpeg $LIBS"
++
++else
++ HAVE_JPEGLIB_H=""
++fi
++
++ fi
++ if test ! -z "$with_jpeg" -a "x$with_jpeg" != "xyes"; then
++ if test "x$HAVE_JPEGLIB_H" != "xtrue"; then
++ # restore old flags on failure:
++ CPPFLAGS="$saved_CPPFLAGS"
++ LDFLAGS="$saved_LDFLAGS"
++ fi
++ fi
++ if test "$build" = "yes"; then
++ if test "x$HAVE_JPEGLIB_H" != "xtrue"; then
++ { echo "$as_me:$LINENO: WARNING:
++==========================================================================
++The libjpeg compression library was not found: this may lead to reduced
++performance, especially over slow links. If libjpeg is in a non-standard
++location use --with-jpeg=DIR to indicate the header file is in
++DIR/include/jpeglib.h and the library in DIR/lib/libjpeg.a. A copy of
++libjpeg may be obtained from: ftp://ftp.uu.net/graphics/jpeg/
++==========================================================================
++" >&5
++echo "$as_me: WARNING:
++==========================================================================
++The libjpeg compression library was not found: this may lead to reduced
++performance, especially over slow links. If libjpeg is in a non-standard
++location use --with-jpeg=DIR to indicate the header file is in
++DIR/include/jpeglib.h and the library in DIR/lib/libjpeg.a. A copy of
++libjpeg may be obtained from: ftp://ftp.uu.net/graphics/jpeg/
++==========================================================================
++" >&2;}
++ fi
++ fi
++fi
++
++
++# Check whether --with-libz was given.
++if test "${with_libz+set}" = set; then
++ withval=$with_libz;
++fi
++
++
++# Check whether --with-zlib was given.
++if test "${with_zlib+set}" = set; then
++ withval=$with_zlib;
++fi
++
++
++if test "x$with_zlib" != "xno" -a "x$with_libz" != "xno"; then
++ if test ! -z "$with_zlib" -a "x$with_zlib" != "xyes"; then
++ saved_CPPFLAGS="$CPPFLAGS"
++ saved_LDFLAGS="$LDFLAGS"
++ CPPFLAGS="$CPPFLAGS -I$with_zlib/include"
++ LDFLAGS="$LDFLAGS -L$with_zlib/lib"
++ if test "x$ld_minus_R" = "xno"; then
++ :
++ elif test "x$GCC" = "xyes"; then
++ LDFLAGS="$LDFLAGS -Xlinker -R$with_zlib/lib"
++ else
++ LDFLAGS="$LDFLAGS -R$with_zlib/lib"
++ fi
++ fi
++ if test "${ac_cv_header_zlib_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for zlib.h" >&5
++echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_zlib_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5
++echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking zlib.h usability" >&5
++echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <zlib.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking zlib.h presence" >&5
++echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <zlib.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for zlib.h" >&5
++echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_zlib_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_zlib_h=$ac_header_preproc
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5
++echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; }
++
++fi
++if test $ac_cv_header_zlib_h = yes; then
++ HAVE_ZLIB_H="true"
++fi
++
++
++ if test "x$HAVE_ZLIB_H" = "xtrue"; then
++
++{ echo "$as_me:$LINENO: checking for deflate in -lz" >&5
++echo $ECHO_N "checking for deflate in -lz... $ECHO_C" >&6; }
++if test "${ac_cv_lib_z_deflate+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lz $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char deflate ();
++int
++main ()
++{
++return deflate ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_z_deflate=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_z_deflate=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_deflate" >&5
++echo "${ECHO_T}$ac_cv_lib_z_deflate" >&6; }
++if test $ac_cv_lib_z_deflate = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define HAVE_LIBZ 1
++_ACEOF
++
++ LIBS="-lz $LIBS"
++
++else
++ HAVE_ZLIB_H=""
++fi
++
++ fi
++ if test ! -z "$with_zlib" -a "x$with_zlib" != "xyes"; then
++ if test "x$HAVE_ZLIB_H" != "xtrue"; then
++ CPPFLAGS="$saved_CPPFLAGS"
++ LDFLAGS="$saved_LDFLAGS"
++ fi
++ fi
++ if test "$build_x11vnc" = "yes"; then
++ if test "x$HAVE_ZLIB_H" != "xtrue"; then
++ { echo "$as_me:$LINENO: WARNING:
++==========================================================================
++The libz compression library was not found: this may lead to reduced
++performance, especially over slow links. If libz is in a non-standard
++location use --with-zlib=DIR to indicate the header file is in
++DIR/include/zlib.h and the library in DIR/lib/libz.a. A copy of
++libz may be obtained from: http://www.gzip.org/zlib/
++==========================================================================
++" >&5
++echo "$as_me: WARNING:
++==========================================================================
++The libz compression library was not found: this may lead to reduced
++performance, especially over slow links. If libz is in a non-standard
++location use --with-zlib=DIR to indicate the header file is in
++DIR/include/zlib.h and the library in DIR/lib/libz.a. A copy of
++libz may be obtained from: http://www.gzip.org/zlib/
++==========================================================================
++" >&2;}
++ fi
++ fi
++fi
++
++
++# Check whether --with-pthread was given.
++if test "${with_pthread+set}" = set; then
++ withval=$with_pthread;
++fi
++
++
++if test "x$with_pthread" != "xno"; then
++ if test "${ac_cv_header_pthread_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for pthread.h" >&5
++echo $ECHO_N "checking for pthread.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_pthread_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_pthread_h" >&5
++echo "${ECHO_T}$ac_cv_header_pthread_h" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking pthread.h usability" >&5
++echo $ECHO_N "checking pthread.h usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <pthread.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking pthread.h presence" >&5
++echo $ECHO_N "checking pthread.h presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <pthread.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: pthread.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: pthread.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: pthread.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: pthread.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: pthread.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: pthread.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: pthread.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: pthread.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: pthread.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: pthread.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: pthread.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: pthread.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: pthread.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: pthread.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: pthread.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: pthread.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for pthread.h" >&5
++echo $ECHO_N "checking for pthread.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_pthread_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_pthread_h=$ac_header_preproc
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_pthread_h" >&5
++echo "${ECHO_T}$ac_cv_header_pthread_h" >&6; }
++
++fi
++if test $ac_cv_header_pthread_h = yes; then
++ HAVE_PTHREAD_H="true"
++fi
++
++
++ if test ! -z "$HAVE_PTHREAD_H"; then
++
++{ echo "$as_me:$LINENO: checking for pthread_mutex_lock in -lpthread" >&5
++echo $ECHO_N "checking for pthread_mutex_lock in -lpthread... $ECHO_C" >&6; }
++if test "${ac_cv_lib_pthread_pthread_mutex_lock+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lpthread $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char pthread_mutex_lock ();
++int
++main ()
++{
++return pthread_mutex_lock ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_pthread_pthread_mutex_lock=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_pthread_pthread_mutex_lock=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_mutex_lock" >&5
++echo "${ECHO_T}$ac_cv_lib_pthread_pthread_mutex_lock" >&6; }
++if test $ac_cv_lib_pthread_pthread_mutex_lock = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define HAVE_LIBPTHREAD 1
++_ACEOF
++
++ LIBS="-lpthread $LIBS"
++
++fi
++
++ { echo "$as_me:$LINENO: checking for pthread_mutex_lock in -lpthread" >&5
++echo $ECHO_N "checking for pthread_mutex_lock in -lpthread... $ECHO_C" >&6; }
++if test "${ac_cv_lib_pthread_pthread_mutex_lock+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lpthread $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char pthread_mutex_lock ();
++int
++main ()
++{
++return pthread_mutex_lock ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_pthread_pthread_mutex_lock=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_pthread_pthread_mutex_lock=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_mutex_lock" >&5
++echo "${ECHO_T}$ac_cv_lib_pthread_pthread_mutex_lock" >&6; }
++if test $ac_cv_lib_pthread_pthread_mutex_lock = yes; then
++ HAVE_LIBPTHREAD="true"
++fi
++
++ fi
++fi
++ if test ! -z "$HAVE_LIBPTHREAD"; then
++ HAVE_LIBPTHREAD_TRUE=
++ HAVE_LIBPTHREAD_FALSE='#'
++else
++ HAVE_LIBPTHREAD_TRUE='#'
++ HAVE_LIBPTHREAD_FALSE=
++fi
++
++
++# tightvnc-filetransfer implemented using threads:
++if test -z "$HAVE_LIBPTHREAD"; then
++ with_tightvnc_filetransfer=""
++fi
++if test "x$with_tightvnc_filetransfer" = "xyes"; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define WITH_TIGHTVNC_FILETRANSFER 1
++_ACEOF
++
++fi
++ if test "$with_tightvnc_filetransfer" = "yes"; then
++ WITH_TIGHTVNC_FILETRANSFER_TRUE=
++ WITH_TIGHTVNC_FILETRANSFER_FALSE='#'
++else
++ WITH_TIGHTVNC_FILETRANSFER_TRUE='#'
++ WITH_TIGHTVNC_FILETRANSFER_FALSE=
++fi
++
++
++ if test ! -z "$HAVE_ZLIB_H"; then
++ HAVE_LIBZ_TRUE=
++ HAVE_LIBZ_FALSE='#'
++else
++ HAVE_LIBZ_TRUE='#'
++ HAVE_LIBZ_FALSE=
++fi
++
++ if test ! -z "$HAVE_JPEGLIB_H"; then
++ HAVE_LIBJPEG_TRUE=
++ HAVE_LIBJPEG_FALSE='#'
++else
++ HAVE_LIBJPEG_TRUE='#'
++ HAVE_LIBJPEG_FALSE=
++fi
++
++
++if test -z "$with_sdl"; then
++ if sdl-config --version >/dev/null 2>&1; then
++ with_sdl=yes
++ SDL_CFLAGS=`sdl-config --cflags`
++ SDL_LIBS=`sdl-config --libs`
++ else
++ with_sdl=no
++ fi
++fi
++ if test "x$with_sdl" = "xyes"; then
++ HAVE_LIBSDL_TRUE=
++ HAVE_LIBSDL_FALSE='#'
++else
++ HAVE_LIBSDL_TRUE='#'
++ HAVE_LIBSDL_FALSE=
++fi
++
++
++
++
++MINGW=`uname -s | grep MINGW 2>/dev/null`
++ if test ! -z "$MINGW" ; then
++ MINGW_TRUE=
++ MINGW_FALSE='#'
++else
++ MINGW_TRUE='#'
++ MINGW_FALSE=
++fi
++
++if test ! -z "$MINGW"; then
++ WSOCKLIB="-lws2_32"
++fi
++
++
++# Checks for header files.
++{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
++echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
++if test "${ac_cv_header_stdc+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdlib.h>
++#include <stdarg.h>
++#include <string.h>
++#include <float.h>
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_stdc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_header_stdc=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++if test $ac_cv_header_stdc = yes; then
++ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <string.h>
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++ $EGREP "memchr" >/dev/null 2>&1; then
++ :
++else
++ ac_cv_header_stdc=no
++fi
++rm -f conftest*
++
++fi
++
++if test $ac_cv_header_stdc = yes; then
++ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdlib.h>
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++ $EGREP "free" >/dev/null 2>&1; then
++ :
++else
++ ac_cv_header_stdc=no
++fi
++rm -f conftest*
++
++fi
++
++if test $ac_cv_header_stdc = yes; then
++ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
++ if test "$cross_compiling" = yes; then
++ :
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <ctype.h>
++#include <stdlib.h>
++#if ((' ' & 0x0FF) == 0x020)
++# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
++# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
++#else
++# define ISLOWER(c) \
++ (('a' <= (c) && (c) <= 'i') \
++ || ('j' <= (c) && (c) <= 'r') \
++ || ('s' <= (c) && (c) <= 'z'))
++# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
++#endif
++
++#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
++int
++main ()
++{
++ int i;
++ for (i = 0; i < 256; i++)
++ if (XOR (islower (i), ISLOWER (i))
++ || toupper (i) != TOUPPER (i))
++ return 2;
++ return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_header_stdc=no
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++fi
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
++echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
++if test $ac_cv_header_stdc = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define STDC_HEADERS 1
++_ACEOF
++
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++for ac_header in arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h sys/timeb.h syslog.h unistd.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ { echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <$ac_header>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ eval "$as_ac_Header=\$ac_header_preproc"
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++
++fi
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++# x11vnc only:
++if test "$build_x11vnc" = "yes"; then
++
++
++
++
++
++
++for ac_header in pwd.h sys/wait.h utmpx.h termios.h sys/ioctl.h sys/stropts.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ { echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <$ac_header>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ eval "$as_ac_Header=\$ac_header_preproc"
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++
++fi
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++fi
++
++# Checks for typedefs, structures, and compiler characteristics.
++{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
++echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; }
++if test "${ac_cv_c_const+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++/* FIXME: Include the comments suggested by Paul. */
++#ifndef __cplusplus
++ /* Ultrix mips cc rejects this. */
++ typedef int charset[2];
++ const charset cs;
++ /* SunOS 4.1.1 cc rejects this. */
++ char const *const *pcpcc;
++ char **ppc;
++ /* NEC SVR4.0.2 mips cc rejects this. */
++ struct point {int x, y;};
++ static struct point const zero = {0,0};
++ /* AIX XL C 1.02.0.0 rejects this.
++ It does not let you subtract one const X* pointer from another in
++ an arm of an if-expression whose if-part is not a constant
++ expression */
++ const char *g = "string";
++ pcpcc = &g + (g ? g-g : 0);
++ /* HPUX 7.0 cc rejects these. */
++ ++pcpcc;
++ ppc = (char**) pcpcc;
++ pcpcc = (char const *const *) ppc;
++ { /* SCO 3.2v4 cc rejects this. */
++ char *t;
++ char const *s = 0 ? (char *) 0 : (char const *) 0;
++
++ *t++ = 0;
++ if (s) return 0;
++ }
++ { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
++ int x[] = {25, 17};
++ const int *foo = &x[0];
++ ++foo;
++ }
++ { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
++ typedef const int *iptr;
++ iptr p = 0;
++ ++p;
++ }
++ { /* AIX XL C 1.02.0.0 rejects this saying
++ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
++ struct s { int j; const int *ap[3]; };
++ struct s *b; b->j = 5;
++ }
++ { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
++ const int foo = 10;
++ if (!foo) return 0;
++ }
++ return !cs[0] && !zero.x;
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_c_const=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_c_const=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
++echo "${ECHO_T}$ac_cv_c_const" >&6; }
++if test $ac_cv_c_const = no; then
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define const
++_ACEOF
++
++fi
++
++{ echo "$as_me:$LINENO: checking for inline" >&5
++echo $ECHO_N "checking for inline... $ECHO_C" >&6; }
++if test "${ac_cv_c_inline+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_c_inline=no
++for ac_kw in inline __inline__ __inline; do
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#ifndef __cplusplus
++typedef int foo_t;
++static $ac_kw foo_t static_foo () {return 0; }
++$ac_kw foo_t foo () {return 0; }
++#endif
++
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_c_inline=$ac_kw
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ test "$ac_cv_c_inline" != no && break
++done
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5
++echo "${ECHO_T}$ac_cv_c_inline" >&6; }
++
++
++case $ac_cv_c_inline in
++ inline | yes) ;;
++ *)
++ case $ac_cv_c_inline in
++ no) ac_val=;;
++ *) ac_val=$ac_cv_c_inline;;
++ esac
++ cat >>confdefs.h <<_ACEOF
++#ifndef __cplusplus
++#define inline $ac_val
++#endif
++_ACEOF
++ ;;
++esac
++
++{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
++echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; }
++if test "${ac_cv_c_bigendian+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ # See if sys/param.h defines the BYTE_ORDER macro.
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <sys/types.h>
++#include <sys/param.h>
++
++int
++main ()
++{
++#if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \
++ && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN)
++ bogus endian macros
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ # It does; now see whether it defined to BIG_ENDIAN or not.
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <sys/types.h>
++#include <sys/param.h>
++
++int
++main ()
++{
++#if BYTE_ORDER != BIG_ENDIAN
++ not big endian
++#endif
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_c_bigendian=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_c_bigendian=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ # It does not; compile a test program.
++if test "$cross_compiling" = yes; then
++ # try to guess the endianness by grepping values into an object file
++ ac_cv_c_bigendian=unknown
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
++short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
++void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
++short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
++short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
++void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
++int
++main ()
++{
++ _ascii (); _ebcdic ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
++ ac_cv_c_bigendian=yes
++fi
++if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
++ if test "$ac_cv_c_bigendian" = unknown; then
++ ac_cv_c_bigendian=no
++ else
++ # finding both strings is unlikely to happen, but who knows?
++ ac_cv_c_bigendian=unknown
++ fi
++fi
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++
++ /* Are we little or big endian? From Harbison&Steele. */
++ union
++ {
++ long int l;
++ char c[sizeof (long int)];
++ } u;
++ u.l = 1;
++ return u.c[sizeof (long int) - 1] == 1;
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_c_bigendian=no
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_c_bigendian=yes
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
++echo "${ECHO_T}$ac_cv_c_bigendian" >&6; }
++case $ac_cv_c_bigendian in
++ yes)
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define WORDS_BIGENDIAN 1
++_ACEOF
++ ;;
++ no)
++ ;;
++ *)
++ { { echo "$as_me:$LINENO: error: unknown endianness
++presetting ac_cv_c_bigendian=no (or yes) will help" >&5
++echo "$as_me: error: unknown endianness
++presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
++ { (exit 1); exit 1; }; } ;;
++esac
++
++{ echo "$as_me:$LINENO: checking for size_t" >&5
++echo $ECHO_N "checking for size_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_size_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++typedef size_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_size_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_size_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
++echo "${ECHO_T}$ac_cv_type_size_t" >&6; }
++if test $ac_cv_type_size_t = yes; then
++ :
++else
++
++cat >>confdefs.h <<_ACEOF
++@%:@define size_t unsigned int
++_ACEOF
++
++fi
++
++{ echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
++echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6; }
++if test "${ac_cv_header_time+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <sys/types.h>
++#include <sys/time.h>
++#include <time.h>
++
++int
++main ()
++{
++if ((struct tm *) 0)
++return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_time=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_header_time=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
++echo "${ECHO_T}$ac_cv_header_time" >&6; }
++if test $ac_cv_header_time = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define TIME_WITH_SYS_TIME 1
++_ACEOF
++
++fi
++
++{ echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
++echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6; }
++if test "${ac_cv_header_sys_wait_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <sys/types.h>
++#include <sys/wait.h>
++#ifndef WEXITSTATUS
++# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8)
++#endif
++#ifndef WIFEXITED
++# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
++#endif
++
++int
++main ()
++{
++ int s;
++ wait (&s);
++ s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_sys_wait_h=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_header_sys_wait_h=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
++echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6; }
++if test $ac_cv_header_sys_wait_h = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_SYS_WAIT_H 1
++_ACEOF
++
++fi
++
++{ echo "$as_me:$LINENO: checking for socklen_t" >&5
++echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_socklen_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <sys/types.h>
++ #include <sys/socket.h>
++int
++main ()
++{
++socklen_t len = 42; return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_socklen_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_socklen_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_socklen_t" >&5
++echo "${ECHO_T}$ac_cv_type_socklen_t" >&6; }
++ if test $ac_cv_type_socklen_t != yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define socklen_t int
++_ACEOF
++
++ fi
++
++if test ! -d ./rfb; then
++ echo "creating subdir ./rfb for rfbint.h"
++ mkdir ./rfb
++fi
++# ------ AC CREATE STDINT H -------------------------------------
++{ echo "$as_me:$LINENO: checking for stdint-types...." >&5
++echo $ECHO_N "checking for stdint-types....... $ECHO_C" >&6; }
++ac_stdint_h=`echo rfb/rfbint.h`
++if test "$ac_stdint_h" = "stdint.h" ; then
++ { echo "$as_me:$LINENO: result: \"(are you sure you want them in ./stdint.h?)\"" >&5
++echo "${ECHO_T}\"(are you sure you want them in ./stdint.h?)\"" >&6; }
++elif test "$ac_stdint_h" = "inttypes.h" ; then
++ { echo "$as_me:$LINENO: result: \"(are you sure you want them in ./inttypes.h?)\"" >&5
++echo "${ECHO_T}\"(are you sure you want them in ./inttypes.h?)\"" >&6; }
++else
++ { echo "$as_me:$LINENO: result: \"(putting them into $ac_stdint_h)\"" >&5
++echo "${ECHO_T}\"(putting them into $ac_stdint_h)\"" >&6; }
++fi
++
++inttype_headers=`echo inttypes.h sys/inttypes.h sys/inttypes.h \
++| sed -e 's/,/ /g'`
++
++ ac_cv_header_stdint_x="no-file"
++ ac_cv_header_stdint_o="no-file"
++ ac_cv_header_stdint_u="no-file"
++ for i in stdint.h $inttype_headers ; do
++ unset ac_cv_type_uintptr_t
++ unset ac_cv_type_uint64_t
++ { echo "$as_me:$LINENO: checking for uintptr_t" >&5
++echo $ECHO_N "checking for uintptr_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_uintptr_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <$i>
++
++typedef uintptr_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_uintptr_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_uintptr_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_uintptr_t" >&5
++echo "${ECHO_T}$ac_cv_type_uintptr_t" >&6; }
++if test $ac_cv_type_uintptr_t = yes; then
++ ac_cv_header_stdint_x=$i
++else
++ continue
++fi
++
++ { echo "$as_me:$LINENO: checking for uint64_t" >&5
++echo $ECHO_N "checking for uint64_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_uint64_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include<$i>
++
++typedef uint64_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_uint64_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_uint64_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_uint64_t" >&5
++echo "${ECHO_T}$ac_cv_type_uint64_t" >&6; }
++if test $ac_cv_type_uint64_t = yes; then
++ and64="(uint64_t too)"
++else
++ and64=""
++fi
++
++ { echo "$as_me:$LINENO: result: ... seen our uintptr_t in $i $and64" >&5
++echo "${ECHO_T}... seen our uintptr_t in $i $and64" >&6; }
++ break;
++ done
++ if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ for i in stdint.h $inttype_headers ; do
++ unset ac_cv_type_uint32_t
++ unset ac_cv_type_uint64_t
++ { echo "$as_me:$LINENO: checking for uint32_t" >&5
++echo $ECHO_N "checking for uint32_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_uint32_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <$i>
++
++typedef uint32_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_uint32_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_uint32_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_uint32_t" >&5
++echo "${ECHO_T}$ac_cv_type_uint32_t" >&6; }
++if test $ac_cv_type_uint32_t = yes; then
++ ac_cv_header_stdint_o=$i
++else
++ continue
++fi
++
++ { echo "$as_me:$LINENO: checking for uint64_t" >&5
++echo $ECHO_N "checking for uint64_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_uint64_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include<$i>
++
++typedef uint64_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_uint64_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_uint64_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_uint64_t" >&5
++echo "${ECHO_T}$ac_cv_type_uint64_t" >&6; }
++if test $ac_cv_type_uint64_t = yes; then
++ and64="(uint64_t too)"
++else
++ and64=""
++fi
++
++ { echo "$as_me:$LINENO: result: ... seen our uint32_t in $i $and64" >&5
++echo "${ECHO_T}... seen our uint32_t in $i $and64" >&6; }
++ break;
++ done
++ if test "$ac_cv_header_stdint_o" = "no-file" ; then
++ for i in sys/types.h $inttype_headers ; do
++ unset ac_cv_type_u_int32_t
++ unset ac_cv_type_u_int64_t
++ { echo "$as_me:$LINENO: checking for u_int32_t" >&5
++echo $ECHO_N "checking for u_int32_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_u_int32_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <$i>
++
++typedef u_int32_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_u_int32_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_u_int32_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_u_int32_t" >&5
++echo "${ECHO_T}$ac_cv_type_u_int32_t" >&6; }
++if test $ac_cv_type_u_int32_t = yes; then
++ ac_cv_header_stdint_u=$i
++else
++ continue
++fi
++
++ { echo "$as_me:$LINENO: checking for uint64_t" >&5
++echo $ECHO_N "checking for uint64_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_uint64_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include<$i>
++
++typedef uint64_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_uint64_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_uint64_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_uint64_t" >&5
++echo "${ECHO_T}$ac_cv_type_uint64_t" >&6; }
++if test $ac_cv_type_uint64_t = yes; then
++ and64="(u_int64_t too)"
++else
++ and64=""
++fi
++
++ { echo "$as_me:$LINENO: result: ... seen our u_int32_t in $i $and64" >&5
++echo "${ECHO_T}... seen our u_int32_t in $i $and64" >&6; }
++ break;
++ done
++ fi
++ fi
++
++# ----------------- DONE inttypes.h checks MAYBE C basic types --------
++
++if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ { echo "$as_me:$LINENO: checking size of char" >&5
++echo $ECHO_N "checking size of char... $ECHO_C" >&6; }
++if test "${ac_cv_sizeof_char+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include "confdefs.h"
++#include <sys/types.h>
++
++
++int
++main ()
++{
++switch (0) case 0: case (sizeof (char) == $ac_size):;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sizeof_char=$ac_size
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ if test x$ac_cv_sizeof_char != x ; then break; fi
++done
++
++fi
++
++if test x$ac_cv_sizeof_char = x ; then
++ { { echo "$as_me:$LINENO: error: cannot determine a size for char" >&5
++echo "$as_me: error: cannot determine a size for char" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5
++echo "${ECHO_T}$ac_cv_sizeof_char" >&6; }
++
++cat >>confdefs.h <<_ACEOF
++@%:@define SIZEOF_CHAR $ac_cv_sizeof_char
++_ACEOF
++
++
++ { echo "$as_me:$LINENO: checking size of short" >&5
++echo $ECHO_N "checking size of short... $ECHO_C" >&6; }
++if test "${ac_cv_sizeof_short+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include "confdefs.h"
++#include <sys/types.h>
++
++
++int
++main ()
++{
++switch (0) case 0: case (sizeof (short) == $ac_size):;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sizeof_short=$ac_size
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ if test x$ac_cv_sizeof_short != x ; then break; fi
++done
++
++fi
++
++if test x$ac_cv_sizeof_short = x ; then
++ { { echo "$as_me:$LINENO: error: cannot determine a size for short" >&5
++echo "$as_me: error: cannot determine a size for short" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5
++echo "${ECHO_T}$ac_cv_sizeof_short" >&6; }
++
++cat >>confdefs.h <<_ACEOF
++@%:@define SIZEOF_SHORT $ac_cv_sizeof_short
++_ACEOF
++
++
++ { echo "$as_me:$LINENO: checking size of int" >&5
++echo $ECHO_N "checking size of int... $ECHO_C" >&6; }
++if test "${ac_cv_sizeof_int+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include "confdefs.h"
++#include <sys/types.h>
++
++
++int
++main ()
++{
++switch (0) case 0: case (sizeof (int) == $ac_size):;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sizeof_int=$ac_size
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ if test x$ac_cv_sizeof_int != x ; then break; fi
++done
++
++fi
++
++if test x$ac_cv_sizeof_int = x ; then
++ { { echo "$as_me:$LINENO: error: cannot determine a size for int" >&5
++echo "$as_me: error: cannot determine a size for int" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
++echo "${ECHO_T}$ac_cv_sizeof_int" >&6; }
++
++cat >>confdefs.h <<_ACEOF
++@%:@define SIZEOF_INT $ac_cv_sizeof_int
++_ACEOF
++
++
++ { echo "$as_me:$LINENO: checking size of long" >&5
++echo $ECHO_N "checking size of long... $ECHO_C" >&6; }
++if test "${ac_cv_sizeof_long+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include "confdefs.h"
++#include <sys/types.h>
++
++
++int
++main ()
++{
++switch (0) case 0: case (sizeof (long) == $ac_size):;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sizeof_long=$ac_size
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ if test x$ac_cv_sizeof_long != x ; then break; fi
++done
++
++fi
++
++if test x$ac_cv_sizeof_long = x ; then
++ { { echo "$as_me:$LINENO: error: cannot determine a size for long" >&5
++echo "$as_me: error: cannot determine a size for long" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
++echo "${ECHO_T}$ac_cv_sizeof_long" >&6; }
++
++cat >>confdefs.h <<_ACEOF
++@%:@define SIZEOF_LONG $ac_cv_sizeof_long
++_ACEOF
++
++
++ { echo "$as_me:$LINENO: checking size of void*" >&5
++echo $ECHO_N "checking size of void*... $ECHO_C" >&6; }
++if test "${ac_cv_sizeof_voidp+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include "confdefs.h"
++#include <sys/types.h>
++
++
++int
++main ()
++{
++switch (0) case 0: case (sizeof (void*) == $ac_size):;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sizeof_voidp=$ac_size
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ if test x$ac_cv_sizeof_voidp != x ; then break; fi
++done
++
++fi
++
++if test x$ac_cv_sizeof_voidp = x ; then
++ { { echo "$as_me:$LINENO: error: cannot determine a size for void*" >&5
++echo "$as_me: error: cannot determine a size for void*" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_voidp" >&5
++echo "${ECHO_T}$ac_cv_sizeof_voidp" >&6; }
++
++cat >>confdefs.h <<_ACEOF
++@%:@define SIZEOF_VOIDP $ac_cv_sizeof_voidp
++_ACEOF
++
++
++ ac_cv_header_stdint_test="yes"
++else
++ ac_cv_header_stdint_test="no"
++fi
++
++# ----------------- DONE inttypes.h checks START header -------------
++_ac_stdint_h=`echo "_$ac_stdint_h" | $as_tr_cpp`
++{ echo "$as_me:$LINENO: result: creating $ac_stdint_h : $_ac_stdint_h" >&5
++echo "${ECHO_T}creating $ac_stdint_h : $_ac_stdint_h" >&6; }
++echo "#ifndef" $_ac_stdint_h >$ac_stdint_h
++echo "#define" $_ac_stdint_h "1" >>$ac_stdint_h
++echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint_h
++echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint_h
++if test "$GCC" = "yes" ; then
++ echo "/* generated using a gnu compiler version" `$CC --version` "*/" \
++ >>$ac_stdint_h
++else
++ echo "/* generated using $CC */" >>$ac_stdint_h
++fi
++echo "" >>$ac_stdint_h
++
++if test "$ac_cv_header_stdint_x" != "no-file" ; then
++ ac_cv_header_stdint="$ac_cv_header_stdint_x"
++elif test "$ac_cv_header_stdint_o" != "no-file" ; then
++ ac_cv_header_stdint="$ac_cv_header_stdint_o"
++elif test "$ac_cv_header_stdint_u" != "no-file" ; then
++ ac_cv_header_stdint="$ac_cv_header_stdint_u"
++else
++ ac_cv_header_stdint="stddef.h"
++fi
++
++# ----------------- See if int_least and int_fast types are present
++unset ac_cv_type_int_least32_t
++unset ac_cv_type_int_fast32_t
++{ echo "$as_me:$LINENO: checking for int_least32_t" >&5
++echo $ECHO_N "checking for int_least32_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_int_least32_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <$ac_cv_header_stdint>
++
++typedef int_least32_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_int_least32_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_int_least32_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_int_least32_t" >&5
++echo "${ECHO_T}$ac_cv_type_int_least32_t" >&6; }
++
++{ echo "$as_me:$LINENO: checking for int_fast32_t" >&5
++echo $ECHO_N "checking for int_fast32_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_int_fast32_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include<$ac_cv_header_stdint>
++
++typedef int_fast32_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_int_fast32_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_int_fast32_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_int_fast32_t" >&5
++echo "${ECHO_T}$ac_cv_type_int_fast32_t" >&6; }
++
++
++if test "$ac_cv_header_stdint" != "stddef.h" ; then
++if test "$ac_cv_header_stdint" != "stdint.h" ; then
++{ echo "$as_me:$LINENO: result: ..adding include stddef.h" >&5
++echo "${ECHO_T}..adding include stddef.h" >&6; }
++ echo "#include <stddef.h>" >>$ac_stdint_h
++fi ; fi
++{ echo "$as_me:$LINENO: result: ..adding include $ac_cv_header_stdint" >&5
++echo "${ECHO_T}..adding include $ac_cv_header_stdint" >&6; }
++ echo "#include <$ac_cv_header_stdint>" >>$ac_stdint_h
++echo "" >>$ac_stdint_h
++
++# ----------------- DONE header START basic int types -------------
++if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ { echo "$as_me:$LINENO: result: ... need to look at C basic types" >&5
++echo "${ECHO_T}... need to look at C basic types" >&6; }
++else
++ { echo "$as_me:$LINENO: result: ... seen good stdint.h inttypes" >&5
++echo "${ECHO_T}... seen good stdint.h inttypes" >&6; }
++fi
++
++if test "$ac_cv_header_stdint_u" != "no-file" ; then
++ { echo "$as_me:$LINENO: result: ... seen bsd/sysv typedefs" >&5
++echo "${ECHO_T}... seen bsd/sysv typedefs" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */
++typedef u_int8_t uint8_t;
++typedef u_int16_t uint16_t;
++typedef u_int32_t uint32_t;
++EOF
++ cat >>$ac_stdint_h <<EOF
++
++/* glibc compatibility */
++#ifndef __int8_t_defined
++#define __int8_t_defined
++#endif
++EOF
++fi
++
++ac_cv_sizeof_x="$ac_cv_sizeof_char:$ac_cv_sizeof_short"
++ac_cv_sizeof_X="$ac_cv_sizeof_x:$ac_cv_sizeof_int"
++ac_cv_sizeof_X="$ac_cv_sizeof_X:$ac_cv_sizeof_voidp:$ac_cv_sizeof_long"
++if test "$ac_cv_header_stdint" = "stddef.h" ; then
++# we must guess all the basic types. Apart from byte-adressable system,
++# there a few 32-bit-only dsp-systems. nibble-addressable systems are way off.
++ cat >>$ac_stdint_h <<EOF
++/* ------------ BITSPECIFIC INTTYPES SECTION --------------- */
++EOF
++ t="typedefs for a"
++ case "$ac_cv_sizeof_X" in
++ 1:2:2:2:4) { echo "$as_me:$LINENO: result: ..adding $t normal 16-bit system" >&5
++echo "${ECHO_T}..adding $t normal 16-bit system" >&6; }
++ cat >>$ac_stdint_h <<EOF
++/* a normal 16-bit system */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned long uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef long int32_t;
++#endif
++EOF
++;;
++ 1:2:2:4:4) { echo "$as_me:$LINENO: result: ..adding $t 32-bit system derived from a 16-bit" >&5
++echo "${ECHO_T}..adding $t 32-bit system derived from a 16-bit" >&6; }
++ cat >>$ac_stdint_h <<EOF
++/* a 32-bit system derived from a 16-bit */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ 1:2:4:4:4) { echo "$as_me:$LINENO: result: ..adding $t normal 32-bit system" >&5
++echo "${ECHO_T}..adding $t normal 32-bit system" >&6; }
++ cat >>$ac_stdint_h <<EOF
++/* a normal 32-bit system */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ 1:2:4:4:8) { echo "$as_me:$LINENO: result: ..adding $t 32-bit system prepared for 64-bit" >&5
++echo "${ECHO_T}..adding $t 32-bit system prepared for 64-bit" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* a 32-bit system prepared for 64-bit */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ 1:2:4:8:8) { echo "$as_me:$LINENO: result: ..adding $t normal 64-bit system" >&5
++echo "${ECHO_T}..adding $t normal 64-bit system" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* a normal 64-bit system */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ 1:2:4:8:4) { echo "$as_me:$LINENO: result: ..adding $t 64-bit system derived from a 32-bit" >&5
++echo "${ECHO_T}..adding $t 64-bit system derived from a 32-bit" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* a 64-bit system derived from a 32-bit system */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ *)
++ { { echo "$as_me:$LINENO: error: $ac_cv_sizeof_X what is that a system? contact the author, quick! http://ac-archive.sf.net" >&5
++echo "$as_me: error: $ac_cv_sizeof_X what is that a system? contact the author, quick! http://ac-archive.sf.net" >&2;}
++ { (exit 1); exit 1; }; }
++ exit 1
++;;
++ esac
++fi
++
++# ------------- DONE basic int types START int64_t types ------------
++if test "$ac_cv_type_uint64_t" = "yes"
++then { echo "$as_me:$LINENO: result: ... seen good uint64_t" >&5
++echo "${ECHO_T}... seen good uint64_t" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* system headers have good uint64_t */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++#endif
++EOF
++
++elif test "$ac_cv_type_u_int64_t" = "yes"
++then { echo "$as_me:$LINENO: result: ..adding typedef u_int64_t uint64_t" >&5
++echo "${ECHO_T}..adding typedef u_int64_t uint64_t" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* system headers have an u_int64_t */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef u_int64_t uint64_t;
++#endif
++EOF
++else { echo "$as_me:$LINENO: result: ..adding generic uint64_t runtime checks" >&5
++echo "${ECHO_T}..adding generic uint64_t runtime checks" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* -------------------- 64 BIT GENERIC SECTION -------------------- */
++/* here are some common heuristics using compiler runtime specifics */
++#if defined __STDC_VERSION__ && defined __STDC_VERSION__ > 199901L
++
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long long int64_t;
++typedef unsigned long long uint64_t;
++#endif
++
++#elif !defined __STRICT_ANSI__
++#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
++
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef __int64 int64_t;
++typedef unsigned __int64 uint64_t;
++#endif
++
++#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__
++
++#if !defined _NO_LONGLONG
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long long int64_t;
++typedef unsigned long long uint64_t;
++#endif
++#endif
++
++#elif defined __alpha || (defined __mips && defined _ABIN32)
++
++#if !defined _NO_LONGLONG
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long int64_t;
++typedef unsigned long uint64_t;
++#endif
++#endif
++ /* compiler/cpu type ... or just ISO C99 */
++#endif
++#endif
++EOF
++
++# plus a default 64-bit for systems that are likely to be 64-bit ready
++ case "$ac_cv_sizeof_x:$ac_cv_sizeof_voidp:$ac_cv_sizeof_long" in
++ 1:2:8:8) { echo "$as_me:$LINENO: result: ..adding uint64_t default" >&5
++echo "${ECHO_T}..adding uint64_t default" >&6; }
++cat >>$ac_stdint_h <<EOF
++/* DEFAULT: */
++/* seen normal 64-bit system, CC has sizeof(long and void*) == 8 bytes */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long int64_t;
++typedef unsigned long uint64_t;
++#endif
++EOF
++;;
++ 1:2:4:8) { echo "$as_me:$LINENO: result: ..adding uint64_t default" >&5
++echo "${ECHO_T}..adding uint64_t default" >&6; }
++cat >>$ac_stdint_h <<EOF
++/* DEFAULT: */
++/* seen 32-bit system prepared for 64-bit, CC has sizeof(long) == 8 bytes */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long int64_t;
++typedef unsigned long uint64_t;
++#endif
++EOF
++;;
++ 1:2:8:4) { echo "$as_me:$LINENO: result: ..adding uint64_t default" >&5
++echo "${ECHO_T}..adding uint64_t default" >&6; }
++cat >>$ac_stdint_h <<EOF
++/* DEFAULT: */
++/* seen 64-bit derived from a 32-bit, CC has sizeof(long) == 4 bytes */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long long int64_t;
++typedef unsigned long long uint64_t;
++#endif
++EOF
++;;
++ *)
++cat >>$ac_stdint_h <<EOF
++/* NOTE: */
++/* the configure-checks for the basic types did not make us believe */
++/* that we could add a fallback to a 'long long' typedef to int64_t */
++EOF
++ esac
++fi
++
++# ------------- DONE int64_t types START intptr types ------------
++if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ cat >>$ac_stdint_h <<EOF
++
++/* -------------------------- INPTR SECTION --------------------------- */
++EOF
++ case "$ac_cv_sizeof_x:$ac_cv_sizeof_voidp" in
++ 1:2:2)
++ a="int16_t" ; cat >>$ac_stdint_h <<EOF
++/* we tested sizeof(void*) to be of 2 chars, hence we declare it 16-bit */
++
++typedef uint16_t uintptr_t;
++typedef int16_t intptr_t;
++EOF
++;;
++ 1:2:4)
++ a="int32_t" ; cat >>$ac_stdint_h <<EOF
++/* we tested sizeof(void*) to be of 4 chars, hence we declare it 32-bit */
++
++typedef uint32_t uintptr_t;
++typedef int32_t intptr_t;
++EOF
++;;
++ 1:2:8)
++ a="int64_t" ; cat >>$ac_stdint_h <<EOF
++/* we tested sizeof(void*) to be of 8 chars, hence we declare it 64-bit */
++
++typedef uint64_t uintptr_t;
++typedef int64_t intptr_t;
++EOF
++;;
++ *)
++ a="long" ; cat >>$ac_stdint_h <<EOF
++/* we tested sizeof(void*) but got no guess, hence we declare it as if long */
++
++typedef unsigned long uintptr_t;
++typedef long intptr_t;
++EOF
++;;
++ esac
++{ echo "$as_me:$LINENO: result: ..adding typedef $a intptr_t" >&5
++echo "${ECHO_T}..adding typedef $a intptr_t" >&6; }
++fi
++
++# ------------- DONE intptr types START int_least types ------------
++if test "$ac_cv_type_int_least32_t" = "no"; then
++{ echo "$as_me:$LINENO: result: ..adding generic int_least-types" >&5
++echo "${ECHO_T}..adding generic int_least-types" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* --------------GENERIC INT_LEAST ------------------ */
++
++typedef int8_t int_least8_t;
++typedef int16_t int_least16_t;
++typedef int32_t int_least32_t;
++#ifdef _HAVE_INT64_T
++typedef int64_t int_least64_t;
++#endif
++
++typedef uint8_t uint_least8_t;
++typedef uint16_t uint_least16_t;
++typedef uint32_t uint_least32_t;
++#ifdef _HAVE_INT64_T
++typedef uint64_t uint_least64_t;
++#endif
++EOF
++fi
++
++# ------------- DONE intptr types START int_least types ------------
++if test "$ac_cv_type_int_fast32_t" = "no"; then
++{ echo "$as_me:$LINENO: result: ..adding generic int_fast-types" >&5
++echo "${ECHO_T}..adding generic int_fast-types" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* --------------GENERIC INT_FAST ------------------ */
++
++typedef int8_t int_fast8_t;
++typedef int32_t int_fast16_t;
++typedef int32_t int_fast32_t;
++#ifdef _HAVE_INT64_T
++typedef int64_t int_fast64_t;
++#endif
++
++typedef uint8_t uint_fast8_t;
++typedef uint32_t uint_fast16_t;
++typedef uint32_t uint_fast32_t;
++#ifdef _HAVE_INT64_T
++typedef uint64_t uint_fast64_t;
++#endif
++EOF
++fi
++
++if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ cat >>$ac_stdint_h <<EOF
++
++#ifdef _HAVE_INT64_T
++typedef int64_t intmax_t;
++typedef uint64_t uintmax_t;
++#else
++typedef long int intmax_t;
++typedef unsigned long uintmax_t;
++#endif
++EOF
++fi
++
++{ echo "$as_me:$LINENO: result: ... DONE $ac_stdint_h" >&5
++echo "${ECHO_T}... DONE $ac_stdint_h" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++ /* once */
++#endif
++#endif
++EOF
++
++{ echo "$as_me:$LINENO: checking for in_addr_t" >&5
++echo $ECHO_N "checking for in_addr_t... $ECHO_C" >&6; }
++if test "${inaddrt+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <sys/types.h>
++#include <netinet/in.h>
++int
++main ()
++{
++in_addr_t foo; return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ inaddrt=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ inaddrt=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext,
++
++fi
++{ echo "$as_me:$LINENO: result: $inaddrt" >&5
++echo "${ECHO_T}$inaddrt" >&6; }
++
++
++if test $inaddrt = no ; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define NEED_INADDR_T 1
++_ACEOF
++
++fi
++
++# Checks for library functions.
++{ echo "$as_me:$LINENO: checking for working memcmp" >&5
++echo $ECHO_N "checking for working memcmp... $ECHO_C" >&6; }
++if test "${ac_cv_func_memcmp_working+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test "$cross_compiling" = yes; then
++ ac_cv_func_memcmp_working=no
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++
++ /* Some versions of memcmp are not 8-bit clean. */
++ char c0 = '\100', c1 = '\200', c2 = '\201';
++ if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0)
++ return 1;
++
++ /* The Next x86 OpenStep bug shows up only when comparing 16 bytes
++ or more and with at least one buffer not starting on a 4-byte boundary.
++ William Lewis provided this test program. */
++ {
++ char foo[21];
++ char bar[21];
++ int i;
++ for (i = 0; i < 4; i++)
++ {
++ char *a = foo + i;
++ char *b = bar + i;
++ strcpy (a, "--------01111111");
++ strcpy (b, "--------10000000");
++ if (memcmp (a, b, 16) >= 0)
++ return 1;
++ }
++ return 0;
++ }
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_memcmp_working=yes
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_func_memcmp_working=no
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_memcmp_working" >&5
++echo "${ECHO_T}$ac_cv_func_memcmp_working" >&6; }
++test $ac_cv_func_memcmp_working = no && case " $LIB@&t@OBJS " in
++ *" memcmp.$ac_objext "* ) ;;
++ *) LIB@&t@OBJS="$LIB@&t@OBJS memcmp.$ac_objext"
++ ;;
++esac
++
++
++{ echo "$as_me:$LINENO: checking whether lstat dereferences a symlink specified with a trailing slash" >&5
++echo $ECHO_N "checking whether lstat dereferences a symlink specified with a trailing slash... $ECHO_C" >&6; }
++if test "${ac_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ rm -f conftest.sym conftest.file
++echo >conftest.file
++if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
++ if test "$cross_compiling" = yes; then
++ ac_cv_func_lstat_dereferences_slashed_symlink=no
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++struct stat sbuf;
++ /* Linux will dereference the symlink and fail.
++ That is better in the sense that it means we will not
++ have to compile and use the lstat wrapper. */
++ return lstat ("conftest.sym/", &sbuf) == 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_lstat_dereferences_slashed_symlink=yes
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_func_lstat_dereferences_slashed_symlink=no
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++else
++ # If the `ln -s' command failed, then we probably don't even
++ # have an lstat function.
++ ac_cv_func_lstat_dereferences_slashed_symlink=no
++fi
++rm -f conftest.sym conftest.file
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5
++echo "${ECHO_T}$ac_cv_func_lstat_dereferences_slashed_symlink" >&6; }
++
++test $ac_cv_func_lstat_dereferences_slashed_symlink = yes &&
++
++cat >>confdefs.h <<_ACEOF
++@%:@define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
++_ACEOF
++
++
++if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then
++ case " $LIB@&t@OBJS " in
++ *" lstat.$ac_objext "* ) ;;
++ *) LIB@&t@OBJS="$LIB@&t@OBJS lstat.$ac_objext"
++ ;;
++esac
++
++fi
++
++{ echo "$as_me:$LINENO: checking whether stat accepts an empty string" >&5
++echo $ECHO_N "checking whether stat accepts an empty string... $ECHO_C" >&6; }
++if test "${ac_cv_func_stat_empty_string_bug+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test "$cross_compiling" = yes; then
++ ac_cv_func_stat_empty_string_bug=yes
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++struct stat sbuf;
++ return stat ("", &sbuf) == 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_stat_empty_string_bug=no
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_func_stat_empty_string_bug=yes
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_stat_empty_string_bug" >&5
++echo "${ECHO_T}$ac_cv_func_stat_empty_string_bug" >&6; }
++if test $ac_cv_func_stat_empty_string_bug = yes; then
++ case " $LIB@&t@OBJS " in
++ *" stat.$ac_objext "* ) ;;
++ *) LIB@&t@OBJS="$LIB@&t@OBJS stat.$ac_objext"
++ ;;
++esac
++
++
++cat >>confdefs.h <<_ACEOF
++@%:@define HAVE_STAT_EMPTY_STRING_BUG 1
++_ACEOF
++
++fi
++
++
++for ac_func in strftime
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
++
++int
++main ()
++{
++return $ac_func ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ eval "$as_ac_var=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_var=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++ac_res=`eval echo '${'$as_ac_var'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++else
++ # strftime is in -lintl on SCO UNIX.
++{ echo "$as_me:$LINENO: checking for strftime in -lintl" >&5
++echo $ECHO_N "checking for strftime in -lintl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_intl_strftime+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lintl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char strftime ();
++int
++main ()
++{
++return strftime ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_intl_strftime=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_intl_strftime=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_strftime" >&5
++echo "${ECHO_T}$ac_cv_lib_intl_strftime" >&6; }
++if test $ac_cv_lib_intl_strftime = yes; then
++ cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_STRFTIME 1
++_ACEOF
++
++LIBS="-lintl $LIBS"
++fi
++
++fi
++done
++
++
++for ac_func in vprintf
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
++
++int
++main ()
++{
++return $ac_func ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ eval "$as_ac_var=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_var=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++ac_res=`eval echo '${'$as_ac_var'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++{ echo "$as_me:$LINENO: checking for _doprnt" >&5
++echo $ECHO_N "checking for _doprnt... $ECHO_C" >&6; }
++if test "${ac_cv_func__doprnt+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define _doprnt to an innocuous variant, in case <limits.h> declares _doprnt.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define _doprnt innocuous__doprnt
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char _doprnt (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef _doprnt
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char _doprnt ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub__doprnt || defined __stub____doprnt
++choke me
++#endif
++
++int
++main ()
++{
++return _doprnt ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func__doprnt=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_func__doprnt=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5
++echo "${ECHO_T}$ac_cv_func__doprnt" >&6; }
++if test $ac_cv_func__doprnt = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_DOPRNT 1
++_ACEOF
++
++fi
++
++fi
++done
++
++
++{ echo "$as_me:$LINENO: checking for pid_t" >&5
++echo $ECHO_N "checking for pid_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_pid_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++typedef pid_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_pid_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_pid_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
++echo "${ECHO_T}$ac_cv_type_pid_t" >&6; }
++if test $ac_cv_type_pid_t = yes; then
++ :
++else
++
++cat >>confdefs.h <<_ACEOF
++@%:@define pid_t int
++_ACEOF
++
++fi
++
++
++for ac_header in vfork.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ { echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <$ac_header>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ eval "$as_ac_Header=\$ac_header_preproc"
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++
++fi
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++
++for ac_func in fork vfork
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
++
++int
++main ()
++{
++return $ac_func ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ eval "$as_ac_var=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_var=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++ac_res=`eval echo '${'$as_ac_var'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++if test "x$ac_cv_func_fork" = xyes; then
++ { echo "$as_me:$LINENO: checking for working fork" >&5
++echo $ECHO_N "checking for working fork... $ECHO_C" >&6; }
++if test "${ac_cv_func_fork_works+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test "$cross_compiling" = yes; then
++ ac_cv_func_fork_works=cross
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++int
++main ()
++{
++
++ /* By Ruediger Kuhlmann. */
++ return fork () < 0;
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_fork_works=yes
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_func_fork_works=no
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_fork_works" >&5
++echo "${ECHO_T}$ac_cv_func_fork_works" >&6; }
++
++else
++ ac_cv_func_fork_works=$ac_cv_func_fork
++fi
++if test "x$ac_cv_func_fork_works" = xcross; then
++ case $host in
++ *-*-amigaos* | *-*-msdosdjgpp*)
++ # Override, as these systems have only a dummy fork() stub
++ ac_cv_func_fork_works=no
++ ;;
++ *)
++ ac_cv_func_fork_works=yes
++ ;;
++ esac
++ { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5
++echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;}
++fi
++ac_cv_func_vfork_works=$ac_cv_func_vfork
++if test "x$ac_cv_func_vfork" = xyes; then
++ { echo "$as_me:$LINENO: checking for working vfork" >&5
++echo $ECHO_N "checking for working vfork... $ECHO_C" >&6; }
++if test "${ac_cv_func_vfork_works+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test "$cross_compiling" = yes; then
++ ac_cv_func_vfork_works=cross
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Thanks to Paul Eggert for this test. */
++$ac_includes_default
++#include <sys/wait.h>
++#ifdef HAVE_VFORK_H
++# include <vfork.h>
++#endif
++/* On some sparc systems, changes by the child to local and incoming
++ argument registers are propagated back to the parent. The compiler
++ is told about this with #include <vfork.h>, but some compilers
++ (e.g. gcc -O) don't grok <vfork.h>. Test for this by using a
++ static variable whose address is put into a register that is
++ clobbered by the vfork. */
++static void
++#ifdef __cplusplus
++sparc_address_test (int arg)
++# else
++sparc_address_test (arg) int arg;
++#endif
++{
++ static pid_t child;
++ if (!child) {
++ child = vfork ();
++ if (child < 0) {
++ perror ("vfork");
++ _exit(2);
++ }
++ if (!child) {
++ arg = getpid();
++ write(-1, "", 0);
++ _exit (arg);
++ }
++ }
++}
++
++int
++main ()
++{
++ pid_t parent = getpid ();
++ pid_t child;
++
++ sparc_address_test (0);
++
++ child = vfork ();
++
++ if (child == 0) {
++ /* Here is another test for sparc vfork register problems. This
++ test uses lots of local variables, at least as many local
++ variables as main has allocated so far including compiler
++ temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris
++ 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should
++ reuse the register of parent for one of the local variables,
++ since it will think that parent can't possibly be used any more
++ in this routine. Assigning to the local variable will thus
++ munge parent in the parent process. */
++ pid_t
++ p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),
++ p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();
++ /* Convince the compiler that p..p7 are live; otherwise, it might
++ use the same hardware register for all 8 local variables. */
++ if (p != p1 || p != p2 || p != p3 || p != p4
++ || p != p5 || p != p6 || p != p7)
++ _exit(1);
++
++ /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent
++ from child file descriptors. If the child closes a descriptor
++ before it execs or exits, this munges the parent's descriptor
++ as well. Test for this by closing stdout in the child. */
++ _exit(close(fileno(stdout)) != 0);
++ } else {
++ int status;
++ struct stat st;
++
++ while (wait(&status) != child)
++ ;
++ return (
++ /* Was there some problem with vforking? */
++ child < 0
++
++ /* Did the child fail? (This shouldn't happen.) */
++ || status
++
++ /* Did the vfork/compiler bug occur? */
++ || parent != getpid()
++
++ /* Did the file descriptor bug occur? */
++ || fstat(fileno(stdout), &st) != 0
++ );
++ }
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_vfork_works=yes
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_func_vfork_works=no
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_vfork_works" >&5
++echo "${ECHO_T}$ac_cv_func_vfork_works" >&6; }
++
++fi;
++if test "x$ac_cv_func_fork_works" = xcross; then
++ ac_cv_func_vfork_works=$ac_cv_func_vfork
++ { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5
++echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;}
++fi
++
++if test "x$ac_cv_func_vfork_works" = xyes; then
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_WORKING_VFORK 1
++_ACEOF
++
++else
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define vfork fork
++_ACEOF
++
++fi
++if test "x$ac_cv_func_fork_works" = xyes; then
++
++cat >>confdefs.h <<\_ACEOF
++@%:@define HAVE_WORKING_FORK 1
++_ACEOF
++
++fi
++
++
++{ echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
++echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lnsl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char gethostbyname ();
++int
++main ()
++{
++return gethostbyname ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_nsl_gethostbyname=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_nsl_gethostbyname=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6; }
++if test $ac_cv_lib_nsl_gethostbyname = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define HAVE_LIBNSL 1
++_ACEOF
++
++ LIBS="-lnsl $LIBS"
++
++fi
++
++
++{ echo "$as_me:$LINENO: checking for socket in -lsocket" >&5
++echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6; }
++if test "${ac_cv_lib_socket_socket+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lsocket $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char socket ();
++int
++main ()
++{
++return socket ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_socket_socket=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_socket_socket=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5
++echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6; }
++if test $ac_cv_lib_socket_socket = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define HAVE_LIBSOCKET 1
++_ACEOF
++
++ LIBS="-lsocket $LIBS"
++
++fi
++
++
++uname_s=`(uname -s) 2>/dev/null`
++if test "x$uname_s" = "xHP-UX"; then
++ # need -lsec for getspnam()
++ LDFLAGS="$LDFLAGS -lsec"
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++for ac_func in ftime gethostbyname gethostname gettimeofday inet_ntoa memmove memset mmap mkfifo select socket strchr strcspn strdup strerror strstr
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
++
++int
++main ()
++{
++return $ac_func ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ eval "$as_ac_var=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_var=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++ac_res=`eval echo '${'$as_ac_var'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++# x11vnc only:
++if test "$build_x11vnc" = "yes"; then
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++for ac_func in setsid setpgrp getpwuid getpwnam getspnam getuid geteuid setuid setgid seteuid setegid initgroups waitpid setutxent grantpt
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
++
++int
++main ()
++{
++return $ac_func ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ eval "$as_ac_var=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ eval "$as_ac_var=no"
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++ac_res=`eval echo '${'$as_ac_var'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++fi
++
++# check, if shmget is in cygipc.a
++
++{ echo "$as_me:$LINENO: checking for shmget in -lcygipc" >&5
++echo $ECHO_N "checking for shmget in -lcygipc... $ECHO_C" >&6; }
++if test "${ac_cv_lib_cygipc_shmget+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lcygipc $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char shmget ();
++int
++main ()
++{
++return shmget ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_cygipc_shmget=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_lib_cygipc_shmget=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_cygipc_shmget" >&5
++echo "${ECHO_T}$ac_cv_lib_cygipc_shmget" >&6; }
++if test $ac_cv_lib_cygipc_shmget = yes; then
++ cat >>confdefs.h <<_ACEOF
++@%:@define HAVE_LIBCYGIPC 1
++_ACEOF
++
++ LIBS="-lcygipc $LIBS"
++
++fi
++
++ if test "$HAVE_CYGIPC" = "true"; then
++ CYGIPC_TRUE=
++ CYGIPC_FALSE='#'
++else
++ CYGIPC_TRUE='#'
++ CYGIPC_FALSE=
++fi
++
++
++# Check if /dev/vcsa1 exists, if so, define LINUX
++ if test -c /dev/vcsa1; then
++ LINUX_TRUE=
++ LINUX_FALSE='#'
++else
++ LINUX_TRUE='#'
++ LINUX_FALSE=
++fi
++
++
++# Check for OS X specific header
++if test "${ac_cv_header_ApplicationServices_ApplicationServices_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for ApplicationServices/ApplicationServices.h" >&5
++echo $ECHO_N "checking for ApplicationServices/ApplicationServices.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_ApplicationServices_ApplicationServices_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_ApplicationServices_ApplicationServices_h" >&5
++echo "${ECHO_T}$ac_cv_header_ApplicationServices_ApplicationServices_h" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking ApplicationServices/ApplicationServices.h usability" >&5
++echo $ECHO_N "checking ApplicationServices/ApplicationServices.h usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++@%:@include <ApplicationServices/ApplicationServices.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ echo "$as_me:$LINENO: checking ApplicationServices/ApplicationServices.h presence" >&5
++echo $ECHO_N "checking ApplicationServices/ApplicationServices.h presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++@%:@include <ApplicationServices/ApplicationServices.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++@%:@@%:@ Report this to http://sourceforge.net/projects/libvncserver @%:@@%:@
++@%:@@%:@ ----------------------------------------------------------- @%:@@%:@
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for ApplicationServices/ApplicationServices.h" >&5
++echo $ECHO_N "checking for ApplicationServices/ApplicationServices.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_ApplicationServices_ApplicationServices_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_ApplicationServices_ApplicationServices_h=$ac_header_preproc
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_ApplicationServices_ApplicationServices_h" >&5
++echo "${ECHO_T}$ac_cv_header_ApplicationServices_ApplicationServices_h" >&6; }
++
++fi
++if test $ac_cv_header_ApplicationServices_ApplicationServices_h = yes; then
++ HAVE_OSX="true"
++fi
++
++
++ if test "$HAVE_OSX" = "true"; then
++ OSX_TRUE=
++ OSX_FALSE='#'
++else
++ OSX_TRUE='#'
++ OSX_FALSE=
++fi
++
++
++# On Solaris 2.7, write() returns ENOENT when it really means EAGAIN
++
++
++case `(uname -sr) 2>/dev/null` in
++ "SunOS 5.7")
++ cat >>confdefs.h <<\_ACEOF
++@%:@define ENOENT_WORKAROUND 1
++_ACEOF
++
++ ;;
++esac
++
++# Check for rpm SOURCES path
++printf "checking for rpm sources path... "
++RPMSOURCEDIR="NOT-FOUND"
++for directory in packages OpenLinux redhat RedHat rpm RPM "" ; do
++ if test -d /usr/src/${directory}/SOURCES; then
++ RPMSOURCEDIR="/usr/src/${directory}/SOURCES/"
++ fi
++done
++echo "$RPMSOURCEDIR"
++ if test "$RPMSOURCEDIR" != "NOT-FOUND"; then
++ HAVE_RPM_TRUE=
++ HAVE_RPM_FALSE='#'
++else
++ HAVE_RPM_TRUE='#'
++ HAVE_RPM_FALSE=
++fi
++
++
++
++ac_config_files="$ac_config_files Makefile libvncserver/Makefile contrib/Makefile examples/Makefile vncterm/Makefile classes/Makefile classes/ssl/Makefile libvncclient/Makefile client_examples/Makefile test/Makefile libvncserver-config LibVNCServer.spec"
++
++# x11vnc only:
++# if test "$build_x11vnc" = "yes"; then
++# AC_CONFIG_FILES([x11vnc/Makefile x11vnc/misc/Makefile])
++# fi
++
++ac_config_commands="$ac_config_commands chmod-libvncserver-config"
++
++cat >confcache <<\_ACEOF
++# This file is a shell script that caches the results of configure
++# tests run on this system so they can be shared between configure
++# scripts and configure runs, see configure's option --config-cache.
++# It is not useful on other systems. If it contains results you don't
++# want to keep, you may remove or edit it.
++#
++# config.status only pays attention to the cache file if you give it
++# the --recheck option to rerun configure.
++#
++# `ac_cv_env_foo' variables (set or unset) will be overridden when
++# loading this file, other *unset* `ac_cv_foo' will be assigned the
++# following values.
++
++_ACEOF
++
++# The following way of writing the cache mishandles newlines in values,
++# but we know of no workaround that is simple, portable, and efficient.
++# So, we kill variables containing newlines.
++# Ultrix sh set writes to stderr and can't be redirected directly,
++# and sets the high bit in the cache file unless we assign to the vars.
++(
++ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
++ eval ac_val=\$$ac_var
++ case $ac_val in #(
++ *${as_nl}*)
++ case $ac_var in #(
++ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
++echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
++ esac
++ case $ac_var in #(
++ _ | IFS | as_nl) ;; #(
++ *) $as_unset $ac_var ;;
++ esac ;;
++ esac
++ done
++
++ (set) 2>&1 |
++ case $as_nl`(ac_space=' '; set) 2>&1` in #(
++ *${as_nl}ac_space=\ *)
++ # `set' does not quote correctly, so add quotes (double-quote
++ # substitution turns \\\\ into \\, and sed turns \\ into \).
++ sed -n \
++ "s/'/'\\\\''/g;
++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
++ ;; #(
++ *)
++ # `set' quotes correctly as required by POSIX, so do not add quotes.
++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
++ ;;
++ esac |
++ sort
++) |
++ sed '
++ /^ac_cv_env_/b end
++ t clear
++ :clear
++ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
++ t end
++ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
++ :end' >>confcache
++if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
++ if test -w "$cache_file"; then
++ test "x$cache_file" != "x/dev/null" &&
++ { echo "$as_me:$LINENO: updating cache $cache_file" >&5
++echo "$as_me: updating cache $cache_file" >&6;}
++ cat confcache >$cache_file
++ else
++ { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
++echo "$as_me: not updating unwritable cache $cache_file" >&6;}
++ fi
++fi
++rm -f confcache
++
++test "x$prefix" = xNONE && prefix=$ac_default_prefix
++# Let make expand exec_prefix.
++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
++
++DEFS=-DHAVE_CONFIG_H
++
++ac_libobjs=
++ac_ltlibobjs=
++for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
++ # 1. Remove the extension, and $U if already installed.
++ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
++ ac_i=`echo "$ac_i" | sed "$ac_script"`
++ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
++ # will be set to the directory where LIBOBJS objects are built.
++ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
++ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
++done
++LIB@&t@OBJS=$ac_libobjs
++
++LTLIBOBJS=$ac_ltlibobjs
++
++
++if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"AMDEP\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${WITH_FFMPEG_TRUE}" && test -z "${WITH_FFMPEG_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"WITH_FFMPEG\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"WITH_FFMPEG\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_MP3LAME_TRUE}" && test -z "${HAVE_MP3LAME_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_MP3LAME\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_MP3LAME\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_X_TRUE}" && test -z "${HAVE_X_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_X\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_X\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_SYSTEM_LIBVNCSERVER_TRUE}" && test -z "${HAVE_SYSTEM_LIBVNCSERVER_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_SYSTEM_LIBVNCSERVER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_SYSTEM_LIBVNCSERVER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_LIBPTHREAD_TRUE}" && test -z "${HAVE_LIBPTHREAD_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBPTHREAD\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_LIBPTHREAD\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${WITH_TIGHTVNC_FILETRANSFER_TRUE}" && test -z "${WITH_TIGHTVNC_FILETRANSFER_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"WITH_TIGHTVNC_FILETRANSFER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"WITH_TIGHTVNC_FILETRANSFER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_LIBZ_TRUE}" && test -z "${HAVE_LIBZ_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBZ\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_LIBZ\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_LIBJPEG_TRUE}" && test -z "${HAVE_LIBJPEG_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBJPEG\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_LIBJPEG\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_LIBSDL_TRUE}" && test -z "${HAVE_LIBSDL_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBSDL\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_LIBSDL\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${MINGW_TRUE}" && test -z "${MINGW_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"MINGW\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"MINGW\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${CYGIPC_TRUE}" && test -z "${CYGIPC_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"CYGIPC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"CYGIPC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${LINUX_TRUE}" && test -z "${LINUX_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"LINUX\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"LINUX\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${OSX_TRUE}" && test -z "${OSX_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"OSX\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"OSX\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_RPM_TRUE}" && test -z "${HAVE_RPM_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_RPM\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_RPM\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++: ${CONFIG_STATUS=./config.status}
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files $CONFIG_STATUS"
++{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
++echo "$as_me: creating $CONFIG_STATUS" >&6;}
++cat >$CONFIG_STATUS <<_ACEOF
++#! $SHELL
++# Generated by $as_me.
++# Run this file to recreate the current configuration.
++# Compiler output produced by configure, useful for debugging
++# configure, is in config.log if it exists.
++
++debug=false
++ac_cs_recheck=false
++ac_cs_silent=false
++SHELL=\${CONFIG_SHELL-$SHELL}
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++## --------------------- ##
++## M4sh Initialization. ##
++## --------------------- ##
++
++# Be more Bourne compatible
++DUALCASE=1; export DUALCASE # for MKS sh
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '${1+"$@"}'='"$@"'
++ setopt NO_GLOB_SUBST
++else
++ case `(set -o) 2>/dev/null` in
++ *posix*) set -o posix ;;
++esac
++
++fi
++
++
++
++
++# PATH needs CR
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
++ else
++ PATH_SEPARATOR=:
++ fi
++ rm -f conf$$.sh
++fi
++
++# Support unset when possible.
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++ as_unset=unset
++else
++ as_unset=false
++fi
++
++
++# IFS
++# We need space, tab and new line, in precisely that order. Quoting is
++# there to prevent editors from complaining about space-tab.
++# (If _AS_PATH_WALK were called with IFS unset, it would disable word
++# splitting by setting IFS to empty value.)
++as_nl='
++'
++IFS=" "" $as_nl"
++
++# Find who we are. Look in the path if we contain no directory separator.
++case $0 in
++ *[\\/]* ) as_myself=$0 ;;
++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
++done
++IFS=$as_save_IFS
++
++ ;;
++esac
++# We did not find ourselves, most probably we were run as `sh COMMAND'
++# in which case we are not to be found in the path.
++if test "x$as_myself" = x; then
++ as_myself=$0
++fi
++if test ! -f "$as_myself"; then
++ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++ { (exit 1); exit 1; }
++fi
++
++# Work around bugs in pre-3.0 UWIN ksh.
++for as_var in ENV MAIL MAILPATH
++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++done
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++for as_var in \
++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
++ LC_TELEPHONE LC_TIME
++do
++ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
++ eval $as_var=C; export $as_var
++ else
++ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++ fi
++done
++
++# Required to use basename.
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
++ as_basename=basename
++else
++ as_basename=false
++fi
++
++
++# Name of the executable.
++as_me=`$as_basename -- "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++ X"$0" : 'X\(//\)$' \| \
++ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++echo X/"$0" |
++ sed '/^.*\/\([^/][^/]*\)\/*$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++
++# CDPATH.
++$as_unset CDPATH
++
++
++
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
++
++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
++ # uniformly replaced by the line number. The first 'sed' inserts a
++ # line-number line after each line using $LINENO; the second 'sed'
++ # does the real work. The second script uses 'N' to pair each
++ # line-number line with the line containing $LINENO, and appends
++ # trailing '-' during substitution so that $LINENO is not a special
++ # case at line end.
++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
++ # scripts with optimization help from Paolo Bonzini. Blame Lee
++ # E. McMahon (1931-1989) for sed's syntax. :-)
++ sed -n '
++ p
++ /[$]LINENO/=
++ ' <$as_myself |
++ sed '
++ s/[$]LINENO.*/&-/
++ t lineno
++ b
++ :lineno
++ N
++ :loop
++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
++ t loop
++ s/-\n.*//
++ ' >$as_me.lineno &&
++ chmod +x "$as_me.lineno" ||
++ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
++ { (exit 1); exit 1; }; }
++
++ # Don't try to exec as it changes $[0], causing all sort of problems
++ # (the dirname of $[0] is not the place where we might find the
++ # original and so on. Autoconf is especially sensitive to this).
++ . "./$as_me.lineno"
++ # Exit status is that of the last command.
++ exit
++}
++
++
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++ as_dirname=dirname
++else
++ as_dirname=false
++fi
++
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in
++-n*)
++ case `echo 'x\c'` in
++ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
++ *) ECHO_C='\c';;
++ esac;;
++*)
++ ECHO_N='-n';;
++esac
++
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++rm -f conf$$ conf$$.exe conf$$.file
++if test -d conf$$.dir; then
++ rm -f conf$$.dir/conf$$.file
++else
++ rm -f conf$$.dir
++ mkdir conf$$.dir
++fi
++echo >conf$$.file
++if ln -s conf$$.file conf$$ 2>/dev/null; then
++ as_ln_s='ln -s'
++ # ... but there are two gotchas:
++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
++ # In both cases, we have to default to `cp -p'.
++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
++ as_ln_s='cp -p'
++elif ln conf$$.file conf$$ 2>/dev/null; then
++ as_ln_s=ln
++else
++ as_ln_s='cp -p'
++fi
++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
++rmdir conf$$.dir 2>/dev/null
++
++if mkdir -p . 2>/dev/null; then
++ as_mkdir_p=:
++else
++ test -d ./-p && rmdir ./-p
++ as_mkdir_p=false
++fi
++
++if test -x / >/dev/null 2>&1; then
++ as_test_x='test -x'
++else
++ if ls -dL / >/dev/null 2>&1; then
++ as_ls_L_option=L
++ else
++ as_ls_L_option=
++ fi
++ as_test_x='
++ eval sh -c '\''
++ if test -d "$1"; then
++ test -d "$1/.";
++ else
++ case $1 in
++ -*)set "./$1";;
++ esac;
++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
++ ???[sx]*):;;*)false;;esac;fi
++ '\'' sh
++ '
++fi
++as_executable_p=$as_test_x
++
++# Sed expression to map a string onto a valid CPP name.
++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
++
++# Sed expression to map a string onto a valid variable name.
++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
++
++
++exec 6>&1
++
++# Save the log message, to keep $[0] and so on meaningful, and to
++# report actual input values of CONFIG_FILES etc. instead of their
++# values after options handling.
++ac_log="
++This file was extended by LibVNCServer $as_me 0.9.1, which was
++generated by GNU Autoconf 2.61. Invocation command line was
++
++ CONFIG_FILES = $CONFIG_FILES
++ CONFIG_HEADERS = $CONFIG_HEADERS
++ CONFIG_LINKS = $CONFIG_LINKS
++ CONFIG_COMMANDS = $CONFIG_COMMANDS
++ $ $0 $@
++
++on `(hostname || uname -n) 2>/dev/null | sed 1q`
++"
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<_ACEOF
++# Files that config.status was made for.
++config_files="$ac_config_files"
++config_headers="$ac_config_headers"
++config_commands="$ac_config_commands"
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++ac_cs_usage="\
++\`$as_me' instantiates files from templates according to the
++current configuration.
++
++Usage: $0 [OPTIONS] [FILE]...
++
++ -h, --help print this help, then exit
++ -V, --version print version number and configuration settings, then exit
++ -q, --quiet do not print progress messages
++ -d, --debug don't remove temporary files
++ --recheck update $as_me by reconfiguring in the same conditions
++ --file=FILE[:TEMPLATE]
++ instantiate the configuration file FILE
++ --header=FILE[:TEMPLATE]
++ instantiate the configuration header FILE
++
++Configuration files:
++$config_files
++
++Configuration headers:
++$config_headers
++
++Configuration commands:
++$config_commands
++
++Report bugs to <bug-autoconf@gnu.org>."
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++ac_cs_version="\\
++LibVNCServer config.status 0.9.1
++configured by $0, generated by GNU Autoconf 2.61,
++ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
++
++Copyright (C) 2006 Free Software Foundation, Inc.
++This config.status script is free software; the Free Software Foundation
++gives unlimited permission to copy, distribute and modify it."
++
++ac_pwd='$ac_pwd'
++srcdir='$srcdir'
++INSTALL='$INSTALL'
++MKDIR_P='$MKDIR_P'
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++# If no file are specified by the user, then we need to provide default
++# value. By we need to know if files were specified by the user.
++ac_need_defaults=:
++while test $# != 0
++do
++ case $1 in
++ --*=*)
++ ac_option=`expr "X$1" : 'X\([^=]*\)='`
++ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
++ ac_shift=:
++ ;;
++ *)
++ ac_option=$1
++ ac_optarg=$2
++ ac_shift=shift
++ ;;
++ esac
++
++ case $ac_option in
++ # Handling of the options.
++ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
++ ac_cs_recheck=: ;;
++ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
++ echo "$ac_cs_version"; exit ;;
++ --debug | --debu | --deb | --de | --d | -d )
++ debug=: ;;
++ --file | --fil | --fi | --f )
++ $ac_shift
++ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
++ ac_need_defaults=false;;
++ --header | --heade | --head | --hea )
++ $ac_shift
++ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
++ ac_need_defaults=false;;
++ --he | --h)
++ # Conflict between --help and --header
++ { echo "$as_me: error: ambiguous option: $1
++Try \`$0 --help' for more information." >&2
++ { (exit 1); exit 1; }; };;
++ --help | --hel | -h )
++ echo "$ac_cs_usage"; exit ;;
++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++ | -silent | --silent | --silen | --sile | --sil | --si | --s)
++ ac_cs_silent=: ;;
++
++ # This is an error.
++ -*) { echo "$as_me: error: unrecognized option: $1
++Try \`$0 --help' for more information." >&2
++ { (exit 1); exit 1; }; } ;;
++
++ *) ac_config_targets="$ac_config_targets $1"
++ ac_need_defaults=false ;;
++
++ esac
++ shift
++done
++
++ac_configure_extra_args=
++
++if $ac_cs_silent; then
++ exec 6>/dev/null
++ ac_configure_extra_args="$ac_configure_extra_args --silent"
++fi
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++if \$ac_cs_recheck; then
++ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
++ CONFIG_SHELL=$SHELL
++ export CONFIG_SHELL
++ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
++fi
++
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF
++exec 5>>config.log
++{
++ echo
++ sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
++@%:@@%:@ Running $as_me. @%:@@%:@
++_ASBOX
++ echo "$ac_log"
++} >&5
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++#
++# INIT-COMMANDS
++#
++PACKAGE="$PACKAGE"
++AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
++
++
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
++
++sed_quote_subst='$sed_quote_subst'
++double_quote_subst='$double_quote_subst'
++delay_variable_subst='$delay_variable_subst'
++macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
++macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
++enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
++enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
++pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
++enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
++host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
++host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
++host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
++build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
++build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
++build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
++SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
++Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
++GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
++EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
++FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
++LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
++NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
++LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
++max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
++ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
++exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
++lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
++lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
++lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
++reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
++reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
++file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
++AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
++AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
++STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
++RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
++old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
++CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
++compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
++GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
++objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
++SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
++ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
++MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
++need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
++DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
++NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
++LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
++OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
++OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
++libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
++shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
++enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
++export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
++whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
++compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
++allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
++no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
++inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
++link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
++fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
++always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
++export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
++include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
++prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
++variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
++need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
++need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
++version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
++runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
++shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
++shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
++libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
++library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
++soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
++postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
++sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
++sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
++enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
++enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
++enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
++old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
++striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
++
++LTCC='$LTCC'
++LTCFLAGS='$LTCFLAGS'
++compiler='$compiler_DEFAULT'
++
++# Quote evaled strings.
++for var in SED \
++GREP \
++EGREP \
++FGREP \
++LD \
++NM \
++LN_S \
++lt_SP2NL \
++lt_NL2SP \
++reload_flag \
++deplibs_check_method \
++file_magic_cmd \
++AR \
++AR_FLAGS \
++STRIP \
++RANLIB \
++CC \
++CFLAGS \
++compiler \
++lt_cv_sys_global_symbol_pipe \
++lt_cv_sys_global_symbol_to_cdecl \
++lt_cv_sys_global_symbol_to_c_name_address \
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
++SHELL \
++ECHO \
++lt_prog_compiler_no_builtin_flag \
++lt_prog_compiler_wl \
++lt_prog_compiler_pic \
++lt_prog_compiler_static \
++lt_cv_prog_compiler_c_o \
++need_locks \
++DSYMUTIL \
++NMEDIT \
++LIPO \
++OTOOL \
++OTOOL64 \
++shrext_cmds \
++export_dynamic_flag_spec \
++whole_archive_flag_spec \
++compiler_needs_object \
++with_gnu_ld \
++allow_undefined_flag \
++no_undefined_flag \
++hardcode_libdir_flag_spec \
++hardcode_libdir_flag_spec_ld \
++hardcode_libdir_separator \
++fix_srcfile_path \
++exclude_expsyms \
++include_expsyms \
++file_list_spec \
++variables_saved_for_relink \
++libname_spec \
++library_names_spec \
++soname_spec \
++finish_eval \
++old_striplib \
++striplib; do
++ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
++ *[\\\\\\\`\\"\\\$]*)
++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
++ ;;
++ *)
++ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
++ ;;
++ esac
++done
++
++# Double-quote double-evaled strings.
++for var in reload_cmds \
++old_postinstall_cmds \
++old_postuninstall_cmds \
++old_archive_cmds \
++extract_expsyms_cmds \
++old_archive_from_new_cmds \
++old_archive_from_expsyms_cmds \
++archive_cmds \
++archive_expsym_cmds \
++module_cmds \
++module_expsym_cmds \
++export_symbols_cmds \
++prelink_cmds \
++postinstall_cmds \
++postuninstall_cmds \
++finish_cmds \
++sys_lib_search_path_spec \
++sys_lib_dlsearch_path_spec; do
++ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
++ *[\\\\\\\`\\"\\\$]*)
++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
++ ;;
++ *)
++ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
++ ;;
++ esac
++done
++
++# Fix-up fallback echo if it was mangled by the above quoting rules.
++case \$lt_ECHO in
++*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
++ ;;
++esac
++
++ac_aux_dir='$ac_aux_dir'
++xsi_shell='$xsi_shell'
++lt_shell_append='$lt_shell_append'
++
++# See if we are running on zsh, and set the options which allow our
++# commands through without removal of \ escapes INIT.
++if test -n "\${ZSH_VERSION+set}" ; then
++ setopt NO_GLOB_SUBST
++fi
++
++
++ PACKAGE='$PACKAGE'
++ VERSION='$VERSION'
++ TIMESTAMP='$TIMESTAMP'
++ RM='$RM'
++ ofile='$ofile'
++
++
++
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++
++# Handling of arguments.
++for ac_config_target in $ac_config_targets
++do
++ case $ac_config_target in
++ "rfbconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS rfbconfig.h" ;;
++ "rfb/rfbconfig.h") CONFIG_COMMANDS="$CONFIG_COMMANDS rfb/rfbconfig.h" ;;
++ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
++ "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
++ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
++ "libvncserver/Makefile") CONFIG_FILES="$CONFIG_FILES libvncserver/Makefile" ;;
++ "contrib/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/Makefile" ;;
++ "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
++ "vncterm/Makefile") CONFIG_FILES="$CONFIG_FILES vncterm/Makefile" ;;
++ "classes/Makefile") CONFIG_FILES="$CONFIG_FILES classes/Makefile" ;;
++ "classes/ssl/Makefile") CONFIG_FILES="$CONFIG_FILES classes/ssl/Makefile" ;;
++ "libvncclient/Makefile") CONFIG_FILES="$CONFIG_FILES libvncclient/Makefile" ;;
++ "client_examples/Makefile") CONFIG_FILES="$CONFIG_FILES client_examples/Makefile" ;;
++ "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
++ "libvncserver-config") CONFIG_FILES="$CONFIG_FILES libvncserver-config" ;;
++ "LibVNCServer.spec") CONFIG_FILES="$CONFIG_FILES LibVNCServer.spec" ;;
++ "chmod-libvncserver-config") CONFIG_COMMANDS="$CONFIG_COMMANDS chmod-libvncserver-config" ;;
++
++ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
++echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
++ { (exit 1); exit 1; }; };;
++ esac
++done
++
++
++# If the user did not use the arguments to specify the items to instantiate,
++# then the envvar interface is used. Set only those that are not.
++# We use the long form for the default assignment because of an extremely
++# bizarre bug on SunOS 4.1.3.
++if $ac_need_defaults; then
++ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
++ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
++ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
++fi
++
++# Have a temporary directory for convenience. Make it in the build tree
++# simply because there is no reason against having it here, and in addition,
++# creating and moving files from /tmp can sometimes cause problems.
++# Hook for its removal unless debugging.
++# Note that there is a small window in which the directory will not be cleaned:
++# after its creation but before its name has been assigned to `$tmp'.
++$debug ||
++{
++ tmp=
++ trap 'exit_status=$?
++ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
++' 0
++ trap '{ (exit 1); exit 1; }' 1 2 13 15
++}
++# Create a (secure) tmp directory for tmp files.
++
++{
++ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
++ test -n "$tmp" && test -d "$tmp"
++} ||
++{
++ tmp=./conf$$-$RANDOM
++ (umask 077 && mkdir "$tmp")
++} ||
++{
++ echo "$me: cannot create a temporary directory in ." >&2
++ { (exit 1); exit 1; }
++}
++
++#
++# Set up the sed scripts for CONFIG_FILES section.
++#
++
++# No need to generate the scripts if there are no CONFIG_FILES.
++# This happens for instance when ./config.status config.h
++if test -n "$CONFIG_FILES"; then
++
++_ACEOF
++
++
++
++ac_delim='%!_!# '
++for ac_last_try in false false false false false :; do
++ cat >conf$$subs.sed <<_ACEOF
++SHELL!$SHELL$ac_delim
++PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
++PACKAGE_NAME!$PACKAGE_NAME$ac_delim
++PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
++PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
++PACKAGE_STRING!$PACKAGE_STRING$ac_delim
++PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
++exec_prefix!$exec_prefix$ac_delim
++prefix!$prefix$ac_delim
++program_transform_name!$program_transform_name$ac_delim
++bindir!$bindir$ac_delim
++sbindir!$sbindir$ac_delim
++libexecdir!$libexecdir$ac_delim
++datarootdir!$datarootdir$ac_delim
++datadir!$datadir$ac_delim
++sysconfdir!$sysconfdir$ac_delim
++sharedstatedir!$sharedstatedir$ac_delim
++localstatedir!$localstatedir$ac_delim
++includedir!$includedir$ac_delim
++oldincludedir!$oldincludedir$ac_delim
++docdir!$docdir$ac_delim
++infodir!$infodir$ac_delim
++htmldir!$htmldir$ac_delim
++dvidir!$dvidir$ac_delim
++pdfdir!$pdfdir$ac_delim
++psdir!$psdir$ac_delim
++libdir!$libdir$ac_delim
++localedir!$localedir$ac_delim
++mandir!$mandir$ac_delim
++DEFS!$DEFS$ac_delim
++ECHO_C!$ECHO_C$ac_delim
++ECHO_N!$ECHO_N$ac_delim
++ECHO_T!$ECHO_T$ac_delim
++LIBS!$LIBS$ac_delim
++build_alias!$build_alias$ac_delim
++host_alias!$host_alias$ac_delim
++target_alias!$target_alias$ac_delim
++INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
++INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
++INSTALL_DATA!$INSTALL_DATA$ac_delim
++am__isrc!$am__isrc$ac_delim
++CYGPATH_W!$CYGPATH_W$ac_delim
++PACKAGE!$PACKAGE$ac_delim
++VERSION!$VERSION$ac_delim
++ACLOCAL!$ACLOCAL$ac_delim
++AUTOCONF!$AUTOCONF$ac_delim
++AUTOMAKE!$AUTOMAKE$ac_delim
++AUTOHEADER!$AUTOHEADER$ac_delim
++MAKEINFO!$MAKEINFO$ac_delim
++install_sh!$install_sh$ac_delim
++STRIP!$STRIP$ac_delim
++INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
++mkdir_p!$mkdir_p$ac_delim
++AWK!$AWK$ac_delim
++SET_MAKE!$SET_MAKE$ac_delim
++am__leading_dot!$am__leading_dot$ac_delim
++AMTAR!$AMTAR$ac_delim
++am__tar!$am__tar$ac_delim
++am__untar!$am__untar$ac_delim
++CC!$CC$ac_delim
++CFLAGS!$CFLAGS$ac_delim
++LDFLAGS!$LDFLAGS$ac_delim
++CPPFLAGS!$CPPFLAGS$ac_delim
++ac_ct_CC!$ac_ct_CC$ac_delim
++EXEEXT!$EXEEXT$ac_delim
++OBJEXT!$OBJEXT$ac_delim
++DEPDIR!$DEPDIR$ac_delim
++am__include!$am__include$ac_delim
++am__quote!$am__quote$ac_delim
++AMDEP_TRUE!$AMDEP_TRUE$ac_delim
++AMDEP_FALSE!$AMDEP_FALSE$ac_delim
++AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
++CCDEPMODE!$CCDEPMODE$ac_delim
++am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
++am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
++LIBTOOL!$LIBTOOL$ac_delim
++build!$build$ac_delim
++build_cpu!$build_cpu$ac_delim
++build_vendor!$build_vendor$ac_delim
++build_os!$build_os$ac_delim
++host!$host$ac_delim
++host_cpu!$host_cpu$ac_delim
++host_vendor!$host_vendor$ac_delim
++host_os!$host_os$ac_delim
++SED!$SED$ac_delim
++GREP!$GREP$ac_delim
++EGREP!$EGREP$ac_delim
++FGREP!$FGREP$ac_delim
++LD!$LD$ac_delim
++DUMPBIN!$DUMPBIN$ac_delim
++ac_ct_DUMPBIN!$ac_ct_DUMPBIN$ac_delim
++NM!$NM$ac_delim
++LN_S!$LN_S$ac_delim
++AR!$AR$ac_delim
++RANLIB!$RANLIB$ac_delim
++lt_ECHO!$lt_ECHO$ac_delim
++DSYMUTIL!$DSYMUTIL$ac_delim
++_ACEOF
++
++ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
++ break
++ elif $ac_last_try; then
++ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
++echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
++ { (exit 1); exit 1; }; }
++ else
++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
++ fi
++done
++
++ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
++if test -n "$ac_eof"; then
++ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
++ ac_eof=`expr $ac_eof + 1`
++fi
++
++cat >>$CONFIG_STATUS <<_ACEOF
++cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
++_ACEOF
++sed '
++s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
++s/^/s,@/; s/!/@,|#_!!_#|/
++:n
++t n
++s/'"$ac_delim"'$/,g/; t
++s/$/\\/; p
++N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
++' >>$CONFIG_STATUS <conf$$subs.sed
++rm -f conf$$subs.sed
++cat >>$CONFIG_STATUS <<_ACEOF
++CEOF$ac_eof
++_ACEOF
++
++
++ac_delim='%!_!# '
++for ac_last_try in false false false false false :; do
++ cat >conf$$subs.sed <<_ACEOF
++NMEDIT!$NMEDIT$ac_delim
++LIPO!$LIPO$ac_delim
++OTOOL!$OTOOL$ac_delim
++OTOOL64!$OTOOL64$ac_delim
++CPP!$CPP$ac_delim
++with_ffmpeg!$with_ffmpeg$ac_delim
++WITH_FFMPEG_TRUE!$WITH_FFMPEG_TRUE$ac_delim
++WITH_FFMPEG_FALSE!$WITH_FFMPEG_FALSE$ac_delim
++HAVE_MP3LAME_TRUE!$HAVE_MP3LAME_TRUE$ac_delim
++HAVE_MP3LAME_FALSE!$HAVE_MP3LAME_FALSE$ac_delim
++X_CFLAGS!$X_CFLAGS$ac_delim
++X_PRE_LIBS!$X_PRE_LIBS$ac_delim
++X_LIBS!$X_LIBS$ac_delim
++X_EXTRA_LIBS!$X_EXTRA_LIBS$ac_delim
++HAVE_X_TRUE!$HAVE_X_TRUE$ac_delim
++HAVE_X_FALSE!$HAVE_X_FALSE$ac_delim
++CRYPT_LIBS!$CRYPT_LIBS$ac_delim
++SSL_LIBS!$SSL_LIBS$ac_delim
++AVAHI_CFLAGS!$AVAHI_CFLAGS$ac_delim
++AVAHI_LIBS!$AVAHI_LIBS$ac_delim
++SYSTEM_LIBVNCSERVER_CFLAGS!$SYSTEM_LIBVNCSERVER_CFLAGS$ac_delim
++SYSTEM_LIBVNCSERVER_LIBS!$SYSTEM_LIBVNCSERVER_LIBS$ac_delim
++HAVE_SYSTEM_LIBVNCSERVER_TRUE!$HAVE_SYSTEM_LIBVNCSERVER_TRUE$ac_delim
++HAVE_SYSTEM_LIBVNCSERVER_FALSE!$HAVE_SYSTEM_LIBVNCSERVER_FALSE$ac_delim
++HAVE_LIBPTHREAD_TRUE!$HAVE_LIBPTHREAD_TRUE$ac_delim
++HAVE_LIBPTHREAD_FALSE!$HAVE_LIBPTHREAD_FALSE$ac_delim
++WITH_TIGHTVNC_FILETRANSFER_TRUE!$WITH_TIGHTVNC_FILETRANSFER_TRUE$ac_delim
++WITH_TIGHTVNC_FILETRANSFER_FALSE!$WITH_TIGHTVNC_FILETRANSFER_FALSE$ac_delim
++HAVE_LIBZ_TRUE!$HAVE_LIBZ_TRUE$ac_delim
++HAVE_LIBZ_FALSE!$HAVE_LIBZ_FALSE$ac_delim
++HAVE_LIBJPEG_TRUE!$HAVE_LIBJPEG_TRUE$ac_delim
++HAVE_LIBJPEG_FALSE!$HAVE_LIBJPEG_FALSE$ac_delim
++HAVE_LIBSDL_TRUE!$HAVE_LIBSDL_TRUE$ac_delim
++HAVE_LIBSDL_FALSE!$HAVE_LIBSDL_FALSE$ac_delim
++SDL_CFLAGS!$SDL_CFLAGS$ac_delim
++SDL_LIBS!$SDL_LIBS$ac_delim
++MINGW_TRUE!$MINGW_TRUE$ac_delim
++MINGW_FALSE!$MINGW_FALSE$ac_delim
++WSOCKLIB!$WSOCKLIB$ac_delim
++LIB@&t@OBJS!$LIB@&t@OBJS$ac_delim
++CYGIPC_TRUE!$CYGIPC_TRUE$ac_delim
++CYGIPC_FALSE!$CYGIPC_FALSE$ac_delim
++LINUX_TRUE!$LINUX_TRUE$ac_delim
++LINUX_FALSE!$LINUX_FALSE$ac_delim
++OSX_TRUE!$OSX_TRUE$ac_delim
++OSX_FALSE!$OSX_FALSE$ac_delim
++HAVE_RPM_TRUE!$HAVE_RPM_TRUE$ac_delim
++HAVE_RPM_FALSE!$HAVE_RPM_FALSE$ac_delim
++RPMSOURCEDIR!$RPMSOURCEDIR$ac_delim
++LTLIBOBJS!$LTLIBOBJS$ac_delim
++_ACEOF
++
++ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 50; then
++ break
++ elif $ac_last_try; then
++ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
++echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
++ { (exit 1); exit 1; }; }
++ else
++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
++ fi
++done
++
++ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
++if test -n "$ac_eof"; then
++ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
++ ac_eof=`expr $ac_eof + 1`
++fi
++
++cat >>$CONFIG_STATUS <<_ACEOF
++cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
++_ACEOF
++sed '
++s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
++s/^/s,@/; s/!/@,|#_!!_#|/
++:n
++t n
++s/'"$ac_delim"'$/,g/; t
++s/$/\\/; p
++N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
++' >>$CONFIG_STATUS <conf$$subs.sed
++rm -f conf$$subs.sed
++cat >>$CONFIG_STATUS <<_ACEOF
++:end
++s/|#_!!_#|//g
++CEOF$ac_eof
++_ACEOF
++
++
++# VPATH may cause trouble with some makes, so we remove $(srcdir),
++# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
++# trailing colons and then remove the whole line if VPATH becomes empty
++# (actually we leave an empty line to preserve line numbers).
++if test "x$srcdir" = x.; then
++ ac_vpsub='/^[ ]*VPATH[ ]*=/{
++s/:*\$(srcdir):*/:/
++s/:*\${srcdir}:*/:/
++s/:*@srcdir@:*/:/
++s/^\([^=]*=[ ]*\):*/\1/
++s/:*$//
++s/^[^=]*=[ ]*$//
++}'
++fi
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++fi # test -n "$CONFIG_FILES"
++
++
++for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS
++do
++ case $ac_tag in
++ :[FHLC]) ac_mode=$ac_tag; continue;;
++ esac
++ case $ac_mode$ac_tag in
++ :[FHL]*:*);;
++ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
++echo "$as_me: error: Invalid tag $ac_tag." >&2;}
++ { (exit 1); exit 1; }; };;
++ :[FH]-) ac_tag=-:-;;
++ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
++ esac
++ ac_save_IFS=$IFS
++ IFS=:
++ set x $ac_tag
++ IFS=$ac_save_IFS
++ shift
++ ac_file=$1
++ shift
++
++ case $ac_mode in
++ :L) ac_source=$1;;
++ :[FH])
++ ac_file_inputs=
++ for ac_f
++ do
++ case $ac_f in
++ -) ac_f="$tmp/stdin";;
++ *) # Look for the file first in the build tree, then in the source tree
++ # (if the path is not absolute). The absolute path cannot be DOS-style,
++ # because $ac_f cannot contain `:'.
++ test -f "$ac_f" ||
++ case $ac_f in
++ [\\/$]*) false;;
++ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
++ esac ||
++ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
++echo "$as_me: error: cannot find input file: $ac_f" >&2;}
++ { (exit 1); exit 1; }; };;
++ esac
++ ac_file_inputs="$ac_file_inputs $ac_f"
++ done
++
++ # Let's still pretend it is `configure' which instantiates (i.e., don't
++ # use $as_me), people would be surprised to read:
++ # /* config.h. Generated by config.status. */
++ configure_input="Generated from "`IFS=:
++ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
++ if test x"$ac_file" != x-; then
++ configure_input="$ac_file. $configure_input"
++ { echo "$as_me:$LINENO: creating $ac_file" >&5
++echo "$as_me: creating $ac_file" >&6;}
++ fi
++
++ case $ac_tag in
++ *:-:* | *:-) cat >"$tmp/stdin";;
++ esac
++ ;;
++ esac
++
++ ac_dir=`$as_dirname -- "$ac_file" ||
++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$ac_file" : 'X\(//\)[^/]' \| \
++ X"$ac_file" : 'X\(//\)$' \| \
++ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$ac_file" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ { as_dir="$ac_dir"
++ case $as_dir in #(
++ -*) as_dir=./$as_dir;;
++ esac
++ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
++ as_dirs=
++ while :; do
++ case $as_dir in #(
++ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
++ *) as_qdir=$as_dir;;
++ esac
++ as_dirs="'$as_qdir' $as_dirs"
++ as_dir=`$as_dirname -- "$as_dir" ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$as_dir" : 'X\(//\)[^/]' \| \
++ X"$as_dir" : 'X\(//\)$' \| \
++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$as_dir" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ test -d "$as_dir" && break
++ done
++ test -z "$as_dirs" || eval "mkdir $as_dirs"
++ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
++echo "$as_me: error: cannot create directory $as_dir" >&2;}
++ { (exit 1); exit 1; }; }; }
++ ac_builddir=.
++
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
++ # A ".." for each directory in $ac_dir_suffix.
++ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
++ case $ac_top_builddir_sub in
++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
++ esac ;;
++esac
++ac_abs_top_builddir=$ac_pwd
++ac_abs_builddir=$ac_pwd$ac_dir_suffix
++# for backward compatibility:
++ac_top_builddir=$ac_top_build_prefix
++
++case $srcdir in
++ .) # We are building in place.
++ ac_srcdir=.
++ ac_top_srcdir=$ac_top_builddir_sub
++ ac_abs_top_srcdir=$ac_pwd ;;
++ [\\/]* | ?:[\\/]* ) # Absolute name.
++ ac_srcdir=$srcdir$ac_dir_suffix;
++ ac_top_srcdir=$srcdir
++ ac_abs_top_srcdir=$srcdir ;;
++ *) # Relative name.
++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
++ ac_top_srcdir=$ac_top_build_prefix$srcdir
++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
++esac
++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
++
++
++ case $ac_mode in
++ :F)
++ #
++ # CONFIG_FILE
++ #
++
++ case $INSTALL in
++ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
++ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
++ esac
++ ac_MKDIR_P=$MKDIR_P
++ case $MKDIR_P in
++ [\\/$]* | ?:[\\/]* ) ;;
++ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
++ esac
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++# If the template does not know about datarootdir, expand it.
++# FIXME: This hack should be removed a few years after 2.60.
++ac_datarootdir_hack=; ac_datarootdir_seen=
++
++case `sed -n '/datarootdir/ {
++ p
++ q
++}
++/@datadir@/p
++/@docdir@/p
++/@infodir@/p
++/@localedir@/p
++/@mandir@/p
++' $ac_file_inputs` in
++*datarootdir*) ac_datarootdir_seen=yes;;
++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
++ { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
++echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++ ac_datarootdir_hack='
++ s&@datadir@&$datadir&g
++ s&@docdir@&$docdir&g
++ s&@infodir@&$infodir&g
++ s&@localedir@&$localedir&g
++ s&@mandir@&$mandir&g
++ s&\\\${datarootdir}&$datarootdir&g' ;;
++esac
++_ACEOF
++
++# Neutralize VPATH when `$srcdir' = `.'.
++# Shell code in configure.ac might set extrasub.
++# FIXME: do we really want to maintain this feature?
++cat >>$CONFIG_STATUS <<_ACEOF
++ sed "$ac_vpsub
++$extrasub
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF
++:t
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
++s&@configure_input@&$configure_input&;t t
++s&@top_builddir@&$ac_top_builddir_sub&;t t
++s&@srcdir@&$ac_srcdir&;t t
++s&@abs_srcdir@&$ac_abs_srcdir&;t t
++s&@top_srcdir@&$ac_top_srcdir&;t t
++s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
++s&@builddir@&$ac_builddir&;t t
++s&@abs_builddir@&$ac_abs_builddir&;t t
++s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
++s&@INSTALL@&$ac_INSTALL&;t t
++s&@MKDIR_P@&$ac_MKDIR_P&;t t
++$ac_datarootdir_hack
++" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
++
++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
++ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
++ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
++ { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
++which seems to be undefined. Please make sure it is defined." >&5
++echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
++which seems to be undefined. Please make sure it is defined." >&2;}
++
++ rm -f "$tmp/stdin"
++ case $ac_file in
++ -) cat "$tmp/out"; rm -f "$tmp/out";;
++ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
++ esac
++ ;;
++ :H)
++ #
++ # CONFIG_HEADER
++ #
++_ACEOF
++
++# Transform confdefs.h into a sed script `conftest.defines', that
++# substitutes the proper values into config.h.in to produce config.h.
++rm -f conftest.defines conftest.tail
++# First, append a space to every undef/define line, to ease matching.
++echo 's/$/ /' >conftest.defines
++# Then, protect against being on the right side of a sed subst, or in
++# an unquoted here document, in config.status. If some macros were
++# called several times there might be several #defines for the same
++# symbol, which is useless. But do not sort them, since the last
++# AC_DEFINE must be honored.
++ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
++# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
++# NAME is the cpp macro being defined, VALUE is the value it is being given.
++# PARAMS is the parameter list in the macro definition--in most cases, it's
++# just an empty string.
++ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
++ac_dB='\\)[ (].*,\\1define\\2'
++ac_dC=' '
++ac_dD=' ,'
++
++uniq confdefs.h |
++ sed -n '
++ t rset
++ :rset
++ s/^[ ]*#[ ]*define[ ][ ]*//
++ t ok
++ d
++ :ok
++ s/[\\&,]/\\&/g
++ s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
++ s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
++ ' >>conftest.defines
++
++# Remove the space that was appended to ease matching.
++# Then replace #undef with comments. This is necessary, for
++# example, in the case of _POSIX_SOURCE, which is predefined and required
++# on some systems where configure will not decide to define it.
++# (The regexp can be short, since the line contains either #define or #undef.)
++echo 's/ $//
++s,^[ #]*u.*,/* & */,' >>conftest.defines
++
++# Break up conftest.defines:
++ac_max_sed_lines=50
++
++# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
++# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
++# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
++# et cetera.
++ac_in='$ac_file_inputs'
++ac_out='"$tmp/out1"'
++ac_nxt='"$tmp/out2"'
++
++while :
++do
++ # Write a here document:
++ cat >>$CONFIG_STATUS <<_ACEOF
++ # First, check the format of the line:
++ cat >"\$tmp/defines.sed" <<\\CEOF
++/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
++/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
++b
++:def
++_ACEOF
++ sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
++ echo 'CEOF
++ sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
++ ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
++ sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
++ grep . conftest.tail >/dev/null || break
++ rm -f conftest.defines
++ mv conftest.tail conftest.defines
++done
++rm -f conftest.defines conftest.tail
++
++echo "ac_result=$ac_in" >>$CONFIG_STATUS
++cat >>$CONFIG_STATUS <<\_ACEOF
++ if test x"$ac_file" != x-; then
++ echo "/* $configure_input */" >"$tmp/config.h"
++ cat "$ac_result" >>"$tmp/config.h"
++ if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
++ { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
++echo "$as_me: $ac_file is unchanged" >&6;}
++ else
++ rm -f $ac_file
++ mv "$tmp/config.h" $ac_file
++ fi
++ else
++ echo "/* $configure_input */"
++ cat "$ac_result"
++ fi
++ rm -f "$tmp/out12"
++# Compute $ac_file's index in $config_headers.
++_am_stamp_count=1
++for _am_header in $config_headers :; do
++ case $_am_header in
++ $ac_file | $ac_file:* )
++ break ;;
++ * )
++ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
++ esac
++done
++echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
++$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X$ac_file : 'X\(//\)[^/]' \| \
++ X$ac_file : 'X\(//\)$' \| \
++ X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
++echo X$ac_file |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`/stamp-h$_am_stamp_count
++ ;;
++
++ :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
++echo "$as_me: executing $ac_file commands" >&6;}
++ ;;
++ esac
++
++
++ case $ac_file$ac_mode in
++ "rfb/rfbconfig.h":C) ac_prefix_conf_OUT=`echo rfb/rfbconfig.h`
++ac_prefix_conf_DEF=`echo _$ac_prefix_conf_OUT | sed -e "y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:" -e "s/@<:@^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@:>@/_/g"`
++ac_prefix_conf_PKG=`echo $PACKAGE`
++ac_prefix_conf_LOW=`echo _$ac_prefix_conf_PKG | sed -e "y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:"`
++ac_prefix_conf_UPP=`echo $ac_prefix_conf_PKG | sed -e "y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:" -e "/^@<:@0123456789@:>@/s/^/_/"`
++ac_prefix_conf_INP=`echo _`
++if test "$ac_prefix_conf_INP" = "_"; then
++ for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue
++ test -f "$ac_prefix_conf_INP" && continue
++ case $ac_file in
++ *.h) test -f $ac_file && ac_prefix_conf_INP=$ac_file ;;
++ *)
++ esac
++ done
++fi
++if test "$ac_prefix_conf_INP" = "_"; then
++ case "$ac_prefix_conf_OUT" in
++ */*) ac_prefix_conf_INP=`basename "$ac_prefix_conf_OUT"`
++ ;;
++ *-*) ac_prefix_conf_INP=`echo "$ac_prefix_conf_OUT" | sed -e "s/@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*-//"`
++ ;;
++ *) ac_prefix_conf_INP=config.h
++ ;;
++ esac
++fi
++if test -z "$ac_prefix_conf_PKG" ; then
++ { { echo "$as_me:$LINENO: error: no prefix for _PREFIX_PKG_CONFIG_H" >&5
++echo "$as_me: error: no prefix for _PREFIX_PKG_CONFIG_H" >&2;}
++ { (exit 1); exit 1; }; }
++else
++ if test ! -f "$ac_prefix_conf_INP" ; then if test -f "$srcdir/$ac_prefix_conf_INP" ; then
++ ac_prefix_conf_INP="$srcdir/$ac_prefix_conf_INP"
++ fi fi
++ { echo "$as_me:$LINENO: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5
++echo "$as_me: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6;}
++ if test -f $ac_prefix_conf_INP ; then
++ echo "s/@%:@undef *\\(@<:@ABCDEFGHIJKLMNOPQRSTUVWXYZ_@:>@\\)/@%:@undef $ac_prefix_conf_UPP""_\\1/" > conftest.prefix
++ # no! these are things like socklen_t, const, vfork
++ # echo "s/@%:@undef *\\(@<:@m4_cr_letters@:>@\\)/@%:@undef $_LOW""_\\1/" >> _script
++ echo "s/@%:@define *\\(@<:@ABCDEFGHIJKLMNOPQRSTUVWXYZ_@:>@@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*\\)\\(.*\\)/@%:@ifndef $ac_prefix_conf_UPP""_\\1 \\" >> conftest.prefix
++ echo "@%:@define $ac_prefix_conf_UPP""_\\1 \\2 \\" >> conftest.prefix
++ echo "@%:@endif/" >>conftest.prefix
++ # no! these are things like socklen_t, const, vfork
++ # echo "s/@%:@def[]ine *\\(@<:@m4_cr_letters@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_LOW""_\\1 \\" >> _script
++ # echo "@%:@define $_LOW""_\\1 \\2 \\" >> _script
++ # echo "@%:@endif/" >> _script
++ # now executing _script on _DEF input to create _OUT output file
++ echo "@%:@ifndef $ac_prefix_conf_DEF" >$tmp/pconfig.h
++ echo "@%:@define $ac_prefix_conf_DEF 1" >>$tmp/pconfig.h
++ echo ' ' >>$tmp/pconfig.h
++ echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h
++
++ sed -f conftest.prefix $ac_prefix_conf_INP >>$tmp/pconfig.h
++ echo ' ' >>$tmp/pconfig.h
++ echo '/* once:' $ac_prefix_conf_DEF '*/' >>$tmp/pconfig.h
++ echo "@%:@endif" >>$tmp/pconfig.h
++ if cmp -s $ac_prefix_conf_OUT $tmp/pconfig.h 2>/dev/null; then
++ { echo "$as_me:$LINENO: $ac_prefix_conf_OUT is unchanged" >&5
++echo "$as_me: $ac_prefix_conf_OUT is unchanged" >&6;}
++ else
++ ac_dir=`$as_dirname -- "$ac_prefix_conf_OUT" ||
++$as_expr X"$ac_prefix_conf_OUT" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$ac_prefix_conf_OUT" : 'X\(//\)[^/]' \| \
++ X"$ac_prefix_conf_OUT" : 'X\(//\)$' \| \
++ X"$ac_prefix_conf_OUT" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$ac_prefix_conf_OUT" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ { as_dir="$ac_dir"
++ case $as_dir in #(
++ -*) as_dir=./$as_dir;;
++ esac
++ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
++ as_dirs=
++ while :; do
++ case $as_dir in #(
++ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
++ *) as_qdir=$as_dir;;
++ esac
++ as_dirs="'$as_qdir' $as_dirs"
++ as_dir=`$as_dirname -- "$as_dir" ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$as_dir" : 'X\(//\)[^/]' \| \
++ X"$as_dir" : 'X\(//\)$' \| \
++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$as_dir" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ test -d "$as_dir" && break
++ done
++ test -z "$as_dirs" || eval "mkdir $as_dirs"
++ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
++echo "$as_me: error: cannot create directory $as_dir" >&2;}
++ { (exit 1); exit 1; }; }; }
++ rm -f "$ac_prefix_conf_OUT"
++ mv $tmp/pconfig.h "$ac_prefix_conf_OUT"
++ fi
++ cp conftest.prefix _configs.sed
++ else
++ { { echo "$as_me:$LINENO: error: input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" >&5
++echo "$as_me: error: input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++ rm -f conftest.*
++fi
++ ;;
++ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
++ # Strip MF so we end up with the name of the file.
++ mf=`echo "$mf" | sed -e 's/:.*$//'`
++ # Check whether this is an Automake generated Makefile or not.
++ # We used to match only the files named `Makefile.in', but
++ # some people rename them; so instead we look at the file content.
++ # Grep'ing the first line is not enough: some people post-process
++ # each Makefile.in and add a new line on top of each file to say so.
++ # Grep'ing the whole file is not good either: AIX grep has a line
++ # limit of 2048, but all sed's we know have understand at least 4000.
++ if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
++ dirpart=`$as_dirname -- "$mf" ||
++$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$mf" : 'X\(//\)[^/]' \| \
++ X"$mf" : 'X\(//\)$' \| \
++ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$mf" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ else
++ continue
++ fi
++ # Extract the definition of DEPDIR, am__include, and am__quote
++ # from the Makefile without running `make'.
++ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
++ test -z "$DEPDIR" && continue
++ am__include=`sed -n 's/^am__include = //p' < "$mf"`
++ test -z "am__include" && continue
++ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
++ # When using ansi2knr, U may be empty or an underscore; expand it
++ U=`sed -n 's/^U = //p' < "$mf"`
++ # Find all dependency output files, they are included files with
++ # $(DEPDIR) in their names. We invoke sed twice because it is the
++ # simplest approach to changing $(DEPDIR) to its actual value in the
++ # expansion.
++ for file in `sed -n "
++ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
++ # Make sure the directory exists.
++ test -f "$dirpart/$file" && continue
++ fdir=`$as_dirname -- "$file" ||
++$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$file" : 'X\(//\)[^/]' \| \
++ X"$file" : 'X\(//\)$' \| \
++ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$file" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ { as_dir=$dirpart/$fdir
++ case $as_dir in #(
++ -*) as_dir=./$as_dir;;
++ esac
++ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
++ as_dirs=
++ while :; do
++ case $as_dir in #(
++ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
++ *) as_qdir=$as_dir;;
++ esac
++ as_dirs="'$as_qdir' $as_dirs"
++ as_dir=`$as_dirname -- "$as_dir" ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$as_dir" : 'X\(//\)[^/]' \| \
++ X"$as_dir" : 'X\(//\)$' \| \
++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$as_dir" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ test -d "$as_dir" && break
++ done
++ test -z "$as_dirs" || eval "mkdir $as_dirs"
++ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
++echo "$as_me: error: cannot create directory $as_dir" >&2;}
++ { (exit 1); exit 1; }; }; }
++ # echo "creating $dirpart/$file"
++ echo '# dummy' > "$dirpart/$file"
++ done
++done
++ ;;
++ "libtool":C)
++
++ # See if we are running on zsh, and set the options which allow our
++ # commands through without removal of \ escapes.
++ if test -n "${ZSH_VERSION+set}" ; then
++ setopt NO_GLOB_SUBST
++ fi
++
++ cfgfile="${ofile}T"
++ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
++ $RM "$cfgfile"
++
++ cat <<_LT_EOF >> "$cfgfile"
++#! $SHELL
++
++# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
++# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
++# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
++# NOTE: Changes made to this file will be lost: look at ltmain.sh.
++#
++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
++# 2006, 2007, 2008 Free Software Foundation, Inc.
++# Written by Gordon Matzigkeit, 1996
++#
++# This file is part of GNU Libtool.
++#
++# GNU Libtool 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.
++#
++# As a special exception to the GNU General Public License,
++# if you distribute this file as part of a program or library that
++# is built using GNU Libtool, you may include this file under the
++# same distribution terms that you use for the rest of that program.
++#
++# GNU Libtool 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.
++#
++# You should have received a copy of the GNU General Public License
++# along with GNU Libtool; see the file COPYING. If not, a copy
++# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
++# obtained by writing to the Free Software Foundation, Inc.,
++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++
++
++# The names of the tagged configurations supported by this script.
++available_tags=""
++
++# ### BEGIN LIBTOOL CONFIG
++
++# Which release of libtool.m4 was used?
++macro_version=$macro_version
++macro_revision=$macro_revision
++
++# Whether or not to build shared libraries.
++build_libtool_libs=$enable_shared
++
++# Whether or not to build static libraries.
++build_old_libs=$enable_static
++
++# What type of objects to build.
++pic_mode=$pic_mode
++
++# Whether or not to optimize for fast installation.
++fast_install=$enable_fast_install
++
++# The host system.
++host_alias=$host_alias
++host=$host
++host_os=$host_os
++
++# The build system.
++build_alias=$build_alias
++build=$build
++build_os=$build_os
++
++# A sed program that does not truncate output.
++SED=$lt_SED
++
++# Sed that helps us avoid accidentally triggering echo(1) options like -n.
++Xsed="\$SED -e 1s/^X//"
++
++# A grep program that handles long lines.
++GREP=$lt_GREP
++
++# An ERE matcher.
++EGREP=$lt_EGREP
++
++# A literal string matcher.
++FGREP=$lt_FGREP
++
++# A BSD- or MS-compatible name lister.
++NM=$lt_NM
++
++# Whether we need soft or hard links.
++LN_S=$lt_LN_S
++
++# What is the maximum length of a command?
++max_cmd_len=$max_cmd_len
++
++# Object file suffix (normally "o").
++objext=$ac_objext
++
++# Executable file suffix (normally "").
++exeext=$exeext
++
++# whether the shell understands "unset".
++lt_unset=$lt_unset
++
++# turn spaces into newlines.
++SP2NL=$lt_lt_SP2NL
++
++# turn newlines into spaces.
++NL2SP=$lt_lt_NL2SP
++
++# How to create reloadable object files.
++reload_flag=$lt_reload_flag
++reload_cmds=$lt_reload_cmds
++
++# Method to check whether dependent libraries are shared objects.
++deplibs_check_method=$lt_deplibs_check_method
++
++# Command to use when deplibs_check_method == "file_magic".
++file_magic_cmd=$lt_file_magic_cmd
++
++# The archiver.
++AR=$lt_AR
++AR_FLAGS=$lt_AR_FLAGS
++
++# A symbol stripping program.
++STRIP=$lt_STRIP
++
++# Commands used to install an old-style archive.
++RANLIB=$lt_RANLIB
++old_postinstall_cmds=$lt_old_postinstall_cmds
++old_postuninstall_cmds=$lt_old_postuninstall_cmds
++
++# A C compiler.
++LTCC=$lt_CC
++
++# LTCC compiler flags.
++LTCFLAGS=$lt_CFLAGS
++
++# Take the output of nm and produce a listing of raw symbols and C names.
++global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
++
++# Transform the output of nm in a proper C declaration.
++global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
++
++# Transform the output of nm in a C name address pair.
++global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
++
++# Transform the output of nm in a C name address pair when lib prefix is needed.
++global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
++
++# The name of the directory that contains temporary libtool files.
++objdir=$objdir
++
++# Shell to use when invoking shell scripts.
++SHELL=$lt_SHELL
++
++# An echo program that does not interpret backslashes.
++ECHO=$lt_ECHO
++
++# Used to examine libraries when file_magic_cmd begins with "file".
++MAGIC_CMD=$MAGIC_CMD
++
++# Must we lock files when doing compilation?
++need_locks=$lt_need_locks
++
++# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
++DSYMUTIL=$lt_DSYMUTIL
++
++# Tool to change global to local symbols on Mac OS X.
++NMEDIT=$lt_NMEDIT
++
++# Tool to manipulate fat objects and archives on Mac OS X.
++LIPO=$lt_LIPO
++
++# ldd/readelf like tool for Mach-O binaries on Mac OS X.
++OTOOL=$lt_OTOOL
++
++# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
++OTOOL64=$lt_OTOOL64
++
++# Old archive suffix (normally "a").
++libext=$libext
++
++# Shared library suffix (normally ".so").
++shrext_cmds=$lt_shrext_cmds
++
++# The commands to extract the exported symbol list from a shared archive.
++extract_expsyms_cmds=$lt_extract_expsyms_cmds
++
++# Variables whose values should be saved in libtool wrapper scripts and
++# restored at link time.
++variables_saved_for_relink=$lt_variables_saved_for_relink
++
++# Do we need the "lib" prefix for modules?
++need_lib_prefix=$need_lib_prefix
++
++# Do we need a version for libraries?
++need_version=$need_version
++
++# Library versioning type.
++version_type=$version_type
++
++# Shared library runtime path variable.
++runpath_var=$runpath_var
++
++# Shared library path variable.
++shlibpath_var=$shlibpath_var
++
++# Is shlibpath searched before the hard-coded library search path?
++shlibpath_overrides_runpath=$shlibpath_overrides_runpath
++
++# Format of library name prefix.
++libname_spec=$lt_libname_spec
++
++# List of archive names. First name is the real one, the rest are links.
++# The last name is the one that the linker finds with -lNAME
++library_names_spec=$lt_library_names_spec
++
++# The coded name of the library, if different from the real name.
++soname_spec=$lt_soname_spec
++
++# Command to use after installation of a shared archive.
++postinstall_cmds=$lt_postinstall_cmds
++
++# Command to use after uninstallation of a shared archive.
++postuninstall_cmds=$lt_postuninstall_cmds
++
++# Commands used to finish a libtool library installation in a directory.
++finish_cmds=$lt_finish_cmds
++
++# As "finish_cmds", except a single script fragment to be evaled but
++# not shown.
++finish_eval=$lt_finish_eval
++
++# Whether we should hardcode library paths into libraries.
++hardcode_into_libs=$hardcode_into_libs
++
++# Compile-time system search path for libraries.
++sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
++
++# Run-time system search path for libraries.
++sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
++
++# Whether dlopen is supported.
++dlopen_support=$enable_dlopen
++
++# Whether dlopen of programs is supported.
++dlopen_self=$enable_dlopen_self
++
++# Whether dlopen of statically linked programs is supported.
++dlopen_self_static=$enable_dlopen_self_static
++
++# Commands to strip libraries.
++old_striplib=$lt_old_striplib
++striplib=$lt_striplib
++
++
++# The linker used to build libraries.
++LD=$lt_LD
++
++# Commands used to build an old-style archive.
++old_archive_cmds=$lt_old_archive_cmds
++
++# A language specific compiler.
++CC=$lt_compiler
++
++# Is the compiler the GNU compiler?
++with_gcc=$GCC
++
++# Compiler flag to turn off builtin functions.
++no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
++
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl
++
++# Additional compiler flags for building library objects.
++pic_flag=$lt_lt_prog_compiler_pic
++
++# Compiler flag to prevent dynamic linking.
++link_static_flag=$lt_lt_prog_compiler_static
++
++# Does compiler simultaneously support -c and -o options?
++compiler_c_o=$lt_lt_cv_prog_compiler_c_o
++
++# Whether or not to add -lc for building shared libraries.
++build_libtool_need_lc=$archive_cmds_need_lc
++
++# Whether or not to disallow shared libs when runtime libs are static.
++allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
++
++# Compiler flag to allow reflexive dlopens.
++export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
++
++# Compiler flag to generate shared objects directly from archives.
++whole_archive_flag_spec=$lt_whole_archive_flag_spec
++
++# Whether the compiler copes with passing no objects directly.
++compiler_needs_object=$lt_compiler_needs_object
++
++# Create an old-style archive from a shared archive.
++old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
++
++# Create a temporary old-style archive to link instead of a shared archive.
++old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
++
++# Commands used to build a shared archive.
++archive_cmds=$lt_archive_cmds
++archive_expsym_cmds=$lt_archive_expsym_cmds
++
++# Commands used to build a loadable module if different from building
++# a shared archive.
++module_cmds=$lt_module_cmds
++module_expsym_cmds=$lt_module_expsym_cmds
++
++# Whether we are building with GNU ld or not.
++with_gnu_ld=$lt_with_gnu_ld
++
++# Flag that allows shared libraries with undefined symbols to be built.
++allow_undefined_flag=$lt_allow_undefined_flag
++
++# Flag that enforces no undefined symbols.
++no_undefined_flag=$lt_no_undefined_flag
++
++# Flag to hardcode \$libdir into a binary during linking.
++# This must work even if \$libdir does not exist
++hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
++
++# If ld is used when linking, flag to hardcode \$libdir into a binary
++# during linking. This must work even if \$libdir does not exist.
++hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
++
++# Whether we need a single "-rpath" flag with a separated argument.
++hardcode_libdir_separator=$lt_hardcode_libdir_separator
++
++# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
++# DIR into the resulting binary.
++hardcode_direct=$hardcode_direct
++
++# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
++# DIR into the resulting binary and the resulting library dependency is
++# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
++# library is relocated.
++hardcode_direct_absolute=$hardcode_direct_absolute
++
++# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
++# into the resulting binary.
++hardcode_minus_L=$hardcode_minus_L
++
++# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
++# into the resulting binary.
++hardcode_shlibpath_var=$hardcode_shlibpath_var
++
++# Set to "yes" if building a shared library automatically hardcodes DIR
++# into the library and all subsequent libraries and executables linked
++# against it.
++hardcode_automatic=$hardcode_automatic
++
++# Set to yes if linker adds runtime paths of dependent libraries
++# to runtime path list.
++inherit_rpath=$inherit_rpath
++
++# Whether libtool must link a program against all its dependency libraries.
++link_all_deplibs=$link_all_deplibs
++
++# Fix the shell variable \$srcfile for the compiler.
++fix_srcfile_path=$lt_fix_srcfile_path
++
++# Set to "yes" if exported symbols are required.
++always_export_symbols=$always_export_symbols
++
++# The commands to list exported symbols.
++export_symbols_cmds=$lt_export_symbols_cmds
++
++# Symbols that should not be listed in the preloaded symbols.
++exclude_expsyms=$lt_exclude_expsyms
++
++# Symbols that must always be exported.
++include_expsyms=$lt_include_expsyms
++
++# Commands necessary for linking programs (against libraries) with templates.
++prelink_cmds=$lt_prelink_cmds
++
++# Specify filename containing input files.
++file_list_spec=$lt_file_list_spec
++
++# How to hardcode a shared library path into an executable.
++hardcode_action=$hardcode_action
++
++# ### END LIBTOOL CONFIG
++
++_LT_EOF
++
++ case $host_os in
++ aix3*)
++ cat <<\_LT_EOF >> "$cfgfile"
++# AIX sometimes has problems with the GCC collect2 program. For some
++# reason, if we set the COLLECT_NAMES environment variable, the problems
++# vanish in a puff of smoke.
++if test "X${COLLECT_NAMES+set}" != Xset; then
++ COLLECT_NAMES=
++ export COLLECT_NAMES
++fi
++_LT_EOF
++ ;;
++ esac
++
++
++ltmain="$ac_aux_dir/ltmain.sh"
++
++
++ # We use sed instead of cat because bash on DJGPP gets confused if
++ # if finds mixed CR/LF and LF-only lines. Since sed operates in
++ # text mode, it properly converts lines to CR/LF. This bash problem
++ # is reportedly fixed, but why not run on old versions too?
++ sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
++
++ case $xsi_shell in
++ yes)
++ cat << \_LT_EOF >> "$cfgfile"
++
++# func_dirname file append nondir_replacement
++# Compute the dirname of FILE. If nonempty, add APPEND to the result,
++# otherwise set result to NONDIR_REPLACEMENT.
++func_dirname ()
++{
++ case ${1} in
++ */*) func_dirname_result="${1%/*}${2}" ;;
++ * ) func_dirname_result="${3}" ;;
++ esac
++}
++
++# func_basename file
++func_basename ()
++{
++ func_basename_result="${1##*/}"
++}
++
++# func_dirname_and_basename file append nondir_replacement
++# perform func_basename and func_dirname in a single function
++# call:
++# dirname: Compute the dirname of FILE. If nonempty,
++# add APPEND to the result, otherwise set result
++# to NONDIR_REPLACEMENT.
++# value returned in "$func_dirname_result"
++# basename: Compute filename of FILE.
++# value retuned in "$func_basename_result"
++# Implementation must be kept synchronized with func_dirname
++# and func_basename. For efficiency, we do not delegate to
++# those functions but instead duplicate the functionality here.
++func_dirname_and_basename ()
++{
++ case ${1} in
++ */*) func_dirname_result="${1%/*}${2}" ;;
++ * ) func_dirname_result="${3}" ;;
++ esac
++ func_basename_result="${1##*/}"
++}
++
++# func_stripname prefix suffix name
++# strip PREFIX and SUFFIX off of NAME.
++# PREFIX and SUFFIX must not contain globbing or regex special
++# characters, hashes, percent signs, but SUFFIX may contain a leading
++# dot (in which case that matches only a dot).
++func_stripname ()
++{
++ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
++ # positional parameters, so assign one to ordinary parameter first.
++ func_stripname_result=${3}
++ func_stripname_result=${func_stripname_result#"${1}"}
++ func_stripname_result=${func_stripname_result%"${2}"}
++}
++
++# func_opt_split
++func_opt_split ()
++{
++ func_opt_split_opt=${1%%=*}
++ func_opt_split_arg=${1#*=}
++}
++
++# func_lo2o object
++func_lo2o ()
++{
++ case ${1} in
++ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
++ *) func_lo2o_result=${1} ;;
++ esac
++}
++
++# func_xform libobj-or-source
++func_xform ()
++{
++ func_xform_result=${1%.*}.lo
++}
++
++# func_arith arithmetic-term...
++func_arith ()
++{
++ func_arith_result=$(( $* ))
++}
++
++# func_len string
++# STRING may not start with a hyphen.
++func_len ()
++{
++ func_len_result=${#1}
++}
++
++_LT_EOF
++ ;;
++ *) # Bourne compatible functions.
++ cat << \_LT_EOF >> "$cfgfile"
++
++# func_dirname file append nondir_replacement
++# Compute the dirname of FILE. If nonempty, add APPEND to the result,
++# otherwise set result to NONDIR_REPLACEMENT.
++func_dirname ()
++{
++ # Extract subdirectory from the argument.
++ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
++ if test "X$func_dirname_result" = "X${1}"; then
++ func_dirname_result="${3}"
++ else
++ func_dirname_result="$func_dirname_result${2}"
++ fi
++}
++
++# func_basename file
++func_basename ()
++{
++ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
++}
++
++
++# func_stripname prefix suffix name
++# strip PREFIX and SUFFIX off of NAME.
++# PREFIX and SUFFIX must not contain globbing or regex special
++# characters, hashes, percent signs, but SUFFIX may contain a leading
++# dot (in which case that matches only a dot).
++# func_strip_suffix prefix name
++func_stripname ()
++{
++ case ${2} in
++ .*) func_stripname_result=`$ECHO "X${3}" \
++ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
++ *) func_stripname_result=`$ECHO "X${3}" \
++ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
++ esac
++}
++
++# sed scripts:
++my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
++my_sed_long_arg='1s/^-[^=]*=//'
++
++# func_opt_split
++func_opt_split ()
++{
++ func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
++ func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
++}
++
++# func_lo2o object
++func_lo2o ()
++{
++ func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
++}
++
++# func_xform libobj-or-source
++func_xform ()
++{
++ func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
++}
++
++# func_arith arithmetic-term...
++func_arith ()
++{
++ func_arith_result=`expr "$@"`
++}
++
++# func_len string
++# STRING may not start with a hyphen.
++func_len ()
++{
++ func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
++}
++
++_LT_EOF
++esac
++
++case $lt_shell_append in
++ yes)
++ cat << \_LT_EOF >> "$cfgfile"
++
++# func_append var value
++# Append VALUE to the end of shell variable VAR.
++func_append ()
++{
++ eval "$1+=\$2"
++}
++_LT_EOF
++ ;;
++ *)
++ cat << \_LT_EOF >> "$cfgfile"
++
++# func_append var value
++# Append VALUE to the end of shell variable VAR.
++func_append ()
++{
++ eval "$1=\$$1\$2"
++}
++
++_LT_EOF
++ ;;
++ esac
++
++
++ sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
++
++ mv -f "$cfgfile" "$ofile" ||
++ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
++ chmod +x "$ofile"
++
++ ;;
++ "chmod-libvncserver-config":C) chmod a+x libvncserver-config ;;
++
++ esac
++done # for ac_tag
++
++
++{ (exit 0); exit 0; }
++_ACEOF
++chmod +x $CONFIG_STATUS
++ac_clean_files=$ac_clean_files_save
++
++
++# configure is writing to config.log, and then calls config.status.
++# config.status does its own redirection, appending to config.log.
++# Unfortunately, on DOS this fails, as config.log is still kept open
++# by configure, so config.status won't be able to write to it; its
++# output is simply discarded. So we exec the FD to /dev/null,
++# effectively closing config.log, so it can be properly (re)opened and
++# appended to by config.status. When coming back to configure, we
++# need to make the FD available again.
++if test "$no_create" != yes; then
++ ac_cs_success=:
++ ac_config_status_args=
++ test "$silent" = yes &&
++ ac_config_status_args="$ac_config_status_args --quiet"
++ exec 5>/dev/null
++ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
++ exec 5>>config.log
++ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
++ # would make configure fail if this is the last instruction.
++ $ac_cs_success || { (exit 1); exit 1; }
++fi
++
++chmod a+x ./libvncserver-config
++
+diff -Nur LibVNCServer-0.9.1.orig/autom4te.cache/requests LibVNCServer-0.9.1/autom4te.cache/requests
+--- LibVNCServer-0.9.1.orig/autom4te.cache/requests 1969-12-31 21:00:00.000000000 -0300
++++ LibVNCServer-0.9.1/autom4te.cache/requests 2008-10-31 18:46:27.000000000 -0200
+@@ -0,0 +1,273 @@
++# This file was generated.
++# It contains the lists of macros which have been traced.
++# It can be safely removed.
++
++@request = (
++ bless( [
++ '0',
++ 1,
++ [
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/autoconf'
++ ],
++ [
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/autoconf/autoconf/autoconf.m4f',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/argz.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltsugar.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltversion.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/amversion.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/auxdir.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/cond.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/depend.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/depout.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/header.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/init.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/install-sh.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/lead-dot.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/make.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/missing.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/mkdirp.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/options.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/runlog.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/sanity.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/strip.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/substnot.m4',
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/tar.m4',
++ 'acinclude.m4',
++ 'configure.ac'
++ ],
++ {
++ 'AM_ENABLE_STATIC' => 1,
++ 'AC_LIBTOOL_LANG_RC_CONFIG' => 1,
++ '_LT_AC_SHELL_INIT' => 1,
++ 'AC_DEFUN' => 1,
++ 'AC_PROG_LIBTOOL' => 1,
++ '_LT_AC_LANG_CXX_CONFIG' => 1,
++ 'AM_PROG_MKDIR_P' => 1,
++ 'AM_AUTOMAKE_VERSION' => 1,
++ 'AM_MISSING_PROG' => 1,
++ 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1,
++ '_LT_AC_LANG_C_CONFIG' => 1,
++ 'AM_PROG_INSTALL_STRIP' => 1,
++ '_m4_warn' => 1,
++ 'AC_LIBTOOL_OBJDIR' => 1,
++ 'gl_FUNC_ARGZ' => 1,
++ 'AM_SANITY_CHECK' => 1,
++ 'LTOBSOLETE_VERSION' => 1,
++ 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
++ 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
++ 'LT_LIB_M' => 1,
++ '_LT_AC_CHECK_DLFCN' => 1,
++ 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1,
++ 'LTSUGAR_VERSION' => 1,
++ '_LT_PROG_LTMAIN' => 1,
++ 'AC_COMPILE_CHECK_SIZEOF' => 1,
++ 'LT_SYS_SYMBOL_USCORE' => 1,
++ '_AM_PROG_TAR' => 1,
++ 'AC_LIBTOOL_GCJ' => 1,
++ 'LT_SYS_DLOPEN_DEPLIBS' => 1,
++ 'LT_FUNC_DLSYM_USCORE' => 1,
++ '_LT_AC_LANG_F77' => 1,
++ 'AC_LIBTOOL_CONFIG' => 1,
++ 'AC_LTDL_DLLIB' => 1,
++ '_AM_SUBST_NOTMAKE' => 1,
++ '_AM_AUTOCONF_VERSION' => 1,
++ 'AM_DISABLE_SHARED' => 1,
++ '_LTDL_SETUP' => 1,
++ '_LT_AC_LANG_CXX' => 1,
++ 'AM_PROG_LIBTOOL' => 1,
++ 'AC_LIB_LTDL' => 1,
++ '_LT_AC_FILE_LTDLL_C' => 1,
++ 'AM_PROG_LD' => 1,
++ 'AU_DEFUN' => 1,
++ 'AC_PROG_NM' => 1,
++ 'AC_LIBTOOL_DLOPEN' => 1,
++ 'AC_PROG_LD' => 1,
++ 'AC_PROG_LD_GNU' => 1,
++ 'AC_ENABLE_FAST_INSTALL' => 1,
++ 'AC_LIBTOOL_FC' => 1,
++ 'LTDL_CONVENIENCE' => 1,
++ '_AM_SET_OPTION' => 1,
++ 'AC_LTDL_PREOPEN' => 1,
++ '_LT_LINKER_BOILERPLATE' => 1,
++ 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1,
++ 'AC_LIBTOOL_PROG_CC_C_O' => 1,
++ 'gl_PREREQ_ARGZ' => 1,
++ 'LT_SUPPORTED_TAG' => 1,
++ 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
++ 'LT_PROG_RC' => 1,
++ 'LT_SYS_MODULE_EXT' => 1,
++ 'AC_DEFUN_ONCE' => 1,
++ 'AC_CREATE_STDINT_H' => 1,
++ '_LT_AC_LANG_GCJ' => 1,
++ 'AC_LTDL_OBJDIR' => 1,
++ '_LT_PATH_TOOL_PREFIX' => 1,
++ 'AC_LIBTOOL_RC' => 1,
++ 'AC_DISABLE_FAST_INSTALL' => 1,
++ '_LT_AC_PROG_ECHO_BACKSLASH' => 1,
++ '_LT_AC_SYS_LIBPATH_AIX' => 1,
++ '_LT_AC_TRY_DLOPEN_SELF' => 1,
++ 'include' => 1,
++ 'LT_AC_PROG_SED' => 1,
++ 'AM_ENABLE_SHARED' => 1,
++ 'LTDL_INSTALLABLE' => 1,
++ '_LT_AC_LANG_GCJ_CONFIG' => 1,
++ 'AC_ENABLE_SHARED' => 1,
++ 'AC_ENABLE_STATIC' => 1,
++ 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
++ '_LT_AC_TAGVAR' => 1,
++ 'AC_LIBTOOL_LANG_F77_CONFIG' => 1,
++ 'AM_CONDITIONAL' => 1,
++ 'LT_LIB_DLLOAD' => 1,
++ 'LTDL_INIT' => 1,
++ 'LTVERSION_VERSION' => 1,
++ 'AM_PROG_INSTALL_SH' => 1,
++ 'm4_include' => 1,
++ 'AC_PROG_EGREP' => 1,
++ '_AC_AM_CONFIG_HEADER_HOOK' => 1,
++ 'AC_PATH_MAGIC' => 1,
++ 'AC_LTDL_SYSSEARCHPATH' => 1,
++ 'AM_MAKE_INCLUDE' => 1,
++ 'LT_CMD_MAX_LEN' => 1,
++ '_LT_AC_TAGCONFIG' => 1,
++ 'm4_pattern_forbid' => 1,
++ '_LT_LINKER_OPTION' => 1,
++ 'AC_LIBTOOL_COMPILER_OPTION' => 1,
++ 'AC_DISABLE_SHARED' => 1,
++ '_LT_COMPILER_BOILERPLATE' => 1,
++ 'AC_LIBTOOL_WIN32_DLL' => 1,
++ 'AC_LIBTOOL_SETUP' => 1,
++ 'AC_PROG_LD_RELOAD_FLAG' => 1,
++ 'AC_LTDL_DLSYM_USCORE' => 1,
++ 'AM_MISSING_HAS_RUN' => 1,
++ 'LT_LANG' => 1,
++ 'LT_SYS_DLSEARCH_PATH' => 1,
++ 'LT_CONFIG_LTDL_DIR' => 1,
++ 'AC_LIBTOOL_DLOPEN_SELF' => 1,
++ 'LT_OUTPUT' => 1,
++ 'AC_TYPE_SOCKLEN_T' => 1,
++ 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1,
++ 'AX_PREFIX_CONFIG_H' => 1,
++ 'AC_WITH_LTDL' => 1,
++ 'AC_LIBTOOL_LINKER_OPTION' => 1,
++ 'LT_AC_PROG_RC' => 1,
++ 'AC_LIBTOOL_CXX' => 1,
++ 'LT_INIT' => 1,
++ 'LT_AC_PROG_GCJ' => 1,
++ 'LT_SYS_DLOPEN_SELF' => 1,
++ 'AM_DEP_TRACK' => 1,
++ 'AM_DISABLE_STATIC' => 1,
++ 'AM_CONFIG_HEADER' => 1,
++ '_AC_PROG_LIBTOOL' => 1,
++ '_AM_IF_OPTION' => 1,
++ 'AC_PATH_TOOL_PREFIX' => 1,
++ 'm4_pattern_allow' => 1,
++ 'AC_LIBTOOL_F77' => 1,
++ 'AM_SET_LEADING_DOT' => 1,
++ 'LT_AC_PROG_EGREP' => 1,
++ '_AM_DEPENDENCIES' => 1,
++ 'AC_LIBTOOL_LANG_C_CONFIG' => 1,
++ 'LTOPTIONS_VERSION' => 1,
++ '_LT_AC_SYS_COMPILER' => 1,
++ 'AM_PROG_NM' => 1,
++ 'AC_LIBLTDL_CONVENIENCE' => 1,
++ 'AC_DEPLIBS_CHECK_METHOD' => 1,
++ 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
++ 'AC_LIBLTDL_INSTALLABLE' => 1,
++ 'AC_LTDL_ENABLE_INSTALL' => 1,
++ 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
++ 'LT_PROG_GCJ' => 1,
++ 'AM_INIT_AUTOMAKE' => 1,
++ 'AC_DISABLE_STATIC' => 1,
++ 'LT_PATH_NM' => 1,
++ 'AC_LTDL_SHLIBEXT' => 1,
++ '_LT_AC_LOCK' => 1,
++ '_LT_AC_LANG_RC_CONFIG' => 1,
++ 'LT_SYS_MODULE_PATH' => 1,
++ 'AC_LIBTOOL_POSTDEP_PREDEP' => 1,
++ 'LT_WITH_LTDL' => 1,
++ 'AC_LTDL_SHLIBPATH' => 1,
++ 'AM_AUX_DIR_EXPAND' => 1,
++ '_LT_AC_LANG_F77_CONFIG' => 1,
++ 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
++ '_AM_SET_OPTIONS' => 1,
++ '_LT_COMPILER_OPTION' => 1,
++ '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
++ 'AM_RUN_LOG' => 1,
++ 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1,
++ 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
++ 'AC_LIBTOOL_PICMODE' => 1,
++ 'LT_PATH_LD' => 1,
++ 'AC_CHECK_LIBM' => 1,
++ 'AC_LIBTOOL_SYS_LIB_STRIP' => 1,
++ '_AM_MANGLE_OPTION' => 1,
++ 'AC_LTDL_SYMBOL_USCORE' => 1,
++ 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
++ 'AM_SET_DEPDIR' => 1,
++ '_LT_CC_BASENAME' => 1,
++ '_LT_LIBSOURCES' => 1,
++ '_LT_LIBOBJ' => 1
++ }
++ ], 'Autom4te::Request' ),
++ bless( [
++ '1',
++ 1,
++ [
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/autoconf'
++ ],
++ [
++ '/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/autoconf/autoconf/autoconf.m4f',
++ 'aclocal.m4',
++ 'configure.ac'
++ ],
++ {
++ '_LT_AC_TAGCONFIG' => 1,
++ 'AM_PROG_F77_C_O' => 1,
++ 'm4_pattern_forbid' => 1,
++ 'AC_INIT' => 1,
++ 'AC_CANONICAL_TARGET' => 1,
++ 'AC_SUBST' => 1,
++ 'AC_CONFIG_LIBOBJ_DIR' => 1,
++ 'AC_FC_SRCEXT' => 1,
++ 'AC_CANONICAL_HOST' => 1,
++ 'AC_PROG_LIBTOOL' => 1,
++ 'AM_INIT_AUTOMAKE' => 1,
++ 'AC_CONFIG_SUBDIRS' => 1,
++ 'AM_AUTOMAKE_VERSION' => 1,
++ 'LT_CONFIG_LTDL_DIR' => 1,
++ 'AC_REQUIRE_AUX_FILE' => 1,
++ 'AC_CONFIG_LINKS' => 1,
++ 'm4_sinclude' => 1,
++ 'LT_SUPPORTED_TAG' => 1,
++ 'AM_MAINTAINER_MODE' => 1,
++ 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
++ '_m4_warn' => 1,
++ 'AM_PROG_CXX_C_O' => 1,
++ 'AM_ENABLE_MULTILIB' => 1,
++ 'AC_CONFIG_FILES' => 1,
++ 'LT_INIT' => 1,
++ 'include' => 1,
++ 'AM_GNU_GETTEXT' => 1,
++ 'AC_LIBSOURCE' => 1,
++ 'AM_PROG_FC_C_O' => 1,
++ 'AC_CANONICAL_BUILD' => 1,
++ 'AC_FC_FREEFORM' => 1,
++ 'AH_OUTPUT' => 1,
++ '_AM_SUBST_NOTMAKE' => 1,
++ 'AC_CONFIG_AUX_DIR' => 1,
++ 'sinclude' => 1,
++ 'm4_pattern_allow' => 1,
++ 'AM_PROG_CC_C_O' => 1,
++ 'AC_CANONICAL_SYSTEM' => 1,
++ 'AM_CONDITIONAL' => 1,
++ 'AC_CONFIG_HEADERS' => 1,
++ 'AC_DEFINE_TRACE_LITERAL' => 1,
++ 'm4_include' => 1,
++ 'AC_SUBST_TRACE' => 1
++ }
++ ], 'Autom4te::Request' )
++ );
++
+diff -Nur LibVNCServer-0.9.1.orig/autom4te.cache/traces.0 LibVNCServer-0.9.1/autom4te.cache/traces.0
+--- LibVNCServer-0.9.1.orig/autom4te.cache/traces.0 1969-12-31 21:00:00.000000000 -0300
++++ LibVNCServer-0.9.1/autom4te.cache/traces.0 2008-10-31 18:46:23.000000000 -0200
+@@ -0,0 +1,3027 @@
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/argz.m4:12: -1- AC_DEFUN([gl_FUNC_ARGZ], [gl_PREREQ_ARGZ
++
++AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT])
++
++AC_CHECK_TYPES([error_t],
++ [],
++ [AC_DEFINE([error_t], [int],
++ [Define to a type to use for `error_t' if it is not otherwise available.])
++ AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h
++ does not typedef error_t.])],
++ [#if defined(HAVE_ARGZ_H)
++# include <argz.h>
++#endif])
++
++ARGZ_H=
++AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \
++ argz_next argz_stringify], [], [ARGZ_H=argz.h; AC_LIBOBJ([argz])])
++
++dnl if have system argz functions, allow forced use of
++dnl libltdl-supplied implementation (and default to do so
++dnl on "known bad" systems). Could use a runtime check, but
++dnl (a) detecting malloc issues is notoriously unreliable
++dnl (b) only known system that declares argz functions,
++dnl provides them, yet they are broken, is cygwin
++dnl releases prior to 16-Mar-2007 (1.5.24 and earlier)
++dnl So, it's more straightforward simply to special case
++dnl this for known bad systems.
++AS_IF([test -z "$ARGZ_H"],
++ [AC_CACHE_CHECK(
++ [if argz actually works],
++ [lt_cv_sys_argz_works],
++ [[case $host_os in #(
++ *cygwin*)
++ lt_cv_sys_argz_works=no
++ if test "$cross_compiling" != no; then
++ lt_cv_sys_argz_works="guessing no"
++ else
++ lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/'
++ save_IFS=$IFS
++ IFS=-.
++ set x `uname -r | sed -e "$lt_sed_extract_leading_digits"`
++ IFS=$save_IFS
++ lt_os_major=${2-0}
++ lt_os_minor=${3-0}
++ lt_os_micro=${4-0}
++ if test "$lt_os_major" -gt 1 \
++ || { test "$lt_os_major" -eq 1 \
++ && { test "$lt_os_minor" -gt 5 \
++ || { test "$lt_os_minor" -eq 5 \
++ && test "$lt_os_micro" -gt 24; }; }; }; then
++ lt_cv_sys_argz_works=yes
++ fi
++ fi
++ ;; #(
++ *) lt_cv_sys_argz_works=yes ;;
++ esac]])
++ AS_IF([test $lt_cv_sys_argz_works = yes],
++ [AC_DEFINE([HAVE_WORKING_ARGZ], 1,
++ [This value is set to 1 to indicate that the system argz facility works])],
++ [ARGZ_H=argz.h
++ AC_LIBOBJ([argz])])])
++
++AC_SUBST([ARGZ_H])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/argz.m4:79: -1- AC_DEFUN([gl_PREREQ_ARGZ], [:])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:67: -1- AC_DEFUN([LT_INIT], [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
++AC_BEFORE([$0], [LT_LANG])dnl
++AC_BEFORE([$0], [LT_OUTPUT])dnl
++AC_BEFORE([$0], [LTDL_INIT])dnl
++m4_require([_LT_CHECK_BUILDDIR])dnl
++
++dnl Autoconf doesn't catch unexpanded LT_ macros by default:
++m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
++m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
++dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
++dnl unless we require an AC_DEFUNed macro:
++AC_REQUIRE([LTOPTIONS_VERSION])dnl
++AC_REQUIRE([LTSUGAR_VERSION])dnl
++AC_REQUIRE([LTVERSION_VERSION])dnl
++AC_REQUIRE([LTOBSOLETE_VERSION])dnl
++m4_require([_LT_PROG_LTMAIN])dnl
++
++dnl Parse OPTIONS
++_LT_SET_OPTIONS([$0], [$1])
++
++# This can be used to rebuild libtool when needed
++LIBTOOL_DEPS="$ltmain"
++
++# Always use our own libtool.
++LIBTOOL='$(SHELL) $(top_builddir)'
++LIBTOOL="$LIBTOOL/$host_alias-libtool"
++AC_SUBST(LIBTOOL)dnl
++
++_LT_SETUP
++
++# Only expand once:
++m4_define([LT_INIT])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:103: -1- AU_DEFUN([AC_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:103: -1- AC_DEFUN([AC_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [LT_INIT], [LT_INIT($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:104: -1- AU_DEFUN([AM_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:104: -1- AC_DEFUN([AM_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_LIBTOOL' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [LT_INIT], [LT_INIT($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:563: -1- AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt}
++AC_MSG_NOTICE([creating $CONFIG_LT])
++cat >"$CONFIG_LT" <<_LTEOF
++#! $SHELL
++# Generated by $as_me.
++# Run this file to recreate a libtool stub with the current configuration.
++
++lt_cl_silent=false
++SHELL=\${CONFIG_SHELL-$SHELL}
++_LTEOF
++
++cat >>"$CONFIG_LT" <<\_LTEOF
++AS_SHELL_SANITIZE
++_AS_PREPARE
++
++exec AS_MESSAGE_FD>&1
++exec AS_MESSAGE_LOG_FD>>config.log
++{
++ echo
++ AS_BOX([Running $as_me.])
++} >&AS_MESSAGE_LOG_FD
++
++lt_cl_help="\
++\`$as_me' creates a local libtool stub from the current configuration,
++for use in further configure time tests before the real libtool is
++generated.
++
++Usage: $[0] [[OPTIONS]]
++
++ -h, --help print this help, then exit
++ -V, --version print version number, then exit
++ -q, --quiet do not print progress messages
++ -d, --debug don't remove temporary files
++
++Report bugs to <bug-libtool@gnu.org>."
++
++lt_cl_version="\
++m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
++m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
++configured by $[0], generated by m4_PACKAGE_STRING.
++
++Copyright (C) 2008 Free Software Foundation, Inc.
++This config.lt script is free software; the Free Software Foundation
++gives unlimited permision to copy, distribute and modify it."
++
++while test $[#] != 0
++do
++ case $[1] in
++ --version | --v* | -V )
++ echo "$lt_cl_version"; exit 0 ;;
++ --help | --h* | -h )
++ echo "$lt_cl_help"; exit 0 ;;
++ --debug | --d* | -d )
++ debug=: ;;
++ --quiet | --q* | --silent | --s* | -q )
++ lt_cl_silent=: ;;
++
++ -*) AC_MSG_ERROR([unrecognized option: $[1]
++Try \`$[0] --help' for more information.]) ;;
++
++ *) AC_MSG_ERROR([unrecognized argument: $[1]
++Try \`$[0] --help' for more information.]) ;;
++ esac
++ shift
++done
++
++if $lt_cl_silent; then
++ exec AS_MESSAGE_FD>/dev/null
++fi
++_LTEOF
++
++cat >>"$CONFIG_LT" <<_LTEOF
++_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
++_LTEOF
++
++cat >>"$CONFIG_LT" <<\_LTEOF
++AC_MSG_NOTICE([creating $ofile])
++_LT_OUTPUT_LIBTOOL_COMMANDS
++AS_EXIT(0)
++_LTEOF
++chmod +x "$CONFIG_LT"
++
++# configure is writing to config.log, but config.lt does its own redirection,
++# appending to config.log, which fails on DOS, as config.log is still kept
++# open by configure. Here we exec the FD to /dev/null, effectively closing
++# config.log, so it can be properly (re)opened and appended to by config.lt.
++if test "$no_create" != yes; then
++ lt_cl_success=:
++ test "$silent" = yes &&
++ lt_config_lt_args="$lt_config_lt_args --quiet"
++ exec AS_MESSAGE_LOG_FD>/dev/null
++ $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
++ exec AS_MESSAGE_LOG_FD>>config.log
++ $lt_cl_success || AS_EXIT(1)
++fi
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:758: -1- AC_DEFUN([LT_SUPPORTED_TAG], [])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:769: -1- AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl
++m4_case([$1],
++ [C], [_LT_LANG(C)],
++ [C++], [_LT_LANG(CXX)],
++ [Java], [_LT_LANG(GCJ)],
++ [Fortran 77], [_LT_LANG(F77)],
++ [Fortran], [_LT_LANG(FC)],
++ [Windows Resource], [_LT_LANG(RC)],
++ [m4_ifdef([_LT_LANG_]$1[_CONFIG],
++ [_LT_LANG($1)],
++ [m4_fatal([$0: unsupported language: "$1"])])])dnl
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:831: -1- AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:831: -1- AC_DEFUN([AC_LIBTOOL_CXX], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_CXX' is obsolete.
++You should run autoupdate.])dnl
++LT_LANG(C++)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:832: -1- AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:832: -1- AC_DEFUN([AC_LIBTOOL_F77], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_F77' is obsolete.
++You should run autoupdate.])dnl
++LT_LANG(Fortran 77)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:833: -1- AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:833: -1- AC_DEFUN([AC_LIBTOOL_FC], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_FC' is obsolete.
++You should run autoupdate.])dnl
++LT_LANG(Fortran)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:834: -1- AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:834: -1- AC_DEFUN([AC_LIBTOOL_GCJ], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_GCJ' is obsolete.
++You should run autoupdate.])dnl
++LT_LANG(Java)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:1399: -1- AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_DECL_SED])dnl
++AC_CACHE_CHECK([$1], [$2],
++ [$2=no
++ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++ lt_compiler_flag="$3"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ # The option is referenced via a variable to avoid confusing sed.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
++ (eval "$lt_compile" 2>conftest.err)
++ ac_status=$?
++ cat conftest.err >&AS_MESSAGE_LOG_FD
++ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
++ if (exit $ac_status) && test -s "$ac_outfile"; then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings other than the usual output.
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
++ $2=yes
++ fi
++ fi
++ $RM conftest*
++])
++
++if test x"[$]$2" = xyes; then
++ m4_if([$5], , :, [$5])
++else
++ m4_if([$6], , :, [$6])
++fi
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:1441: -1- AU_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:1441: -1- AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_COMPILER_OPTION' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:1450: -1- AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
++m4_require([_LT_DECL_SED])dnl
++AC_CACHE_CHECK([$1], [$2],
++ [$2=no
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS $3"
++ echo "$lt_simple_link_test_code" > conftest.$ac_ext
++ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
++ # The linker can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ if test -s conftest.err; then
++ # Append any errors to the config.log.
++ cat conftest.err 1>&AS_MESSAGE_LOG_FD
++ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++ if diff conftest.exp conftest.er2 >/dev/null; then
++ $2=yes
++ fi
++ else
++ $2=yes
++ fi
++ fi
++ $RM -r conftest*
++ LDFLAGS="$save_LDFLAGS"
++])
++
++if test x"[$]$2" = xyes; then
++ m4_if([$4], , :, [$4])
++else
++ m4_if([$5], , :, [$5])
++fi
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:1485: -1- AU_DEFUN([AC_LIBTOOL_LINKER_OPTION], [m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:1485: -1- AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_LINKER_OPTION' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:1492: -1- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl
++# find the maximum length of command line arguments
++AC_MSG_CHECKING([the maximum length of command line arguments])
++AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
++ i=0
++ teststring="ABCD"
++
++ case $build_os in
++ msdosdjgpp*)
++ # On DJGPP, this test can blow up pretty badly due to problems in libc
++ # (any single argument exceeding 2000 bytes causes a buffer overrun
++ # during glob expansion). Even if it were fixed, the result of this
++ # check would be larger than it should be.
++ lt_cv_sys_max_cmd_len=12288; # 12K is about right
++ ;;
++
++ gnu*)
++ # Under GNU Hurd, this test is not required because there is
++ # no limit to the length of command line arguments.
++ # Libtool will interpret -1 as no limit whatsoever
++ lt_cv_sys_max_cmd_len=-1;
++ ;;
++
++ cygwin* | mingw*)
++ # On Win9x/ME, this test blows up -- it succeeds, but takes
++ # about 5 minutes as the teststring grows exponentially.
++ # Worse, since 9x/ME are not pre-emptively multitasking,
++ # you end up with a "frozen" computer, even though with patience
++ # the test eventually succeeds (with a max line length of 256k).
++ # Instead, let's just punt: use the minimum linelength reported by
++ # all of the supported platforms: 8192 (on NT/2K/XP).
++ lt_cv_sys_max_cmd_len=8192;
++ ;;
++
++ amigaos*)
++ # On AmigaOS with pdksh, this test takes hours, literally.
++ # So we just punt and use a minimum line length of 8192.
++ lt_cv_sys_max_cmd_len=8192;
++ ;;
++
++ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
++ # This has been around since 386BSD, at least. Likely further.
++ if test -x /sbin/sysctl; then
++ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
++ elif test -x /usr/sbin/sysctl; then
++ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
++ else
++ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
++ fi
++ # And add a safety zone
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
++ ;;
++
++ interix*)
++ # We know the value 262144 and hardcode it with a safety zone (like BSD)
++ lt_cv_sys_max_cmd_len=196608
++ ;;
++
++ osf*)
++ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
++ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
++ # nice to cause kernel panics so lets avoid the loop below.
++ # First set a reasonable default.
++ lt_cv_sys_max_cmd_len=16384
++ #
++ if test -x /sbin/sysconfig; then
++ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
++ *1*) lt_cv_sys_max_cmd_len=-1 ;;
++ esac
++ fi
++ ;;
++ sco3.2v5*)
++ lt_cv_sys_max_cmd_len=102400
++ ;;
++ sysv5* | sco5v6* | sysv4.2uw2*)
++ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
++ if test -n "$kargmax"; then
++ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
++ else
++ lt_cv_sys_max_cmd_len=32768
++ fi
++ ;;
++ *)
++ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
++ if test -n "$lt_cv_sys_max_cmd_len"; then
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
++ else
++ # Make teststring a little bigger before we do anything with it.
++ # a 1K string should be a reasonable start.
++ for i in 1 2 3 4 5 6 7 8 ; do
++ teststring=$teststring$teststring
++ done
++ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
++ # If test is not a shell built-in, we'll probably end up computing a
++ # maximum length that is only half of the actual maximum length, but
++ # we can't tell.
++ while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
++ = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
++ test $i != 17 # 1/2 MB should be enough
++ do
++ i=`expr $i + 1`
++ teststring=$teststring$teststring
++ done
++ # Only check the string length outside the loop.
++ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
++ teststring=
++ # Add a significant safety factor because C++ compilers can tack on
++ # massive amounts of additional arguments before passing them to the
++ # linker. It appears as though 1/2 is a usable value.
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
++ fi
++ ;;
++ esac
++])
++if test -n $lt_cv_sys_max_cmd_len ; then
++ AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
++else
++ AC_MSG_RESULT(none)
++fi
++max_cmd_len=$lt_cv_sys_max_cmd_len
++_LT_DECL([], [max_cmd_len], [0],
++ [What is the maximum length of a command?])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:1620: -1- AU_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:1620: -1- AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_SYS_MAX_CMD_LEN' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:1725: -1- AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl
++if test "x$enable_dlopen" != xyes; then
++ enable_dlopen=unknown
++ enable_dlopen_self=unknown
++ enable_dlopen_self_static=unknown
++else
++ lt_cv_dlopen=no
++ lt_cv_dlopen_libs=
++
++ case $host_os in
++ beos*)
++ lt_cv_dlopen="load_add_on"
++ lt_cv_dlopen_libs=
++ lt_cv_dlopen_self=yes
++ ;;
++
++ mingw* | pw32*)
++ lt_cv_dlopen="LoadLibrary"
++ lt_cv_dlopen_libs=
++ ;;
++
++ cygwin*)
++ lt_cv_dlopen="dlopen"
++ lt_cv_dlopen_libs=
++ ;;
++
++ darwin*)
++ # if libdl is installed we need to link against it
++ AC_CHECK_LIB([dl], [dlopen],
++ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
++ lt_cv_dlopen="dyld"
++ lt_cv_dlopen_libs=
++ lt_cv_dlopen_self=yes
++ ])
++ ;;
++
++ *)
++ AC_CHECK_FUNC([shl_load],
++ [lt_cv_dlopen="shl_load"],
++ [AC_CHECK_LIB([dld], [shl_load],
++ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
++ [AC_CHECK_FUNC([dlopen],
++ [lt_cv_dlopen="dlopen"],
++ [AC_CHECK_LIB([dl], [dlopen],
++ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
++ [AC_CHECK_LIB([svld], [dlopen],
++ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
++ [AC_CHECK_LIB([dld], [dld_link],
++ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
++ ])
++ ])
++ ])
++ ])
++ ])
++ ;;
++ esac
++
++ if test "x$lt_cv_dlopen" != xno; then
++ enable_dlopen=yes
++ else
++ enable_dlopen=no
++ fi
++
++ case $lt_cv_dlopen in
++ dlopen)
++ save_CPPFLAGS="$CPPFLAGS"
++ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
++
++ save_LDFLAGS="$LDFLAGS"
++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
++
++ save_LIBS="$LIBS"
++ LIBS="$lt_cv_dlopen_libs $LIBS"
++
++ AC_CACHE_CHECK([whether a program can dlopen itself],
++ lt_cv_dlopen_self, [dnl
++ _LT_TRY_DLOPEN_SELF(
++ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
++ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
++ ])
++
++ if test "x$lt_cv_dlopen_self" = xyes; then
++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
++ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
++ lt_cv_dlopen_self_static, [dnl
++ _LT_TRY_DLOPEN_SELF(
++ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
++ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
++ ])
++ fi
++
++ CPPFLAGS="$save_CPPFLAGS"
++ LDFLAGS="$save_LDFLAGS"
++ LIBS="$save_LIBS"
++ ;;
++ esac
++
++ case $lt_cv_dlopen_self in
++ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
++ *) enable_dlopen_self=unknown ;;
++ esac
++
++ case $lt_cv_dlopen_self_static in
++ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
++ *) enable_dlopen_self_static=unknown ;;
++ esac
++fi
++_LT_DECL([dlopen_support], [enable_dlopen], [0],
++ [Whether dlopen is supported])
++_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
++ [Whether dlopen of programs is supported])
++_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
++ [Whether dlopen of statically linked programs is supported])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:1842: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:1842: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN_SELF' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:2729: -1- AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl
++AC_MSG_CHECKING([for $1])
++AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
++[case $MAGIC_CMD in
++[[\\/*] | ?:[\\/]*])
++ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
++ ;;
++*)
++ lt_save_MAGIC_CMD="$MAGIC_CMD"
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++dnl $ac_dummy forces splitting on constant user-supplied paths.
++dnl POSIX.2 word splitting is done only on the output of word expansions,
++dnl not every word. This closes a longstanding sh security hole.
++ ac_dummy="m4_if([$2], , $PATH, [$2])"
++ for ac_dir in $ac_dummy; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ if test -f $ac_dir/$1; then
++ lt_cv_path_MAGIC_CMD="$ac_dir/$1"
++ if test -n "$file_magic_test_file"; then
++ case $deplibs_check_method in
++ "file_magic "*)
++ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
++ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
++ $EGREP "$file_magic_regex" > /dev/null; then
++ :
++ else
++ cat <<_LT_EOF 1>&2
++
++*** Warning: the command libtool uses to detect shared libraries,
++*** $file_magic_cmd, produces output that libtool cannot recognize.
++*** The result is that libtool may fail to recognize shared libraries
++*** as such. This will affect the creation of libtool libraries that
++*** depend on shared libraries, but programs linked with such libtool
++*** libraries will work regardless of this problem. Nevertheless, you
++*** may want to report the problem to your system manager and/or to
++*** bug-libtool@gnu.org
++
++_LT_EOF
++ fi ;;
++ esac
++ fi
++ break
++ fi
++ done
++ IFS="$lt_save_ifs"
++ MAGIC_CMD="$lt_save_MAGIC_CMD"
++ ;;
++esac])
++MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++if test -n "$MAGIC_CMD"; then
++ AC_MSG_RESULT($MAGIC_CMD)
++else
++ AC_MSG_RESULT(no)
++fi
++_LT_DECL([], [MAGIC_CMD], [0],
++ [Used to examine libraries when file_magic_cmd begins with "file"])dnl
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:2791: -1- AU_DEFUN([AC_PATH_TOOL_PREFIX], [m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:2791: -1- AC_DEFUN([AC_PATH_TOOL_PREFIX], [AC_DIAGNOSE([obsolete], [The macro `AC_PATH_TOOL_PREFIX' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:2814: -1- AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([AC_CANONICAL_HOST])dnl
++AC_REQUIRE([AC_CANONICAL_BUILD])dnl
++m4_require([_LT_DECL_SED])dnl
++m4_require([_LT_DECL_EGREP])dnl
++
++AC_ARG_WITH([gnu-ld],
++ [AS_HELP_STRING([--with-gnu-ld],
++ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
++ [test "$withval" = no || with_gnu_ld=yes],
++ [with_gnu_ld=no])dnl
++
++ac_prog=ld
++if test "$GCC" = yes; then
++ # Check if gcc -print-prog-name=ld gives a path.
++ AC_MSG_CHECKING([for ld used by $CC])
++ case $host in
++ *-*-mingw*)
++ # gcc leaves a trailing carriage return which upsets mingw
++ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
++ *)
++ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
++ esac
++ case $ac_prog in
++ # Accept absolute paths.
++ [[\\/]]* | ?:[[\\/]]*)
++ re_direlt='/[[^/]][[^/]]*/\.\./'
++ # Canonicalize the pathname of ld
++ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
++ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
++ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
++ done
++ test -z "$LD" && LD="$ac_prog"
++ ;;
++ "")
++ # If it fails, then pretend we aren't using GCC.
++ ac_prog=ld
++ ;;
++ *)
++ # If it is relative, then search for the first ld in PATH.
++ with_gnu_ld=unknown
++ ;;
++ esac
++elif test "$with_gnu_ld" = yes; then
++ AC_MSG_CHECKING([for GNU ld])
++else
++ AC_MSG_CHECKING([for non-GNU ld])
++fi
++AC_CACHE_VAL(lt_cv_path_LD,
++[if test -z "$LD"; then
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ for ac_dir in $PATH; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
++ lt_cv_path_LD="$ac_dir/$ac_prog"
++ # Check to see if the program is GNU ld. I'd rather use --version,
++ # but apparently some variants of GNU ld only accept -v.
++ # Break only if it was the GNU/non-GNU ld that we prefer.
++ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
++ *GNU* | *'with BFD'*)
++ test "$with_gnu_ld" != no && break
++ ;;
++ *)
++ test "$with_gnu_ld" != yes && break
++ ;;
++ esac
++ fi
++ done
++ IFS="$lt_save_ifs"
++else
++ lt_cv_path_LD="$LD" # Let the user override the test with a path.
++fi])
++LD="$lt_cv_path_LD"
++if test -n "$LD"; then
++ AC_MSG_RESULT($LD)
++else
++ AC_MSG_RESULT(no)
++fi
++test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
++_LT_PATH_LD_GNU
++AC_SUBST([LD])
++
++_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:2902: -1- AU_DEFUN([AM_PROG_LD], [m4_if($#, 0, [LT_PATH_LD], [LT_PATH_LD($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:2902: -1- AC_DEFUN([AM_PROG_LD], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_LD' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [LT_PATH_LD], [LT_PATH_LD($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:2903: -1- AU_DEFUN([AC_PROG_LD], [m4_if($#, 0, [LT_PATH_LD], [LT_PATH_LD($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:2903: -1- AC_DEFUN([AC_PROG_LD], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_LD' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [LT_PATH_LD], [LT_PATH_LD($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:3160: -1- AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl
++AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
++[if test -n "$NM"; then
++ # Let the user override the test.
++ lt_cv_path_NM="$NM"
++else
++ lt_nm_to_check="${ac_tool_prefix}nm"
++ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
++ lt_nm_to_check="$lt_nm_to_check nm"
++ fi
++ for lt_tmp_nm in $lt_nm_to_check; do
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ tmp_nm="$ac_dir/$lt_tmp_nm"
++ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
++ # Check to see if the nm accepts a BSD-compat flag.
++ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
++ # nm: unknown option "B" ignored
++ # Tru64's nm complains that /dev/null is an invalid object file
++ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
++ */dev/null* | *'Invalid file or object type'*)
++ lt_cv_path_NM="$tmp_nm -B"
++ break
++ ;;
++ *)
++ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
++ */dev/null*)
++ lt_cv_path_NM="$tmp_nm -p"
++ break
++ ;;
++ *)
++ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
++ continue # so that we can try to find one that supports BSD flags
++ ;;
++ esac
++ ;;
++ esac
++ fi
++ done
++ IFS="$lt_save_ifs"
++ done
++ : ${lt_cv_path_NM=no}
++fi])
++if test "$lt_cv_path_NM" != "no"; then
++ NM="$lt_cv_path_NM"
++else
++ # Didn't find any BSD compatible name lister, look for dumpbin.
++ AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
++ AC_SUBST([DUMPBIN])
++ if test "$DUMPBIN" != ":"; then
++ NM="$DUMPBIN"
++ fi
++fi
++test -z "$NM" && NM=nm
++AC_SUBST([NM])
++_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
++
++AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
++ [lt_cv_nm_interface="BSD nm"
++ echo "int some_variable = 0;" > conftest.$ac_ext
++ (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
++ (eval "$ac_compile" 2>conftest.err)
++ cat conftest.err >&AS_MESSAGE_LOG_FD
++ (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
++ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
++ cat conftest.err >&AS_MESSAGE_LOG_FD
++ (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
++ cat conftest.out >&AS_MESSAGE_LOG_FD
++ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
++ lt_cv_nm_interface="MS dumpbin"
++ fi
++ rm -f conftest*])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:3238: -1- AU_DEFUN([AM_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:3238: -1- AC_DEFUN([AM_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_NM' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:3239: -1- AU_DEFUN([AC_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:3239: -1- AC_DEFUN([AC_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_NM' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:3248: -1- AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl
++LIBM=
++case $host in
++*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
++ # These system don't have libm, or don't need it
++ ;;
++*-ncr-sysv4.3*)
++ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
++ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
++ ;;
++*)
++ AC_CHECK_LIB(m, cos, LIBM="-lm")
++ ;;
++esac
++AC_SUBST([LIBM])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:3267: -1- AU_DEFUN([AC_CHECK_LIBM], [m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:3267: -1- AC_DEFUN([AC_CHECK_LIBM], [AC_DIAGNOSE([obsolete], [The macro `AC_CHECK_LIBM' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:6932: -1- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
++ [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
++ [AC_CHECK_TOOL(GCJ, gcj,)
++ test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
++ AC_SUBST(GCJFLAGS)])])[]dnl
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:6941: -1- AU_DEFUN([LT_AC_PROG_GCJ], [m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:6941: -1- AC_DEFUN([LT_AC_PROG_GCJ], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_GCJ' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:6948: -1- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,)
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:6953: -1- AU_DEFUN([LT_AC_PROG_RC], [m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:6953: -1- AC_DEFUN([LT_AC_PROG_RC], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_RC' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:7052: -1- AU_DEFUN([LT_AC_PROG_SED], [m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:7052: -1- AC_DEFUN([LT_AC_PROG_SED], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_SED' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:16: -1- AC_DEFUN([LT_CONFIG_LTDL_DIR], [AC_BEFORE([$0], [LTDL_INIT])
++_$0($*)
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:68: -1- AC_DEFUN([LTDL_CONVENIENCE], [AC_BEFORE([$0], [LTDL_INIT])dnl
++dnl Although the argument is deprecated and no longer documented,
++dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one
++dnl here make sure it is the same as any other declaration of libltdl's
++dnl location! This also ensures lt_ltdl_dir is set when configure.ac is
++dnl not yet using an explicit LT_CONFIG_LTDL_DIR.
++m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl
++_$0()
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:81: -1- AU_DEFUN([AC_LIBLTDL_CONVENIENCE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
++_LTDL_CONVENIENCE])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:81: -1- AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_CONVENIENCE' is obsolete.
++You should run autoupdate.])dnl
++_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
++_LTDL_CONVENIENCE])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:124: -1- AC_DEFUN([LTDL_INSTALLABLE], [AC_BEFORE([$0], [LTDL_INIT])dnl
++dnl Although the argument is deprecated and no longer documented,
++dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one
++dnl here make sure it is the same as any other declaration of libltdl's
++dnl location! This also ensures lt_ltdl_dir is set when configure.ac is
++dnl not yet using an explicit LT_CONFIG_LTDL_DIR.
++m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl
++_$0()
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:137: -1- AU_DEFUN([AC_LIBLTDL_INSTALLABLE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
++_LTDL_INSTALLABLE])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:137: -1- AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_INSTALLABLE' is obsolete.
++You should run autoupdate.])dnl
++_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
++_LTDL_INSTALLABLE])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:213: -1- AC_DEFUN([_LT_LIBOBJ], [
++ m4_pattern_allow([^_LT_LIBOBJS$])
++ AS_LITERAL_IF([$1], [_LT_LIBSOURCES([$1.c])])dnl
++ _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext"
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:224: -1- AC_DEFUN([_LT_LIBSOURCES], [
++ m4_foreach([_LTNAME], [$1], [
++ m4_syscmd([test -r "$lt_libobj_prefix]_LTNAME[" ||
++ test -z "$lt_libobj_prefix" ||
++ test ! -d "$lt_libobj_prefix"])dnl
++ m4_if(m4_sysval, [0], [],
++ [AC_FATAL([missing $lt_libobj_prefix/]_LTNAME)])
++ ])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:242: -1- AC_DEFUN([LTDL_INIT], [dnl Parse OPTIONS
++_LT_SET_OPTIONS([$0], [$1])
++
++dnl We need to keep our own list of libobjs separate from our parent project,
++dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while
++dnl we look for our own LIBOBJs. Definitions in ltdl-libobj.m4.
++m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ]))
++m4_pushdef([AC_LIBSOURCES], m4_defn([_LT_LIBSOURCES]))
++
++dnl If not otherwise defined, default to the 1.5.x compatible subproject mode:
++m4_if(_LTDL_MODE, [],
++ [m4_define([_LTDL_MODE], m4_default([$2], [subproject]))
++ m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])],
++ [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])
++
++AC_ARG_WITH([included_ltdl],
++ [AS_HELP_STRING([--with-included-ltdl],
++ [use the GNU ltdl sources included here])])
++
++if test "x$with_included_ltdl" != xyes; then
++ # We are not being forced to use the included libltdl sources, so
++ # decide whether there is a useful installed version we can use.
++ AC_CHECK_HEADER([ltdl.h],
++ [AC_CHECK_DECL([lt_dlinterface_register],
++ [AC_CHECK_LIB([ltdl], [lt_dlinterface_register],
++ [with_included_ltdl=no],
++ [with_included_ltdl=yes])],
++ [with_included_ltdl=yes],
++ [AC_INCLUDES_DEFAULT
++ #include <ltdl.h>])],
++ [with_included_ltdl=yes],
++ [AC_INCLUDES_DEFAULT]
++ )
++fi
++
++dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE
++dnl was called yet, then for old times' sake, we assume libltdl is in an
++dnl eponymous directory:
++AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])])
++
++AC_ARG_WITH([ltdl_include],
++ [AS_HELP_STRING([--with-ltdl-include=DIR],
++ [use the ltdl headers installed in DIR])])
++
++if test -n "$with_ltdl_include"; then
++ if test -f "$with_ltdl_include/ltdl.h"; then :
++ else
++ AC_MSG_ERROR([invalid ltdl include directory: `$with_ltdl_include'])
++ fi
++else
++ with_ltdl_include=no
++fi
++
++AC_ARG_WITH([ltdl_lib],
++ [AS_HELP_STRING([--with-ltdl-lib=DIR],
++ [use the libltdl.la installed in DIR])])
++
++if test -n "$with_ltdl_lib"; then
++ if test -f "$with_ltdl_lib/libltdl.la"; then :
++ else
++ AC_MSG_ERROR([invalid ltdl library directory: `$with_ltdl_lib'])
++ fi
++else
++ with_ltdl_lib=no
++fi
++
++case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in
++ ,yes,no,no,)
++ m4_case(m4_default(_LTDL_TYPE, [convenience]),
++ [convenience], [_LTDL_CONVENIENCE],
++ [installable], [_LTDL_INSTALLABLE],
++ [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)])
++ ;;
++ ,no,no,no,)
++ # If the included ltdl is not to be used, then use the
++ # preinstalled libltdl we found.
++ AC_DEFINE([HAVE_LTDL], [1],
++ [Define this if a modern libltdl is already installed])
++ LIBLTDL=-lltdl
++ LTDLDEPS=
++ LTDLINCL=
++ ;;
++ ,no*,no,*)
++ AC_MSG_ERROR([`--with-ltdl-include' and `--with-ltdl-lib' options must be used together])
++ ;;
++ *) with_included_ltdl=no
++ LIBLTDL="-L$with_ltdl_lib -lltdl"
++ LTDLDEPS=
++ LTDLINCL="-I$with_ltdl_include"
++ ;;
++esac
++INCLTDL="$LTDLINCL"
++
++# Report our decision...
++AC_MSG_CHECKING([where to find libltdl headers])
++AC_MSG_RESULT([$LTDLINCL])
++AC_MSG_CHECKING([where to find libltdl library])
++AC_MSG_RESULT([$LIBLTDL])
++
++_LTDL_SETUP
++
++dnl restore autoconf definition.
++m4_popdef([AC_LIBOBJ])
++m4_popdef([AC_LIBSOURCES])
++
++AC_CONFIG_COMMANDS_PRE([
++ _ltdl_libobjs=
++ _ltdl_ltlibobjs=
++ if test -n "$_LT_LIBOBJS"; then
++ # Remove the extension.
++ _lt_sed_drop_objext='s/\.o$//;s/\.obj$//'
++ for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do
++ _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext"
++ _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo"
++ done
++ fi
++ AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs])
++ AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs])
++])
++
++# Only expand once:
++m4_define([LTDL_INIT])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:368: -1- AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:368: -1- AC_DEFUN([AC_LIB_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIB_LTDL' is obsolete.
++You should run autoupdate.])dnl
++LTDL_INIT($@)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:369: -1- AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:369: -1- AC_DEFUN([AC_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_WITH_LTDL' is obsolete.
++You should run autoupdate.])dnl
++LTDL_INIT($@)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:370: -1- AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:370: -1- AC_DEFUN([LT_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `LT_WITH_LTDL' is obsolete.
++You should run autoupdate.])dnl
++LTDL_INIT($@)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:383: -1- AC_DEFUN([_LTDL_SETUP], [AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([LT_SYS_MODULE_EXT])dnl
++AC_REQUIRE([LT_SYS_MODULE_PATH])dnl
++AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl
++AC_REQUIRE([LT_LIB_DLLOAD])dnl
++AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl
++AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl
++AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl
++AC_REQUIRE([gl_FUNC_ARGZ])dnl
++
++m4_require([_LT_CHECK_OBJDIR])dnl
++m4_require([_LT_HEADER_DLFCN])dnl
++m4_require([_LT_CHECK_DLPREOPEN])dnl
++m4_require([_LT_DECL_SED])dnl
++
++# lt_cv_dlopen_self gets defined by LT_SYS_DLOPEN_SELF, called by LT_INIT
++if test "$lt_cv_dlopen_self" = yes; then
++ AC_DEFINE([LTDL_DLOPEN_SELF_WORKS], [1],
++ [Define if dlopen(NULL) is able to resolve symbols from the main program.])
++fi
++
++dnl Don't require this, or it will be expanded earlier than the code
++dnl that sets the variables it relies on:
++_LT_ENABLE_INSTALL
++
++dnl _LTDL_MODE specific code must be called at least once:
++_LTDL_MODE_DISPATCH
++
++# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS
++# the user used. This is so that ltdl.h can pick up the parent projects
++# config.h file, The first file in AC_CONFIG_HEADERS must contain the
++# definitions required by ltdl.c.
++# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility).
++AC_CONFIG_COMMANDS_PRE([dnl
++m4_pattern_allow([^LT_CONFIG_H$])dnl
++m4_ifset([AH_HEADER],
++ [LT_CONFIG_H=AH_HEADER],
++ [m4_ifset([AC_LIST_HEADERS],
++ [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's,^[[ ]]*,,;s,[[ :]].*$,,'`],
++ [])])])
++AC_SUBST([LT_CONFIG_H])
++
++AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h],
++ [], [], [AC_INCLUDES_DEFAULT])
++
++AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])])
++AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])])
++
++name=ltdl
++LTDLOPEN=`eval "\\$ECHO \"$libname_spec\""`
++AC_SUBST([LTDLOPEN])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:457: -1- AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl
++AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
++ [lt_cv_sys_dlopen_deplibs],
++ [# PORTME does your system automatically load deplibs for dlopen?
++ # or its logical equivalent (e.g. shl_load for HP-UX < 11)
++ # For now, we just catch OSes we know something about -- in the
++ # future, we'll try test this programmatically.
++ lt_cv_sys_dlopen_deplibs=unknown
++ case $host_os in
++ aix3*|aix4.1.*|aix4.2.*)
++ # Unknown whether this is true for these versions of AIX, but
++ # we want this `case' here to explicitly catch those versions.
++ lt_cv_sys_dlopen_deplibs=unknown
++ ;;
++ aix[[4-9]]*)
++ lt_cv_sys_dlopen_deplibs=yes
++ ;;
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ lt_cv_sys_dlopen_deplibs=no
++ ;;
++ esac
++ ;;
++ darwin*)
++ # Assuming the user has installed a libdl from somewhere, this is true
++ # If you are looking for one http://www.opendarwin.org/projects/dlcompat
++ lt_cv_sys_dlopen_deplibs=yes
++ ;;
++ freebsd* | dragonfly*)
++ lt_cv_sys_dlopen_deplibs=yes
++ ;;
++ gnu* | linux* | k*bsd*-gnu)
++ # GNU and its variants, using gnu ld.so (Glibc)
++ lt_cv_sys_dlopen_deplibs=yes
++ ;;
++ hpux10*|hpux11*)
++ lt_cv_sys_dlopen_deplibs=yes
++ ;;
++ interix*)
++ lt_cv_sys_dlopen_deplibs=yes
++ ;;
++ irix[[12345]]*|irix6.[[01]]*)
++ # Catch all versions of IRIX before 6.2, and indicate that we don't
++ # know how it worked for any of those versions.
++ lt_cv_sys_dlopen_deplibs=unknown
++ ;;
++ irix*)
++ # The case above catches anything before 6.2, and it's known that
++ # at 6.2 and later dlopen does load deplibs.
++ lt_cv_sys_dlopen_deplibs=yes
++ ;;
++ netbsd*)
++ lt_cv_sys_dlopen_deplibs=yes
++ ;;
++ openbsd*)
++ lt_cv_sys_dlopen_deplibs=yes
++ ;;
++ osf[[1234]]*)
++ # dlopen did load deplibs (at least at 4.x), but until the 5.x series,
++ # it did *not* use an RPATH in a shared library to find objects the
++ # library depends on, so we explicitly say `no'.
++ lt_cv_sys_dlopen_deplibs=no
++ ;;
++ osf5.0|osf5.0a|osf5.1)
++ # dlopen *does* load deplibs and with the right loader patch applied
++ # it even uses RPATH in a shared library to search for shared objects
++ # that the library depends on, but there's no easy way to know if that
++ # patch is installed. Since this is the case, all we can really
++ # say is unknown -- it depends on the patch being installed. If
++ # it is, this changes to `yes'. Without it, it would be `no'.
++ lt_cv_sys_dlopen_deplibs=unknown
++ ;;
++ osf*)
++ # the two cases above should catch all versions of osf <= 5.1. Read
++ # the comments above for what we know about them.
++ # At > 5.1, deplibs are loaded *and* any RPATH in a shared library
++ # is used to find them so we can finally say `yes'.
++ lt_cv_sys_dlopen_deplibs=yes
++ ;;
++ qnx*)
++ lt_cv_sys_dlopen_deplibs=yes
++ ;;
++ solaris*)
++ lt_cv_sys_dlopen_deplibs=yes
++ ;;
++ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
++ libltdl_cv_sys_dlopen_deplibs=yes
++ ;;
++ esac
++ ])
++if test "$lt_cv_sys_dlopen_deplibs" != yes; then
++ AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1],
++ [Define if the OS needs help to load dependent libraries for dlopen().])
++fi
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:556: -1- AU_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:556: -1- AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYS_DLOPEN_DEPLIBS' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:563: -1- AC_DEFUN([LT_SYS_MODULE_EXT], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
++AC_CACHE_CHECK([which extension is used for runtime loadable modules],
++ [libltdl_cv_shlibext],
++[
++module=yes
++eval libltdl_cv_shlibext=$shrext_cmds
++ ])
++if test -n "$libltdl_cv_shlibext"; then
++ m4_pattern_allow([LT_MODULE_EXT])dnl
++ AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"],
++ [Define to the extension used for runtime loadable modules, say, ".so".])
++fi
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:579: -1- AU_DEFUN([AC_LTDL_SHLIBEXT], [m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:579: -1- AC_DEFUN([AC_LTDL_SHLIBEXT], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBEXT' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:586: -1- AC_DEFUN([LT_SYS_MODULE_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
++AC_CACHE_CHECK([which variable specifies run-time module search path],
++ [lt_cv_module_path_var], [lt_cv_module_path_var="$shlibpath_var"])
++if test -n "$lt_cv_module_path_var"; then
++ m4_pattern_allow([LT_MODULE_PATH_VAR])dnl
++ AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"],
++ [Define to the name of the environment variable that determines the run-time module search path.])
++fi
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:598: -1- AU_DEFUN([AC_LTDL_SHLIBPATH], [m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:598: -1- AC_DEFUN([AC_LTDL_SHLIBPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBPATH' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:605: -1- AC_DEFUN([LT_SYS_DLSEARCH_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
++AC_CACHE_CHECK([for the default library search path],
++ [lt_cv_sys_dlsearch_path],
++ [lt_cv_sys_dlsearch_path="$sys_lib_dlsearch_path_spec"])
++if test -n "$lt_cv_sys_dlsearch_path"; then
++ sys_dlsearch_path=
++ for dir in $lt_cv_sys_dlsearch_path; do
++ if test -z "$sys_dlsearch_path"; then
++ sys_dlsearch_path="$dir"
++ else
++ sys_dlsearch_path="$sys_dlsearch_path$PATH_SEPARATOR$dir"
++ fi
++ done
++ m4_pattern_allow([LT_DLSEARCH_PATH])dnl
++ AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"],
++ [Define to the system default library search path.])
++fi
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:626: -1- AU_DEFUN([AC_LTDL_SYSSEARCHPATH], [m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:626: -1- AC_DEFUN([AC_LTDL_SYSSEARCHPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYSSEARCHPATH' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:652: -1- AC_DEFUN([LT_LIB_DLLOAD], [m4_pattern_allow([^LT_DLLOADERS$])
++LT_DLLOADERS=
++AC_SUBST([LT_DLLOADERS])
++
++AC_LANG_PUSH([C])
++
++LIBADD_DLOPEN=
++AC_SEARCH_LIBS([dlopen], [dl],
++ [AC_DEFINE([HAVE_LIBDL], [1],
++ [Define if you have the libdl library or equivalent.])
++ if test "$ac_cv_search_dlopen" != "none required" ; then
++ LIBADD_DLOPEN="-ldl"
++ fi
++ libltdl_cv_lib_dl_dlopen="yes"
++ LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"],
++ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H
++# include <dlfcn.h>
++#endif
++ ]], [[dlopen(0, 0);]])],
++ [AC_DEFINE([HAVE_LIBDL], [1],
++ [Define if you have the libdl library or equivalent.])
++ libltdl_cv_func_dlopen="yes"
++ LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"],
++ [AC_CHECK_LIB([svld], [dlopen],
++ [AC_DEFINE([HAVE_LIBDL], [1],
++ [Define if you have the libdl library or equivalent.])
++ LIBADD_DLOPEN="-lsvld" libltdl_cv_func_dlopen="yes"
++ LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])])
++if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes
++then
++ lt_save_LIBS="$LIBS"
++ LIBS="$LIBS $LIBADD_DLOPEN"
++ AC_CHECK_FUNCS([dlerror])
++ LIBS="$lt_save_LIBS"
++fi
++AC_SUBST([LIBADD_DLOPEN])
++
++LIBADD_SHL_LOAD=
++AC_CHECK_FUNC([shl_load],
++ [AC_DEFINE([HAVE_SHL_LOAD], [1],
++ [Define if you have the shl_load function.])
++ LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"],
++ [AC_CHECK_LIB([dld], [shl_load],
++ [AC_DEFINE([HAVE_SHL_LOAD], [1],
++ [Define if you have the shl_load function.])
++ LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"
++ LIBADD_SHL_LOAD="-ldld"])])
++AC_SUBST([LIBADD_SHL_LOAD])
++
++case $host_os in
++darwin[[1567]].*)
++# We only want this for pre-Mac OS X 10.4.
++ AC_CHECK_FUNC([_dyld_func_lookup],
++ [AC_DEFINE([HAVE_DYLD], [1],
++ [Define if you have the _dyld_func_lookup function.])
++ LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"])
++ ;;
++beos*)
++ LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la"
++ ;;
++cygwin* | mingw* | os2* | pw32*)
++ AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include <sys/cygwin.h>]])
++ LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la"
++ ;;
++esac
++
++AC_CHECK_LIB([dld], [dld_link],
++ [AC_DEFINE([HAVE_DLD], [1],
++ [Define if you have the GNU dld library.])
++ LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"])
++AC_SUBST([LIBADD_DLD_LINK])
++
++m4_pattern_allow([^LT_DLPREOPEN$])
++LT_DLPREOPEN=
++if test -n "$LT_DLLOADERS"
++then
++ for lt_loader in $LT_DLLOADERS; do
++ LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader "
++ done
++ AC_DEFINE([HAVE_LIBDLLOADER], [1],
++ [Define if libdlloader will be built on this platform])
++fi
++AC_SUBST([LT_DLPREOPEN])
++
++dnl This isn't used anymore, but set it for backwards compatibility
++LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD"
++AC_SUBST([LIBADD_DL])
++
++AC_LANG_POP
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:745: -1- AU_DEFUN([AC_LTDL_DLLIB], [m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:745: -1- AC_DEFUN([AC_LTDL_DLLIB], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLLIB' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:753: -1- AC_DEFUN([LT_SYS_SYMBOL_USCORE], [m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
++AC_CACHE_CHECK([for _ prefix in compiled symbols],
++ [lt_cv_sys_symbol_underscore],
++ [lt_cv_sys_symbol_underscore=no
++ cat > conftest.$ac_ext <<_LT_EOF
++void nm_test_func(){}
++int main(){nm_test_func;return 0;}
++_LT_EOF
++ if AC_TRY_EVAL(ac_compile); then
++ # Now try to grab the symbols.
++ ac_nlist=conftest.nm
++ if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
++ # See whether the symbols have a leading underscore.
++ if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
++ lt_cv_sys_symbol_underscore=yes
++ else
++ if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
++ :
++ else
++ echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD
++ fi
++ fi
++ else
++ echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
++ fi
++ else
++ echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
++ cat conftest.c >&AS_MESSAGE_LOG_FD
++ fi
++ rm -rf conftest*
++ ])
++ sys_symbol_underscore=$lt_cv_sys_symbol_underscore
++ AC_SUBST([sys_symbol_underscore])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:790: -1- AU_DEFUN([AC_LTDL_SYMBOL_USCORE], [m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:790: -1- AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYMBOL_USCORE' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:797: -1- AC_DEFUN([LT_FUNC_DLSYM_USCORE], [AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl
++if test x"$lt_cv_sys_symbol_underscore" = xyes; then
++ if test x"$libltdl_cv_func_dlopen" = xyes ||
++ test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then
++ AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
++ [libltdl_cv_need_uscore],
++ [libltdl_cv_need_uscore=unknown
++ save_LIBS="$LIBS"
++ LIBS="$LIBS $LIBADD_DLOPEN"
++ _LT_TRY_DLOPEN_SELF(
++ [libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes],
++ [], [libltdl_cv_need_uscore=cross])
++ LIBS="$save_LIBS"
++ ])
++ fi
++fi
++
++if test x"$libltdl_cv_need_uscore" = xyes; then
++ AC_DEFINE([NEED_USCORE], [1],
++ [Define if dlsym() requires a leading underscore in symbol names.])
++fi
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:822: -1- AU_DEFUN([AC_LTDL_DLSYM_USCORE], [m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltdl.m4:822: -1- AC_DEFUN([AC_LTDL_DLSYM_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLSYM_USCORE' is obsolete.
++You should run autoupdate.])dnl
++m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:13: -1- AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:110: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you
++put the `dlopen' option into LT_INIT's first parameter.])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:110: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN' is obsolete.
++You should run autoupdate.])dnl
++_LT_SET_OPTION([LT_INIT], [dlopen])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you
++put the `dlopen' option into LT_INIT's first parameter.])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:145: -1- AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl
++_LT_SET_OPTION([LT_INIT], [win32-dll])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you
++put the `win32-dll' option into LT_INIT's first parameter.])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:145: -1- AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_WIN32_DLL' is obsolete.
++You should run autoupdate.])dnl
++AC_REQUIRE([AC_CANONICAL_HOST])dnl
++_LT_SET_OPTION([LT_INIT], [win32-dll])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you
++put the `win32-dll' option into LT_INIT's first parameter.])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:194: -1- AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:198: -1- AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:202: -1- AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:202: -1- AC_DEFUN([AM_ENABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_SHARED' is obsolete.
++You should run autoupdate.])dnl
++AC_ENABLE_SHARED($@)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:203: -1- AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:203: -1- AC_DEFUN([AM_DISABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_SHARED' is obsolete.
++You should run autoupdate.])dnl
++AC_DISABLE_SHARED($@)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:248: -1- AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:252: -1- AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:256: -1- AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:256: -1- AC_DEFUN([AM_ENABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_STATIC' is obsolete.
++You should run autoupdate.])dnl
++AC_ENABLE_STATIC($@)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:257: -1- AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:257: -1- AC_DEFUN([AM_DISABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_STATIC' is obsolete.
++You should run autoupdate.])dnl
++AC_DISABLE_STATIC($@)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:302: -1- AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you put
++the `fast-install' option into LT_INIT's first parameter.])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:302: -1- AC_DEFUN([AC_ENABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_ENABLE_FAST_INSTALL' is obsolete.
++You should run autoupdate.])dnl
++_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you put
++the `fast-install' option into LT_INIT's first parameter.])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:309: -1- AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you put
++the `disable-fast-install' option into LT_INIT's first parameter.])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:309: -1- AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_DISABLE_FAST_INSTALL' is obsolete.
++You should run autoupdate.])dnl
++_LT_SET_OPTION([LT_INIT], [disable-fast-install])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you put
++the `disable-fast-install' option into LT_INIT's first parameter.])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:342: -1- AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you
++put the `pic-only' option into LT_INIT's first parameter.])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltoptions.m4:342: -1- AC_DEFUN([AC_LIBTOOL_PICMODE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_PICMODE' is obsolete.
++You should run autoupdate.])dnl
++_LT_SET_OPTION([LT_INIT], [pic-only])
++AC_DIAGNOSE([obsolete],
++[$0: Remove this warning and the call to _LT_SET_OPTION when you
++put the `pic-only' option into LT_INIT's first parameter.])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltsugar.m4:13: -1- AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/ltversion.m4:18: -1- AC_DEFUN([LTVERSION_VERSION], [macro_version='2.2.4'
++macro_revision='1.2976'
++_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
++_LT_DECL(, macro_revision, 0)
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:36: -1- AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:40: -1- AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:41: -1- AC_DEFUN([_LT_AC_SHELL_INIT])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:42: -1- AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:44: -1- AC_DEFUN([_LT_AC_TAGVAR])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:45: -1- AC_DEFUN([AC_LTDL_ENABLE_INSTALL])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:46: -1- AC_DEFUN([AC_LTDL_PREOPEN])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:47: -1- AC_DEFUN([_LT_AC_SYS_COMPILER])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:48: -1- AC_DEFUN([_LT_AC_LOCK])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:49: -1- AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:50: -1- AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:51: -1- AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:52: -1- AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:53: -1- AC_DEFUN([AC_LIBTOOL_OBJDIR])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:54: -1- AC_DEFUN([AC_LTDL_OBJDIR])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:55: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:56: -1- AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:57: -1- AC_DEFUN([AC_PATH_MAGIC])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:58: -1- AC_DEFUN([AC_PROG_LD_GNU])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:59: -1- AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:60: -1- AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:61: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:62: -1- AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:63: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:64: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:65: -1- AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:66: -1- AC_DEFUN([LT_AC_PROG_EGREP])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:71: -1- AC_DEFUN([_AC_PROG_LIBTOOL])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:72: -1- AC_DEFUN([AC_LIBTOOL_SETUP])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:73: -1- AC_DEFUN([_LT_AC_CHECK_DLFCN])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:74: -1- AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:75: -1- AC_DEFUN([_LT_AC_TAGCONFIG])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:77: -1- AC_DEFUN([_LT_AC_LANG_CXX])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:78: -1- AC_DEFUN([_LT_AC_LANG_F77])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:79: -1- AC_DEFUN([_LT_AC_LANG_GCJ])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:80: -1- AC_DEFUN([AC_LIBTOOL_RC])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:81: -1- AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:82: -1- AC_DEFUN([_LT_AC_LANG_C_CONFIG])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:83: -1- AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:84: -1- AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:85: -1- AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:86: -1- AC_DEFUN([_LT_AC_LANG_F77_CONFIG])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:87: -1- AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:88: -1- AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:89: -1- AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:90: -1- AC_DEFUN([_LT_AC_LANG_RC_CONFIG])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:91: -1- AC_DEFUN([AC_LIBTOOL_CONFIG])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/lt~obsolete.m4:92: -1- AC_DEFUN([_LT_AC_FILE_LTDLL_C])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/amversion.m4:14: -1- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10'
++dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
++dnl require some minimum version. Point them to the right macro.
++m4_if([$1], [1.10], [],
++ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/amversion.m4:33: -1- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10])dnl
++_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/auxdir.m4:47: -1- AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly.
++AC_PREREQ([2.50])dnl
++# expand $ac_aux_dir to an absolute path
++am_aux_dir=`cd $ac_aux_dir && pwd`
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/cond.m4:15: -1- AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl
++ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
++ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
++AC_SUBST([$1_TRUE])dnl
++AC_SUBST([$1_FALSE])dnl
++_AM_SUBST_NOTMAKE([$1_TRUE])dnl
++_AM_SUBST_NOTMAKE([$1_FALSE])dnl
++if $2; then
++ $1_TRUE=
++ $1_FALSE='#'
++else
++ $1_TRUE='#'
++ $1_FALSE=
++fi
++AC_CONFIG_COMMANDS_PRE(
++[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
++ AC_MSG_ERROR([[conditional "$1" was never defined.
++Usually this means the macro was only invoked conditionally.]])
++fi])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/depend.m4:28: -1- AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl
++AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
++AC_REQUIRE([AM_MAKE_INCLUDE])dnl
++AC_REQUIRE([AM_DEP_TRACK])dnl
++
++ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
++ [$1], CXX, [depcc="$CXX" am_compiler_list=],
++ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
++ [$1], UPC, [depcc="$UPC" am_compiler_list=],
++ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
++ [depcc="$$1" am_compiler_list=])
++
++AC_CACHE_CHECK([dependency style of $depcc],
++ [am_cv_$1_dependencies_compiler_type],
++[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
++ # We make a subdir and do the tests there. Otherwise we can end up
++ # making bogus files that we don't know about and never remove. For
++ # instance it was reported that on HP-UX the gcc test will end up
++ # making a dummy file named `D' -- because `-MD' means `put the output
++ # in D'.
++ mkdir conftest.dir
++ # Copy depcomp to subdir because otherwise we won't find it if we're
++ # using a relative directory.
++ cp "$am_depcomp" conftest.dir
++ cd conftest.dir
++ # We will build objects and dependencies in a subdirectory because
++ # it helps to detect inapplicable dependency modes. For instance
++ # both Tru64's cc and ICC support -MD to output dependencies as a
++ # side effect of compilation, but ICC will put the dependencies in
++ # the current directory while Tru64 will put them in the object
++ # directory.
++ mkdir sub
++
++ am_cv_$1_dependencies_compiler_type=none
++ if test "$am_compiler_list" = ""; then
++ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
++ fi
++ for depmode in $am_compiler_list; do
++ # Setup a source with many dependencies, because some compilers
++ # like to wrap large dependency lists on column 80 (with \), and
++ # we should not choose a depcomp mode which is confused by this.
++ #
++ # We need to recreate these files for each test, as the compiler may
++ # overwrite some of them when testing with obscure command lines.
++ # This happens at least with the AIX C compiler.
++ : > sub/conftest.c
++ for i in 1 2 3 4 5 6; do
++ echo '#include "conftst'$i'.h"' >> sub/conftest.c
++ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
++ # Solaris 8's {/usr,}/bin/sh.
++ touch sub/conftst$i.h
++ done
++ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
++
++ case $depmode in
++ nosideeffect)
++ # after this tag, mechanisms are not by side-effect, so they'll
++ # only be used when explicitly requested
++ if test "x$enable_dependency_tracking" = xyes; then
++ continue
++ else
++ break
++ fi
++ ;;
++ none) break ;;
++ esac
++ # We check with `-c' and `-o' for the sake of the "dashmstdout"
++ # mode. It turns out that the SunPro C++ compiler does not properly
++ # handle `-M -o', and we need to detect this.
++ if depmode=$depmode \
++ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
++ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
++ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
++ >/dev/null 2>conftest.err &&
++ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
++ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
++ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
++ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
++ # icc doesn't choke on unknown options, it will just issue warnings
++ # or remarks (even with -Werror). So we grep stderr for any message
++ # that says an option was ignored or not supported.
++ # When given -MP, icc 7.0 and 7.1 complain thusly:
++ # icc: Command line warning: ignoring option '-M'; no argument required
++ # The diagnosis changed in icc 8.0:
++ # icc: Command line remark: option '-MP' not supported
++ if (grep 'ignoring option' conftest.err ||
++ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
++ am_cv_$1_dependencies_compiler_type=$depmode
++ break
++ fi
++ fi
++ done
++
++ cd ..
++ rm -rf conftest.dir
++else
++ am_cv_$1_dependencies_compiler_type=none
++fi
++])
++AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
++AM_CONDITIONAL([am__fastdep$1], [
++ test "x$enable_dependency_tracking" != xno \
++ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/depend.m4:139: -1- AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
++AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/depend.m4:147: -1- AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking,
++[ --disable-dependency-tracking speeds up one-time build
++ --enable-dependency-tracking do not reject slow dependency extractors])
++if test "x$enable_dependency_tracking" != xno; then
++ am_depcomp="$ac_aux_dir/depcomp"
++ AMDEPBACKSLASH='\'
++fi
++AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
++AC_SUBST([AMDEPBACKSLASH])dnl
++_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/depout.m4:14: -1- AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do
++ # Strip MF so we end up with the name of the file.
++ mf=`echo "$mf" | sed -e 's/:.*$//'`
++ # Check whether this is an Automake generated Makefile or not.
++ # We used to match only the files named `Makefile.in', but
++ # some people rename them; so instead we look at the file content.
++ # Grep'ing the first line is not enough: some people post-process
++ # each Makefile.in and add a new line on top of each file to say so.
++ # Grep'ing the whole file is not good either: AIX grep has a line
++ # limit of 2048, but all sed's we know have understand at least 4000.
++ if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
++ dirpart=`AS_DIRNAME("$mf")`
++ else
++ continue
++ fi
++ # Extract the definition of DEPDIR, am__include, and am__quote
++ # from the Makefile without running `make'.
++ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
++ test -z "$DEPDIR" && continue
++ am__include=`sed -n 's/^am__include = //p' < "$mf"`
++ test -z "am__include" && continue
++ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
++ # When using ansi2knr, U may be empty or an underscore; expand it
++ U=`sed -n 's/^U = //p' < "$mf"`
++ # Find all dependency output files, they are included files with
++ # $(DEPDIR) in their names. We invoke sed twice because it is the
++ # simplest approach to changing $(DEPDIR) to its actual value in the
++ # expansion.
++ for file in `sed -n "
++ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
++ # Make sure the directory exists.
++ test -f "$dirpart/$file" && continue
++ fdir=`AS_DIRNAME(["$file"])`
++ AS_MKDIR_P([$dirpart/$fdir])
++ # echo "creating $dirpart/$file"
++ echo '# dummy' > "$dirpart/$file"
++ done
++done
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/depout.m4:64: -1- AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles],
++ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
++ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/header.m4:12: -1- AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/header.m4:12: -1- AC_DEFUN([AM_CONFIG_HEADER], [AC_DIAGNOSE([obsolete], [The macro `AM_CONFIG_HEADER' is obsolete.
++You should run autoupdate.])dnl
++AC_CONFIG_HEADERS($@)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/init.m4:26: -1- AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.60])dnl
++dnl Autoconf wants to disallow AM_ names. We explicitly allow
++dnl the ones we care about.
++m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
++AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
++AC_REQUIRE([AC_PROG_INSTALL])dnl
++if test "`cd $srcdir && pwd`" != "`pwd`"; then
++ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
++ # is not polluted with repeated "-I."
++ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
++ # test to see if srcdir already configured
++ if test -f $srcdir/config.status; then
++ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
++ fi
++fi
++
++# test whether we have cygpath
++if test -z "$CYGPATH_W"; then
++ if (cygpath --version) >/dev/null 2>/dev/null; then
++ CYGPATH_W='cygpath -w'
++ else
++ CYGPATH_W=echo
++ fi
++fi
++AC_SUBST([CYGPATH_W])
++
++# Define the identity of the package.
++dnl Distinguish between old-style and new-style calls.
++m4_ifval([$2],
++[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
++ AC_SUBST([PACKAGE], [$1])dnl
++ AC_SUBST([VERSION], [$2])],
++[_AM_SET_OPTIONS([$1])dnl
++dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
++m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
++ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
++ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
++ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
++
++_AM_IF_OPTION([no-define],,
++[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
++ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
++
++# Some tools Automake needs.
++AC_REQUIRE([AM_SANITY_CHECK])dnl
++AC_REQUIRE([AC_ARG_PROGRAM])dnl
++AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
++AM_MISSING_PROG(AUTOCONF, autoconf)
++AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
++AM_MISSING_PROG(AUTOHEADER, autoheader)
++AM_MISSING_PROG(MAKEINFO, makeinfo)
++AM_PROG_INSTALL_SH
++AM_PROG_INSTALL_STRIP
++AC_REQUIRE([AM_PROG_MKDIR_P])dnl
++# We need awk for the "check" target. The system "awk" is bad on
++# some platforms.
++AC_REQUIRE([AC_PROG_AWK])dnl
++AC_REQUIRE([AC_PROG_MAKE_SET])dnl
++AC_REQUIRE([AM_SET_LEADING_DOT])dnl
++_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
++ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
++ [_AM_PROG_TAR([v7])])])
++_AM_IF_OPTION([no-dependencies],,
++[AC_PROVIDE_IFELSE([AC_PROG_CC],
++ [_AM_DEPENDENCIES(CC)],
++ [define([AC_PROG_CC],
++ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
++AC_PROVIDE_IFELSE([AC_PROG_CXX],
++ [_AM_DEPENDENCIES(CXX)],
++ [define([AC_PROG_CXX],
++ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
++AC_PROVIDE_IFELSE([AC_PROG_OBJC],
++ [_AM_DEPENDENCIES(OBJC)],
++ [define([AC_PROG_OBJC],
++ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
++])
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/init.m4:113: -1- AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers.
++_am_stamp_count=1
++for _am_header in $config_headers :; do
++ case $_am_header in
++ $1 | $1:* )
++ break ;;
++ * )
++ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
++ esac
++done
++echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/install-sh.m4:11: -1- AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
++install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
++AC_SUBST(install_sh)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/lead-dot.m4:12: -1- AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null
++mkdir .tst 2>/dev/null
++if test -d .tst; then
++ am__leading_dot=.
++else
++ am__leading_dot=_
++fi
++rmdir .tst 2>/dev/null
++AC_SUBST([am__leading_dot])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/make.m4:14: -1- AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make}
++cat > confinc << 'END'
++am__doit:
++ @echo done
++.PHONY: am__doit
++END
++# If we don't find an include directive, just comment out the code.
++AC_MSG_CHECKING([for style of include used by $am_make])
++am__include="#"
++am__quote=
++_am_result=none
++# First try GNU make style include.
++echo "include confinc" > confmf
++# We grep out `Entering directory' and `Leaving directory'
++# messages which can occur if `w' ends up in MAKEFLAGS.
++# In particular we don't look at `^make:' because GNU make might
++# be invoked under some other name (usually "gmake"), in which
++# case it prints its new name instead of `make'.
++if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
++ am__include=include
++ am__quote=
++ _am_result=GNU
++fi
++# Now try BSD make style include.
++if test "$am__include" = "#"; then
++ echo '.include "confinc"' > confmf
++ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
++ am__include=.include
++ am__quote="\""
++ _am_result=BSD
++ fi
++fi
++AC_SUBST([am__include])
++AC_SUBST([am__quote])
++AC_MSG_RESULT([$_am_result])
++rm -f confinc confmf
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/missing.m4:14: -1- AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN])
++$1=${$1-"${am_missing_run}$2"}
++AC_SUBST($1)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/missing.m4:24: -1- AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
++AC_REQUIRE_AUX_FILE([missing])dnl
++test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
++# Use eval to expand $SHELL
++if eval "$MISSING --run true"; then
++ am_missing_run="$MISSING --run "
++else
++ am_missing_run=
++ AC_MSG_WARN([`missing' script is too old or missing])
++fi
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/mkdirp.m4:11: -1- AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl
++AC_REQUIRE([AC_PROG_MKDIR_P])dnl
++dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
++dnl while keeping a definition of mkdir_p for backward compatibility.
++dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
++dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
++dnl Makefile.ins that do not define MKDIR_P, so we do our own
++dnl adjustment using top_builddir (which is defined more often than
++dnl MKDIR_P).
++AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
++case $mkdir_p in
++ [[\\/$]]* | ?:[[\\/]]*) ;;
++ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
++esac
++])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/options.m4:13: -1- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/options.m4:19: -1- AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/options.m4:25: -1- AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/options.m4:31: -1- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/runlog.m4:12: -1- AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
++ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
++ (exit $ac_status); }])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/sanity.m4:14: -1- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane])
++# Just in case
++sleep 1
++echo timestamp > conftest.file
++# Do `set' in a subshell so we don't clobber the current shell's
++# arguments. Must try -L first in case configure is actually a
++# symlink; some systems play weird games with the mod time of symlinks
++# (eg FreeBSD returns the mod time of the symlink's containing
++# directory).
++if (
++ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
++ if test "$[*]" = "X"; then
++ # -L didn't work.
++ set X `ls -t $srcdir/configure conftest.file`
++ fi
++ rm -f conftest.file
++ if test "$[*]" != "X $srcdir/configure conftest.file" \
++ && test "$[*]" != "X conftest.file $srcdir/configure"; then
++
++ # If neither matched, then we have a broken ls. This can happen
++ # if, for instance, CONFIG_SHELL is bash and it inherits a
++ # broken ls alias from the environment. This has actually
++ # happened. Such a system could not be considered "sane".
++ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
++alias in your environment])
++ fi
++
++ test "$[2]" = conftest.file
++ )
++then
++ # Ok.
++ :
++else
++ AC_MSG_ERROR([newly created file is older than distributed files!
++Check your system clock])
++fi
++AC_MSG_RESULT(yes)])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/strip.m4:17: -1- AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
++# Installed binaries are usually stripped using `strip' when the user
++# run `make install-strip'. However `strip' might not be the right
++# tool to use in cross-compilation environments, therefore Automake
++# will honor the `STRIP' environment variable to overrule this program.
++dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
++if test "$cross_compiling" != no; then
++ AC_CHECK_TOOL([STRIP], [strip], :)
++fi
++INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
++AC_SUBST([INSTALL_STRIP_PROGRAM])])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/substnot.m4:12: -1- AC_DEFUN([_AM_SUBST_NOTMAKE])
++m4trace:/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/tar.m4:24: -1- AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility.
++AM_MISSING_PROG([AMTAR], [tar])
++m4_if([$1], [v7],
++ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
++ [m4_case([$1], [ustar],, [pax],,
++ [m4_fatal([Unknown tar format])])
++AC_MSG_CHECKING([how to create a $1 tar archive])
++# Loop over all known methods to create a tar archive until one works.
++_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
++_am_tools=${am_cv_prog_tar_$1-$_am_tools}
++# Do not fold the above two line into one, because Tru64 sh and
++# Solaris sh will not grok spaces in the rhs of `-'.
++for _am_tool in $_am_tools
++do
++ case $_am_tool in
++ gnutar)
++ for _am_tar in tar gnutar gtar;
++ do
++ AM_RUN_LOG([$_am_tar --version]) && break
++ done
++ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
++ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
++ am__untar="$_am_tar -xf -"
++ ;;
++ plaintar)
++ # Must skip GNU tar: if it does not support --format= it doesn't create
++ # ustar tarball either.
++ (tar --version) >/dev/null 2>&1 && continue
++ am__tar='tar chf - "$$tardir"'
++ am__tar_='tar chf - "$tardir"'
++ am__untar='tar xf -'
++ ;;
++ pax)
++ am__tar='pax -L -x $1 -w "$$tardir"'
++ am__tar_='pax -L -x $1 -w "$tardir"'
++ am__untar='pax -r'
++ ;;
++ cpio)
++ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
++ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
++ am__untar='cpio -i -H $1 -d'
++ ;;
++ none)
++ am__tar=false
++ am__tar_=false
++ am__untar=false
++ ;;
++ esac
++
++ # If the value was cached, stop now. We just wanted to have am__tar
++ # and am__untar set.
++ test -n "${am_cv_prog_tar_$1}" && break
++
++ # tar/untar a dummy directory, and stop if the command works
++ rm -rf conftest.dir
++ mkdir conftest.dir
++ echo GrepMe > conftest.dir/file
++ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
++ rm -rf conftest.dir
++ if test -s conftest.tar; then
++ AM_RUN_LOG([$am__untar <conftest.tar])
++ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
++ fi
++done
++rm -rf conftest.dir
++
++AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
++AC_MSG_RESULT([$am_cv_prog_tar_$1])])
++AC_SUBST([am__tar])
++AC_SUBST([am__untar])
++])
++m4trace:acinclude.m4:2: -1- AC_DEFUN([AC_TYPE_SOCKLEN_T], [AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
++[
++ AC_TRY_COMPILE(
++ [#include <sys/types.h>
++ #include <sys/socket.h>],
++ [socklen_t len = 42; return 0;],
++ ac_cv_type_socklen_t=yes,
++ ac_cv_type_socklen_t=no)
++])
++ if test $ac_cv_type_socklen_t != yes; then
++ AC_DEFINE(socklen_t, int)
++ fi
++])
++m4trace:acinclude.m4:20: -1- AC_DEFUN([AC_COMPILE_CHECK_SIZEOF], [changequote(<<, >>)dnl
++dnl The name to #define.
++define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
++dnl The cache variable name.
++define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
++changequote([, ])dnl
++AC_MSG_CHECKING(size of $1)
++AC_CACHE_VAL(AC_CV_NAME,
++[for ac_size in 4 8 1 2 16 $2 ; do # List sizes in rough order of prevalence.
++ AC_TRY_COMPILE([#include "confdefs.h"
++#include <sys/types.h>
++$2
++], [switch (0) case 0: case (sizeof ($1) == $ac_size):;], AC_CV_NAME=$ac_size)
++ if test x$AC_CV_NAME != x ; then break; fi
++done
++])
++if test x$AC_CV_NAME = x ; then
++ AC_MSG_ERROR([cannot determine a size for $1])
++fi
++AC_MSG_RESULT($AC_CV_NAME)
++AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1])
++undefine([AC_TYPE_NAME])dnl
++undefine([AC_CV_NAME])dnl
++])
++m4trace:acinclude.m4:49: -1- AC_DEFUN([AC_CREATE_STDINT_H], [# ------ AC CREATE STDINT H -------------------------------------
++AC_MSG_CHECKING([for stdint-types....])
++ac_stdint_h=`echo ifelse($1, , _stdint.h, $1)`
++if test "$ac_stdint_h" = "stdint.h" ; then
++ AC_MSG_RESULT("(are you sure you want them in ./stdint.h?)")
++elif test "$ac_stdint_h" = "inttypes.h" ; then
++ AC_MSG_RESULT("(are you sure you want them in ./inttypes.h?)")
++else
++ AC_MSG_RESULT("(putting them into $ac_stdint_h)")
++fi
++
++inttype_headers=`echo inttypes.h sys/inttypes.h sys/inttypes.h $2 \
++| sed -e 's/,/ /g'`
++
++ ac_cv_header_stdint_x="no-file"
++ ac_cv_header_stdint_o="no-file"
++ ac_cv_header_stdint_u="no-file"
++ for i in stdint.h $inttype_headers ; do
++ unset ac_cv_type_uintptr_t
++ unset ac_cv_type_uint64_t
++ _AC_CHECK_TYPE_NEW(uintptr_t,[ac_cv_header_stdint_x=$i],dnl
++ continue,[#include <$i>])
++ AC_CHECK_TYPE(uint64_t,[and64="(uint64_t too)"],[and64=""],[#include<$i>])
++ AC_MSG_RESULT(... seen our uintptr_t in $i $and64)
++ break;
++ done
++ if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ for i in stdint.h $inttype_headers ; do
++ unset ac_cv_type_uint32_t
++ unset ac_cv_type_uint64_t
++ AC_CHECK_TYPE(uint32_t,[ac_cv_header_stdint_o=$i],dnl
++ continue,[#include <$i>])
++ AC_CHECK_TYPE(uint64_t,[and64="(uint64_t too)"],[and64=""],[#include<$i>])
++ AC_MSG_RESULT(... seen our uint32_t in $i $and64)
++ break;
++ done
++ if test "$ac_cv_header_stdint_o" = "no-file" ; then
++ for i in sys/types.h $inttype_headers ; do
++ unset ac_cv_type_u_int32_t
++ unset ac_cv_type_u_int64_t
++ AC_CHECK_TYPE(u_int32_t,[ac_cv_header_stdint_u=$i],dnl
++ continue,[#include <$i>])
++ AC_CHECK_TYPE(uint64_t,[and64="(u_int64_t too)"],[and64=""],[#include<$i>])
++ AC_MSG_RESULT(... seen our u_int32_t in $i $and64)
++ break;
++ done
++ fi
++ fi
++
++# ----------------- DONE inttypes.h checks MAYBE C basic types --------
++
++if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ AC_COMPILE_CHECK_SIZEOF(char)
++ AC_COMPILE_CHECK_SIZEOF(short)
++ AC_COMPILE_CHECK_SIZEOF(int)
++ AC_COMPILE_CHECK_SIZEOF(long)
++ AC_COMPILE_CHECK_SIZEOF(void*)
++ ac_cv_header_stdint_test="yes"
++else
++ ac_cv_header_stdint_test="no"
++fi
++
++# ----------------- DONE inttypes.h checks START header -------------
++_ac_stdint_h=AS_TR_CPP(_$ac_stdint_h)
++AC_MSG_RESULT(creating $ac_stdint_h : $_ac_stdint_h)
++echo "#ifndef" $_ac_stdint_h >$ac_stdint_h
++echo "#define" $_ac_stdint_h "1" >>$ac_stdint_h
++echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint_h
++echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint_h
++if test "$GCC" = "yes" ; then
++ echo "/* generated using a gnu compiler version" `$CC --version` "*/" \
++ >>$ac_stdint_h
++else
++ echo "/* generated using $CC */" >>$ac_stdint_h
++fi
++echo "" >>$ac_stdint_h
++
++if test "$ac_cv_header_stdint_x" != "no-file" ; then
++ ac_cv_header_stdint="$ac_cv_header_stdint_x"
++elif test "$ac_cv_header_stdint_o" != "no-file" ; then
++ ac_cv_header_stdint="$ac_cv_header_stdint_o"
++elif test "$ac_cv_header_stdint_u" != "no-file" ; then
++ ac_cv_header_stdint="$ac_cv_header_stdint_u"
++else
++ ac_cv_header_stdint="stddef.h"
++fi
++
++# ----------------- See if int_least and int_fast types are present
++unset ac_cv_type_int_least32_t
++unset ac_cv_type_int_fast32_t
++AC_CHECK_TYPE(int_least32_t,,,[#include <$ac_cv_header_stdint>])
++AC_CHECK_TYPE(int_fast32_t,,,[#include<$ac_cv_header_stdint>])
++
++if test "$ac_cv_header_stdint" != "stddef.h" ; then
++if test "$ac_cv_header_stdint" != "stdint.h" ; then
++AC_MSG_RESULT(..adding include stddef.h)
++ echo "#include <stddef.h>" >>$ac_stdint_h
++fi ; fi
++AC_MSG_RESULT(..adding include $ac_cv_header_stdint)
++ echo "#include <$ac_cv_header_stdint>" >>$ac_stdint_h
++echo "" >>$ac_stdint_h
++
++# ----------------- DONE header START basic int types -------------
++if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ AC_MSG_RESULT(... need to look at C basic types)
++dnl ac_cv_header_stdint_test="yes" # moved up before creating the file
++else
++ AC_MSG_RESULT(... seen good stdint.h inttypes)
++dnl ac_cv_header_stdint_test="no" # moved up before creating the file
++fi
++
++if test "$ac_cv_header_stdint_u" != "no-file" ; then
++ AC_MSG_RESULT(... seen bsd/sysv typedefs)
++ cat >>$ac_stdint_h <<EOF
++
++/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */
++typedef u_int8_t uint8_t;
++typedef u_int16_t uint16_t;
++typedef u_int32_t uint32_t;
++EOF
++ cat >>$ac_stdint_h <<EOF
++
++/* glibc compatibility */
++#ifndef __int8_t_defined
++#define __int8_t_defined
++#endif
++EOF
++fi
++
++ac_cv_sizeof_x="$ac_cv_sizeof_char:$ac_cv_sizeof_short"
++ac_cv_sizeof_X="$ac_cv_sizeof_x:$ac_cv_sizeof_int"
++ac_cv_sizeof_X="$ac_cv_sizeof_X:$ac_cv_sizeof_voidp:$ac_cv_sizeof_long"
++if test "$ac_cv_header_stdint" = "stddef.h" ; then
++# we must guess all the basic types. Apart from byte-adressable system,
++# there a few 32-bit-only dsp-systems. nibble-addressable systems are way off.
++ cat >>$ac_stdint_h <<EOF
++/* ------------ BITSPECIFIC INTTYPES SECTION --------------- */
++EOF
++ t="typedefs for a"
++ case "$ac_cv_sizeof_X" in
++ 1:2:2:2:4) AC_MSG_RESULT(..adding $t normal 16-bit system)
++ cat >>$ac_stdint_h <<EOF
++/* a normal 16-bit system */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned long uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef long int32_t;
++#endif
++EOF
++;;
++ 1:2:2:4:4) AC_MSG_RESULT(..adding $t 32-bit system derived from a 16-bit)
++ cat >>$ac_stdint_h <<EOF
++/* a 32-bit system derived from a 16-bit */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ 1:2:4:4:4) AC_MSG_RESULT(..adding $t normal 32-bit system)
++ cat >>$ac_stdint_h <<EOF
++/* a normal 32-bit system */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ 1:2:4:4:8) AC_MSG_RESULT(..adding $t 32-bit system prepared for 64-bit)
++ cat >>$ac_stdint_h <<EOF
++
++/* a 32-bit system prepared for 64-bit */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ 1:2:4:8:8) AC_MSG_RESULT(..adding $t normal 64-bit system)
++ cat >>$ac_stdint_h <<EOF
++
++/* a normal 64-bit system */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ 1:2:4:8:4) AC_MSG_RESULT(..adding $t 64-bit system derived from a 32-bit)
++ cat >>$ac_stdint_h <<EOF
++
++/* a 64-bit system derived from a 32-bit system */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ *)
++ AC_MSG_ERROR([ $ac_cv_sizeof_X dnl
++ what is that a system? contact the author, quick! http://ac-archive.sf.net])
++ exit 1
++;;
++ esac
++fi
++
++# ------------- DONE basic int types START int64_t types ------------
++if test "$ac_cv_type_uint64_t" = "yes"
++then AC_MSG_RESULT(... seen good uint64_t)
++ cat >>$ac_stdint_h <<EOF
++
++/* system headers have good uint64_t */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++#endif
++EOF
++
++elif test "$ac_cv_type_u_int64_t" = "yes"
++then AC_MSG_RESULT(..adding typedef u_int64_t uint64_t)
++ cat >>$ac_stdint_h <<EOF
++
++/* system headers have an u_int64_t */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef u_int64_t uint64_t;
++#endif
++EOF
++else AC_MSG_RESULT(..adding generic uint64_t runtime checks)
++ cat >>$ac_stdint_h <<EOF
++
++/* -------------------- 64 BIT GENERIC SECTION -------------------- */
++/* here are some common heuristics using compiler runtime specifics */
++#if defined __STDC_VERSION__ && defined __STDC_VERSION__ > 199901L
++
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long long int64_t;
++typedef unsigned long long uint64_t;
++#endif
++
++#elif !defined __STRICT_ANSI__
++#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
++
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef __int64 int64_t;
++typedef unsigned __int64 uint64_t;
++#endif
++
++#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__
++dnl /* note: all ELF-systems seem to have loff-support which needs 64-bit */
++
++#if !defined _NO_LONGLONG
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long long int64_t;
++typedef unsigned long long uint64_t;
++#endif
++#endif
++
++#elif defined __alpha || (defined __mips && defined _ABIN32)
++
++#if !defined _NO_LONGLONG
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long int64_t;
++typedef unsigned long uint64_t;
++#endif
++#endif
++ /* compiler/cpu type ... or just ISO C99 */
++#endif
++#endif
++EOF
++
++# plus a default 64-bit for systems that are likely to be 64-bit ready
++ case "$ac_cv_sizeof_x:$ac_cv_sizeof_voidp:$ac_cv_sizeof_long" in
++ 1:2:8:8) AC_MSG_RESULT(..adding uint64_t default, normal 64-bit system)
++cat >>$ac_stdint_h <<EOF
++/* DEFAULT: */
++/* seen normal 64-bit system, CC has sizeof(long and void*) == 8 bytes */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long int64_t;
++typedef unsigned long uint64_t;
++#endif
++EOF
++;;
++ 1:2:4:8) AC_MSG_RESULT(..adding uint64_t default, typedef to long)
++cat >>$ac_stdint_h <<EOF
++/* DEFAULT: */
++/* seen 32-bit system prepared for 64-bit, CC has sizeof(long) == 8 bytes */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long int64_t;
++typedef unsigned long uint64_t;
++#endif
++EOF
++;;
++ 1:2:8:4) AC_MSG_RESULT(..adding uint64_t default, typedef long long)
++cat >>$ac_stdint_h <<EOF
++/* DEFAULT: */
++/* seen 64-bit derived from a 32-bit, CC has sizeof(long) == 4 bytes */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long long int64_t;
++typedef unsigned long long uint64_t;
++#endif
++EOF
++;;
++ *)
++cat >>$ac_stdint_h <<EOF
++/* NOTE: */
++/* the configure-checks for the basic types did not make us believe */
++/* that we could add a fallback to a 'long long' typedef to int64_t */
++EOF
++ esac
++fi
++
++# ------------- DONE int64_t types START intptr types ------------
++if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ cat >>$ac_stdint_h <<EOF
++
++/* -------------------------- INPTR SECTION --------------------------- */
++EOF
++ case "$ac_cv_sizeof_x:$ac_cv_sizeof_voidp" in
++ 1:2:2)
++ a="int16_t" ; cat >>$ac_stdint_h <<EOF
++/* we tested sizeof(void*) to be of 2 chars, hence we declare it 16-bit */
++
++typedef uint16_t uintptr_t;
++typedef int16_t intptr_t;
++EOF
++;;
++ 1:2:4)
++ a="int32_t" ; cat >>$ac_stdint_h <<EOF
++/* we tested sizeof(void*) to be of 4 chars, hence we declare it 32-bit */
++
++typedef uint32_t uintptr_t;
++typedef int32_t intptr_t;
++EOF
++;;
++ 1:2:8)
++ a="int64_t" ; cat >>$ac_stdint_h <<EOF
++/* we tested sizeof(void*) to be of 8 chars, hence we declare it 64-bit */
++
++typedef uint64_t uintptr_t;
++typedef int64_t intptr_t;
++EOF
++;;
++ *)
++ a="long" ; cat >>$ac_stdint_h <<EOF
++/* we tested sizeof(void*) but got no guess, hence we declare it as if long */
++
++typedef unsigned long uintptr_t;
++typedef long intptr_t;
++EOF
++;;
++ esac
++AC_MSG_RESULT(..adding typedef $a intptr_t)
++fi
++
++# ------------- DONE intptr types START int_least types ------------
++if test "$ac_cv_type_int_least32_t" = "no"; then
++AC_MSG_RESULT(..adding generic int_least-types)
++ cat >>$ac_stdint_h <<EOF
++
++/* --------------GENERIC INT_LEAST ------------------ */
++
++typedef int8_t int_least8_t;
++typedef int16_t int_least16_t;
++typedef int32_t int_least32_t;
++#ifdef _HAVE_INT64_T
++typedef int64_t int_least64_t;
++#endif
++
++typedef uint8_t uint_least8_t;
++typedef uint16_t uint_least16_t;
++typedef uint32_t uint_least32_t;
++#ifdef _HAVE_INT64_T
++typedef uint64_t uint_least64_t;
++#endif
++EOF
++fi
++
++# ------------- DONE intptr types START int_least types ------------
++if test "$ac_cv_type_int_fast32_t" = "no"; then
++AC_MSG_RESULT(..adding generic int_fast-types)
++ cat >>$ac_stdint_h <<EOF
++
++/* --------------GENERIC INT_FAST ------------------ */
++
++typedef int8_t int_fast8_t;
++typedef int32_t int_fast16_t;
++typedef int32_t int_fast32_t;
++#ifdef _HAVE_INT64_T
++typedef int64_t int_fast64_t;
++#endif
++
++typedef uint8_t uint_fast8_t;
++typedef uint32_t uint_fast16_t;
++typedef uint32_t uint_fast32_t;
++#ifdef _HAVE_INT64_T
++typedef uint64_t uint_fast64_t;
++#endif
++EOF
++fi
++
++if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ cat >>$ac_stdint_h <<EOF
++
++#ifdef _HAVE_INT64_T
++typedef int64_t intmax_t;
++typedef uint64_t uintmax_t;
++#else
++typedef long int intmax_t;
++typedef unsigned long uintmax_t;
++#endif
++EOF
++fi
++
++AC_MSG_RESULT(... DONE $ac_stdint_h)
++ cat >>$ac_stdint_h <<EOF
++
++ /* once */
++#endif
++#endif
++EOF
++])
++m4trace:acinclude.m4:518: -1- AC_DEFUN([AX_PREFIX_CONFIG_H], [AC_REQUIRE([AC_CONFIG_HEADER])
++AC_CONFIG_COMMANDS([ifelse($1,,$PACKAGE-config.h,$1)],[dnl
++AS_VAR_PUSHDEF([_OUT],[ac_prefix_conf_OUT])dnl
++AS_VAR_PUSHDEF([_DEF],[ac_prefix_conf_DEF])dnl
++AS_VAR_PUSHDEF([_PKG],[ac_prefix_conf_PKG])dnl
++AS_VAR_PUSHDEF([_LOW],[ac_prefix_conf_LOW])dnl
++AS_VAR_PUSHDEF([_UPP],[ac_prefix_conf_UPP])dnl
++AS_VAR_PUSHDEF([_INP],[ac_prefix_conf_INP])dnl
++m4_pushdef([_script],[conftest.prefix])dnl
++m4_pushdef([_symbol],[m4_cr_Letters[]m4_cr_digits[]_])dnl
++_OUT=`echo ifelse($1, , $PACKAGE-config.h, $1)`
++_DEF=`echo _$_OUT | sed -e "y:m4_cr_letters:m4_cr_LETTERS[]:" -e "s/@<:@^m4_cr_Letters@:>@/_/g"`
++_PKG=`echo ifelse($2, , $PACKAGE, $2)`
++_LOW=`echo _$_PKG | sed -e "y:m4_cr_LETTERS-:m4_cr_letters[]_:"`
++_UPP=`echo $_PKG | sed -e "y:m4_cr_letters-:m4_cr_LETTERS[]_:" -e "/^@<:@m4_cr_digits@:>@/s/^/_/"`
++_INP=`echo ifelse($3, , _, $3)`
++if test "$ac_prefix_conf_INP" = "_"; then
++ for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue
++ test -f "$ac_prefix_conf_INP" && continue
++ case $ac_file in
++ *.h) test -f $ac_file && _INP=$ac_file ;;
++ *)
++ esac
++ done
++fi
++if test "$_INP" = "_"; then
++ case "$_OUT" in
++ */*) _INP=`basename "$_OUT"`
++ ;;
++ *-*) _INP=`echo "$_OUT" | sed -e "s/@<:@_symbol@:>@*-//"`
++ ;;
++ *) _INP=config.h
++ ;;
++ esac
++fi
++if test -z "$_PKG" ; then
++ AC_MSG_ERROR([no prefix for _PREFIX_PKG_CONFIG_H])
++else
++ if test ! -f "$_INP" ; then if test -f "$srcdir/$_INP" ; then
++ _INP="$srcdir/$_INP"
++ fi fi
++ AC_MSG_NOTICE(creating $_OUT - prefix $_UPP for $_INP defines)
++ if test -f $_INP ; then
++ echo "s/@%:@undef *\\(@<:@m4_cr_LETTERS[]_@:>@\\)/@%:@undef $_UPP""_\\1/" > _script
++ # no! these are things like socklen_t, const, vfork
++ # echo "s/@%:@undef *\\(@<:@m4_cr_letters@:>@\\)/@%:@undef $_LOW""_\\1/" >> _script
++ echo "s/@%:@def[]ine *\\(@<:@m4_cr_LETTERS[]_@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_UPP""_\\1 \\" >> _script
++ echo "@%:@def[]ine $_UPP""_\\1 \\2 \\" >> _script
++ echo "@%:@endif/" >>_script
++ # no! these are things like socklen_t, const, vfork
++ # echo "s/@%:@def[]ine *\\(@<:@m4_cr_letters@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_LOW""_\\1 \\" >> _script
++ # echo "@%:@define $_LOW""_\\1 \\2 \\" >> _script
++ # echo "@%:@endif/" >> _script
++ # now executing _script on _DEF input to create _OUT output file
++ echo "@%:@ifndef $_DEF" >$tmp/pconfig.h
++ echo "@%:@def[]ine $_DEF 1" >>$tmp/pconfig.h
++ echo ' ' >>$tmp/pconfig.h
++ echo /'*' $_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h
++
++ sed -f _script $_INP >>$tmp/pconfig.h
++ echo ' ' >>$tmp/pconfig.h
++ echo '/* once:' $_DEF '*/' >>$tmp/pconfig.h
++ echo "@%:@endif" >>$tmp/pconfig.h
++ if cmp -s $_OUT $tmp/pconfig.h 2>/dev/null; then
++ AC_MSG_NOTICE([$_OUT is unchanged])
++ else
++ ac_dir=`AS_DIRNAME(["$_OUT"])`
++ AS_MKDIR_P(["$ac_dir"])
++ rm -f "$_OUT"
++ mv $tmp/pconfig.h "$_OUT"
++ fi
++ cp _script _configs.sed
++ else
++ AC_MSG_ERROR([input file $_INP does not exist - skip generating $_OUT])
++ fi
++ rm -f conftest.*
++fi
++m4_popdef([_symbol])dnl
++m4_popdef([_script])dnl
++AS_VAR_POPDEF([_INP])dnl
++AS_VAR_POPDEF([_UPP])dnl
++AS_VAR_POPDEF([_LOW])dnl
++AS_VAR_POPDEF([_PKG])dnl
++AS_VAR_POPDEF([_DEF])dnl
++AS_VAR_POPDEF([_OUT])dnl
++],[PACKAGE="$PACKAGE"])])
++m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?A[CHUM]_])
++m4trace:configure.ac:2: -1- m4_pattern_forbid([_AC_])
++m4trace:configure.ac:2: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^AS_FLAGS$])
++m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?m4_])
++m4trace:configure.ac:2: -1- m4_pattern_forbid([^dnl$])
++m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?AS_])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^SHELL$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PATH_SEPARATOR$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_NAME$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_VERSION$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_STRING$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^exec_prefix$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^prefix$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^program_transform_name$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^bindir$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^sbindir$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^libexecdir$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^datarootdir$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^datadir$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^sysconfdir$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^sharedstatedir$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^localstatedir$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^includedir$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^oldincludedir$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^docdir$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^infodir$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^htmldir$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^dvidir$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^pdfdir$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^psdir$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^libdir$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^localedir$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^mandir$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_NAME$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_VERSION$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_STRING$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^DEFS$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_C$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_N$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_T$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^LIBS$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^build_alias$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^host_alias$])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^target_alias$])
++m4trace:configure.ac:3: -1- AM_INIT_AUTOMAKE([LibVNCServer], [0.9.1])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
++m4trace:configure.ac:3: -1- AM_SET_CURRENT_AUTOMAKE_VERSION
++m4trace:configure.ac:3: -1- AM_AUTOMAKE_VERSION([1.10])
++m4trace:configure.ac:3: -1- _AM_AUTOCONF_VERSION([2.61])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^INSTALL_DATA$])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^am__isrc$])
++m4trace:configure.ac:3: -1- _AM_SUBST_NOTMAKE([am__isrc])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^CYGPATH_W$])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^PACKAGE$])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^VERSION$])
++m4trace:configure.ac:3: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
++ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
++m4trace:configure.ac:3: -2- _AM_MANGLE_OPTION([no-define])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^PACKAGE$])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^VERSION$])
++m4trace:configure.ac:3: -1- AM_SANITY_CHECK
++m4trace:configure.ac:3: -1- AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
++m4trace:configure.ac:3: -1- AM_MISSING_HAS_RUN
++m4trace:configure.ac:3: -1- AM_AUX_DIR_EXPAND
++m4trace:configure.ac:3: -1- m4_pattern_allow([^ACLOCAL$])
++m4trace:configure.ac:3: -1- AM_MISSING_PROG([AUTOCONF], [autoconf])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^AUTOCONF$])
++m4trace:configure.ac:3: -1- AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^AUTOMAKE$])
++m4trace:configure.ac:3: -1- AM_MISSING_PROG([AUTOHEADER], [autoheader])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^AUTOHEADER$])
++m4trace:configure.ac:3: -1- AM_MISSING_PROG([MAKEINFO], [makeinfo])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^MAKEINFO$])
++m4trace:configure.ac:3: -1- AM_PROG_INSTALL_SH
++m4trace:configure.ac:3: -1- m4_pattern_allow([^install_sh$])
++m4trace:configure.ac:3: -1- AM_PROG_INSTALL_STRIP
++m4trace:configure.ac:3: -1- m4_pattern_allow([^STRIP$])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$])
++m4trace:configure.ac:3: -1- AM_PROG_MKDIR_P
++m4trace:configure.ac:3: -1- m4_pattern_allow([^mkdir_p$])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^AWK$])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^SET_MAKE$])
++m4trace:configure.ac:3: -1- AM_SET_LEADING_DOT
++m4trace:configure.ac:3: -1- m4_pattern_allow([^am__leading_dot$])
++m4trace:configure.ac:3: -1- _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
++ [_AM_PROG_TAR([v7])])])
++m4trace:configure.ac:3: -2- _AM_MANGLE_OPTION([tar-ustar])
++m4trace:configure.ac:3: -1- _AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])
++m4trace:configure.ac:3: -2- _AM_MANGLE_OPTION([tar-pax])
++m4trace:configure.ac:3: -1- _AM_PROG_TAR([v7])
++m4trace:configure.ac:3: -1- AM_MISSING_PROG([AMTAR], [tar])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^AMTAR$])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^am__tar$])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^am__untar$])
++m4trace:configure.ac:3: -1- _AM_IF_OPTION([no-dependencies], [], [AC_PROVIDE_IFELSE([AC_PROG_CC],
++ [_AM_DEPENDENCIES(CC)],
++ [define([AC_PROG_CC],
++ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
++AC_PROVIDE_IFELSE([AC_PROG_CXX],
++ [_AM_DEPENDENCIES(CXX)],
++ [define([AC_PROG_CXX],
++ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
++AC_PROVIDE_IFELSE([AC_PROG_OBJC],
++ [_AM_DEPENDENCIES(OBJC)],
++ [define([AC_PROG_OBJC],
++ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
++])
++m4trace:configure.ac:3: -2- _AM_MANGLE_OPTION([no-dependencies])
++m4trace:configure.ac:4: -1- AM_CONFIG_HEADER([rfbconfig.h])
++m4trace:configure.ac:4: -1- _m4_warn([obsolete], [The macro `AM_CONFIG_HEADER' is obsolete.
++You should run autoupdate.], [/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal-1.10/header.m4:12: AM_CONFIG_HEADER is expanded from...
++configure.ac:4: the top level])
++m4trace:configure.ac:5: -1- AX_PREFIX_CONFIG_H([rfb/rfbconfig.h])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^CC$])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^CFLAGS$])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^LDFLAGS$])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^LIBS$])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^CPPFLAGS$])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^CC$])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^CC$])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^CC$])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^CC$])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^ac_ct_CC$])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^EXEEXT$])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^OBJEXT$])
++m4trace:configure.ac:8: -1- _AM_DEPENDENCIES([CC])
++m4trace:configure.ac:8: -1- AM_SET_DEPDIR
++m4trace:configure.ac:8: -1- m4_pattern_allow([^DEPDIR$])
++m4trace:configure.ac:8: -1- AM_OUTPUT_DEPENDENCY_COMMANDS
++m4trace:configure.ac:8: -1- AM_MAKE_INCLUDE
++m4trace:configure.ac:8: -1- m4_pattern_allow([^am__include$])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^am__quote$])
++m4trace:configure.ac:8: -1- AM_DEP_TRACK
++m4trace:configure.ac:8: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^AMDEP_TRUE$])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^AMDEP_FALSE$])
++m4trace:configure.ac:8: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE])
++m4trace:configure.ac:8: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^AMDEPBACKSLASH$])
++m4trace:configure.ac:8: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^CCDEPMODE$])
++m4trace:configure.ac:8: -1- AM_CONDITIONAL([am__fastdepCC], [
++ test "x$enable_dependency_tracking" != xno \
++ && test "$am_cv_CC_dependencies_compiler_type" = gcc3])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^am__fastdepCC_TRUE$])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^am__fastdepCC_FALSE$])
++m4trace:configure.ac:8: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE])
++m4trace:configure.ac:8: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE])
++m4trace:configure.ac:14: -1- m4_pattern_allow([^SET_MAKE$])
++m4trace:configure.ac:15: -1- AC_PROG_LIBTOOL
++m4trace:configure.ac:15: -1- _m4_warn([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete.
++You should run autoupdate.], [/home/otavio/hacking/ossystems/oe/tmp/staging/x86_64-linux/usr/share/aclocal/libtool.m4:103: AC_PROG_LIBTOOL is expanded from...
++configure.ac:15: the top level])
++m4trace:configure.ac:15: -1- LT_INIT
++m4trace:configure.ac:15: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])
++m4trace:configure.ac:15: -1- LTOPTIONS_VERSION
++m4trace:configure.ac:15: -1- LTSUGAR_VERSION
++m4trace:configure.ac:15: -1- LTVERSION_VERSION
++m4trace:configure.ac:15: -1- LTOBSOLETE_VERSION
++m4trace:configure.ac:15: -1- _LT_PROG_LTMAIN
++m4trace:configure.ac:15: -1- m4_pattern_allow([^LIBTOOL$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^build$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^build_cpu$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^build_vendor$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^build_os$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^host$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^host_cpu$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^host_vendor$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^host_os$])
++m4trace:configure.ac:15: -1- LT_PATH_LD
++m4trace:configure.ac:15: -1- m4_pattern_allow([^SED$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^SED$])
++m4trace:configure.ac:15: -1- AC_PROG_EGREP
++m4trace:configure.ac:15: -1- m4_pattern_allow([^GREP$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^GREP$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^EGREP$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^EGREP$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^FGREP$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^FGREP$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^GREP$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^LD$])
++m4trace:configure.ac:15: -1- LT_PATH_NM
++m4trace:configure.ac:15: -1- m4_pattern_allow([^DUMPBIN$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^ac_ct_DUMPBIN$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^DUMPBIN$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^NM$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^LN_S$])
++m4trace:configure.ac:15: -1- LT_CMD_MAX_LEN
++m4trace:configure.ac:15: -1- m4_pattern_allow([^AR$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^STRIP$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^RANLIB$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([LT_OBJDIR])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^LT_OBJDIR$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^lt_ECHO$])
++m4trace:configure.ac:15: -1- _LT_CC_BASENAME([$compiler])
++m4trace:configure.ac:15: -1- _LT_PATH_TOOL_PREFIX([${ac_tool_prefix}file], [/usr/bin$PATH_SEPARATOR$PATH])
++m4trace:configure.ac:15: -1- _LT_PATH_TOOL_PREFIX([file], [/usr/bin$PATH_SEPARATOR$PATH])
++m4trace:configure.ac:15: -1- LT_SUPPORTED_TAG([CC])
++m4trace:configure.ac:15: -1- _LT_COMPILER_BOILERPLATE
++m4trace:configure.ac:15: -1- _LT_LINKER_BOILERPLATE
++m4trace:configure.ac:15: -1- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], [lt_cv_prog_compiler_rtti_exceptions], [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, )="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, ) -fno-rtti -fno-exceptions"])
++m4trace:configure.ac:15: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, ) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, )], [$_LT_TAGVAR(lt_prog_compiler_pic, )@&t@m4_if([],[],[ -DPIC],[m4_if([],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, ) in
++ "" | " "*) ;;
++ *) _LT_TAGVAR(lt_prog_compiler_pic, )=" $_LT_TAGVAR(lt_prog_compiler_pic, )" ;;
++ esac], [_LT_TAGVAR(lt_prog_compiler_pic, )=
++ _LT_TAGVAR(lt_prog_compiler_can_build_shared, )=no])
++m4trace:configure.ac:15: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, )=])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^DSYMUTIL$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^NMEDIT$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^LIPO$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^OTOOL$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^OTOOL64$])
++m4trace:configure.ac:15: -1- LT_SYS_DLOPEN_SELF
++m4trace:configure.ac:15: -1- m4_pattern_allow([^CPP$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^CPPFLAGS$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^CPP$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^STDC_HEADERS$])
++m4trace:configure.ac:16: -1- m4_pattern_allow([^AR$])
++m4trace:configure.ac:31: -1- m4_pattern_allow([^ALLOW24BPP$])
++m4trace:configure.ac:36: -1- m4_pattern_allow([^with_ffmpeg$])
++m4trace:configure.ac:37: -1- AM_CONDITIONAL([WITH_FFMPEG], [test ! -z "$with_ffmpeg"])
++m4trace:configure.ac:37: -1- m4_pattern_allow([^WITH_FFMPEG_TRUE$])
++m4trace:configure.ac:37: -1- m4_pattern_allow([^WITH_FFMPEG_FALSE$])
++m4trace:configure.ac:37: -1- _AM_SUBST_NOTMAKE([WITH_FFMPEG_TRUE])
++m4trace:configure.ac:37: -1- _AM_SUBST_NOTMAKE([WITH_FFMPEG_FALSE])
++m4trace:configure.ac:41: -1- AM_CONDITIONAL([HAVE_MP3LAME], [test "$HAVE_MP3LAME" = "true"])
++m4trace:configure.ac:41: -1- m4_pattern_allow([^HAVE_MP3LAME_TRUE$])
++m4trace:configure.ac:41: -1- m4_pattern_allow([^HAVE_MP3LAME_FALSE$])
++m4trace:configure.ac:41: -1- _AM_SUBST_NOTMAKE([HAVE_MP3LAME_TRUE])
++m4trace:configure.ac:41: -1- _AM_SUBST_NOTMAKE([HAVE_MP3LAME_FALSE])
++m4trace:configure.ac:49: -1- m4_pattern_allow([^X_DISPLAY_MISSING$])
++m4trace:configure.ac:49: -1- m4_pattern_allow([^X_CFLAGS$])
++m4trace:configure.ac:49: -1- m4_pattern_allow([^X_PRE_LIBS$])
++m4trace:configure.ac:49: -1- m4_pattern_allow([^X_LIBS$])
++m4trace:configure.ac:49: -1- m4_pattern_allow([^X_EXTRA_LIBS$])
++m4trace:configure.ac:125: -1- m4_pattern_allow([^HAVE_X11$])
++m4trace:configure.ac:133: -1- m4_pattern_allow([^HAVE_XSHM$])
++m4trace:configure.ac:137: -1- m4_pattern_allow([^HAVE_SOLARIS_XREADSCREEN$])
++m4trace:configure.ac:141: -1- m4_pattern_allow([^HAVE_IRIX_XREADDISPLAY$])
++m4trace:configure.ac:146: -1- m4_pattern_allow([^HAVE_FBPM$])
++m4trace:configure.ac:152: -1- m4_pattern_allow([^HAVE_DPMS$])
++m4trace:configure.ac:157: -1- m4_pattern_allow([^HAVE_XTESTGRABCONTROL$])
++m4trace:configure.ac:162: -1- m4_pattern_allow([^HAVE_XTEST$])
++m4trace:configure.ac:168: -1- m4_pattern_allow([^HAVE_RECORD$])
++m4trace:configure.ac:177: -1- m4_pattern_allow([^HAVE_LIBXTRAP$])
++m4trace:configure.ac:182: -1- m4_pattern_allow([^HAVE_LIBXTRAP$])
++m4trace:configure.ac:196: -1- m4_pattern_allow([^HAVE_XKEYBOARD$])
++m4trace:configure.ac:203: -1- m4_pattern_allow([^HAVE_LIBXINERAMA$])
++m4trace:configure.ac:210: -1- m4_pattern_allow([^HAVE_LIBXRANDR$])
++m4trace:configure.ac:217: -1- m4_pattern_allow([^HAVE_LIBXFIXES$])
++m4trace:configure.ac:224: -1- m4_pattern_allow([^HAVE_LIBXDAMAGE$])
++m4trace:configure.ac:242: -1- m4_pattern_allow([^X_LIBS$])
++m4trace:configure.ac:243: -1- AM_CONDITIONAL([HAVE_X], [test $HAVE_X != "false"])
++m4trace:configure.ac:243: -1- m4_pattern_allow([^HAVE_X_TRUE$])
++m4trace:configure.ac:243: -1- m4_pattern_allow([^HAVE_X_FALSE$])
++m4trace:configure.ac:243: -1- _AM_SUBST_NOTMAKE([HAVE_X_TRUE])
++m4trace:configure.ac:243: -1- _AM_SUBST_NOTMAKE([HAVE_X_FALSE])
++m4trace:configure.ac:286: -1- m4_pattern_allow([^HAVE_LIBCRYPT$])
++m4trace:configure.ac:291: -1- m4_pattern_allow([^CRYPT_LIBS$])
++m4trace:configure.ac:303: -1- m4_pattern_allow([^HAVE_LIBCRYPTO$])
++m4trace:configure.ac:309: -1- m4_pattern_allow([^HAVE_LIBSSL$])
++m4trace:configure.ac:314: -1- m4_pattern_allow([^HAVE_LIBSSL$])
++m4trace:configure.ac:319: -1- m4_pattern_allow([^SSL_LIBS$])
++m4trace:configure.ac:333: -1- m4_pattern_allow([^HAVE_LINUX_VIDEODEV_H$])
++m4trace:configure.ac:337: -1- m4_pattern_allow([^HAVE_LINUX_FB_H$])
++m4trace:configure.ac:341: -1- m4_pattern_allow([^HAVE_LINUX_INPUT_H$])
++m4trace:configure.ac:344: -1- m4_pattern_allow([^HAVE_LINUX_UINPUT_H$])
++m4trace:configure.ac:350: -1- m4_pattern_allow([^HAVE_MACOSX_NATIVE_DISPLAY$])
++m4trace:configure.ac:375: -1- m4_pattern_allow([^HAVE_AVAHI$])
++m4trace:configure.ac:376: -1- m4_pattern_allow([^AVAHI_CFLAGS$])
++m4trace:configure.ac:377: -1- m4_pattern_allow([^AVAHI_LIBS$])
++m4trace:configure.ac:431: -1- m4_pattern_allow([^HAVE_SYSTEM_LIBVNCSERVER$])
++m4trace:configure.ac:432: -1- m4_pattern_allow([^SYSTEM_LIBVNCSERVER_CFLAGS$])
++m4trace:configure.ac:433: -1- m4_pattern_allow([^SYSTEM_LIBVNCSERVER_LIBS$])
++m4trace:configure.ac:435: -1- AM_CONDITIONAL([HAVE_SYSTEM_LIBVNCSERVER], [test "x$with_system_libvncserver" = "xyes"])
++m4trace:configure.ac:435: -1- m4_pattern_allow([^HAVE_SYSTEM_LIBVNCSERVER_TRUE$])
++m4trace:configure.ac:435: -1- m4_pattern_allow([^HAVE_SYSTEM_LIBVNCSERVER_FALSE$])
++m4trace:configure.ac:435: -1- _AM_SUBST_NOTMAKE([HAVE_SYSTEM_LIBVNCSERVER_TRUE])
++m4trace:configure.ac:435: -1- _AM_SUBST_NOTMAKE([HAVE_SYSTEM_LIBVNCSERVER_FALSE])
++m4trace:configure.ac:466: -1- m4_pattern_allow([^HAVE_LIBJPEG$])
++m4trace:configure.ac:512: -1- m4_pattern_allow([^HAVE_LIBZ$])
++m4trace:configure.ac:541: -1- m4_pattern_allow([^HAVE_LIBPTHREAD$])
++m4trace:configure.ac:545: -1- AM_CONDITIONAL([HAVE_LIBPTHREAD], [test ! -z "$HAVE_LIBPTHREAD"])
++m4trace:configure.ac:545: -1- m4_pattern_allow([^HAVE_LIBPTHREAD_TRUE$])
++m4trace:configure.ac:545: -1- m4_pattern_allow([^HAVE_LIBPTHREAD_FALSE$])
++m4trace:configure.ac:545: -1- _AM_SUBST_NOTMAKE([HAVE_LIBPTHREAD_TRUE])
++m4trace:configure.ac:545: -1- _AM_SUBST_NOTMAKE([HAVE_LIBPTHREAD_FALSE])
++m4trace:configure.ac:552: -1- m4_pattern_allow([^WITH_TIGHTVNC_FILETRANSFER$])
++m4trace:configure.ac:554: -1- AM_CONDITIONAL([WITH_TIGHTVNC_FILETRANSFER], [test "$with_tightvnc_filetransfer" = "yes"])
++m4trace:configure.ac:554: -1- m4_pattern_allow([^WITH_TIGHTVNC_FILETRANSFER_TRUE$])
++m4trace:configure.ac:554: -1- m4_pattern_allow([^WITH_TIGHTVNC_FILETRANSFER_FALSE$])
++m4trace:configure.ac:554: -1- _AM_SUBST_NOTMAKE([WITH_TIGHTVNC_FILETRANSFER_TRUE])
++m4trace:configure.ac:554: -1- _AM_SUBST_NOTMAKE([WITH_TIGHTVNC_FILETRANSFER_FALSE])
++m4trace:configure.ac:556: -1- AM_CONDITIONAL([HAVE_LIBZ], [test ! -z "$HAVE_ZLIB_H"])
++m4trace:configure.ac:556: -1- m4_pattern_allow([^HAVE_LIBZ_TRUE$])
++m4trace:configure.ac:556: -1- m4_pattern_allow([^HAVE_LIBZ_FALSE$])
++m4trace:configure.ac:556: -1- _AM_SUBST_NOTMAKE([HAVE_LIBZ_TRUE])
++m4trace:configure.ac:556: -1- _AM_SUBST_NOTMAKE([HAVE_LIBZ_FALSE])
++m4trace:configure.ac:557: -1- AM_CONDITIONAL([HAVE_LIBJPEG], [test ! -z "$HAVE_JPEGLIB_H"])
++m4trace:configure.ac:557: -1- m4_pattern_allow([^HAVE_LIBJPEG_TRUE$])
++m4trace:configure.ac:557: -1- m4_pattern_allow([^HAVE_LIBJPEG_FALSE$])
++m4trace:configure.ac:557: -1- _AM_SUBST_NOTMAKE([HAVE_LIBJPEG_TRUE])
++m4trace:configure.ac:557: -1- _AM_SUBST_NOTMAKE([HAVE_LIBJPEG_FALSE])
++m4trace:configure.ac:568: -1- AM_CONDITIONAL([HAVE_LIBSDL], [test "x$with_sdl" = "xyes"])
++m4trace:configure.ac:568: -1- m4_pattern_allow([^HAVE_LIBSDL_TRUE$])
++m4trace:configure.ac:568: -1- m4_pattern_allow([^HAVE_LIBSDL_FALSE$])
++m4trace:configure.ac:568: -1- _AM_SUBST_NOTMAKE([HAVE_LIBSDL_TRUE])
++m4trace:configure.ac:568: -1- _AM_SUBST_NOTMAKE([HAVE_LIBSDL_FALSE])
++m4trace:configure.ac:569: -1- m4_pattern_allow([^SDL_CFLAGS$])
++m4trace:configure.ac:570: -1- m4_pattern_allow([^SDL_LIBS$])
++m4trace:configure.ac:573: -1- AM_CONDITIONAL([MINGW], [test ! -z "$MINGW" ])
++m4trace:configure.ac:573: -1- m4_pattern_allow([^MINGW_TRUE$])
++m4trace:configure.ac:573: -1- m4_pattern_allow([^MINGW_FALSE$])
++m4trace:configure.ac:573: -1- _AM_SUBST_NOTMAKE([MINGW_TRUE])
++m4trace:configure.ac:573: -1- _AM_SUBST_NOTMAKE([MINGW_FALSE])
++m4trace:configure.ac:577: -1- m4_pattern_allow([^WSOCKLIB$])
++m4trace:configure.ac:580: -1- m4_pattern_allow([^STDC_HEADERS$])
++m4trace:configure.ac:589: -1- m4_pattern_allow([^const$])
++m4trace:configure.ac:591: -1- m4_pattern_allow([^WORDS_BIGENDIAN$])
++m4trace:configure.ac:592: -1- m4_pattern_allow([^size_t$])
++m4trace:configure.ac:593: -1- m4_pattern_allow([^TIME_WITH_SYS_TIME$])
++m4trace:configure.ac:594: -1- m4_pattern_allow([^HAVE_SYS_WAIT_H$])
++m4trace:configure.ac:595: -1- AC_TYPE_SOCKLEN_T
++m4trace:configure.ac:595: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
++You should run autoupdate.], [../../lib/autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
++../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from...
++../../lib/autoconf/general.m4:1899: AC_CACHE_VAL is expanded from...
++../../lib/autoconf/general.m4:1912: AC_CACHE_CHECK is expanded from...
++acinclude.m4:2: AC_TYPE_SOCKLEN_T is expanded from...
++configure.ac:595: the top level])
++m4trace:configure.ac:595: -1- m4_pattern_allow([^socklen_t$])
++m4trace:configure.ac:600: -1- AC_CREATE_STDINT_H([rfb/rfbint.h])
++m4trace:configure.ac:600: -1- AC_COMPILE_CHECK_SIZEOF([char])
++m4trace:configure.ac:600: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
++You should run autoupdate.], [../../lib/autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
++../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from...
++../../lib/autoconf/general.m4:1899: AC_CACHE_VAL is expanded from...
++acinclude.m4:20: AC_COMPILE_CHECK_SIZEOF is expanded from...
++acinclude.m4:49: AC_CREATE_STDINT_H is expanded from...
++configure.ac:600: the top level])
++m4trace:configure.ac:600: -1- m4_pattern_allow([^SIZEOF_CHAR$])
++m4trace:configure.ac:600: -1- AC_COMPILE_CHECK_SIZEOF([short])
++m4trace:configure.ac:600: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
++You should run autoupdate.], [../../lib/autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
++../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from...
++../../lib/autoconf/general.m4:1899: AC_CACHE_VAL is expanded from...
++acinclude.m4:20: AC_COMPILE_CHECK_SIZEOF is expanded from...
++acinclude.m4:49: AC_CREATE_STDINT_H is expanded from...
++configure.ac:600: the top level])
++m4trace:configure.ac:600: -1- m4_pattern_allow([^SIZEOF_SHORT$])
++m4trace:configure.ac:600: -1- AC_COMPILE_CHECK_SIZEOF([int])
++m4trace:configure.ac:600: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
++You should run autoupdate.], [../../lib/autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
++../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from...
++../../lib/autoconf/general.m4:1899: AC_CACHE_VAL is expanded from...
++acinclude.m4:20: AC_COMPILE_CHECK_SIZEOF is expanded from...
++acinclude.m4:49: AC_CREATE_STDINT_H is expanded from...
++configure.ac:600: the top level])
++m4trace:configure.ac:600: -1- m4_pattern_allow([^SIZEOF_INT$])
++m4trace:configure.ac:600: -1- AC_COMPILE_CHECK_SIZEOF([long])
++m4trace:configure.ac:600: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
++You should run autoupdate.], [../../lib/autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
++../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from...
++../../lib/autoconf/general.m4:1899: AC_CACHE_VAL is expanded from...
++acinclude.m4:20: AC_COMPILE_CHECK_SIZEOF is expanded from...
++acinclude.m4:49: AC_CREATE_STDINT_H is expanded from...
++configure.ac:600: the top level])
++m4trace:configure.ac:600: -1- m4_pattern_allow([^SIZEOF_LONG$])
++m4trace:configure.ac:600: -1- AC_COMPILE_CHECK_SIZEOF([void*])
++m4trace:configure.ac:600: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
++You should run autoupdate.], [../../lib/autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
++../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from...
++../../lib/autoconf/general.m4:1899: AC_CACHE_VAL is expanded from...
++acinclude.m4:20: AC_COMPILE_CHECK_SIZEOF is expanded from...
++acinclude.m4:49: AC_CREATE_STDINT_H is expanded from...
++configure.ac:600: the top level])
++m4trace:configure.ac:600: -1- m4_pattern_allow([^SIZEOF_VOIDP$])
++m4trace:configure.ac:601: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
++You should run autoupdate.], [../../lib/autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
++../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from...
++../../lib/autoconf/general.m4:1899: AC_CACHE_VAL is expanded from...
++../../lib/autoconf/general.m4:1912: AC_CACHE_CHECK is expanded from...
++configure.ac:601: the top level])
++m4trace:configure.ac:611: -1- m4_pattern_allow([^NEED_INADDR_T$])
++m4trace:configure.ac:615: -1- m4_pattern_allow([^LIB@&t@OBJS$])
++m4trace:configure.ac:616: -1- m4_pattern_allow([^LSTAT_FOLLOWS_SLASHED_SYMLINK$])
++m4trace:configure.ac:616: -1- m4_pattern_allow([^LIB@&t@OBJS$])
++m4trace:configure.ac:616: -1- m4_pattern_allow([^LIB@&t@OBJS$])
++m4trace:configure.ac:616: -1- m4_pattern_allow([^HAVE_STAT_EMPTY_STRING_BUG$])
++m4trace:configure.ac:617: -1- m4_pattern_allow([^HAVE_STRFTIME$])
++m4trace:configure.ac:618: -1- m4_pattern_allow([^HAVE_DOPRNT$])
++m4trace:configure.ac:619: -1- m4_pattern_allow([^pid_t$])
++m4trace:configure.ac:619: -1- m4_pattern_allow([^HAVE_WORKING_VFORK$])
++m4trace:configure.ac:619: -1- m4_pattern_allow([^vfork$])
++m4trace:configure.ac:619: -1- m4_pattern_allow([^HAVE_WORKING_FORK$])
++m4trace:configure.ac:620: -1- m4_pattern_allow([^HAVE_LIBNSL$])
++m4trace:configure.ac:621: -1- m4_pattern_allow([^HAVE_LIBSOCKET$])
++m4trace:configure.ac:636: -1- m4_pattern_allow([^HAVE_LIBCYGIPC$])
++m4trace:configure.ac:637: -1- AM_CONDITIONAL([CYGIPC], [test "$HAVE_CYGIPC" = "true"])
++m4trace:configure.ac:637: -1- m4_pattern_allow([^CYGIPC_TRUE$])
++m4trace:configure.ac:637: -1- m4_pattern_allow([^CYGIPC_FALSE$])
++m4trace:configure.ac:637: -1- _AM_SUBST_NOTMAKE([CYGIPC_TRUE])
++m4trace:configure.ac:637: -1- _AM_SUBST_NOTMAKE([CYGIPC_FALSE])
++m4trace:configure.ac:640: -1- AM_CONDITIONAL([LINUX], [test -c /dev/vcsa1])
++m4trace:configure.ac:640: -1- m4_pattern_allow([^LINUX_TRUE$])
++m4trace:configure.ac:640: -1- m4_pattern_allow([^LINUX_FALSE$])
++m4trace:configure.ac:640: -1- _AM_SUBST_NOTMAKE([LINUX_TRUE])
++m4trace:configure.ac:640: -1- _AM_SUBST_NOTMAKE([LINUX_FALSE])
++m4trace:configure.ac:644: -1- AM_CONDITIONAL([OSX], [test "$HAVE_OSX" = "true"])
++m4trace:configure.ac:644: -1- m4_pattern_allow([^OSX_TRUE$])
++m4trace:configure.ac:644: -1- m4_pattern_allow([^OSX_FALSE$])
++m4trace:configure.ac:644: -1- _AM_SUBST_NOTMAKE([OSX_TRUE])
++m4trace:configure.ac:644: -1- _AM_SUBST_NOTMAKE([OSX_FALSE])
++m4trace:configure.ac:650: -1- m4_pattern_allow([^ENOENT_WORKAROUND$])
++m4trace:configure.ac:663: -1- AM_CONDITIONAL([HAVE_RPM], [test "$RPMSOURCEDIR" != "NOT-FOUND"])
++m4trace:configure.ac:663: -1- m4_pattern_allow([^HAVE_RPM_TRUE$])
++m4trace:configure.ac:663: -1- m4_pattern_allow([^HAVE_RPM_FALSE$])
++m4trace:configure.ac:663: -1- _AM_SUBST_NOTMAKE([HAVE_RPM_TRUE])
++m4trace:configure.ac:663: -1- _AM_SUBST_NOTMAKE([HAVE_RPM_FALSE])
++m4trace:configure.ac:664: -1- m4_pattern_allow([^RPMSOURCEDIR$])
++m4trace:configure.ac:684: -1- m4_pattern_allow([^LIB@&t@OBJS$])
++m4trace:configure.ac:684: -1- m4_pattern_allow([^LTLIBOBJS$])
++m4trace:configure.ac:684: -1- _AC_AM_CONFIG_HEADER_HOOK([$ac_file])
++m4trace:configure.ac:684: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS
++m4trace:configure.ac:684: -1- _LT_PROG_LTMAIN
+diff -Nur LibVNCServer-0.9.1.orig/autom4te.cache/traces.1 LibVNCServer-0.9.1/autom4te.cache/traces.1
+--- LibVNCServer-0.9.1.orig/autom4te.cache/traces.1 1969-12-31 21:00:00.000000000 -0300
++++ LibVNCServer-0.9.1/autom4te.cache/traces.1 2008-10-31 18:46:25.000000000 -0200
+@@ -0,0 +1,1064 @@
++m4trace:aclocal.m4:8774: -1- m4_include([acinclude.m4])
++m4trace:acinclude.m4:1: -1- AH_OUTPUT([socklen_t], [/* The type for socklen */
++#undef socklen_t])
++m4trace:configure.ac:2: -1- AC_INIT([LibVNCServer], [0.9.1], [http://sourceforge.net/projects/libvncserver])
++m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?A[CHUM]_])
++m4trace:configure.ac:2: -1- m4_pattern_forbid([_AC_])
++m4trace:configure.ac:2: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^AS_FLAGS$])
++m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?m4_])
++m4trace:configure.ac:2: -1- m4_pattern_forbid([^dnl$])
++m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?AS_])
++m4trace:configure.ac:2: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([SHELL])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^SHELL$])
++m4trace:configure.ac:2: -1- AC_SUBST([PATH_SEPARATOR])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PATH_SEPARATOR$])
++m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_NAME])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_NAME$])
++m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
++m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_VERSION$])
++m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_STRING])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_STRING$])
++m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
++m4trace:configure.ac:2: -1- AC_SUBST([exec_prefix], [NONE])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([exec_prefix])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^exec_prefix$])
++m4trace:configure.ac:2: -1- AC_SUBST([prefix], [NONE])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([prefix])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^prefix$])
++m4trace:configure.ac:2: -1- AC_SUBST([program_transform_name], [s,x,x,])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([program_transform_name])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^program_transform_name$])
++m4trace:configure.ac:2: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([bindir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^bindir$])
++m4trace:configure.ac:2: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([sbindir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^sbindir$])
++m4trace:configure.ac:2: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([libexecdir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^libexecdir$])
++m4trace:configure.ac:2: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([datarootdir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^datarootdir$])
++m4trace:configure.ac:2: -1- AC_SUBST([datadir], ['${datarootdir}'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([datadir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^datadir$])
++m4trace:configure.ac:2: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([sysconfdir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^sysconfdir$])
++m4trace:configure.ac:2: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([sharedstatedir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^sharedstatedir$])
++m4trace:configure.ac:2: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([localstatedir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^localstatedir$])
++m4trace:configure.ac:2: -1- AC_SUBST([includedir], ['${prefix}/include'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([includedir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^includedir$])
++m4trace:configure.ac:2: -1- AC_SUBST([oldincludedir], ['/usr/include'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([oldincludedir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^oldincludedir$])
++m4trace:configure.ac:2: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
++ ['${datarootdir}/doc/${PACKAGE_TARNAME}'],
++ ['${datarootdir}/doc/${PACKAGE}'])])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([docdir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^docdir$])
++m4trace:configure.ac:2: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([infodir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^infodir$])
++m4trace:configure.ac:2: -1- AC_SUBST([htmldir], ['${docdir}'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([htmldir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^htmldir$])
++m4trace:configure.ac:2: -1- AC_SUBST([dvidir], ['${docdir}'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([dvidir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^dvidir$])
++m4trace:configure.ac:2: -1- AC_SUBST([pdfdir], ['${docdir}'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([pdfdir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^pdfdir$])
++m4trace:configure.ac:2: -1- AC_SUBST([psdir], ['${docdir}'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([psdir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^psdir$])
++m4trace:configure.ac:2: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([libdir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^libdir$])
++m4trace:configure.ac:2: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([localedir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^localedir$])
++m4trace:configure.ac:2: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([mandir])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^mandir$])
++m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_NAME$])
++m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
++#undef PACKAGE_NAME])
++m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
++m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
++#undef PACKAGE_TARNAME])
++m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_VERSION$])
++m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
++#undef PACKAGE_VERSION])
++m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_STRING$])
++m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
++#undef PACKAGE_STRING])
++m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
++m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
++#undef PACKAGE_BUGREPORT])
++m4trace:configure.ac:2: -1- AC_SUBST([DEFS])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([DEFS])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^DEFS$])
++m4trace:configure.ac:2: -1- AC_SUBST([ECHO_C])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ECHO_C])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_C$])
++m4trace:configure.ac:2: -1- AC_SUBST([ECHO_N])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ECHO_N])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_N$])
++m4trace:configure.ac:2: -1- AC_SUBST([ECHO_T])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ECHO_T])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_T$])
++m4trace:configure.ac:2: -1- AC_SUBST([LIBS])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([LIBS])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^LIBS$])
++m4trace:configure.ac:2: -1- AC_SUBST([build_alias])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([build_alias])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^build_alias$])
++m4trace:configure.ac:2: -1- AC_SUBST([host_alias])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([host_alias])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^host_alias$])
++m4trace:configure.ac:2: -1- AC_SUBST([target_alias])
++m4trace:configure.ac:2: -1- AC_SUBST_TRACE([target_alias])
++m4trace:configure.ac:2: -1- m4_pattern_allow([^target_alias$])
++m4trace:configure.ac:3: -1- AM_INIT_AUTOMAKE([LibVNCServer], [0.9.1])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
++m4trace:configure.ac:3: -1- AM_AUTOMAKE_VERSION([1.10])
++m4trace:configure.ac:3: -1- AC_REQUIRE_AUX_FILE([install-sh])
++m4trace:configure.ac:3: -1- AC_SUBST([INSTALL_PROGRAM])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
++m4trace:configure.ac:3: -1- AC_SUBST([INSTALL_SCRIPT])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
++m4trace:configure.ac:3: -1- AC_SUBST([INSTALL_DATA])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([INSTALL_DATA])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^INSTALL_DATA$])
++m4trace:configure.ac:3: -1- AC_SUBST([am__isrc], [' -I$(srcdir)'])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([am__isrc])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^am__isrc$])
++m4trace:configure.ac:3: -1- _AM_SUBST_NOTMAKE([am__isrc])
++m4trace:configure.ac:3: -1- AC_SUBST([CYGPATH_W])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([CYGPATH_W])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^CYGPATH_W$])
++m4trace:configure.ac:3: -1- AC_SUBST([PACKAGE], [LibVNCServer])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([PACKAGE])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^PACKAGE$])
++m4trace:configure.ac:3: -1- AC_SUBST([VERSION], [0.9.1])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([VERSION])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^VERSION$])
++m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^PACKAGE$])
++m4trace:configure.ac:3: -1- AH_OUTPUT([PACKAGE], [/* Name of package */
++#undef PACKAGE])
++m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([VERSION])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^VERSION$])
++m4trace:configure.ac:3: -1- AH_OUTPUT([VERSION], [/* Version number of package */
++#undef VERSION])
++m4trace:configure.ac:3: -1- AC_REQUIRE_AUX_FILE([missing])
++m4trace:configure.ac:3: -1- AC_SUBST([ACLOCAL])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([ACLOCAL])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^ACLOCAL$])
++m4trace:configure.ac:3: -1- AC_SUBST([AUTOCONF])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([AUTOCONF])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^AUTOCONF$])
++m4trace:configure.ac:3: -1- AC_SUBST([AUTOMAKE])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([AUTOMAKE])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^AUTOMAKE$])
++m4trace:configure.ac:3: -1- AC_SUBST([AUTOHEADER])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([AUTOHEADER])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^AUTOHEADER$])
++m4trace:configure.ac:3: -1- AC_SUBST([MAKEINFO])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([MAKEINFO])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^MAKEINFO$])
++m4trace:configure.ac:3: -1- AC_SUBST([install_sh])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([install_sh])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^install_sh$])
++m4trace:configure.ac:3: -1- AC_SUBST([STRIP])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([STRIP])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^STRIP$])
++m4trace:configure.ac:3: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$])
++m4trace:configure.ac:3: -1- AC_REQUIRE_AUX_FILE([install-sh])
++m4trace:configure.ac:3: -1- AC_SUBST([mkdir_p], ["$MKDIR_P"])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([mkdir_p])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^mkdir_p$])
++m4trace:configure.ac:3: -1- AC_SUBST([AWK])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([AWK])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^AWK$])
++m4trace:configure.ac:3: -1- AC_SUBST([SET_MAKE])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([SET_MAKE])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^SET_MAKE$])
++m4trace:configure.ac:3: -1- AC_SUBST([am__leading_dot])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([am__leading_dot])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^am__leading_dot$])
++m4trace:configure.ac:3: -1- AC_SUBST([AMTAR])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([AMTAR])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^AMTAR$])
++m4trace:configure.ac:3: -1- AC_SUBST([am__tar])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([am__tar])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^am__tar$])
++m4trace:configure.ac:3: -1- AC_SUBST([am__untar])
++m4trace:configure.ac:3: -1- AC_SUBST_TRACE([am__untar])
++m4trace:configure.ac:3: -1- m4_pattern_allow([^am__untar$])
++m4trace:configure.ac:4: -1- _m4_warn([obsolete], [The macro `AM_CONFIG_HEADER' is obsolete.
++You should run autoupdate.], [aclocal.m4:8277: AM_CONFIG_HEADER is expanded from...
++configure.ac:4: the top level])
++m4trace:configure.ac:4: -1- AC_CONFIG_HEADERS([rfbconfig.h])
++m4trace:configure.ac:5: -1- AC_CONFIG_HEADERS([])
++m4trace:configure.ac:8: -1- AC_SUBST([CC])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CC])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^CC$])
++m4trace:configure.ac:8: -1- AC_SUBST([CFLAGS])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CFLAGS])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^CFLAGS$])
++m4trace:configure.ac:8: -1- AC_SUBST([LDFLAGS])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([LDFLAGS])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^LDFLAGS$])
++m4trace:configure.ac:8: -1- AC_SUBST([LIBS])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([LIBS])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^LIBS$])
++m4trace:configure.ac:8: -1- AC_SUBST([CPPFLAGS])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CPPFLAGS])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^CPPFLAGS$])
++m4trace:configure.ac:8: -1- AC_SUBST([CC])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CC])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^CC$])
++m4trace:configure.ac:8: -1- AC_SUBST([CC])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CC])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^CC$])
++m4trace:configure.ac:8: -1- AC_SUBST([CC])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CC])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^CC$])
++m4trace:configure.ac:8: -1- AC_SUBST([CC])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CC])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^CC$])
++m4trace:configure.ac:8: -1- AC_SUBST([ac_ct_CC])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([ac_ct_CC])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^ac_ct_CC$])
++m4trace:configure.ac:8: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([EXEEXT])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^EXEEXT$])
++m4trace:configure.ac:8: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([OBJEXT])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^OBJEXT$])
++m4trace:configure.ac:8: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([DEPDIR])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^DEPDIR$])
++m4trace:configure.ac:8: -1- AC_SUBST([am__include])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([am__include])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^am__include$])
++m4trace:configure.ac:8: -1- AC_SUBST([am__quote])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([am__quote])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^am__quote$])
++m4trace:configure.ac:8: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
++m4trace:configure.ac:8: -1- AC_SUBST([AMDEP_TRUE])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([AMDEP_TRUE])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^AMDEP_TRUE$])
++m4trace:configure.ac:8: -1- AC_SUBST([AMDEP_FALSE])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([AMDEP_FALSE])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^AMDEP_FALSE$])
++m4trace:configure.ac:8: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE])
++m4trace:configure.ac:8: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE])
++m4trace:configure.ac:8: -1- AC_SUBST([AMDEPBACKSLASH])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([AMDEPBACKSLASH])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^AMDEPBACKSLASH$])
++m4trace:configure.ac:8: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])
++m4trace:configure.ac:8: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CCDEPMODE])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^CCDEPMODE$])
++m4trace:configure.ac:8: -1- AM_CONDITIONAL([am__fastdepCC], [
++ test "x$enable_dependency_tracking" != xno \
++ && test "$am_cv_CC_dependencies_compiler_type" = gcc3])
++m4trace:configure.ac:8: -1- AC_SUBST([am__fastdepCC_TRUE])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^am__fastdepCC_TRUE$])
++m4trace:configure.ac:8: -1- AC_SUBST([am__fastdepCC_FALSE])
++m4trace:configure.ac:8: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE])
++m4trace:configure.ac:8: -1- m4_pattern_allow([^am__fastdepCC_FALSE$])
++m4trace:configure.ac:8: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE])
++m4trace:configure.ac:8: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE])
++m4trace:configure.ac:14: -1- AC_SUBST([SET_MAKE])
++m4trace:configure.ac:14: -1- AC_SUBST_TRACE([SET_MAKE])
++m4trace:configure.ac:14: -1- m4_pattern_allow([^SET_MAKE$])
++m4trace:configure.ac:15: -1- AC_PROG_LIBTOOL
++m4trace:configure.ac:15: -1- _m4_warn([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete.
++You should run autoupdate.], [aclocal.m4:121: AC_PROG_LIBTOOL is expanded from...
++configure.ac:15: the top level])
++m4trace:configure.ac:15: -1- LT_INIT
++m4trace:configure.ac:15: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])
++m4trace:configure.ac:15: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])
++m4trace:configure.ac:15: -1- AC_SUBST([LIBTOOL])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([LIBTOOL])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^LIBTOOL$])
++m4trace:configure.ac:15: -1- AC_CANONICAL_HOST
++m4trace:configure.ac:15: -1- AC_CANONICAL_BUILD
++m4trace:configure.ac:15: -1- AC_REQUIRE_AUX_FILE([config.sub])
++m4trace:configure.ac:15: -1- AC_REQUIRE_AUX_FILE([config.guess])
++m4trace:configure.ac:15: -1- AC_SUBST([build], [$ac_cv_build])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([build])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^build$])
++m4trace:configure.ac:15: -1- AC_SUBST([build_cpu], [$[1]])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([build_cpu])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^build_cpu$])
++m4trace:configure.ac:15: -1- AC_SUBST([build_vendor], [$[2]])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([build_vendor])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^build_vendor$])
++m4trace:configure.ac:15: -1- AC_SUBST([build_os])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([build_os])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^build_os$])
++m4trace:configure.ac:15: -1- AC_SUBST([host], [$ac_cv_host])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([host])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^host$])
++m4trace:configure.ac:15: -1- AC_SUBST([host_cpu], [$[1]])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([host_cpu])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^host_cpu$])
++m4trace:configure.ac:15: -1- AC_SUBST([host_vendor], [$[2]])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([host_vendor])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^host_vendor$])
++m4trace:configure.ac:15: -1- AC_SUBST([host_os])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([host_os])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^host_os$])
++m4trace:configure.ac:15: -1- AC_SUBST([SED])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([SED])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^SED$])
++m4trace:configure.ac:15: -1- AC_SUBST([SED])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([SED])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^SED$])
++m4trace:configure.ac:15: -1- AC_SUBST([GREP])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([GREP])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^GREP$])
++m4trace:configure.ac:15: -1- AC_SUBST([GREP])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([GREP])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^GREP$])
++m4trace:configure.ac:15: -1- AC_SUBST([EGREP])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([EGREP])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^EGREP$])
++m4trace:configure.ac:15: -1- AC_SUBST([EGREP])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([EGREP])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^EGREP$])
++m4trace:configure.ac:15: -1- AC_SUBST([FGREP])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([FGREP])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^FGREP$])
++m4trace:configure.ac:15: -1- AC_SUBST([FGREP])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([FGREP])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^FGREP$])
++m4trace:configure.ac:15: -1- AC_SUBST([GREP])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([GREP])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^GREP$])
++m4trace:configure.ac:15: -1- AC_SUBST([LD])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([LD])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^LD$])
++m4trace:configure.ac:15: -1- AC_SUBST([DUMPBIN])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([DUMPBIN])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^DUMPBIN$])
++m4trace:configure.ac:15: -1- AC_SUBST([ac_ct_DUMPBIN])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([ac_ct_DUMPBIN])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^ac_ct_DUMPBIN$])
++m4trace:configure.ac:15: -1- AC_SUBST([DUMPBIN])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([DUMPBIN])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^DUMPBIN$])
++m4trace:configure.ac:15: -1- AC_SUBST([NM])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([NM])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^NM$])
++m4trace:configure.ac:15: -1- AC_SUBST([LN_S], [$as_ln_s])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([LN_S])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^LN_S$])
++m4trace:configure.ac:15: -1- AC_SUBST([AR])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([AR])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^AR$])
++m4trace:configure.ac:15: -1- AC_SUBST([STRIP])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([STRIP])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^STRIP$])
++m4trace:configure.ac:15: -1- AC_SUBST([RANLIB])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([RANLIB])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^RANLIB$])
++m4trace:configure.ac:15: -1- m4_pattern_allow([LT_OBJDIR])
++m4trace:configure.ac:15: -1- AC_DEFINE_TRACE_LITERAL([LT_OBJDIR])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^LT_OBJDIR$])
++m4trace:configure.ac:15: -1- AH_OUTPUT([LT_OBJDIR], [/* Define to the sub-directory in which libtool stores uninstalled libraries.
++ */
++#undef LT_OBJDIR])
++m4trace:configure.ac:15: -1- AC_SUBST([lt_ECHO])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([lt_ECHO])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^lt_ECHO$])
++m4trace:configure.ac:15: -1- LT_SUPPORTED_TAG([CC])
++m4trace:configure.ac:15: -1- AC_SUBST([DSYMUTIL])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([DSYMUTIL])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^DSYMUTIL$])
++m4trace:configure.ac:15: -1- AC_SUBST([NMEDIT])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([NMEDIT])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^NMEDIT$])
++m4trace:configure.ac:15: -1- AC_SUBST([LIPO])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([LIPO])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^LIPO$])
++m4trace:configure.ac:15: -1- AC_SUBST([OTOOL])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([OTOOL])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^OTOOL$])
++m4trace:configure.ac:15: -1- AC_SUBST([OTOOL64])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([OTOOL64])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^OTOOL64$])
++m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
++#undef HAVE_DLFCN_H])
++m4trace:configure.ac:15: -1- AC_SUBST([CPP])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([CPP])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^CPP$])
++m4trace:configure.ac:15: -1- AC_SUBST([CPPFLAGS])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([CPPFLAGS])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^CPPFLAGS$])
++m4trace:configure.ac:15: -1- AC_SUBST([CPP])
++m4trace:configure.ac:15: -1- AC_SUBST_TRACE([CPP])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^CPP$])
++m4trace:configure.ac:15: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
++m4trace:configure.ac:15: -1- m4_pattern_allow([^STDC_HEADERS$])
++m4trace:configure.ac:15: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
++#undef STDC_HEADERS])
++m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
++#undef HAVE_SYS_TYPES_H])
++m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
++#undef HAVE_SYS_STAT_H])
++m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
++#undef HAVE_STDLIB_H])
++m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
++#undef HAVE_STRING_H])
++m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
++#undef HAVE_MEMORY_H])
++m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
++#undef HAVE_STRINGS_H])
++m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
++#undef HAVE_INTTYPES_H])
++m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
++#undef HAVE_STDINT_H])
++m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
++#undef HAVE_UNISTD_H])
++m4trace:configure.ac:16: -1- AC_SUBST([AR])
++m4trace:configure.ac:16: -1- AC_SUBST_TRACE([AR])
++m4trace:configure.ac:16: -1- m4_pattern_allow([^AR$])
++m4trace:configure.ac:20: -1- AH_OUTPUT([WITH_TIGHTVNC_FILETRANSFER], [/* Disable TightVNCFileTransfer protocol */
++#undef WITH_TIGHTVNC_FILETRANSFER])
++m4trace:configure.ac:26: -1- AH_OUTPUT([ALLOW24BPP], [/* Enable 24 bit per pixel in native framebuffer */
++#undef ALLOW24BPP])
++m4trace:configure.ac:31: -1- AC_DEFINE_TRACE_LITERAL([ALLOW24BPP])
++m4trace:configure.ac:31: -1- m4_pattern_allow([^ALLOW24BPP$])
++m4trace:configure.ac:33: -1- AH_OUTPUT([FFMPEG], [/* Use ffmpeg (for vnc2mpg) */
++#undef FFMPEG])
++m4trace:configure.ac:36: -1- AC_SUBST([with_ffmpeg])
++m4trace:configure.ac:36: -1- AC_SUBST_TRACE([with_ffmpeg])
++m4trace:configure.ac:36: -1- m4_pattern_allow([^with_ffmpeg$])
++m4trace:configure.ac:37: -1- AM_CONDITIONAL([WITH_FFMPEG], [test ! -z "$with_ffmpeg"])
++m4trace:configure.ac:37: -1- AC_SUBST([WITH_FFMPEG_TRUE])
++m4trace:configure.ac:37: -1- AC_SUBST_TRACE([WITH_FFMPEG_TRUE])
++m4trace:configure.ac:37: -1- m4_pattern_allow([^WITH_FFMPEG_TRUE$])
++m4trace:configure.ac:37: -1- AC_SUBST([WITH_FFMPEG_FALSE])
++m4trace:configure.ac:37: -1- AC_SUBST_TRACE([WITH_FFMPEG_FALSE])
++m4trace:configure.ac:37: -1- m4_pattern_allow([^WITH_FFMPEG_FALSE$])
++m4trace:configure.ac:37: -1- _AM_SUBST_NOTMAKE([WITH_FFMPEG_TRUE])
++m4trace:configure.ac:37: -1- _AM_SUBST_NOTMAKE([WITH_FFMPEG_FALSE])
++m4trace:configure.ac:41: -1- AM_CONDITIONAL([HAVE_MP3LAME], [test "$HAVE_MP3LAME" = "true"])
++m4trace:configure.ac:41: -1- AC_SUBST([HAVE_MP3LAME_TRUE])
++m4trace:configure.ac:41: -1- AC_SUBST_TRACE([HAVE_MP3LAME_TRUE])
++m4trace:configure.ac:41: -1- m4_pattern_allow([^HAVE_MP3LAME_TRUE$])
++m4trace:configure.ac:41: -1- AC_SUBST([HAVE_MP3LAME_FALSE])
++m4trace:configure.ac:41: -1- AC_SUBST_TRACE([HAVE_MP3LAME_FALSE])
++m4trace:configure.ac:41: -1- m4_pattern_allow([^HAVE_MP3LAME_FALSE$])
++m4trace:configure.ac:41: -1- _AM_SUBST_NOTMAKE([HAVE_MP3LAME_TRUE])
++m4trace:configure.ac:41: -1- _AM_SUBST_NOTMAKE([HAVE_MP3LAME_FALSE])
++m4trace:configure.ac:49: -1- AC_DEFINE_TRACE_LITERAL([X_DISPLAY_MISSING])
++m4trace:configure.ac:49: -1- m4_pattern_allow([^X_DISPLAY_MISSING$])
++m4trace:configure.ac:49: -1- AH_OUTPUT([X_DISPLAY_MISSING], [/* Define to 1 if the X Window System is missing or not being used. */
++#undef X_DISPLAY_MISSING])
++m4trace:configure.ac:49: -1- AC_SUBST([X_CFLAGS])
++m4trace:configure.ac:49: -1- AC_SUBST_TRACE([X_CFLAGS])
++m4trace:configure.ac:49: -1- m4_pattern_allow([^X_CFLAGS$])
++m4trace:configure.ac:49: -1- AC_SUBST([X_PRE_LIBS])
++m4trace:configure.ac:49: -1- AC_SUBST_TRACE([X_PRE_LIBS])
++m4trace:configure.ac:49: -1- m4_pattern_allow([^X_PRE_LIBS$])
++m4trace:configure.ac:49: -1- AC_SUBST([X_LIBS])
++m4trace:configure.ac:49: -1- AC_SUBST_TRACE([X_LIBS])
++m4trace:configure.ac:49: -1- m4_pattern_allow([^X_LIBS$])
++m4trace:configure.ac:49: -1- AC_SUBST([X_EXTRA_LIBS])
++m4trace:configure.ac:49: -1- AC_SUBST_TRACE([X_EXTRA_LIBS])
++m4trace:configure.ac:49: -1- m4_pattern_allow([^X_EXTRA_LIBS$])
++m4trace:configure.ac:50: -1- AH_OUTPUT([HAVE_X11], [/* X11 build environment present */
++#undef HAVE_X11])
++m4trace:configure.ac:53: -1- AH_OUTPUT([HAVE_SYSTEM_LIBVNCSERVER], [/* Use the system libvncserver build environment for x11vnc. */
++#undef HAVE_SYSTEM_LIBVNCSERVER])
++m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_XSHM], [/* MIT-SHM extension build environment present */
++#undef HAVE_XSHM])
++m4trace:configure.ac:73: -1- AH_OUTPUT([HAVE_XTEST], [/* XTEST extension build environment present */
++#undef HAVE_XTEST])
++m4trace:configure.ac:74: -1- AH_OUTPUT([HAVE_XTESTGRABCONTROL], [/* XTEST extension has XTestGrabControl */
++#undef HAVE_XTESTGRABCONTROL])
++m4trace:configure.ac:75: -1- AH_OUTPUT([HAVE_XKEYBOARD], [/* XKEYBOARD extension build environment present */
++#undef HAVE_XKEYBOARD])
++m4trace:configure.ac:76: -1- AH_OUTPUT([HAVE_LIBXINERAMA], [/* XINERAMA extension build environment present */
++#undef HAVE_LIBXINERAMA])
++m4trace:configure.ac:77: -1- AH_OUTPUT([HAVE_LIBXRANDR], [/* XRANDR extension build environment present */
++#undef HAVE_LIBXRANDR])
++m4trace:configure.ac:78: -1- AH_OUTPUT([HAVE_LIBXFIXES], [/* XFIXES extension build environment present */
++#undef HAVE_LIBXFIXES])
++m4trace:configure.ac:79: -1- AH_OUTPUT([HAVE_LIBXDAMAGE], [/* XDAMAGE extension build environment present */
++#undef HAVE_LIBXDAMAGE])
++m4trace:configure.ac:80: -1- AH_OUTPUT([HAVE_LIBXTRAP], [/* DEC-XTRAP extension build environment present */
++#undef HAVE_LIBXTRAP])
++m4trace:configure.ac:81: -1- AH_OUTPUT([HAVE_RECORD], [/* RECORD extension build environment present */
++#undef HAVE_RECORD])
++m4trace:configure.ac:82: -1- AH_OUTPUT([HAVE_SOLARIS_XREADSCREEN], [/* Solaris XReadScreen available */
++#undef HAVE_SOLARIS_XREADSCREEN])
++m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_IRIX_XREADDISPLAY], [/* IRIX XReadDisplay available */
++#undef HAVE_IRIX_XREADDISPLAY])
++m4trace:configure.ac:84: -1- AH_OUTPUT([HAVE_FBPM], [/* FBPM extension build environment present */
++#undef HAVE_FBPM])
++m4trace:configure.ac:85: -1- AH_OUTPUT([HAVE_DPMS], [/* DPMS extension build environment present */
++#undef HAVE_DPMS])
++m4trace:configure.ac:86: -1- AH_OUTPUT([HAVE_LINUX_VIDEODEV_H], [/* video4linux build environment present */
++#undef HAVE_LINUX_VIDEODEV_H])
++m4trace:configure.ac:87: -1- AH_OUTPUT([HAVE_LINUX_FB_H], [/* linux fb device build environment present */
++#undef HAVE_LINUX_FB_H])
++m4trace:configure.ac:88: -1- AH_OUTPUT([HAVE_LINUX_INPUT_H], [/* linux/input.h present */
++#undef HAVE_LINUX_INPUT_H])
++m4trace:configure.ac:89: -1- AH_OUTPUT([HAVE_LINUX_UINPUT_H], [/* linux uinput device build environment present */
++#undef HAVE_LINUX_UINPUT_H])
++m4trace:configure.ac:90: -1- AH_OUTPUT([HAVE_MACOSX_NATIVE_DISPLAY], [/* build MacOS X native display support */
++#undef HAVE_MACOSX_NATIVE_DISPLAY])
++m4trace:configure.ac:125: -1- AC_DEFINE_TRACE_LITERAL([HAVE_X11])
++m4trace:configure.ac:125: -1- m4_pattern_allow([^HAVE_X11$])
++m4trace:configure.ac:133: -1- AC_DEFINE_TRACE_LITERAL([HAVE_XSHM])
++m4trace:configure.ac:133: -1- m4_pattern_allow([^HAVE_XSHM$])
++m4trace:configure.ac:137: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SOLARIS_XREADSCREEN])
++m4trace:configure.ac:137: -1- m4_pattern_allow([^HAVE_SOLARIS_XREADSCREEN$])
++m4trace:configure.ac:141: -1- AC_DEFINE_TRACE_LITERAL([HAVE_IRIX_XREADDISPLAY])
++m4trace:configure.ac:141: -1- m4_pattern_allow([^HAVE_IRIX_XREADDISPLAY$])
++m4trace:configure.ac:146: -1- AC_DEFINE_TRACE_LITERAL([HAVE_FBPM])
++m4trace:configure.ac:146: -1- m4_pattern_allow([^HAVE_FBPM$])
++m4trace:configure.ac:152: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DPMS])
++m4trace:configure.ac:152: -1- m4_pattern_allow([^HAVE_DPMS$])
++m4trace:configure.ac:157: -1- AC_DEFINE_TRACE_LITERAL([HAVE_XTESTGRABCONTROL])
++m4trace:configure.ac:157: -1- m4_pattern_allow([^HAVE_XTESTGRABCONTROL$])
++m4trace:configure.ac:162: -1- AC_DEFINE_TRACE_LITERAL([HAVE_XTEST])
++m4trace:configure.ac:162: -1- m4_pattern_allow([^HAVE_XTEST$])
++m4trace:configure.ac:168: -1- AC_DEFINE_TRACE_LITERAL([HAVE_RECORD])
++m4trace:configure.ac:168: -1- m4_pattern_allow([^HAVE_RECORD$])
++m4trace:configure.ac:177: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXTRAP])
++m4trace:configure.ac:177: -1- m4_pattern_allow([^HAVE_LIBXTRAP$])
++m4trace:configure.ac:182: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXTRAP])
++m4trace:configure.ac:182: -1- m4_pattern_allow([^HAVE_LIBXTRAP$])
++m4trace:configure.ac:196: -1- AC_DEFINE_TRACE_LITERAL([HAVE_XKEYBOARD])
++m4trace:configure.ac:196: -1- m4_pattern_allow([^HAVE_XKEYBOARD$])
++m4trace:configure.ac:203: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXINERAMA])
++m4trace:configure.ac:203: -1- m4_pattern_allow([^HAVE_LIBXINERAMA$])
++m4trace:configure.ac:210: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXRANDR])
++m4trace:configure.ac:210: -1- m4_pattern_allow([^HAVE_LIBXRANDR$])
++m4trace:configure.ac:217: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXFIXES])
++m4trace:configure.ac:217: -1- m4_pattern_allow([^HAVE_LIBXFIXES$])
++m4trace:configure.ac:224: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXDAMAGE])
++m4trace:configure.ac:224: -1- m4_pattern_allow([^HAVE_LIBXDAMAGE$])
++m4trace:configure.ac:242: -1- AC_SUBST([X_LIBS])
++m4trace:configure.ac:242: -1- AC_SUBST_TRACE([X_LIBS])
++m4trace:configure.ac:242: -1- m4_pattern_allow([^X_LIBS$])
++m4trace:configure.ac:243: -1- AM_CONDITIONAL([HAVE_X], [test $HAVE_X != "false"])
++m4trace:configure.ac:243: -1- AC_SUBST([HAVE_X_TRUE])
++m4trace:configure.ac:243: -1- AC_SUBST_TRACE([HAVE_X_TRUE])
++m4trace:configure.ac:243: -1- m4_pattern_allow([^HAVE_X_TRUE$])
++m4trace:configure.ac:243: -1- AC_SUBST([HAVE_X_FALSE])
++m4trace:configure.ac:243: -1- AC_SUBST_TRACE([HAVE_X_FALSE])
++m4trace:configure.ac:243: -1- m4_pattern_allow([^HAVE_X_FALSE$])
++m4trace:configure.ac:243: -1- _AM_SUBST_NOTMAKE([HAVE_X_TRUE])
++m4trace:configure.ac:243: -1- _AM_SUBST_NOTMAKE([HAVE_X_FALSE])
++m4trace:configure.ac:280: -1- AH_OUTPUT([HAVE_LIBCRYPT], [/* libcrypt library present */
++#undef HAVE_LIBCRYPT])
++m4trace:configure.ac:284: -1- AH_OUTPUT([HAVE_CRYPT], [/* Define to 1 if you have the `crypt\' function. */
++#undef HAVE_CRYPT])
++m4trace:configure.ac:286: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCRYPT])
++m4trace:configure.ac:286: -1- m4_pattern_allow([^HAVE_LIBCRYPT$])
++m4trace:configure.ac:291: -1- AC_SUBST([CRYPT_LIBS])
++m4trace:configure.ac:291: -1- AC_SUBST_TRACE([CRYPT_LIBS])
++m4trace:configure.ac:291: -1- m4_pattern_allow([^CRYPT_LIBS$])
++m4trace:configure.ac:294: -1- AH_OUTPUT([HAVE_LIBCRYPTO], [/* openssl libcrypto library present */
++#undef HAVE_LIBCRYPTO])
++m4trace:configure.ac:298: -1- AH_OUTPUT([HAVE_LIBSSL], [/* openssl libssl library present */
++#undef HAVE_LIBSSL])
++m4trace:configure.ac:303: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCRYPTO])
++m4trace:configure.ac:303: -1- m4_pattern_allow([^HAVE_LIBCRYPTO$])
++m4trace:configure.ac:309: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSSL])
++m4trace:configure.ac:309: -1- m4_pattern_allow([^HAVE_LIBSSL$])
++m4trace:configure.ac:314: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSSL])
++m4trace:configure.ac:314: -1- m4_pattern_allow([^HAVE_LIBSSL$])
++m4trace:configure.ac:319: -1- AC_SUBST([SSL_LIBS])
++m4trace:configure.ac:319: -1- AC_SUBST_TRACE([SSL_LIBS])
++m4trace:configure.ac:319: -1- m4_pattern_allow([^SSL_LIBS$])
++m4trace:configure.ac:333: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LINUX_VIDEODEV_H])
++m4trace:configure.ac:333: -1- m4_pattern_allow([^HAVE_LINUX_VIDEODEV_H$])
++m4trace:configure.ac:337: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LINUX_FB_H])
++m4trace:configure.ac:337: -1- m4_pattern_allow([^HAVE_LINUX_FB_H$])
++m4trace:configure.ac:341: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LINUX_INPUT_H])
++m4trace:configure.ac:341: -1- m4_pattern_allow([^HAVE_LINUX_INPUT_H$])
++m4trace:configure.ac:344: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LINUX_UINPUT_H])
++m4trace:configure.ac:344: -1- m4_pattern_allow([^HAVE_LINUX_UINPUT_H$])
++m4trace:configure.ac:350: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MACOSX_NATIVE_DISPLAY])
++m4trace:configure.ac:350: -1- m4_pattern_allow([^HAVE_MACOSX_NATIVE_DISPLAY$])
++m4trace:configure.ac:353: -1- AH_OUTPUT([HAVE_AVAHI], [/* Avahi/mDNS client build environment present */
++#undef HAVE_AVAHI])
++m4trace:configure.ac:375: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AVAHI])
++m4trace:configure.ac:375: -1- m4_pattern_allow([^HAVE_AVAHI$])
++m4trace:configure.ac:376: -1- AC_SUBST([AVAHI_CFLAGS])
++m4trace:configure.ac:376: -1- AC_SUBST_TRACE([AVAHI_CFLAGS])
++m4trace:configure.ac:376: -1- m4_pattern_allow([^AVAHI_CFLAGS$])
++m4trace:configure.ac:377: -1- AC_SUBST([AVAHI_LIBS])
++m4trace:configure.ac:377: -1- AC_SUBST_TRACE([AVAHI_LIBS])
++m4trace:configure.ac:377: -1- m4_pattern_allow([^AVAHI_LIBS$])
++m4trace:configure.ac:431: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYSTEM_LIBVNCSERVER])
++m4trace:configure.ac:431: -1- m4_pattern_allow([^HAVE_SYSTEM_LIBVNCSERVER$])
++m4trace:configure.ac:432: -1- AC_SUBST([SYSTEM_LIBVNCSERVER_CFLAGS])
++m4trace:configure.ac:432: -1- AC_SUBST_TRACE([SYSTEM_LIBVNCSERVER_CFLAGS])
++m4trace:configure.ac:432: -1- m4_pattern_allow([^SYSTEM_LIBVNCSERVER_CFLAGS$])
++m4trace:configure.ac:433: -1- AC_SUBST([SYSTEM_LIBVNCSERVER_LIBS])
++m4trace:configure.ac:433: -1- AC_SUBST_TRACE([SYSTEM_LIBVNCSERVER_LIBS])
++m4trace:configure.ac:433: -1- m4_pattern_allow([^SYSTEM_LIBVNCSERVER_LIBS$])
++m4trace:configure.ac:435: -1- AM_CONDITIONAL([HAVE_SYSTEM_LIBVNCSERVER], [test "x$with_system_libvncserver" = "xyes"])
++m4trace:configure.ac:435: -1- AC_SUBST([HAVE_SYSTEM_LIBVNCSERVER_TRUE])
++m4trace:configure.ac:435: -1- AC_SUBST_TRACE([HAVE_SYSTEM_LIBVNCSERVER_TRUE])
++m4trace:configure.ac:435: -1- m4_pattern_allow([^HAVE_SYSTEM_LIBVNCSERVER_TRUE$])
++m4trace:configure.ac:435: -1- AC_SUBST([HAVE_SYSTEM_LIBVNCSERVER_FALSE])
++m4trace:configure.ac:435: -1- AC_SUBST_TRACE([HAVE_SYSTEM_LIBVNCSERVER_FALSE])
++m4trace:configure.ac:435: -1- m4_pattern_allow([^HAVE_SYSTEM_LIBVNCSERVER_FALSE$])
++m4trace:configure.ac:435: -1- _AM_SUBST_NOTMAKE([HAVE_SYSTEM_LIBVNCSERVER_TRUE])
++m4trace:configure.ac:435: -1- _AM_SUBST_NOTMAKE([HAVE_SYSTEM_LIBVNCSERVER_FALSE])
++m4trace:configure.ac:466: -1- AH_OUTPUT([HAVE_LIBJPEG], [/* Define to 1 if you have the `jpeg\' library (-ljpeg). */
++#undef HAVE_LIBJPEG])
++m4trace:configure.ac:466: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBJPEG])
++m4trace:configure.ac:466: -1- m4_pattern_allow([^HAVE_LIBJPEG$])
++m4trace:configure.ac:512: -1- AH_OUTPUT([HAVE_LIBZ], [/* Define to 1 if you have the `z\' library (-lz). */
++#undef HAVE_LIBZ])
++m4trace:configure.ac:512: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBZ])
++m4trace:configure.ac:512: -1- m4_pattern_allow([^HAVE_LIBZ$])
++m4trace:configure.ac:541: -1- AH_OUTPUT([HAVE_LIBPTHREAD], [/* Define to 1 if you have the `pthread\' library (-lpthread). */
++#undef HAVE_LIBPTHREAD])
++m4trace:configure.ac:541: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBPTHREAD])
++m4trace:configure.ac:541: -1- m4_pattern_allow([^HAVE_LIBPTHREAD$])
++m4trace:configure.ac:545: -1- AM_CONDITIONAL([HAVE_LIBPTHREAD], [test ! -z "$HAVE_LIBPTHREAD"])
++m4trace:configure.ac:545: -1- AC_SUBST([HAVE_LIBPTHREAD_TRUE])
++m4trace:configure.ac:545: -1- AC_SUBST_TRACE([HAVE_LIBPTHREAD_TRUE])
++m4trace:configure.ac:545: -1- m4_pattern_allow([^HAVE_LIBPTHREAD_TRUE$])
++m4trace:configure.ac:545: -1- AC_SUBST([HAVE_LIBPTHREAD_FALSE])
++m4trace:configure.ac:545: -1- AC_SUBST_TRACE([HAVE_LIBPTHREAD_FALSE])
++m4trace:configure.ac:545: -1- m4_pattern_allow([^HAVE_LIBPTHREAD_FALSE$])
++m4trace:configure.ac:545: -1- _AM_SUBST_NOTMAKE([HAVE_LIBPTHREAD_TRUE])
++m4trace:configure.ac:545: -1- _AM_SUBST_NOTMAKE([HAVE_LIBPTHREAD_FALSE])
++m4trace:configure.ac:552: -1- AC_DEFINE_TRACE_LITERAL([WITH_TIGHTVNC_FILETRANSFER])
++m4trace:configure.ac:552: -1- m4_pattern_allow([^WITH_TIGHTVNC_FILETRANSFER$])
++m4trace:configure.ac:554: -1- AM_CONDITIONAL([WITH_TIGHTVNC_FILETRANSFER], [test "$with_tightvnc_filetransfer" = "yes"])
++m4trace:configure.ac:554: -1- AC_SUBST([WITH_TIGHTVNC_FILETRANSFER_TRUE])
++m4trace:configure.ac:554: -1- AC_SUBST_TRACE([WITH_TIGHTVNC_FILETRANSFER_TRUE])
++m4trace:configure.ac:554: -1- m4_pattern_allow([^WITH_TIGHTVNC_FILETRANSFER_TRUE$])
++m4trace:configure.ac:554: -1- AC_SUBST([WITH_TIGHTVNC_FILETRANSFER_FALSE])
++m4trace:configure.ac:554: -1- AC_SUBST_TRACE([WITH_TIGHTVNC_FILETRANSFER_FALSE])
++m4trace:configure.ac:554: -1- m4_pattern_allow([^WITH_TIGHTVNC_FILETRANSFER_FALSE$])
++m4trace:configure.ac:554: -1- _AM_SUBST_NOTMAKE([WITH_TIGHTVNC_FILETRANSFER_TRUE])
++m4trace:configure.ac:554: -1- _AM_SUBST_NOTMAKE([WITH_TIGHTVNC_FILETRANSFER_FALSE])
++m4trace:configure.ac:556: -1- AM_CONDITIONAL([HAVE_LIBZ], [test ! -z "$HAVE_ZLIB_H"])
++m4trace:configure.ac:556: -1- AC_SUBST([HAVE_LIBZ_TRUE])
++m4trace:configure.ac:556: -1- AC_SUBST_TRACE([HAVE_LIBZ_TRUE])
++m4trace:configure.ac:556: -1- m4_pattern_allow([^HAVE_LIBZ_TRUE$])
++m4trace:configure.ac:556: -1- AC_SUBST([HAVE_LIBZ_FALSE])
++m4trace:configure.ac:556: -1- AC_SUBST_TRACE([HAVE_LIBZ_FALSE])
++m4trace:configure.ac:556: -1- m4_pattern_allow([^HAVE_LIBZ_FALSE$])
++m4trace:configure.ac:556: -1- _AM_SUBST_NOTMAKE([HAVE_LIBZ_TRUE])
++m4trace:configure.ac:556: -1- _AM_SUBST_NOTMAKE([HAVE_LIBZ_FALSE])
++m4trace:configure.ac:557: -1- AM_CONDITIONAL([HAVE_LIBJPEG], [test ! -z "$HAVE_JPEGLIB_H"])
++m4trace:configure.ac:557: -1- AC_SUBST([HAVE_LIBJPEG_TRUE])
++m4trace:configure.ac:557: -1- AC_SUBST_TRACE([HAVE_LIBJPEG_TRUE])
++m4trace:configure.ac:557: -1- m4_pattern_allow([^HAVE_LIBJPEG_TRUE$])
++m4trace:configure.ac:557: -1- AC_SUBST([HAVE_LIBJPEG_FALSE])
++m4trace:configure.ac:557: -1- AC_SUBST_TRACE([HAVE_LIBJPEG_FALSE])
++m4trace:configure.ac:557: -1- m4_pattern_allow([^HAVE_LIBJPEG_FALSE$])
++m4trace:configure.ac:557: -1- _AM_SUBST_NOTMAKE([HAVE_LIBJPEG_TRUE])
++m4trace:configure.ac:557: -1- _AM_SUBST_NOTMAKE([HAVE_LIBJPEG_FALSE])
++m4trace:configure.ac:568: -1- AM_CONDITIONAL([HAVE_LIBSDL], [test "x$with_sdl" = "xyes"])
++m4trace:configure.ac:568: -1- AC_SUBST([HAVE_LIBSDL_TRUE])
++m4trace:configure.ac:568: -1- AC_SUBST_TRACE([HAVE_LIBSDL_TRUE])
++m4trace:configure.ac:568: -1- m4_pattern_allow([^HAVE_LIBSDL_TRUE$])
++m4trace:configure.ac:568: -1- AC_SUBST([HAVE_LIBSDL_FALSE])
++m4trace:configure.ac:568: -1- AC_SUBST_TRACE([HAVE_LIBSDL_FALSE])
++m4trace:configure.ac:568: -1- m4_pattern_allow([^HAVE_LIBSDL_FALSE$])
++m4trace:configure.ac:568: -1- _AM_SUBST_NOTMAKE([HAVE_LIBSDL_TRUE])
++m4trace:configure.ac:568: -1- _AM_SUBST_NOTMAKE([HAVE_LIBSDL_FALSE])
++m4trace:configure.ac:569: -1- AC_SUBST([SDL_CFLAGS])
++m4trace:configure.ac:569: -1- AC_SUBST_TRACE([SDL_CFLAGS])
++m4trace:configure.ac:569: -1- m4_pattern_allow([^SDL_CFLAGS$])
++m4trace:configure.ac:570: -1- AC_SUBST([SDL_LIBS])
++m4trace:configure.ac:570: -1- AC_SUBST_TRACE([SDL_LIBS])
++m4trace:configure.ac:570: -1- m4_pattern_allow([^SDL_LIBS$])
++m4trace:configure.ac:573: -1- AM_CONDITIONAL([MINGW], [test ! -z "$MINGW" ])
++m4trace:configure.ac:573: -1- AC_SUBST([MINGW_TRUE])
++m4trace:configure.ac:573: -1- AC_SUBST_TRACE([MINGW_TRUE])
++m4trace:configure.ac:573: -1- m4_pattern_allow([^MINGW_TRUE$])
++m4trace:configure.ac:573: -1- AC_SUBST([MINGW_FALSE])
++m4trace:configure.ac:573: -1- AC_SUBST_TRACE([MINGW_FALSE])
++m4trace:configure.ac:573: -1- m4_pattern_allow([^MINGW_FALSE$])
++m4trace:configure.ac:573: -1- _AM_SUBST_NOTMAKE([MINGW_TRUE])
++m4trace:configure.ac:573: -1- _AM_SUBST_NOTMAKE([MINGW_FALSE])
++m4trace:configure.ac:577: -1- AC_SUBST([WSOCKLIB])
++m4trace:configure.ac:577: -1- AC_SUBST_TRACE([WSOCKLIB])
++m4trace:configure.ac:577: -1- m4_pattern_allow([^WSOCKLIB$])
++m4trace:configure.ac:580: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
++m4trace:configure.ac:580: -1- m4_pattern_allow([^STDC_HEADERS$])
++m4trace:configure.ac:580: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
++#undef STDC_HEADERS])
++m4trace:configure.ac:581: -1- AH_OUTPUT([HAVE_ARPA_INET_H], [/* Define to 1 if you have the <arpa/inet.h> header file. */
++#undef HAVE_ARPA_INET_H])
++m4trace:configure.ac:581: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
++#undef HAVE_FCNTL_H])
++m4trace:configure.ac:581: -1- AH_OUTPUT([HAVE_NETDB_H], [/* Define to 1 if you have the <netdb.h> header file. */
++#undef HAVE_NETDB_H])
++m4trace:configure.ac:581: -1- AH_OUTPUT([HAVE_NETINET_IN_H], [/* Define to 1 if you have the <netinet/in.h> header file. */
++#undef HAVE_NETINET_IN_H])
++m4trace:configure.ac:581: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
++#undef HAVE_STDLIB_H])
++m4trace:configure.ac:581: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
++#undef HAVE_STRING_H])
++m4trace:configure.ac:581: -1- AH_OUTPUT([HAVE_SYS_SOCKET_H], [/* Define to 1 if you have the <sys/socket.h> header file. */
++#undef HAVE_SYS_SOCKET_H])
++m4trace:configure.ac:581: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
++#undef HAVE_SYS_TIME_H])
++m4trace:configure.ac:581: -1- AH_OUTPUT([HAVE_SYS_TIMEB_H], [/* Define to 1 if you have the <sys/timeb.h> header file. */
++#undef HAVE_SYS_TIMEB_H])
++m4trace:configure.ac:581: -1- AH_OUTPUT([HAVE_SYSLOG_H], [/* Define to 1 if you have the <syslog.h> header file. */
++#undef HAVE_SYSLOG_H])
++m4trace:configure.ac:581: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
++#undef HAVE_UNISTD_H])
++m4trace:configure.ac:585: -1- AH_OUTPUT([HAVE_PWD_H], [/* Define to 1 if you have the <pwd.h> header file. */
++#undef HAVE_PWD_H])
++m4trace:configure.ac:585: -1- AH_OUTPUT([HAVE_SYS_WAIT_H], [/* Define to 1 if you have the <sys/wait.h> header file. */
++#undef HAVE_SYS_WAIT_H])
++m4trace:configure.ac:585: -1- AH_OUTPUT([HAVE_UTMPX_H], [/* Define to 1 if you have the <utmpx.h> header file. */
++#undef HAVE_UTMPX_H])
++m4trace:configure.ac:585: -1- AH_OUTPUT([HAVE_TERMIOS_H], [/* Define to 1 if you have the <termios.h> header file. */
++#undef HAVE_TERMIOS_H])
++m4trace:configure.ac:585: -1- AH_OUTPUT([HAVE_SYS_IOCTL_H], [/* Define to 1 if you have the <sys/ioctl.h> header file. */
++#undef HAVE_SYS_IOCTL_H])
++m4trace:configure.ac:585: -1- AH_OUTPUT([HAVE_SYS_STROPTS_H], [/* Define to 1 if you have the <sys/stropts.h> header file. */
++#undef HAVE_SYS_STROPTS_H])
++m4trace:configure.ac:589: -1- AC_DEFINE_TRACE_LITERAL([const])
++m4trace:configure.ac:589: -1- m4_pattern_allow([^const$])
++m4trace:configure.ac:589: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */
++#undef const])
++m4trace:configure.ac:590: -1- AH_OUTPUT([inline], [/* Define to `__inline__\' or `__inline\' if that\'s what the C compiler
++ calls it, or to nothing if \'inline\' is not supported under any name. */
++#ifndef __cplusplus
++#undef inline
++#endif])
++m4trace:configure.ac:591: -1- AC_DEFINE_TRACE_LITERAL([WORDS_BIGENDIAN])
++m4trace:configure.ac:591: -1- m4_pattern_allow([^WORDS_BIGENDIAN$])
++m4trace:configure.ac:591: -1- AH_OUTPUT([WORDS_BIGENDIAN], [/* Define to 1 if your processor stores words with the most significant byte
++ first (like Motorola and SPARC, unlike Intel and VAX). */
++#undef WORDS_BIGENDIAN])
++m4trace:configure.ac:592: -1- AC_DEFINE_TRACE_LITERAL([size_t])
++m4trace:configure.ac:592: -1- m4_pattern_allow([^size_t$])
++m4trace:configure.ac:592: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
++#undef size_t])
++m4trace:configure.ac:593: -1- AC_DEFINE_TRACE_LITERAL([TIME_WITH_SYS_TIME])
++m4trace:configure.ac:593: -1- m4_pattern_allow([^TIME_WITH_SYS_TIME$])
++m4trace:configure.ac:593: -1- AH_OUTPUT([TIME_WITH_SYS_TIME], [/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
++#undef TIME_WITH_SYS_TIME])
++m4trace:configure.ac:594: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_WAIT_H])
++m4trace:configure.ac:594: -1- m4_pattern_allow([^HAVE_SYS_WAIT_H$])
++m4trace:configure.ac:594: -1- AH_OUTPUT([HAVE_SYS_WAIT_H], [/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
++#undef HAVE_SYS_WAIT_H])
++m4trace:configure.ac:595: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
++You should run autoupdate.], [../../lib/autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
++../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from...
++../../lib/autoconf/general.m4:1899: AC_CACHE_VAL is expanded from...
++../../lib/autoconf/general.m4:1912: AC_CACHE_CHECK is expanded from...
++acinclude.m4:2: AC_TYPE_SOCKLEN_T is expanded from...
++configure.ac:595: the top level])
++m4trace:configure.ac:595: -1- AC_DEFINE_TRACE_LITERAL([socklen_t])
++m4trace:configure.ac:595: -1- m4_pattern_allow([^socklen_t$])
++m4trace:configure.ac:600: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
++You should run autoupdate.], [../../lib/autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
++../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from...
++../../lib/autoconf/general.m4:1899: AC_CACHE_VAL is expanded from...
++acinclude.m4:20: AC_COMPILE_CHECK_SIZEOF is expanded from...
++acinclude.m4:49: AC_CREATE_STDINT_H is expanded from...
++configure.ac:600: the top level])
++m4trace:configure.ac:600: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR])
++m4trace:configure.ac:600: -1- m4_pattern_allow([^SIZEOF_CHAR$])
++m4trace:configure.ac:600: -1- AH_OUTPUT([SIZEOF_CHAR], [/* The number of bytes in type char */
++#undef SIZEOF_CHAR])
++m4trace:configure.ac:600: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
++You should run autoupdate.], [../../lib/autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
++../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from...
++../../lib/autoconf/general.m4:1899: AC_CACHE_VAL is expanded from...
++acinclude.m4:20: AC_COMPILE_CHECK_SIZEOF is expanded from...
++acinclude.m4:49: AC_CREATE_STDINT_H is expanded from...
++configure.ac:600: the top level])
++m4trace:configure.ac:600: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SHORT])
++m4trace:configure.ac:600: -1- m4_pattern_allow([^SIZEOF_SHORT$])
++m4trace:configure.ac:600: -1- AH_OUTPUT([SIZEOF_SHORT], [/* The number of bytes in type short */
++#undef SIZEOF_SHORT])
++m4trace:configure.ac:600: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
++You should run autoupdate.], [../../lib/autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
++../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from...
++../../lib/autoconf/general.m4:1899: AC_CACHE_VAL is expanded from...
++acinclude.m4:20: AC_COMPILE_CHECK_SIZEOF is expanded from...
++acinclude.m4:49: AC_CREATE_STDINT_H is expanded from...
++configure.ac:600: the top level])
++m4trace:configure.ac:600: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT])
++m4trace:configure.ac:600: -1- m4_pattern_allow([^SIZEOF_INT$])
++m4trace:configure.ac:600: -1- AH_OUTPUT([SIZEOF_INT], [/* The number of bytes in type int */
++#undef SIZEOF_INT])
++m4trace:configure.ac:600: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
++You should run autoupdate.], [../../lib/autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
++../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from...
++../../lib/autoconf/general.m4:1899: AC_CACHE_VAL is expanded from...
++acinclude.m4:20: AC_COMPILE_CHECK_SIZEOF is expanded from...
++acinclude.m4:49: AC_CREATE_STDINT_H is expanded from...
++configure.ac:600: the top level])
++m4trace:configure.ac:600: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG])
++m4trace:configure.ac:600: -1- m4_pattern_allow([^SIZEOF_LONG$])
++m4trace:configure.ac:600: -1- AH_OUTPUT([SIZEOF_LONG], [/* The number of bytes in type long */
++#undef SIZEOF_LONG])
++m4trace:configure.ac:600: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
++You should run autoupdate.], [../../lib/autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
++../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from...
++../../lib/autoconf/general.m4:1899: AC_CACHE_VAL is expanded from...
++acinclude.m4:20: AC_COMPILE_CHECK_SIZEOF is expanded from...
++acinclude.m4:49: AC_CREATE_STDINT_H is expanded from...
++configure.ac:600: the top level])
++m4trace:configure.ac:600: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_VOIDP])
++m4trace:configure.ac:600: -1- m4_pattern_allow([^SIZEOF_VOIDP$])
++m4trace:configure.ac:600: -1- AH_OUTPUT([SIZEOF_VOIDP], [/* The number of bytes in type void* */
++#undef SIZEOF_VOIDP])
++m4trace:configure.ac:601: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
++You should run autoupdate.], [../../lib/autoconf/general.m4:2368: AC_TRY_COMPILE is expanded from...
++../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from...
++../../lib/autoconf/general.m4:1899: AC_CACHE_VAL is expanded from...
++../../lib/autoconf/general.m4:1912: AC_CACHE_CHECK is expanded from...
++configure.ac:601: the top level])
++m4trace:configure.ac:609: -1- AH_OUTPUT([NEED_INADDR_T], [/* Need a typedef for in_addr_t */
++#undef NEED_INADDR_T])
++m4trace:configure.ac:611: -1- AC_DEFINE_TRACE_LITERAL([NEED_INADDR_T])
++m4trace:configure.ac:611: -1- m4_pattern_allow([^NEED_INADDR_T$])
++m4trace:configure.ac:615: -1- AC_LIBSOURCE([memcmp.c])
++m4trace:configure.ac:615: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS memcmp.$ac_objext"])
++m4trace:configure.ac:615: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
++m4trace:configure.ac:615: -1- m4_pattern_allow([^LIB@&t@OBJS$])
++m4trace:configure.ac:616: -1- AC_DEFINE_TRACE_LITERAL([LSTAT_FOLLOWS_SLASHED_SYMLINK])
++m4trace:configure.ac:616: -1- m4_pattern_allow([^LSTAT_FOLLOWS_SLASHED_SYMLINK$])
++m4trace:configure.ac:616: -1- AH_OUTPUT([LSTAT_FOLLOWS_SLASHED_SYMLINK], [/* Define to 1 if `lstat\' dereferences a symlink specified with a trailing
++ slash. */
++#undef LSTAT_FOLLOWS_SLASHED_SYMLINK])
++m4trace:configure.ac:616: -1- AC_LIBSOURCE([lstat.c])
++m4trace:configure.ac:616: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS lstat.$ac_objext"])
++m4trace:configure.ac:616: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
++m4trace:configure.ac:616: -1- m4_pattern_allow([^LIB@&t@OBJS$])
++m4trace:configure.ac:616: -1- AC_LIBSOURCE([stat.c])
++m4trace:configure.ac:616: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS stat.$ac_objext"])
++m4trace:configure.ac:616: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
++m4trace:configure.ac:616: -1- m4_pattern_allow([^LIB@&t@OBJS$])
++m4trace:configure.ac:616: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STAT_EMPTY_STRING_BUG])
++m4trace:configure.ac:616: -1- m4_pattern_allow([^HAVE_STAT_EMPTY_STRING_BUG$])
++m4trace:configure.ac:616: -1- AH_OUTPUT([HAVE_STAT_EMPTY_STRING_BUG], [/* Define to 1 if `stat\' has the bug that it succeeds when given the
++ zero-length file name argument. */
++#undef HAVE_STAT_EMPTY_STRING_BUG])
++m4trace:configure.ac:617: -1- AH_OUTPUT([HAVE_STRFTIME], [/* Define to 1 if you have the `strftime\' function. */
++#undef HAVE_STRFTIME])
++m4trace:configure.ac:617: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRFTIME])
++m4trace:configure.ac:617: -1- m4_pattern_allow([^HAVE_STRFTIME$])
++m4trace:configure.ac:618: -1- AH_OUTPUT([HAVE_VPRINTF], [/* Define to 1 if you have the `vprintf\' function. */
++#undef HAVE_VPRINTF])
++m4trace:configure.ac:618: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DOPRNT])
++m4trace:configure.ac:618: -1- m4_pattern_allow([^HAVE_DOPRNT$])
++m4trace:configure.ac:618: -1- AH_OUTPUT([HAVE_DOPRNT], [/* Define to 1 if you don\'t have `vprintf\' but do have `_doprnt.\' */
++#undef HAVE_DOPRNT])
++m4trace:configure.ac:619: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
++m4trace:configure.ac:619: -1- m4_pattern_allow([^pid_t$])
++m4trace:configure.ac:619: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
++#undef pid_t])
++m4trace:configure.ac:619: -1- AH_OUTPUT([HAVE_VFORK_H], [/* Define to 1 if you have the <vfork.h> header file. */
++#undef HAVE_VFORK_H])
++m4trace:configure.ac:619: -1- AH_OUTPUT([HAVE_FORK], [/* Define to 1 if you have the `fork\' function. */
++#undef HAVE_FORK])
++m4trace:configure.ac:619: -1- AH_OUTPUT([HAVE_VFORK], [/* Define to 1 if you have the `vfork\' function. */
++#undef HAVE_VFORK])
++m4trace:configure.ac:619: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WORKING_VFORK])
++m4trace:configure.ac:619: -1- m4_pattern_allow([^HAVE_WORKING_VFORK$])
++m4trace:configure.ac:619: -1- AH_OUTPUT([HAVE_WORKING_VFORK], [/* Define to 1 if `vfork\' works. */
++#undef HAVE_WORKING_VFORK])
++m4trace:configure.ac:619: -1- AC_DEFINE_TRACE_LITERAL([vfork])
++m4trace:configure.ac:619: -1- m4_pattern_allow([^vfork$])
++m4trace:configure.ac:619: -1- AH_OUTPUT([vfork], [/* Define as `fork\' if `vfork\' does not work. */
++#undef vfork])
++m4trace:configure.ac:619: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WORKING_FORK])
++m4trace:configure.ac:619: -1- m4_pattern_allow([^HAVE_WORKING_FORK$])
++m4trace:configure.ac:619: -1- AH_OUTPUT([HAVE_WORKING_FORK], [/* Define to 1 if `fork\' works. */
++#undef HAVE_WORKING_FORK])
++m4trace:configure.ac:620: -1- AH_OUTPUT([HAVE_LIBNSL], [/* Define to 1 if you have the `nsl\' library (-lnsl). */
++#undef HAVE_LIBNSL])
++m4trace:configure.ac:620: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBNSL])
++m4trace:configure.ac:620: -1- m4_pattern_allow([^HAVE_LIBNSL$])
++m4trace:configure.ac:621: -1- AH_OUTPUT([HAVE_LIBSOCKET], [/* Define to 1 if you have the `socket\' library (-lsocket). */
++#undef HAVE_LIBSOCKET])
++m4trace:configure.ac:621: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSOCKET])
++m4trace:configure.ac:621: -1- m4_pattern_allow([^HAVE_LIBSOCKET$])
++m4trace:configure.ac:629: -1- AH_OUTPUT([HAVE_FTIME], [/* Define to 1 if you have the `ftime\' function. */
++#undef HAVE_FTIME])
++m4trace:configure.ac:629: -1- AH_OUTPUT([HAVE_GETHOSTBYNAME], [/* Define to 1 if you have the `gethostbyname\' function. */
++#undef HAVE_GETHOSTBYNAME])
++m4trace:configure.ac:629: -1- AH_OUTPUT([HAVE_GETHOSTNAME], [/* Define to 1 if you have the `gethostname\' function. */
++#undef HAVE_GETHOSTNAME])
++m4trace:configure.ac:629: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have the `gettimeofday\' function. */
++#undef HAVE_GETTIMEOFDAY])
++m4trace:configure.ac:629: -1- AH_OUTPUT([HAVE_INET_NTOA], [/* Define to 1 if you have the `inet_ntoa\' function. */
++#undef HAVE_INET_NTOA])
++m4trace:configure.ac:629: -1- AH_OUTPUT([HAVE_MEMMOVE], [/* Define to 1 if you have the `memmove\' function. */
++#undef HAVE_MEMMOVE])
++m4trace:configure.ac:629: -1- AH_OUTPUT([HAVE_MEMSET], [/* Define to 1 if you have the `memset\' function. */
++#undef HAVE_MEMSET])
++m4trace:configure.ac:629: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have the `mmap\' function. */
++#undef HAVE_MMAP])
++m4trace:configure.ac:629: -1- AH_OUTPUT([HAVE_MKFIFO], [/* Define to 1 if you have the `mkfifo\' function. */
++#undef HAVE_MKFIFO])
++m4trace:configure.ac:629: -1- AH_OUTPUT([HAVE_SELECT], [/* Define to 1 if you have the `select\' function. */
++#undef HAVE_SELECT])
++m4trace:configure.ac:629: -1- AH_OUTPUT([HAVE_SOCKET], [/* Define to 1 if you have the `socket\' function. */
++#undef HAVE_SOCKET])
++m4trace:configure.ac:629: -1- AH_OUTPUT([HAVE_STRCHR], [/* Define to 1 if you have the `strchr\' function. */
++#undef HAVE_STRCHR])
++m4trace:configure.ac:629: -1- AH_OUTPUT([HAVE_STRCSPN], [/* Define to 1 if you have the `strcspn\' function. */
++#undef HAVE_STRCSPN])
++m4trace:configure.ac:629: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
++#undef HAVE_STRDUP])
++m4trace:configure.ac:629: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
++#undef HAVE_STRERROR])
++m4trace:configure.ac:629: -1- AH_OUTPUT([HAVE_STRSTR], [/* Define to 1 if you have the `strstr\' function. */
++#undef HAVE_STRSTR])
++m4trace:configure.ac:632: -1- AH_OUTPUT([HAVE_SETSID], [/* Define to 1 if you have the `setsid\' function. */
++#undef HAVE_SETSID])
++m4trace:configure.ac:632: -1- AH_OUTPUT([HAVE_SETPGRP], [/* Define to 1 if you have the `setpgrp\' function. */
++#undef HAVE_SETPGRP])
++m4trace:configure.ac:632: -1- AH_OUTPUT([HAVE_GETPWUID], [/* Define to 1 if you have the `getpwuid\' function. */
++#undef HAVE_GETPWUID])
++m4trace:configure.ac:632: -1- AH_OUTPUT([HAVE_GETPWNAM], [/* Define to 1 if you have the `getpwnam\' function. */
++#undef HAVE_GETPWNAM])
++m4trace:configure.ac:632: -1- AH_OUTPUT([HAVE_GETSPNAM], [/* Define to 1 if you have the `getspnam\' function. */
++#undef HAVE_GETSPNAM])
++m4trace:configure.ac:632: -1- AH_OUTPUT([HAVE_GETUID], [/* Define to 1 if you have the `getuid\' function. */
++#undef HAVE_GETUID])
++m4trace:configure.ac:632: -1- AH_OUTPUT([HAVE_GETEUID], [/* Define to 1 if you have the `geteuid\' function. */
++#undef HAVE_GETEUID])
++m4trace:configure.ac:632: -1- AH_OUTPUT([HAVE_SETUID], [/* Define to 1 if you have the `setuid\' function. */
++#undef HAVE_SETUID])
++m4trace:configure.ac:632: -1- AH_OUTPUT([HAVE_SETGID], [/* Define to 1 if you have the `setgid\' function. */
++#undef HAVE_SETGID])
++m4trace:configure.ac:632: -1- AH_OUTPUT([HAVE_SETEUID], [/* Define to 1 if you have the `seteuid\' function. */
++#undef HAVE_SETEUID])
++m4trace:configure.ac:632: -1- AH_OUTPUT([HAVE_SETEGID], [/* Define to 1 if you have the `setegid\' function. */
++#undef HAVE_SETEGID])
++m4trace:configure.ac:632: -1- AH_OUTPUT([HAVE_INITGROUPS], [/* Define to 1 if you have the `initgroups\' function. */
++#undef HAVE_INITGROUPS])
++m4trace:configure.ac:632: -1- AH_OUTPUT([HAVE_WAITPID], [/* Define to 1 if you have the `waitpid\' function. */
++#undef HAVE_WAITPID])
++m4trace:configure.ac:632: -1- AH_OUTPUT([HAVE_SETUTXENT], [/* Define to 1 if you have the `setutxent\' function. */
++#undef HAVE_SETUTXENT])
++m4trace:configure.ac:632: -1- AH_OUTPUT([HAVE_GRANTPT], [/* Define to 1 if you have the `grantpt\' function. */
++#undef HAVE_GRANTPT])
++m4trace:configure.ac:636: -1- AH_OUTPUT([HAVE_LIBCYGIPC], [/* Define to 1 if you have the `cygipc\' library (-lcygipc). */
++#undef HAVE_LIBCYGIPC])
++m4trace:configure.ac:636: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCYGIPC])
++m4trace:configure.ac:636: -1- m4_pattern_allow([^HAVE_LIBCYGIPC$])
++m4trace:configure.ac:637: -1- AM_CONDITIONAL([CYGIPC], [test "$HAVE_CYGIPC" = "true"])
++m4trace:configure.ac:637: -1- AC_SUBST([CYGIPC_TRUE])
++m4trace:configure.ac:637: -1- AC_SUBST_TRACE([CYGIPC_TRUE])
++m4trace:configure.ac:637: -1- m4_pattern_allow([^CYGIPC_TRUE$])
++m4trace:configure.ac:637: -1- AC_SUBST([CYGIPC_FALSE])
++m4trace:configure.ac:637: -1- AC_SUBST_TRACE([CYGIPC_FALSE])
++m4trace:configure.ac:637: -1- m4_pattern_allow([^CYGIPC_FALSE$])
++m4trace:configure.ac:637: -1- _AM_SUBST_NOTMAKE([CYGIPC_TRUE])
++m4trace:configure.ac:637: -1- _AM_SUBST_NOTMAKE([CYGIPC_FALSE])
++m4trace:configure.ac:640: -1- AM_CONDITIONAL([LINUX], [test -c /dev/vcsa1])
++m4trace:configure.ac:640: -1- AC_SUBST([LINUX_TRUE])
++m4trace:configure.ac:640: -1- AC_SUBST_TRACE([LINUX_TRUE])
++m4trace:configure.ac:640: -1- m4_pattern_allow([^LINUX_TRUE$])
++m4trace:configure.ac:640: -1- AC_SUBST([LINUX_FALSE])
++m4trace:configure.ac:640: -1- AC_SUBST_TRACE([LINUX_FALSE])
++m4trace:configure.ac:640: -1- m4_pattern_allow([^LINUX_FALSE$])
++m4trace:configure.ac:640: -1- _AM_SUBST_NOTMAKE([LINUX_TRUE])
++m4trace:configure.ac:640: -1- _AM_SUBST_NOTMAKE([LINUX_FALSE])
++m4trace:configure.ac:644: -1- AM_CONDITIONAL([OSX], [test "$HAVE_OSX" = "true"])
++m4trace:configure.ac:644: -1- AC_SUBST([OSX_TRUE])
++m4trace:configure.ac:644: -1- AC_SUBST_TRACE([OSX_TRUE])
++m4trace:configure.ac:644: -1- m4_pattern_allow([^OSX_TRUE$])
++m4trace:configure.ac:644: -1- AC_SUBST([OSX_FALSE])
++m4trace:configure.ac:644: -1- AC_SUBST_TRACE([OSX_FALSE])
++m4trace:configure.ac:644: -1- m4_pattern_allow([^OSX_FALSE$])
++m4trace:configure.ac:644: -1- _AM_SUBST_NOTMAKE([OSX_TRUE])
++m4trace:configure.ac:644: -1- _AM_SUBST_NOTMAKE([OSX_FALSE])
++m4trace:configure.ac:647: -1- AH_OUTPUT([ENOENT_WORKAROUND], [/* work around when write() returns ENOENT but does not mean it */
++#undef ENOENT_WORKAROUND])
++m4trace:configure.ac:650: -1- AC_DEFINE_TRACE_LITERAL([ENOENT_WORKAROUND])
++m4trace:configure.ac:650: -1- m4_pattern_allow([^ENOENT_WORKAROUND$])
++m4trace:configure.ac:663: -1- AM_CONDITIONAL([HAVE_RPM], [test "$RPMSOURCEDIR" != "NOT-FOUND"])
++m4trace:configure.ac:663: -1- AC_SUBST([HAVE_RPM_TRUE])
++m4trace:configure.ac:663: -1- AC_SUBST_TRACE([HAVE_RPM_TRUE])
++m4trace:configure.ac:663: -1- m4_pattern_allow([^HAVE_RPM_TRUE$])
++m4trace:configure.ac:663: -1- AC_SUBST([HAVE_RPM_FALSE])
++m4trace:configure.ac:663: -1- AC_SUBST_TRACE([HAVE_RPM_FALSE])
++m4trace:configure.ac:663: -1- m4_pattern_allow([^HAVE_RPM_FALSE$])
++m4trace:configure.ac:663: -1- _AM_SUBST_NOTMAKE([HAVE_RPM_TRUE])
++m4trace:configure.ac:663: -1- _AM_SUBST_NOTMAKE([HAVE_RPM_FALSE])
++m4trace:configure.ac:664: -1- AC_SUBST([RPMSOURCEDIR])
++m4trace:configure.ac:664: -1- AC_SUBST_TRACE([RPMSOURCEDIR])
++m4trace:configure.ac:664: -1- m4_pattern_allow([^RPMSOURCEDIR$])
++m4trace:configure.ac:666: -1- AC_CONFIG_FILES([Makefile
++ libvncserver/Makefile
++ contrib/Makefile
++ examples/Makefile
++ vncterm/Makefile
++ classes/Makefile
++ classes/ssl/Makefile
++ libvncclient/Makefile
++ client_examples/Makefile
++ test/Makefile
++ libvncserver-config
++ LibVNCServer.spec])
++m4trace:configure.ac:684: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
++m4trace:configure.ac:684: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
++m4trace:configure.ac:684: -1- m4_pattern_allow([^LIB@&t@OBJS$])
++m4trace:configure.ac:684: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
++m4trace:configure.ac:684: -1- AC_SUBST_TRACE([LTLIBOBJS])
++m4trace:configure.ac:684: -1- m4_pattern_allow([^LTLIBOBJS$])
++m4trace:configure.ac:684: -1- AC_SUBST_TRACE([top_builddir])
++m4trace:configure.ac:684: -1- AC_SUBST_TRACE([srcdir])
++m4trace:configure.ac:684: -1- AC_SUBST_TRACE([abs_srcdir])
++m4trace:configure.ac:684: -1- AC_SUBST_TRACE([top_srcdir])
++m4trace:configure.ac:684: -1- AC_SUBST_TRACE([abs_top_srcdir])
++m4trace:configure.ac:684: -1- AC_SUBST_TRACE([builddir])
++m4trace:configure.ac:684: -1- AC_SUBST_TRACE([abs_builddir])
++m4trace:configure.ac:684: -1- AC_SUBST_TRACE([abs_top_builddir])
++m4trace:configure.ac:684: -1- AC_SUBST_TRACE([INSTALL])
++m4trace:configure.ac:684: -1- AC_SUBST_TRACE([MKDIR_P])
++m4trace:configure.ac:684: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])
+diff -Nur LibVNCServer-0.9.1.orig/classes/Makefile.in LibVNCServer-0.9.1/classes/Makefile.in
+--- LibVNCServer-0.9.1.orig/classes/Makefile.in 2008-10-31 18:44:00.000000000 -0200
++++ LibVNCServer-0.9.1/classes/Makefile.in 2008-10-31 18:46:26.000000000 -0200
+@@ -1,8 +1,8 @@
+-# Makefile.in generated by automake 1.9.5 from Makefile.am.
++# Makefile.in generated by automake 1.10 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005 Free Software Foundation, Inc.
++# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -13,15 +13,11 @@
+ # PARTICULAR PURPOSE.
+
+ @SET_MAKE@
+-srcdir = @srcdir@
+-top_srcdir = @top_srcdir@
+ VPATH = @srcdir@
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+-top_builddir = ..
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+-INSTALL = @INSTALL@
+ install_sh_DATA = $(install_sh) -c -m 644
+ install_sh_PROGRAM = $(install_sh) -c
+ install_sh_SCRIPT = $(install_sh) -c
+@@ -49,16 +45,17 @@
+ DIST_SOURCES =
+ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+- install-exec-recursive install-info-recursive \
+- install-recursive installcheck-recursive installdirs-recursive \
+- pdf-recursive ps-recursive uninstall-info-recursive \
+- uninstall-recursive
++ install-dvi-recursive install-exec-recursive \
++ install-html-recursive install-info-recursive \
++ install-pdf-recursive install-ps-recursive install-recursive \
++ installcheck-recursive installdirs-recursive pdf-recursive \
++ ps-recursive uninstall-recursive
++RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
++ distclean-recursive maintainer-clean-recursive
+ ETAGS = etags
+ CTAGS = ctags
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ ACLOCAL = @ACLOCAL@
+-AMDEP_FALSE = @AMDEP_FALSE@
+-AMDEP_TRUE = @AMDEP_TRUE@
+ AMTAR = @AMTAR@
+ AR = @AR@
+ AUTOCONF = @AUTOCONF@
+@@ -73,57 +70,38 @@
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CRYPT_LIBS = @CRYPT_LIBS@
+-CXX = @CXX@
+-CXXCPP = @CXXCPP@
+-CXXDEPMODE = @CXXDEPMODE@
+-CXXFLAGS = @CXXFLAGS@
+-CYGIPC_FALSE = @CYGIPC_FALSE@
+-CYGIPC_TRUE = @CYGIPC_TRUE@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
+-ECHO = @ECHO@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
+-F77 = @F77@
+-FFLAGS = @FFLAGS@
+-HAVE_LIBJPEG_FALSE = @HAVE_LIBJPEG_FALSE@
+-HAVE_LIBJPEG_TRUE = @HAVE_LIBJPEG_TRUE@
+-HAVE_LIBPTHREAD_FALSE = @HAVE_LIBPTHREAD_FALSE@
+-HAVE_LIBPTHREAD_TRUE = @HAVE_LIBPTHREAD_TRUE@
+-HAVE_LIBSDL_FALSE = @HAVE_LIBSDL_FALSE@
+-HAVE_LIBSDL_TRUE = @HAVE_LIBSDL_TRUE@
+-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
+-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
+-HAVE_MP3LAME_FALSE = @HAVE_MP3LAME_FALSE@
+-HAVE_MP3LAME_TRUE = @HAVE_MP3LAME_TRUE@
+-HAVE_RPM_FALSE = @HAVE_RPM_FALSE@
+-HAVE_RPM_TRUE = @HAVE_RPM_TRUE@
+-HAVE_SYSTEM_LIBVNCSERVER_FALSE = @HAVE_SYSTEM_LIBVNCSERVER_FALSE@
+-HAVE_SYSTEM_LIBVNCSERVER_TRUE = @HAVE_SYSTEM_LIBVNCSERVER_TRUE@
+-HAVE_X_FALSE = @HAVE_X_FALSE@
+-HAVE_X_TRUE = @HAVE_X_TRUE@
++FGREP = @FGREP@
++GREP = @GREP@
++INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LD = @LD@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBTOOL = @LIBTOOL@
+-LINUX_FALSE = @LINUX_FALSE@
+-LINUX_TRUE = @LINUX_TRUE@
++LIPO = @LIPO@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
+-MINGW_FALSE = @MINGW_FALSE@
+-MINGW_TRUE = @MINGW_TRUE@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
+ OBJEXT = @OBJEXT@
+-OSX_FALSE = @OSX_FALSE@
+-OSX_TRUE = @OSX_TRUE@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
+ PACKAGE = @PACKAGE@
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+@@ -135,6 +113,7 @@
+ RPMSOURCEDIR = @RPMSOURCEDIR@
+ SDL_CFLAGS = @SDL_CFLAGS@
+ SDL_LIBS = @SDL_LIBS@
++SED = @SED@
+ SET_MAKE = @SET_MAKE@
+ SHELL = @SHELL@
+ SSL_LIBS = @SSL_LIBS@
+@@ -142,25 +121,17 @@
+ SYSTEM_LIBVNCSERVER_CFLAGS = @SYSTEM_LIBVNCSERVER_CFLAGS@
+ SYSTEM_LIBVNCSERVER_LIBS = @SYSTEM_LIBVNCSERVER_LIBS@
+ VERSION = @VERSION@
+-WITH_FFMPEG_FALSE = @WITH_FFMPEG_FALSE@
+-WITH_FFMPEG_TRUE = @WITH_FFMPEG_TRUE@
+-WITH_TIGHTVNC_FILETRANSFER_FALSE = @WITH_TIGHTVNC_FILETRANSFER_FALSE@
+-WITH_TIGHTVNC_FILETRANSFER_TRUE = @WITH_TIGHTVNC_FILETRANSFER_TRUE@
+ WSOCKLIB = @WSOCKLIB@
+ X_CFLAGS = @X_CFLAGS@
+ X_EXTRA_LIBS = @X_EXTRA_LIBS@
+ X_LIBS = @X_LIBS@
+ X_PRE_LIBS = @X_PRE_LIBS@
+-ac_ct_AR = @ac_ct_AR@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
+ ac_ct_CC = @ac_ct_CC@
+-ac_ct_CXX = @ac_ct_CXX@
+-ac_ct_F77 = @ac_ct_F77@
+-ac_ct_RANLIB = @ac_ct_RANLIB@
+-ac_ct_STRIP = @ac_ct_STRIP@
+-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+@@ -172,28 +143,40 @@
+ build_cpu = @build_cpu@
+ build_os = @build_os@
+ build_vendor = @build_vendor@
++builddir = @builddir@
+ datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
+ exec_prefix = @exec_prefix@
+ host = @host@
+ host_alias = @host_alias@
+ host_cpu = @host_cpu@
+ host_os = @host_os@
+ host_vendor = @host_vendor@
++htmldir = @htmldir@
+ includedir = @includedir@
+ infodir = @infodir@
+ install_sh = @install_sh@
+ libdir = @libdir@
+ libexecdir = @libexecdir@
++localedir = @localedir@
+ localstatedir = @localstatedir@
++lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
+ prefix = @prefix@
+ program_transform_name = @program_transform_name@
++psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
+ with_ffmpeg = @with_ffmpeg@
+ EXTRA_DIST = VncViewer.jar index.vnc javaviewer.pseudo_proxy.patch
+ SUBDIRS = ssl
+@@ -210,9 +193,9 @@
+ exit 1;; \
+ esac; \
+ done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu classes/Makefile'; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign classes/Makefile'; \
+ cd $(top_srcdir) && \
+- $(AUTOMAKE) --gnu classes/Makefile
++ $(AUTOMAKE) --foreign classes/Makefile
+ .PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+@@ -237,10 +220,6 @@
+ clean-libtool:
+ -rm -rf .libs _libs
+
+-distclean-libtool:
+- -rm -f libtool
+-uninstall-info-am:
+-
+ # This directory's subdirectories are mostly independent; you can cd
+ # into them and run `make' without going through this Makefile.
+ # To change the values of `make' variables: instead of editing Makefiles,
+@@ -272,8 +251,7 @@
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+-mostlyclean-recursive clean-recursive distclean-recursive \
+-maintainer-clean-recursive:
++$(RECURSIVE_CLEAN_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+@@ -374,22 +352,21 @@
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+ distdir: $(DISTFILES)
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ list='$(DISTFILES)'; \
++ dist_files=`for file in $$list; do echo $$file; done | \
++ sed -e "s|^$$srcdirstrip/||;t" \
++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
++ case $$dist_files in \
++ */*) $(MKDIR_P) `echo "$$dist_files" | \
++ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
++ sort -u` ;; \
++ esac; \
++ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+ if test -d $$d/$$file; then \
++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+@@ -403,7 +380,7 @@
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+- || $(mkdir_p) "$(distdir)/$$subdir" \
++ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+@@ -411,6 +388,8 @@
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
++ am__remove_distdir=: \
++ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+@@ -450,8 +429,7 @@
+
+ distclean: distclean-recursive
+ -rm -f Makefile
+-distclean-am: clean-am distclean-generic distclean-libtool \
+- distclean-tags
++distclean-am: clean-am distclean-generic distclean-tags
+
+ dvi: dvi-recursive
+
+@@ -465,12 +443,20 @@
+
+ install-data-am:
+
++install-dvi: install-dvi-recursive
++
+ install-exec-am:
+
++install-html: install-html-recursive
++
+ install-info: install-info-recursive
+
+ install-man:
+
++install-pdf: install-pdf-recursive
++
++install-ps: install-ps-recursive
++
+ installcheck-am:
+
+ maintainer-clean: maintainer-clean-recursive
+@@ -489,22 +475,24 @@
+
+ ps-am:
+
+-uninstall-am: uninstall-info-am
++uninstall-am:
+
+-uninstall-info: uninstall-info-recursive
++.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
++ install-strip
+
+-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
+- clean clean-generic clean-libtool clean-recursive ctags \
+- ctags-recursive distclean distclean-generic distclean-libtool \
+- distclean-recursive distclean-tags distdir dvi dvi-am html \
++.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
++ all all-am check check-am clean clean-generic clean-libtool \
++ ctags ctags-recursive distclean distclean-generic \
++ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+- install-data-am install-exec install-exec-am install-info \
+- install-info-am install-man install-strip installcheck \
++ install-data-am install-dvi install-dvi-am install-exec \
++ install-exec-am install-html install-html-am install-info \
++ install-info-am install-man install-pdf install-pdf-am \
++ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+- maintainer-clean-generic maintainer-clean-recursive \
+- mostlyclean mostlyclean-generic mostlyclean-libtool \
+- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
+- uninstall uninstall-am uninstall-info-am
++ maintainer-clean-generic mostlyclean mostlyclean-generic \
++ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
++ uninstall uninstall-am
+
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+diff -Nur LibVNCServer-0.9.1.orig/classes/ssl/Makefile.in LibVNCServer-0.9.1/classes/ssl/Makefile.in
+--- LibVNCServer-0.9.1.orig/classes/ssl/Makefile.in 2008-10-31 18:44:00.000000000 -0200
++++ LibVNCServer-0.9.1/classes/ssl/Makefile.in 2008-10-31 18:46:26.000000000 -0200
+@@ -1,8 +1,8 @@
+-# Makefile.in generated by automake 1.9.5 from Makefile.am.
++# Makefile.in generated by automake 1.10 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005 Free Software Foundation, Inc.
++# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -13,15 +13,11 @@
+ # PARTICULAR PURPOSE.
+
+ @SET_MAKE@
+-srcdir = @srcdir@
+-top_srcdir = @top_srcdir@
+ VPATH = @srcdir@
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+-top_builddir = ../..
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+-INSTALL = @INSTALL@
+ install_sh_DATA = $(install_sh) -c -m 644
+ install_sh_PROGRAM = $(install_sh) -c
+ install_sh_SCRIPT = $(install_sh) -c
+@@ -49,8 +45,6 @@
+ DIST_SOURCES =
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ ACLOCAL = @ACLOCAL@
+-AMDEP_FALSE = @AMDEP_FALSE@
+-AMDEP_TRUE = @AMDEP_TRUE@
+ AMTAR = @AMTAR@
+ AR = @AR@
+ AUTOCONF = @AUTOCONF@
+@@ -65,57 +59,38 @@
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CRYPT_LIBS = @CRYPT_LIBS@
+-CXX = @CXX@
+-CXXCPP = @CXXCPP@
+-CXXDEPMODE = @CXXDEPMODE@
+-CXXFLAGS = @CXXFLAGS@
+-CYGIPC_FALSE = @CYGIPC_FALSE@
+-CYGIPC_TRUE = @CYGIPC_TRUE@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
+-ECHO = @ECHO@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
+-F77 = @F77@
+-FFLAGS = @FFLAGS@
+-HAVE_LIBJPEG_FALSE = @HAVE_LIBJPEG_FALSE@
+-HAVE_LIBJPEG_TRUE = @HAVE_LIBJPEG_TRUE@
+-HAVE_LIBPTHREAD_FALSE = @HAVE_LIBPTHREAD_FALSE@
+-HAVE_LIBPTHREAD_TRUE = @HAVE_LIBPTHREAD_TRUE@
+-HAVE_LIBSDL_FALSE = @HAVE_LIBSDL_FALSE@
+-HAVE_LIBSDL_TRUE = @HAVE_LIBSDL_TRUE@
+-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
+-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
+-HAVE_MP3LAME_FALSE = @HAVE_MP3LAME_FALSE@
+-HAVE_MP3LAME_TRUE = @HAVE_MP3LAME_TRUE@
+-HAVE_RPM_FALSE = @HAVE_RPM_FALSE@
+-HAVE_RPM_TRUE = @HAVE_RPM_TRUE@
+-HAVE_SYSTEM_LIBVNCSERVER_FALSE = @HAVE_SYSTEM_LIBVNCSERVER_FALSE@
+-HAVE_SYSTEM_LIBVNCSERVER_TRUE = @HAVE_SYSTEM_LIBVNCSERVER_TRUE@
+-HAVE_X_FALSE = @HAVE_X_FALSE@
+-HAVE_X_TRUE = @HAVE_X_TRUE@
++FGREP = @FGREP@
++GREP = @GREP@
++INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LD = @LD@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBTOOL = @LIBTOOL@
+-LINUX_FALSE = @LINUX_FALSE@
+-LINUX_TRUE = @LINUX_TRUE@
++LIPO = @LIPO@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
+-MINGW_FALSE = @MINGW_FALSE@
+-MINGW_TRUE = @MINGW_TRUE@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
+ OBJEXT = @OBJEXT@
+-OSX_FALSE = @OSX_FALSE@
+-OSX_TRUE = @OSX_TRUE@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
+ PACKAGE = @PACKAGE@
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+@@ -127,6 +102,7 @@
+ RPMSOURCEDIR = @RPMSOURCEDIR@
+ SDL_CFLAGS = @SDL_CFLAGS@
+ SDL_LIBS = @SDL_LIBS@
++SED = @SED@
+ SET_MAKE = @SET_MAKE@
+ SHELL = @SHELL@
+ SSL_LIBS = @SSL_LIBS@
+@@ -134,25 +110,17 @@
+ SYSTEM_LIBVNCSERVER_CFLAGS = @SYSTEM_LIBVNCSERVER_CFLAGS@
+ SYSTEM_LIBVNCSERVER_LIBS = @SYSTEM_LIBVNCSERVER_LIBS@
+ VERSION = @VERSION@
+-WITH_FFMPEG_FALSE = @WITH_FFMPEG_FALSE@
+-WITH_FFMPEG_TRUE = @WITH_FFMPEG_TRUE@
+-WITH_TIGHTVNC_FILETRANSFER_FALSE = @WITH_TIGHTVNC_FILETRANSFER_FALSE@
+-WITH_TIGHTVNC_FILETRANSFER_TRUE = @WITH_TIGHTVNC_FILETRANSFER_TRUE@
+ WSOCKLIB = @WSOCKLIB@
+ X_CFLAGS = @X_CFLAGS@
+ X_EXTRA_LIBS = @X_EXTRA_LIBS@
+ X_LIBS = @X_LIBS@
+ X_PRE_LIBS = @X_PRE_LIBS@
+-ac_ct_AR = @ac_ct_AR@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
+ ac_ct_CC = @ac_ct_CC@
+-ac_ct_CXX = @ac_ct_CXX@
+-ac_ct_F77 = @ac_ct_F77@
+-ac_ct_RANLIB = @ac_ct_RANLIB@
+-ac_ct_STRIP = @ac_ct_STRIP@
+-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+@@ -164,28 +132,40 @@
+ build_cpu = @build_cpu@
+ build_os = @build_os@
+ build_vendor = @build_vendor@
++builddir = @builddir@
+ datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
+ exec_prefix = @exec_prefix@
+ host = @host@
+ host_alias = @host_alias@
+ host_cpu = @host_cpu@
+ host_os = @host_os@
+ host_vendor = @host_vendor@
++htmldir = @htmldir@
+ includedir = @includedir@
+ infodir = @infodir@
+ install_sh = @install_sh@
+ libdir = @libdir@
+ libexecdir = @libexecdir@
++localedir = @localedir@
+ localstatedir = @localstatedir@
++lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
+ prefix = @prefix@
+ program_transform_name = @program_transform_name@
++psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
+ with_ffmpeg = @with_ffmpeg@
+ EXTRA_DIST = VncViewer.jar index.vnc SignedVncViewer.jar proxy.vnc README ss_vncviewer onetimekey UltraViewerSSL.jar SignedUltraViewerSSL.jar ultra.vnc ultrasigned.vnc
+ all: all-am
+@@ -200,9 +180,9 @@
+ exit 1;; \
+ esac; \
+ done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu classes/ssl/Makefile'; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign classes/ssl/Makefile'; \
+ cd $(top_srcdir) && \
+- $(AUTOMAKE) --gnu classes/ssl/Makefile
++ $(AUTOMAKE) --foreign classes/ssl/Makefile
+ .PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+@@ -226,10 +206,6 @@
+
+ clean-libtool:
+ -rm -rf .libs _libs
+-
+-distclean-libtool:
+- -rm -f libtool
+-uninstall-info-am:
+ tags: TAGS
+ TAGS:
+
+@@ -238,22 +214,21 @@
+
+
+ distdir: $(DISTFILES)
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ list='$(DISTFILES)'; \
++ dist_files=`for file in $$list; do echo $$file; done | \
++ sed -e "s|^$$srcdirstrip/||;t" \
++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
++ case $$dist_files in \
++ */*) $(MKDIR_P) `echo "$$dist_files" | \
++ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
++ sort -u` ;; \
++ esac; \
++ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+ if test -d $$d/$$file; then \
++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+@@ -298,7 +273,7 @@
+
+ distclean: distclean-am
+ -rm -f Makefile
+-distclean-am: clean-am distclean-generic distclean-libtool
++distclean-am: clean-am distclean-generic
+
+ dvi: dvi-am
+
+@@ -312,12 +287,20 @@
+
+ install-data-am:
+
++install-dvi: install-dvi-am
++
+ install-exec-am:
+
++install-html: install-html-am
++
+ install-info: install-info-am
+
+ install-man:
+
++install-pdf: install-pdf-am
++
++install-ps: install-ps-am
++
+ installcheck-am:
+
+ maintainer-clean: maintainer-clean-am
+@@ -336,17 +319,20 @@
+
+ ps-am:
+
+-uninstall-am: uninstall-info-am
++uninstall-am:
++
++.MAKE: install-am install-strip
+
+ .PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+- install-data install-data-am install-exec install-exec-am \
+- install-info install-info-am install-man install-strip \
++ install-data install-data-am install-dvi install-dvi-am \
++ install-exec install-exec-am install-html install-html-am \
++ install-info install-info-am install-man install-pdf \
++ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+- uninstall-info-am
++ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
+
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+diff -Nur LibVNCServer-0.9.1.orig/client_examples/Makefile.in LibVNCServer-0.9.1/client_examples/Makefile.in
+--- LibVNCServer-0.9.1.orig/client_examples/Makefile.in 2008-10-31 18:44:00.000000000 -0200
++++ LibVNCServer-0.9.1/client_examples/Makefile.in 2008-10-31 18:46:26.000000000 -0200
+@@ -1,8 +1,8 @@
+-# Makefile.in generated by automake 1.9.5 from Makefile.am.
++# Makefile.in generated by automake 1.10 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005 Free Software Foundation, Inc.
++# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -14,17 +14,11 @@
+
+ @SET_MAKE@
+
+-SOURCES = SDLvncviewer.c backchannel.c ppmtest.c vnc2mpg.c
+-
+-srcdir = @srcdir@
+-top_srcdir = @top_srcdir@
+ VPATH = @srcdir@
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+-top_builddir = ..
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+-INSTALL = @INSTALL@
+ install_sh_DATA = $(install_sh) -c -m 644
+ install_sh_PROGRAM = $(install_sh) -c
+ install_sh_SCRIPT = $(install_sh) -c
+@@ -59,6 +53,9 @@
+ am__DEPENDENCIES_2 =
+ @HAVE_LIBSDL_TRUE@SDLvncviewer_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ @HAVE_LIBSDL_TRUE@ $(am__DEPENDENCIES_2)
++SDLvncviewer_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
++ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(SDLvncviewer_CFLAGS) \
++ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+ backchannel_SOURCES = backchannel.c
+ backchannel_OBJECTS = backchannel.$(OBJEXT)
+ backchannel_LDADD = $(LDADD)
+@@ -73,25 +70,27 @@
+ @WITH_FFMPEG_TRUE@ $(FFMPEG_HOME)/libavformat/libavformat.a \
+ @WITH_FFMPEG_TRUE@ $(FFMPEG_HOME)/libavcodec/libavcodec.a \
+ @WITH_FFMPEG_TRUE@ $(am__DEPENDENCIES_2)
+-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
++vnc2mpg_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=link $(CCLD) $(vnc2mpg_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
++ $(LDFLAGS) -o $@
++DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
+ depcomp = $(SHELL) $(top_srcdir)/depcomp
+ am__depfiles_maybe = depfiles
+ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
++LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+ CCLD = $(CC)
+-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+- $(AM_LDFLAGS) $(LDFLAGS) -o $@
++LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
++ $(LDFLAGS) -o $@
+ SOURCES = SDLvncviewer.c backchannel.c ppmtest.c vnc2mpg.c
+ DIST_SOURCES = SDLvncviewer.c backchannel.c ppmtest.c vnc2mpg.c
+ ETAGS = etags
+ CTAGS = ctags
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ ACLOCAL = @ACLOCAL@
+-AMDEP_FALSE = @AMDEP_FALSE@
+-AMDEP_TRUE = @AMDEP_TRUE@
+ AMTAR = @AMTAR@
+ AR = @AR@
+ AUTOCONF = @AUTOCONF@
+@@ -106,57 +105,38 @@
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CRYPT_LIBS = @CRYPT_LIBS@
+-CXX = @CXX@
+-CXXCPP = @CXXCPP@
+-CXXDEPMODE = @CXXDEPMODE@
+-CXXFLAGS = @CXXFLAGS@
+-CYGIPC_FALSE = @CYGIPC_FALSE@
+-CYGIPC_TRUE = @CYGIPC_TRUE@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
+-ECHO = @ECHO@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
+-F77 = @F77@
+-FFLAGS = @FFLAGS@
+-HAVE_LIBJPEG_FALSE = @HAVE_LIBJPEG_FALSE@
+-HAVE_LIBJPEG_TRUE = @HAVE_LIBJPEG_TRUE@
+-HAVE_LIBPTHREAD_FALSE = @HAVE_LIBPTHREAD_FALSE@
+-HAVE_LIBPTHREAD_TRUE = @HAVE_LIBPTHREAD_TRUE@
+-HAVE_LIBSDL_FALSE = @HAVE_LIBSDL_FALSE@
+-HAVE_LIBSDL_TRUE = @HAVE_LIBSDL_TRUE@
+-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
+-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
+-HAVE_MP3LAME_FALSE = @HAVE_MP3LAME_FALSE@
+-HAVE_MP3LAME_TRUE = @HAVE_MP3LAME_TRUE@
+-HAVE_RPM_FALSE = @HAVE_RPM_FALSE@
+-HAVE_RPM_TRUE = @HAVE_RPM_TRUE@
+-HAVE_SYSTEM_LIBVNCSERVER_FALSE = @HAVE_SYSTEM_LIBVNCSERVER_FALSE@
+-HAVE_SYSTEM_LIBVNCSERVER_TRUE = @HAVE_SYSTEM_LIBVNCSERVER_TRUE@
+-HAVE_X_FALSE = @HAVE_X_FALSE@
+-HAVE_X_TRUE = @HAVE_X_TRUE@
++FGREP = @FGREP@
++GREP = @GREP@
++INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LD = @LD@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBTOOL = @LIBTOOL@
+-LINUX_FALSE = @LINUX_FALSE@
+-LINUX_TRUE = @LINUX_TRUE@
++LIPO = @LIPO@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
+-MINGW_FALSE = @MINGW_FALSE@
+-MINGW_TRUE = @MINGW_TRUE@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
+ OBJEXT = @OBJEXT@
+-OSX_FALSE = @OSX_FALSE@
+-OSX_TRUE = @OSX_TRUE@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
+ PACKAGE = @PACKAGE@
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+@@ -168,6 +148,7 @@
+ RPMSOURCEDIR = @RPMSOURCEDIR@
+ SDL_CFLAGS = @SDL_CFLAGS@
+ SDL_LIBS = @SDL_LIBS@
++SED = @SED@
+ SET_MAKE = @SET_MAKE@
+ SHELL = @SHELL@
+ SSL_LIBS = @SSL_LIBS@
+@@ -175,25 +156,17 @@
+ SYSTEM_LIBVNCSERVER_CFLAGS = @SYSTEM_LIBVNCSERVER_CFLAGS@
+ SYSTEM_LIBVNCSERVER_LIBS = @SYSTEM_LIBVNCSERVER_LIBS@
+ VERSION = @VERSION@
+-WITH_FFMPEG_FALSE = @WITH_FFMPEG_FALSE@
+-WITH_FFMPEG_TRUE = @WITH_FFMPEG_TRUE@
+-WITH_TIGHTVNC_FILETRANSFER_FALSE = @WITH_TIGHTVNC_FILETRANSFER_FALSE@
+-WITH_TIGHTVNC_FILETRANSFER_TRUE = @WITH_TIGHTVNC_FILETRANSFER_TRUE@
+ WSOCKLIB = @WSOCKLIB@
+ X_CFLAGS = @X_CFLAGS@
+ X_EXTRA_LIBS = @X_EXTRA_LIBS@
+ X_LIBS = @X_LIBS@
+ X_PRE_LIBS = @X_PRE_LIBS@
+-ac_ct_AR = @ac_ct_AR@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
+ ac_ct_CC = @ac_ct_CC@
+-ac_ct_CXX = @ac_ct_CXX@
+-ac_ct_F77 = @ac_ct_F77@
+-ac_ct_RANLIB = @ac_ct_RANLIB@
+-ac_ct_STRIP = @ac_ct_STRIP@
+-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+@@ -205,28 +178,40 @@
+ build_cpu = @build_cpu@
+ build_os = @build_os@
+ build_vendor = @build_vendor@
++builddir = @builddir@
+ datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
+ exec_prefix = @exec_prefix@
+ host = @host@
+ host_alias = @host_alias@
+ host_cpu = @host_cpu@
+ host_os = @host_os@
+ host_vendor = @host_vendor@
++htmldir = @htmldir@
+ includedir = @includedir@
+ infodir = @infodir@
+ install_sh = @install_sh@
+ libdir = @libdir@
+ libexecdir = @libexecdir@
++localedir = @localedir@
+ localstatedir = @localstatedir@
++lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
+ prefix = @prefix@
+ program_transform_name = @program_transform_name@
++psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
+ with_ffmpeg = @with_ffmpeg@
+ AM_CFLAGS = -I $(top_srcdir) -g -Wall
+ LDADD = ../libvncclient/libvncclient.la @WSOCKLIB@
+@@ -253,9 +238,9 @@
+ exit 1;; \
+ esac; \
+ done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client_examples/Makefile'; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign client_examples/Makefile'; \
+ cd $(top_srcdir) && \
+- $(AUTOMAKE) --gnu client_examples/Makefile
++ $(AUTOMAKE) --foreign client_examples/Makefile
+ .PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+@@ -282,16 +267,16 @@
+ done
+ SDLvncviewer$(EXEEXT): $(SDLvncviewer_OBJECTS) $(SDLvncviewer_DEPENDENCIES)
+ @rm -f SDLvncviewer$(EXEEXT)
+- $(LINK) $(SDLvncviewer_LDFLAGS) $(SDLvncviewer_OBJECTS) $(SDLvncviewer_LDADD) $(LIBS)
++ $(SDLvncviewer_LINK) $(SDLvncviewer_OBJECTS) $(SDLvncviewer_LDADD) $(LIBS)
+ backchannel$(EXEEXT): $(backchannel_OBJECTS) $(backchannel_DEPENDENCIES)
+ @rm -f backchannel$(EXEEXT)
+- $(LINK) $(backchannel_LDFLAGS) $(backchannel_OBJECTS) $(backchannel_LDADD) $(LIBS)
++ $(LINK) $(backchannel_OBJECTS) $(backchannel_LDADD) $(LIBS)
+ ppmtest$(EXEEXT): $(ppmtest_OBJECTS) $(ppmtest_DEPENDENCIES)
+ @rm -f ppmtest$(EXEEXT)
+- $(LINK) $(ppmtest_LDFLAGS) $(ppmtest_OBJECTS) $(ppmtest_LDADD) $(LIBS)
++ $(LINK) $(ppmtest_OBJECTS) $(ppmtest_LDADD) $(LIBS)
+ vnc2mpg$(EXEEXT): $(vnc2mpg_OBJECTS) $(vnc2mpg_DEPENDENCIES)
+ @rm -f vnc2mpg$(EXEEXT)
+- $(LINK) $(vnc2mpg_LDFLAGS) $(vnc2mpg_OBJECTS) $(vnc2mpg_LDADD) $(LIBS)
++ $(vnc2mpg_LINK) $(vnc2mpg_OBJECTS) $(vnc2mpg_LDADD) $(LIBS)
+
+ mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+@@ -305,50 +290,50 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vnc2mpg-vnc2mpg.Po@am__quote@
+
+ .c.o:
+-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+ .c.obj:
+-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+ .c.lo:
+-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+
+ SDLvncviewer-SDLvncviewer.o: SDLvncviewer.c
+-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(SDLvncviewer_CFLAGS) $(CFLAGS) -MT SDLvncviewer-SDLvncviewer.o -MD -MP -MF "$(DEPDIR)/SDLvncviewer-SDLvncviewer.Tpo" -c -o SDLvncviewer-SDLvncviewer.o `test -f 'SDLvncviewer.c' || echo '$(srcdir)/'`SDLvncviewer.c; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/SDLvncviewer-SDLvncviewer.Tpo" "$(DEPDIR)/SDLvncviewer-SDLvncviewer.Po"; else rm -f "$(DEPDIR)/SDLvncviewer-SDLvncviewer.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(SDLvncviewer_CFLAGS) $(CFLAGS) -MT SDLvncviewer-SDLvncviewer.o -MD -MP -MF $(DEPDIR)/SDLvncviewer-SDLvncviewer.Tpo -c -o SDLvncviewer-SDLvncviewer.o `test -f 'SDLvncviewer.c' || echo '$(srcdir)/'`SDLvncviewer.c
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/SDLvncviewer-SDLvncviewer.Tpo $(DEPDIR)/SDLvncviewer-SDLvncviewer.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='SDLvncviewer.c' object='SDLvncviewer-SDLvncviewer.o' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(SDLvncviewer_CFLAGS) $(CFLAGS) -c -o SDLvncviewer-SDLvncviewer.o `test -f 'SDLvncviewer.c' || echo '$(srcdir)/'`SDLvncviewer.c
+
+ SDLvncviewer-SDLvncviewer.obj: SDLvncviewer.c
+-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(SDLvncviewer_CFLAGS) $(CFLAGS) -MT SDLvncviewer-SDLvncviewer.obj -MD -MP -MF "$(DEPDIR)/SDLvncviewer-SDLvncviewer.Tpo" -c -o SDLvncviewer-SDLvncviewer.obj `if test -f 'SDLvncviewer.c'; then $(CYGPATH_W) 'SDLvncviewer.c'; else $(CYGPATH_W) '$(srcdir)/SDLvncviewer.c'; fi`; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/SDLvncviewer-SDLvncviewer.Tpo" "$(DEPDIR)/SDLvncviewer-SDLvncviewer.Po"; else rm -f "$(DEPDIR)/SDLvncviewer-SDLvncviewer.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(SDLvncviewer_CFLAGS) $(CFLAGS) -MT SDLvncviewer-SDLvncviewer.obj -MD -MP -MF $(DEPDIR)/SDLvncviewer-SDLvncviewer.Tpo -c -o SDLvncviewer-SDLvncviewer.obj `if test -f 'SDLvncviewer.c'; then $(CYGPATH_W) 'SDLvncviewer.c'; else $(CYGPATH_W) '$(srcdir)/SDLvncviewer.c'; fi`
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/SDLvncviewer-SDLvncviewer.Tpo $(DEPDIR)/SDLvncviewer-SDLvncviewer.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='SDLvncviewer.c' object='SDLvncviewer-SDLvncviewer.obj' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(SDLvncviewer_CFLAGS) $(CFLAGS) -c -o SDLvncviewer-SDLvncviewer.obj `if test -f 'SDLvncviewer.c'; then $(CYGPATH_W) 'SDLvncviewer.c'; else $(CYGPATH_W) '$(srcdir)/SDLvncviewer.c'; fi`
+
+ vnc2mpg-vnc2mpg.o: vnc2mpg.c
+-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vnc2mpg_CFLAGS) $(CFLAGS) -MT vnc2mpg-vnc2mpg.o -MD -MP -MF "$(DEPDIR)/vnc2mpg-vnc2mpg.Tpo" -c -o vnc2mpg-vnc2mpg.o `test -f 'vnc2mpg.c' || echo '$(srcdir)/'`vnc2mpg.c; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vnc2mpg-vnc2mpg.Tpo" "$(DEPDIR)/vnc2mpg-vnc2mpg.Po"; else rm -f "$(DEPDIR)/vnc2mpg-vnc2mpg.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vnc2mpg_CFLAGS) $(CFLAGS) -MT vnc2mpg-vnc2mpg.o -MD -MP -MF $(DEPDIR)/vnc2mpg-vnc2mpg.Tpo -c -o vnc2mpg-vnc2mpg.o `test -f 'vnc2mpg.c' || echo '$(srcdir)/'`vnc2mpg.c
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vnc2mpg-vnc2mpg.Tpo $(DEPDIR)/vnc2mpg-vnc2mpg.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vnc2mpg.c' object='vnc2mpg-vnc2mpg.o' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vnc2mpg_CFLAGS) $(CFLAGS) -c -o vnc2mpg-vnc2mpg.o `test -f 'vnc2mpg.c' || echo '$(srcdir)/'`vnc2mpg.c
+
+ vnc2mpg-vnc2mpg.obj: vnc2mpg.c
+-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vnc2mpg_CFLAGS) $(CFLAGS) -MT vnc2mpg-vnc2mpg.obj -MD -MP -MF "$(DEPDIR)/vnc2mpg-vnc2mpg.Tpo" -c -o vnc2mpg-vnc2mpg.obj `if test -f 'vnc2mpg.c'; then $(CYGPATH_W) 'vnc2mpg.c'; else $(CYGPATH_W) '$(srcdir)/vnc2mpg.c'; fi`; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/vnc2mpg-vnc2mpg.Tpo" "$(DEPDIR)/vnc2mpg-vnc2mpg.Po"; else rm -f "$(DEPDIR)/vnc2mpg-vnc2mpg.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vnc2mpg_CFLAGS) $(CFLAGS) -MT vnc2mpg-vnc2mpg.obj -MD -MP -MF $(DEPDIR)/vnc2mpg-vnc2mpg.Tpo -c -o vnc2mpg-vnc2mpg.obj `if test -f 'vnc2mpg.c'; then $(CYGPATH_W) 'vnc2mpg.c'; else $(CYGPATH_W) '$(srcdir)/vnc2mpg.c'; fi`
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/vnc2mpg-vnc2mpg.Tpo $(DEPDIR)/vnc2mpg-vnc2mpg.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vnc2mpg.c' object='vnc2mpg-vnc2mpg.obj' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vnc2mpg_CFLAGS) $(CFLAGS) -c -o vnc2mpg-vnc2mpg.obj `if test -f 'vnc2mpg.c'; then $(CYGPATH_W) 'vnc2mpg.c'; else $(CYGPATH_W) '$(srcdir)/vnc2mpg.c'; fi`
+@@ -359,10 +344,6 @@
+ clean-libtool:
+ -rm -rf .libs _libs
+
+-distclean-libtool:
+- -rm -f libtool
+-uninstall-info-am:
+-
+ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+@@ -412,22 +393,21 @@
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+ distdir: $(DISTFILES)
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ list='$(DISTFILES)'; \
++ dist_files=`for file in $$list; do echo $$file; done | \
++ sed -e "s|^$$srcdirstrip/||;t" \
++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
++ case $$dist_files in \
++ */*) $(MKDIR_P) `echo "$$dist_files" | \
++ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
++ sort -u` ;; \
++ esac; \
++ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+ if test -d $$d/$$file; then \
++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+@@ -475,7 +455,7 @@
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+ distclean-am: clean-am distclean-compile distclean-generic \
+- distclean-libtool distclean-tags
++ distclean-tags
+
+ dvi: dvi-am
+
+@@ -489,12 +469,20 @@
+
+ install-data-am:
+
++install-dvi: install-dvi-am
++
+ install-exec-am:
+
++install-html: install-html-am
++
+ install-info: install-info-am
+
+ install-man:
+
++install-pdf: install-pdf-am
++
++install-ps: install-ps-am
++
+ installcheck-am:
+
+ maintainer-clean: maintainer-clean-am
+@@ -515,19 +503,22 @@
+
+ ps-am:
+
+-uninstall-am: uninstall-info-am
++uninstall-am:
++
++.MAKE: install-am install-strip
+
+ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+- install install-am install-data install-data-am install-exec \
+- install-exec-am install-info install-info-am install-man \
++ install install-am install-data install-data-am install-dvi \
++ install-dvi-am install-exec install-exec-am install-html \
++ install-html-am install-info install-info-am install-man \
++ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+- pdf pdf-am ps ps-am tags uninstall uninstall-am \
+- uninstall-info-am
++ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+diff -Nur LibVNCServer-0.9.1.orig/config.guess LibVNCServer-0.9.1/config.guess
+--- LibVNCServer-0.9.1.orig/config.guess 2008-10-31 18:44:00.000000000 -0200
++++ LibVNCServer-0.9.1/config.guess 2008-10-31 18:46:27.000000000 -0200
+@@ -3,7 +3,7 @@
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ # 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+-timestamp='2005-02-10'
++timestamp='2005-06-30'
+
+ # This file is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU General Public License as published by
+@@ -17,13 +17,15 @@
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
++# 02110-1301, USA.
+ #
+ # As a special exception to the GNU General Public License, if you
+ # distribute this file as part of a program that contains a
+ # configuration script generated by Autoconf, you may include it under
+ # the same distribution terms that you use for the rest of that program.
+
++
+ # Originally written by Per Bothner <per@bothner.com>.
+ # Please send patches to <config-patches@gnu.org>. Submit a context
+ # diff and a properly formatted ChangeLog entry.
+@@ -66,11 +68,11 @@
+ while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+- echo "$timestamp" ; exit 0 ;;
++ echo "$timestamp" ; exit ;;
+ --version | -v )
+- echo "$version" ; exit 0 ;;
++ echo "$version" ; exit ;;
+ --help | --h* | -h )
+- echo "$usage"; exit 0 ;;
++ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+@@ -136,6 +138,19 @@
+ UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
++# Detect uclibc systems.
++
++LIBC="gnu"
++if [ -f /usr/include/bits/uClibc_config.h ]
++then
++ LIBC=uclibc
++ if [ -n `grep "#define __UCLIBC_CONFIG_VERSION__" /usr/include/bits/uClibc_config.h` ]
++ then
++ UCLIBC_SUBVER=`sed -n "/#define __UCLIBC_CONFIG_VERSION__ /s///p" /usr/include/bits/uClibc_config.h`
++ LIBC=$LIBC$UCLIBC_SUBVER
++ fi
++fi
++
+ # Note: order is significant - the case branches are not exclusive.
+
+ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+@@ -196,55 +211,20 @@
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+- exit 0 ;;
+- amd64:OpenBSD:*:*)
+- echo x86_64-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- amiga:OpenBSD:*:*)
+- echo m68k-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- cats:OpenBSD:*:*)
+- echo arm-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- hp300:OpenBSD:*:*)
+- echo m68k-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- luna88k:OpenBSD:*:*)
+- echo m88k-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- mac68k:OpenBSD:*:*)
+- echo m68k-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- macppc:OpenBSD:*:*)
+- echo powerpc-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- mvme68k:OpenBSD:*:*)
+- echo m68k-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- mvme88k:OpenBSD:*:*)
+- echo m88k-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- mvmeppc:OpenBSD:*:*)
+- echo powerpc-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- sgi:OpenBSD:*:*)
+- echo mips64-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
+- sun3:OpenBSD:*:*)
+- echo m68k-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *:OpenBSD:*:*)
+- echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
+- exit 0 ;;
++ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
++ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
++ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerppc-unknown-mirbsd${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+ *4.0)
+@@ -297,40 +277,43 @@
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+- exit 0 ;;
++ exit ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+- exit 0 ;;
++ exit ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+- exit 0 ;;
++ exit ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+- exit 0;;
++ exit ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+- exit 0 ;;
++ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+- exit 0 ;;
++ exit ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+- exit 0 ;;
++ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+- exit 0 ;;
++ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+- exit 0 ;;
++ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+- exit 0;;
++ exit ;;
++ arm:riscos:*:*|arm:RISCOS:*:*)
++ echo arm-unknown-riscos
++ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+- exit 0;;
++ exit ;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+@@ -338,32 +321,32 @@
+ else
+ echo pyramid-pyramid-bsd
+ fi
+- exit 0 ;;
++ exit ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+- exit 0 ;;
++ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+- exit 0 ;;
++ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+- sparc) echo sparc-icl-nx7 && exit 0 ;;
++ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+- exit 0 ;;
++ exit ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+- exit 0 ;;
++ exit ;;
+ i86pc:SunOS:5.*:*)
+ echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+- exit 0 ;;
++ exit ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+- exit 0 ;;
++ exit ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+@@ -372,10 +355,10 @@
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+- exit 0 ;;
++ exit ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+@@ -387,10 +370,10 @@
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+- exit 0 ;;
++ exit ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+@@ -401,40 +384,40 @@
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+- exit 0 ;;
++ exit ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+@@ -458,32 +441,33 @@
+ exit (-1);
+ }
+ EOF
+- $CC_FOR_BUILD -o $dummy $dummy.c \
+- && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
+- && exit 0
++ $CC_FOR_BUILD -o $dummy $dummy.c &&
++ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
++ SYSTEM_NAME=`$dummy $dummyarg` &&
++ { echo "$SYSTEM_NAME"; exit; }
+ echo mips-mips-riscos${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+- exit 0 ;;
++ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+- exit 0 ;;
++ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+- exit 0 ;;
++ exit ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+- exit 0 ;;
++ exit ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+- exit 0 ;;
++ exit ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+- exit 0 ;;
++ exit ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+- exit 0 ;;
++ exit ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+@@ -499,29 +483,29 @@
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+- exit 0 ;;
++ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+- exit 0 ;;
++ exit ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+- exit 0 ;;
++ exit ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+- exit 0 ;;
++ exit ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+- exit 0 ;;
++ exit ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+- exit 0 ;;
++ exit ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+- exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
++ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
++ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+- exit 0 ;;
++ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+@@ -529,7 +513,7 @@
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+- exit 0 ;;
++ exit ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+@@ -544,14 +528,18 @@
+ exit(0);
+ }
+ EOF
+- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+- echo rs6000-ibm-aix3.2.5
++ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
++ then
++ echo "$SYSTEM_NAME"
++ else
++ echo rs6000-ibm-aix3.2.5
++ fi
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+- exit 0 ;;
++ exit ;;
+ *:AIX:*:[45])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+@@ -565,28 +553,28 @@
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+- exit 0 ;;
++ exit ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+- exit 0 ;;
++ exit ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+- exit 0 ;;
++ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+- exit 0 ;; # report: romp-ibm BSD 4.3
++ exit ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+- exit 0 ;;
++ exit ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+- exit 0 ;;
++ exit ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+- exit 0 ;;
++ exit ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+- exit 0 ;;
++ exit ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case "${UNAME_MACHINE}" in
+@@ -650,7 +638,18 @@
+ then
+ # avoid double evaluation of $set_cc_for_build
+ test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
+- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
++
++ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
++ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
++ # generating 64-bit code. GNU and HP use different nomenclature:
++ #
++ # $ CC_FOR_BUILD=cc ./config.guess
++ # => hppa2.0w-hp-hpux11.23
++ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
++ # => hppa64-hp-hpux11.23
++
++ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
++ grep __LP64__ >/dev/null
+ then
+ HP_ARCH="hppa2.0w"
+ else
+@@ -658,11 +657,11 @@
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+- exit 0 ;;
++ exit ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+- exit 0 ;;
++ exit ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+@@ -690,161 +689,166 @@
+ exit (0);
+ }
+ EOF
+- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
++ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
++ { echo "$SYSTEM_NAME"; exit; }
+ echo unknown-hitachi-hiuxwe2
+- exit 0 ;;
++ exit ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+- exit 0 ;;
++ exit ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+- exit 0 ;;
++ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+- exit 0 ;;
++ exit ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+- exit 0 ;;
++ exit ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+- exit 0 ;;
++ exit ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+- exit 0 ;;
++ exit ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+- exit 0 ;;
++ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+- exit 0 ;;
++ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+- exit 0 ;;
++ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+- exit 0 ;;
++ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+- exit 0 ;;
++ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+- exit 0 ;;
++ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+- exit 0 ;;
++ exit ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+- exit 0 ;;
++ exit ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+- exit 0 ;;
++ exit ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+- exit 0 ;;
++ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+- exit 0 ;;
++ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+- exit 0 ;;
++ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+- exit 0 ;;
++ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+- exit 0 ;;
++ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *:FreeBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+- exit 0 ;;
++ exit ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+- exit 0 ;;
++ exit ;;
+ i*:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+- exit 0 ;;
++ exit ;;
++ i*:windows32*:*)
++ # uname -m includes "-pc" on this system.
++ echo ${UNAME_MACHINE}-mingw32
++ exit ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+- exit 0 ;;
++ exit ;;
+ x86:Interix*:[34]*)
+ echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
+- exit 0 ;;
++ exit ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+- exit 0 ;;
++ exit ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i586-pc-interix
+- exit 0 ;;
++ exit ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+- exit 0 ;;
++ exit ;;
+ amd64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+- exit 0 ;;
++ exit ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+- exit 0 ;;
++ exit ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+- exit 0 ;;
++ exit ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+- exit 0 ;;
++ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+- exit 0 ;;
++ exit ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+- exit 0 ;;
++ exit ;;
+ arm*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
+- exit 0 ;;
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
+ cris:Linux:*:*)
+ echo cris-axis-linux-gnu
+- exit 0 ;;
++ exit ;;
+ crisv32:Linux:*:*)
+ echo crisv32-axis-linux-gnu
+- exit 0 ;;
++ exit ;;
+ frv:Linux:*:*)
+- echo frv-unknown-linux-gnu
+- exit 0 ;;
++ echo frv-unknown-linux-${LIBC}
++ exit ;;
+ ia64:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
+- exit 0 ;;
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
+ m32r*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
+- exit 0 ;;
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
+ m68*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
+- exit 0 ;;
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
+ mips:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+@@ -862,7 +866,7 @@
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
++ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+ ;;
+ mips64:Linux:*:*)
+ eval $set_cc_for_build
+@@ -881,14 +885,14 @@
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
++ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+ ;;
+ ppc:Linux:*:*)
+- echo powerpc-unknown-linux-gnu
+- exit 0 ;;
++ echo powerpc-unknown-linux-${LIBC}
++ exit ;;
+ ppc64:Linux:*:*)
+- echo powerpc64-unknown-linux-gnu
+- exit 0 ;;
++ echo powerpc64-unknown-linux-${LIBC}
++ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+@@ -900,35 +904,35 @@
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+- exit 0 ;;
++ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+- PA7*) echo hppa1.1-unknown-linux-gnu ;;
+- PA8*) echo hppa2.0-unknown-linux-gnu ;;
+- *) echo hppa-unknown-linux-gnu ;;
++ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
++ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
++ *) echo hppa-unknown-linux-${LIBC} ;;
+ esac
+- exit 0 ;;
++ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+- echo hppa64-unknown-linux-gnu
+- exit 0 ;;
++ echo hppa64-unknown-linux-${LIBC}
++ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux
+- exit 0 ;;
++ exit ;;
+ sh64*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
+- exit 0 ;;
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
+ sh*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
+- exit 0 ;;
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
+- exit 0 ;;
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
+ x86_64:Linux:*:*)
+- echo x86_64-unknown-linux-gnu
+- exit 0 ;;
++ echo x86_64-unknown-linux-${LIBC}
++ exit ;;
+ i*86:Linux:*:*)
+ # The BFD linker knows what the default object file format is, so
+ # first see if it will tell us. cd to the root directory to prevent
+@@ -942,20 +946,21 @@
+ p'`
+ case "$ld_supported_targets" in
+ elf32-i386)
+- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
++ TENTATIVE="${UNAME_MACHINE}-pc-linux-${LIBC}"
+ ;;
+ a.out-i386-linux)
+- echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+- exit 0 ;;
++ echo "${UNAME_MACHINE}-pc-linux-${LIBC}aout"
++ exit ;;
+ coff-i386)
+- echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+- exit 0 ;;
++ echo "${UNAME_MACHINE}-pc-linux-${LIBC}coff"
++ exit ;;
+ "")
+ # Either a pre-BFD a.out linker (linux-gnuoldld) or
+ # one that does not give us useful --help.
+- echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+- exit 0 ;;
++ echo "${UNAME_MACHINE}-pc-linux-${LIBC}oldld"
++ exit ;;
+ esac
++ if [ $LIBC != "gnu" -o $LIBC != "gnulibc1" ];then echo "$TENTATIVE" && exit; fi
+ # Determine whether the default compiler is a.out or elf
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+@@ -982,15 +987,18 @@
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+- test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
+- test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
++ test x"${LIBC}" != x && {
++ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
++ exit
++ }
++ test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
+ ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+- exit 0 ;;
++ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+@@ -998,27 +1006,27 @@
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+- exit 0 ;;
++ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+- exit 0 ;;
++ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+- exit 0 ;;
++ exit ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+- exit 0 ;;
+- i*86:syllable:*:*)
++ exit ;;
++ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+- exit 0 ;;
++ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+- exit 0 ;;
++ exit ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+@@ -1026,15 +1034,16 @@
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+- exit 0 ;;
+- i*86:*:5:[78]*)
++ exit ;;
++ i*86:*:5:[678]*)
++ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+- exit 0 ;;
++ exit ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+@@ -1052,73 +1061,73 @@
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+- exit 0 ;;
++ exit ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i386.
+ echo i386-pc-msdosdjgpp
+- exit 0 ;;
++ exit ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+- exit 0 ;;
++ exit ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+- exit 0 ;;
++ exit ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+- exit 0 ;;
++ exit ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+- exit 0 ;;
++ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+- exit 0 ;;
++ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+- exit 0 ;;
++ exit ;;
+ M68*:*:R3V[5678]*:*)
+- test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
++ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+- && echo i486-ncr-sysv4.3${OS_REL} && exit 0
++ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+- && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
++ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+- && echo i486-ncr-sysv4 && exit 0 ;;
++ && { echo i486-ncr-sysv4; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+- exit 0 ;;
++ exit ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+- exit 0 ;;
++ exit ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+- exit 0 ;;
++ exit ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+@@ -1126,61 +1135,65 @@
+ else
+ echo ns32k-sni-sysv
+ fi
+- exit 0 ;;
++ exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+- exit 0 ;;
++ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <hewes@openmarket.com>.
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+- exit 0 ;;
++ exit ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+- exit 0 ;;
++ exit ;;
++ i*86:VOS:*:*)
++ # From Paul.Green@stratus.com.
++ echo ${UNAME_MACHINE}-stratus-vos
++ exit ;;
+ *:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo hppa1.1-stratus-vos
+- exit 0 ;;
++ exit ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+- exit 0 ;;
++ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+- exit 0 ;;
++ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+- exit 0 ;;
++ exit ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+- exit 0 ;;
++ exit ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+- exit 0 ;;
++ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ case $UNAME_PROCESSOR in
+@@ -1188,7 +1201,7 @@
+ unknown) UNAME_PROCESSOR=powerpc ;;
+ esac
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+@@ -1196,25 +1209,25 @@
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+- exit 0 ;;
++ exit ;;
+ NSE-?:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+- exit 0 ;;
++ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+- exit 0 ;;
++ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+@@ -1225,41 +1238,44 @@
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+- exit 0 ;;
++ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+- exit 0 ;;
++ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+- exit 0 ;;
++ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+- exit 0 ;;
++ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+- exit 0 ;;
++ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+- exit 0 ;;
++ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+- exit 0 ;;
++ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+- exit 0 ;;
++ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+- exit 0 ;;
++ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+- A*) echo alpha-dec-vms && exit 0 ;;
+- I*) echo ia64-dec-vms && exit 0 ;;
+- V*) echo vax-dec-vms && exit 0 ;;
++ A*) echo alpha-dec-vms ; exit ;;
++ I*) echo ia64-dec-vms ; exit ;;
++ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+- exit 0 ;;
++ exit ;;
++ i*86:skyos:*:*)
++ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
++ exit ;;
+ esac
+
+ #echo '(No uname command or uname output not recognized.)' 1>&2
+@@ -1291,7 +1307,7 @@
+ #endif
+
+ #if defined (__arm) && defined (__acorn) && defined (__unix)
+- printf ("arm-acorn-riscix"); exit (0);
++ printf ("arm-acorn-riscix\n"); exit (0);
+ #endif
+
+ #if defined (hp300) && !defined (hpux)
+@@ -1380,11 +1396,12 @@
+ }
+ EOF
+
+-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
++$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
++ { echo "$SYSTEM_NAME"; exit; }
+
+ # Apollos put the system type in the environment.
+
+-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
++test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+ # Convex versions that predate uname can use getsysinfo(1)
+
+@@ -1393,22 +1410,22 @@
+ case `getsysinfo -f cpu_type` in
+ c1*)
+ echo c1-convex-bsd
+- exit 0 ;;
++ exit ;;
+ c2*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+- exit 0 ;;
++ exit ;;
+ c34*)
+ echo c34-convex-bsd
+- exit 0 ;;
++ exit ;;
+ c38*)
+ echo c38-convex-bsd
+- exit 0 ;;
++ exit ;;
+ c4*)
+ echo c4-convex-bsd
+- exit 0 ;;
++ exit ;;
+ esac
+ fi
+
+@@ -1419,7 +1436,9 @@
+ the operating system you are using. It is advised that you
+ download the most up to date version of the config scripts from
+
+- ftp://ftp.gnu.org/pub/gnu/config/
++ http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
++and
++ http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+
+ If the version you run ($0) is already up to date, please
+ send the following data and any information you think might be
+diff -Nur LibVNCServer-0.9.1.orig/config.sub LibVNCServer-0.9.1/config.sub
+--- LibVNCServer-0.9.1.orig/config.sub 2008-10-31 18:44:00.000000000 -0200
++++ LibVNCServer-0.9.1/config.sub 2008-10-31 18:46:27.000000000 -0200
+@@ -3,7 +3,7 @@
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ # 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+-timestamp='2005-02-10'
++timestamp='2005-06-30'
+
+ # This file is (in principle) common to ALL GNU software.
+ # The presence of a machine in this file suggests that SOME GNU software
+@@ -21,14 +21,15 @@
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+-# Foundation, Inc., 59 Temple Place - Suite 330,
+-# Boston, MA 02111-1307, USA.
+-
++# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
++# 02110-1301, USA.
++#
+ # As a special exception to the GNU General Public License, if you
+ # distribute this file as part of a program that contains a
+ # configuration script generated by Autoconf, you may include it under
+ # the same distribution terms that you use for the rest of that program.
+
++
+ # Please send patches to <config-patches@gnu.org>. Submit a context
+ # diff and a properly formatted ChangeLog entry.
+ #
+@@ -83,11 +84,11 @@
+ while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+- echo "$timestamp" ; exit 0 ;;
++ echo "$timestamp" ; exit ;;
+ --version | -v )
+- echo "$version" ; exit 0 ;;
++ echo "$version" ; exit ;;
+ --help | --h* | -h )
+- echo "$usage"; exit 0 ;;
++ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+@@ -99,7 +100,7 @@
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+- exit 0;;
++ exit ;;
+
+ * )
+ break ;;
+@@ -230,7 +231,8 @@
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
++ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
++ | bfin \
+ | c4x | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | fr30 | frv \
+@@ -246,6 +248,7 @@
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
++ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa64 | mipsisa64el \
+@@ -254,6 +257,7 @@
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
++ | ms1 \
+ | msp430 \
+ | ns16k | ns32k \
+ | openrisc | or32 \
+@@ -262,7 +266,8 @@
+ | pyramid \
+ | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+- | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \
++ | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
++ | sparcv8 | sparcv9 | sparcv9b \
+ | strongarm \
+ | tahoe | thumb | tic4x | tic80 | tron \
+ | v850 | v850e \
+@@ -271,6 +276,9 @@
+ | z8k)
+ basic_machine=$basic_machine-unknown
+ ;;
++ m32c)
++ basic_machine=$basic_machine-unknown
++ ;;
+ m6811 | m68hc11 | m6812 | m68hc12)
+ # Motorola 68HC11/12.
+ basic_machine=$basic_machine-unknown
+@@ -297,8 +305,8 @@
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+- | avr-* \
+- | bs2000-* \
++ | avr-* | avr32-* \
++ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+ | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+@@ -319,6 +327,7 @@
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
++ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa64-* | mipsisa64el-* \
+@@ -327,6 +336,7 @@
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
++ | ms1-* \
+ | msp430-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | orion-* \
+@@ -336,7 +346,8 @@
+ | romp-* | rs6000-* \
+ | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+- | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
++ | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
++ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+ | tahoe-* | thumb-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+@@ -348,6 +359,8 @@
+ | ymp-* \
+ | z8k-*)
+ ;;
++ m32c-*)
++ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+@@ -1089,9 +1102,6 @@
+ sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+- sh64)
+- basic_machine=sh64-unknown
+- ;;
+ sparc | sparcv8 | sparcv9 | sparcv9b)
+ basic_machine=sparc-sun
+ ;;
+@@ -1178,7 +1188,7 @@
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+- | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)
++ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* | -skyos*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+@@ -1556,7 +1566,7 @@
+ esac
+
+ echo $basic_machine$os
+-exit 0
++exit
+
+ # Local variables:
+ # eval: (add-hook 'write-file-hooks 'time-stamp)
+diff -Nur LibVNCServer-0.9.1.orig/configure LibVNCServer-0.9.1/configure
+--- LibVNCServer-0.9.1.orig/configure 2008-10-31 18:44:00.000000000 -0200
++++ LibVNCServer-0.9.1/configure 2008-10-31 18:46:26.000000000 -0200
+@@ -1,27 +1,56 @@
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by GNU Autoconf 2.59 for LibVNCServer 0.9.1.
++# Generated by GNU Autoconf 2.61 for LibVNCServer 0.9.1.
+ #
+ # Report bugs to <http://sourceforge.net/projects/libvncserver>.
+ #
+-# Copyright (C) 2003 Free Software Foundation, Inc.
++# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
++# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ # This configure script is free software; the Free Software Foundation
+ # gives unlimited permission to copy, distribute and modify it.
+ ## --------------------- ##
+ ## M4sh Initialization. ##
+ ## --------------------- ##
+
+-# Be Bourne compatible
++# Be more Bourne compatible
++DUALCASE=1; export DUALCASE # for MKS sh
+ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+- set -o posix
++ setopt NO_GLOB_SUBST
++else
++ case `(set -o) 2>/dev/null` in
++ *posix*) set -o posix ;;
++esac
++
++fi
++
++
++
++
++# PATH needs CR
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
++ else
++ PATH_SEPARATOR=:
++ fi
++ rm -f conf$$.sh
+ fi
+-DUALCASE=1; export DUALCASE # for MKS sh
+
+ # Support unset when possible.
+ if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+@@ -31,8 +60,43 @@
+ fi
+
+
++# IFS
++# We need space, tab and new line, in precisely that order. Quoting is
++# there to prevent editors from complaining about space-tab.
++# (If _AS_PATH_WALK were called with IFS unset, it would disable word
++# splitting by setting IFS to empty value.)
++as_nl='
++'
++IFS=" "" $as_nl"
++
++# Find who we are. Look in the path if we contain no directory separator.
++case $0 in
++ *[\\/]* ) as_myself=$0 ;;
++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
++done
++IFS=$as_save_IFS
++
++ ;;
++esac
++# We did not find ourselves, most probably we were run as `sh COMMAND'
++# in which case we are not to be found in the path.
++if test "x$as_myself" = x; then
++ as_myself=$0
++fi
++if test ! -f "$as_myself"; then
++ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++ { (exit 1); exit 1; }
++fi
++
+ # Work around bugs in pre-3.0 UWIN ksh.
+-$as_unset ENV MAIL MAILPATH
++for as_var in ENV MAIL MAILPATH
++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++done
+ PS1='$ '
+ PS2='> '
+ PS4='+ '
+@@ -46,18 +110,19 @@
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+- $as_unset $as_var
++ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ fi
+ done
+
+ # Required to use basename.
+-if expr a : '\(a\)' >/dev/null 2>&1; then
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+ else
+ as_expr=false
+ fi
+
+-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+ else
+ as_basename=false
+@@ -65,157 +130,388 @@
+
+
+ # Name of the executable.
+-as_me=`$as_basename "$0" ||
++as_me=`$as_basename -- "$0" ||
+ $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+- X"$0" : 'X\(/\)$' \| \
+- . : '\(.\)' 2>/dev/null ||
++ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+ echo X/"$0" |
+- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+- /^X\/\(\/\/\)$/{ s//\1/; q; }
+- /^X\/\(\/\).*/{ s//\1/; q; }
+- s/.*/./; q'`
++ sed '/^.*\/\([^/][^/]*\)\/*$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
+
++# CDPATH.
++$as_unset CDPATH
+
+-# PATH needs CR, and LINENO needs CR and PATH.
+-# Avoid depending upon Character Ranges.
+-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+-as_cr_digits='0123456789'
+-as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+-# The user is always right.
+-if test "${PATH_SEPARATOR+set}" != set; then
+- echo "#! /bin/sh" >conf$$.sh
+- echo "exit 0" >>conf$$.sh
+- chmod +x conf$$.sh
+- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+- PATH_SEPARATOR=';'
+- else
+- PATH_SEPARATOR=:
+- fi
+- rm -f conf$$.sh
++if test "x$CONFIG_SHELL" = x; then
++ if (eval ":") 2>/dev/null; then
++ as_have_required=yes
++else
++ as_have_required=no
+ fi
+
++ if test $as_have_required = yes && (eval ":
++(as_func_return () {
++ (exit \$1)
++}
++as_func_success () {
++ as_func_return 0
++}
++as_func_failure () {
++ as_func_return 1
++}
++as_func_ret_success () {
++ return 0
++}
++as_func_ret_failure () {
++ return 1
++}
+
+- as_lineno_1=$LINENO
+- as_lineno_2=$LINENO
+- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+- test "x$as_lineno_1" != "x$as_lineno_2" &&
+- test "x$as_lineno_3" = "x$as_lineno_2" || {
+- # Find who we are. Look in the path if we contain no path at all
+- # relative or not.
+- case $0 in
+- *[\\/]* ) as_myself=$0 ;;
+- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+-done
++exitcode=0
++if as_func_success; then
++ :
++else
++ exitcode=1
++ echo as_func_success failed.
++fi
+
+- ;;
+- esac
+- # We did not find ourselves, most probably we were run as `sh COMMAND'
+- # in which case we are not to be found in the path.
+- if test "x$as_myself" = x; then
+- as_myself=$0
+- fi
+- if test ! -f "$as_myself"; then
+- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+- { (exit 1); exit 1; }; }
+- fi
+- case $CONFIG_SHELL in
+- '')
++if as_func_failure; then
++ exitcode=1
++ echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++ :
++else
++ exitcode=1
++ echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++ exitcode=1
++ echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
++ :
++else
++ exitcode=1
++ echo positional parameters were not saved.
++fi
++
++test \$exitcode = 0) || { (exit 1); exit 1; }
++
++(
++ as_lineno_1=\$LINENO
++ as_lineno_2=\$LINENO
++ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
++ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
++") 2> /dev/null; then
++ :
++else
++ as_candidate_shells=
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+ do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+- for as_base in sh bash ksh sh5; do
+- case $as_dir in
++ case $as_dir in
+ /*)
+- if ("$as_dir/$as_base" -c '
++ for as_base in sh bash ksh sh5; do
++ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
++ done;;
++ esac
++done
++IFS=$as_save_IFS
++
++
++ for as_shell in $as_candidate_shells $SHELL; do
++ # Try only shells that exist, to save several forks.
++ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
++ { ("$as_shell") 2> /dev/null <<\_ASEOF
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '${1+"$@"}'='"$@"'
++ setopt NO_GLOB_SUBST
++else
++ case `(set -o) 2>/dev/null` in
++ *posix*) set -o posix ;;
++esac
++
++fi
++
++
++:
++_ASEOF
++}; then
++ CONFIG_SHELL=$as_shell
++ as_have_required=yes
++ if { "$as_shell" 2> /dev/null <<\_ASEOF
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '${1+"$@"}'='"$@"'
++ setopt NO_GLOB_SUBST
++else
++ case `(set -o) 2>/dev/null` in
++ *posix*) set -o posix ;;
++esac
++
++fi
++
++
++:
++(as_func_return () {
++ (exit $1)
++}
++as_func_success () {
++ as_func_return 0
++}
++as_func_failure () {
++ as_func_return 1
++}
++as_func_ret_success () {
++ return 0
++}
++as_func_ret_failure () {
++ return 1
++}
++
++exitcode=0
++if as_func_success; then
++ :
++else
++ exitcode=1
++ echo as_func_success failed.
++fi
++
++if as_func_failure; then
++ exitcode=1
++ echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++ :
++else
++ exitcode=1
++ echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++ exitcode=1
++ echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = "$1" ); then
++ :
++else
++ exitcode=1
++ echo positional parameters were not saved.
++fi
++
++test $exitcode = 0) || { (exit 1); exit 1; }
++
++(
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+- CONFIG_SHELL=$as_dir/$as_base
+- export CONFIG_SHELL
+- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+- fi;;
+- esac
+- done
+-done
+-;;
+- esac
++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
++
++_ASEOF
++}; then
++ break
++fi
++
++fi
++
++ done
++
++ if test "x$CONFIG_SHELL" != x; then
++ for as_var in BASH_ENV ENV
++ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++ done
++ export CONFIG_SHELL
++ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
++fi
++
++
++ if test $as_have_required = no; then
++ echo This script requires a shell more modern than all the
++ echo shells that I found on your system. Please install a
++ echo modern shell, or manually run the script under such a
++ echo shell if you do have one.
++ { (exit 1); exit 1; }
++fi
++
++
++fi
++
++fi
++
++
++
++(eval "as_func_return () {
++ (exit \$1)
++}
++as_func_success () {
++ as_func_return 0
++}
++as_func_failure () {
++ as_func_return 1
++}
++as_func_ret_success () {
++ return 0
++}
++as_func_ret_failure () {
++ return 1
++}
++
++exitcode=0
++if as_func_success; then
++ :
++else
++ exitcode=1
++ echo as_func_success failed.
++fi
++
++if as_func_failure; then
++ exitcode=1
++ echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++ :
++else
++ exitcode=1
++ echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++ exitcode=1
++ echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
++ :
++else
++ exitcode=1
++ echo positional parameters were not saved.
++fi
++
++test \$exitcode = 0") || {
++ echo No shell found that supports shell functions.
++ echo Please tell autoconf@gnu.org about your system,
++ echo including any error possibly output before this
++ echo message
++}
++
++
++
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+- # line-number line before each line; the second 'sed' does the real
+- # work. The second script uses 'N' to pair each line-number line
+- # with the numbered line, and appends trailing '-' during
+- # substitution so that $LINENO is not a special case at line end.
++ # line-number line after each line using $LINENO; the second 'sed'
++ # does the real work. The second script uses 'N' to pair each
++ # line-number line with the line containing $LINENO, and appends
++ # trailing '-' during substitution so that $LINENO is not a special
++ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+- sed '=' <$as_myself |
++ # scripts with optimization help from Paolo Bonzini. Blame Lee
++ # E. McMahon (1931-1989) for sed's syntax. :-)
++ sed -n '
++ p
++ /[$]LINENO/=
++ ' <$as_myself |
+ sed '
++ s/[$]LINENO.*/&-/
++ t lineno
++ b
++ :lineno
+ N
+- s,$,-,
+- : loop
+- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
++ :loop
++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+- s,-$,,
+- s,^['$as_cr_digits']*\n,,
++ s/-\n.*//
+ ' >$as_me.lineno &&
+- chmod +x $as_me.lineno ||
++ chmod +x "$as_me.lineno" ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+- # original and so on. Autoconf is especially sensible to this).
+- . ./$as_me.lineno
++ # original and so on. Autoconf is especially sensitive to this).
++ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+ }
+
+
+-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+- *c*,-n*) ECHO_N= ECHO_C='
+-' ECHO_T=' ' ;;
+- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++ as_dirname=dirname
++else
++ as_dirname=false
++fi
++
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in
++-n*)
++ case `echo 'x\c'` in
++ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
++ *) ECHO_C='\c';;
++ esac;;
++*)
++ ECHO_N='-n';;
+ esac
+
+-if expr a : '\(a\)' >/dev/null 2>&1; then
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+ else
+ as_expr=false
+ fi
+
+ rm -f conf$$ conf$$.exe conf$$.file
++if test -d conf$$.dir; then
++ rm -f conf$$.dir/conf$$.file
++else
++ rm -f conf$$.dir
++ mkdir conf$$.dir
++fi
+ echo >conf$$.file
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+- # We could just check for DJGPP; but this test a) works b) is more generic
+- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+- if test -f conf$$.exe; then
+- # Don't use ln at all; we don't have any links
++ as_ln_s='ln -s'
++ # ... but there are two gotchas:
++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
++ # In both cases, we have to default to `cp -p'.
++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+- else
+- as_ln_s='ln -s'
+- fi
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+-rm -f conf$$ conf$$.exe conf$$.file
++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
++rmdir conf$$.dir 2>/dev/null
+
+ if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+@@ -224,7 +520,28 @@
+ as_mkdir_p=false
+ fi
+
+-as_executable_p="test -f"
++if test -x / >/dev/null 2>&1; then
++ as_test_x='test -x'
++else
++ if ls -dL / >/dev/null 2>&1; then
++ as_ls_L_option=L
++ else
++ as_ls_L_option=
++ fi
++ as_test_x='
++ eval sh -c '\''
++ if test -d "$1"; then
++ test -d "$1/.";
++ else
++ case $1 in
++ -*)set "./$1";;
++ esac;
++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
++ ???[sx]*):;;*)false;;esac;fi
++ '\'' sh
++ '
++fi
++as_executable_p=$as_test_x
+
+ # Sed expression to map a string onto a valid CPP name.
+ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+@@ -233,36 +550,27 @@
+ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+-# IFS
+-# We need space, tab and new line, in precisely that order.
+-as_nl='
+-'
+-IFS=" $as_nl"
+-
+-# CDPATH.
+-$as_unset CDPATH
+-
+
+
+ # Check that we are running under the correct shell.
+ SHELL=${CONFIG_SHELL-/bin/sh}
+
+-case X$ECHO in
++case X$lt_ECHO in
+ X*--fallback-echo)
+ # Remove one level of quotation (which was required for Make).
+- ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','`
++ ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
+ ;;
+ esac
+
+-echo=${ECHO-echo}
++ECHO=${lt_ECHO-echo}
+ if test "X$1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+ elif test "X$1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
+- # Yippee, $echo works!
++elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
++ # Yippee, $ECHO works!
+ :
+ else
+ # Restart under the correct shell.
+@@ -272,9 +580,9 @@
+ if test "X$1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+- cat <<EOF
++ cat <<_LT_EOF
+ $*
+-EOF
++_LT_EOF
+ exit 0
+ fi
+
+@@ -282,144 +590,136 @@
+ # if CDPATH is set.
+ (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+-if test -z "$ECHO"; then
+-if test "X${echo_test_string+set}" != Xset; then
+-# find a string as large as possible, as long as the shell can cope with it
+- for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
+- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+- if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+- echo_test_string=`eval $cmd` &&
+- (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
+- then
+- break
+- fi
+- done
+-fi
++if test -z "$lt_ECHO"; then
++ if test "X${echo_test_string+set}" != Xset; then
++ # find a string as large as possible, as long as the shell can cope with it
++ for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
++ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
++ if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
++ { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
++ then
++ break
++ fi
++ done
++ fi
+
+-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+- test "X$echo_testing_string" = "X$echo_test_string"; then
+- :
+-else
+- # The Solaris, AIX, and Digital Unix default echo programs unquote
+- # backslashes. This makes it impossible to quote backslashes using
+- # echo "$something" | sed 's/\\/\\\\/g'
+- #
+- # So, first we look for a working echo in the user's PATH.
++ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ :
++ else
++ # The Solaris, AIX, and Digital Unix default echo programs unquote
++ # backslashes. This makes it impossible to quote backslashes using
++ # echo "$something" | sed 's/\\/\\\\/g'
++ #
++ # So, first we look for a working echo in the user's PATH.
+
+- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+- for dir in $PATH /usr/ucb; do
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ for dir in $PATH /usr/ucb; do
++ IFS="$lt_save_ifs"
++ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
++ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ ECHO="$dir/echo"
++ break
++ fi
++ done
+ IFS="$lt_save_ifs"
+- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+- test "X$echo_testing_string" = "X$echo_test_string"; then
+- echo="$dir/echo"
+- break
+- fi
+- done
+- IFS="$lt_save_ifs"
+
+- if test "X$echo" = Xecho; then
+- # We didn't find a better echo, so look for alternatives.
+- if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+- echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+- test "X$echo_testing_string" = "X$echo_test_string"; then
+- # This shell has a builtin print -r that does the trick.
+- echo='print -r'
+- elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+- test "X$CONFIG_SHELL" != X/bin/ksh; then
+- # If we have ksh, try running configure again with it.
+- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+- export ORIGINAL_CONFIG_SHELL
+- CONFIG_SHELL=/bin/ksh
+- export CONFIG_SHELL
+- exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
+- else
+- # Try using printf.
+- echo='printf %s\n'
+- if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+- echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+- test "X$echo_testing_string" = "X$echo_test_string"; then
+- # Cool, printf works
+- :
+- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+- test "X$echo_testing_string" = 'X\t' &&
+- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+- test "X$echo_testing_string" = "X$echo_test_string"; then
+- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+- export CONFIG_SHELL
+- SHELL="$CONFIG_SHELL"
+- export SHELL
+- echo="$CONFIG_SHELL $0 --fallback-echo"
+- elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+- test "X$echo_testing_string" = 'X\t' &&
+- echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
++ if test "X$ECHO" = Xecho; then
++ # We didn't find a better echo, so look for alternatives.
++ if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ # This shell has a builtin print -r that does the trick.
++ ECHO='print -r'
++ elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
++ test "X$CONFIG_SHELL" != X/bin/ksh; then
++ # If we have ksh, try running configure again with it.
++ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
++ export ORIGINAL_CONFIG_SHELL
++ CONFIG_SHELL=/bin/ksh
++ export CONFIG_SHELL
++ exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
++ else
++ # Try using printf.
++ ECHO='printf %s\n'
++ if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
++ echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+- echo="$CONFIG_SHELL $0 --fallback-echo"
+- else
+- # maybe with a smaller string...
+- prev=:
++ # Cool, printf works
++ :
++ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
++ test "X$echo_testing_string" = 'X\t' &&
++ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
++ export CONFIG_SHELL
++ SHELL="$CONFIG_SHELL"
++ export SHELL
++ ECHO="$CONFIG_SHELL $0 --fallback-echo"
++ elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
++ test "X$echo_testing_string" = 'X\t' &&
++ echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
++ test "X$echo_testing_string" = "X$echo_test_string"; then
++ ECHO="$CONFIG_SHELL $0 --fallback-echo"
++ else
++ # maybe with a smaller string...
++ prev=:
+
+- for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
+- if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
+- then
+- break
+- fi
+- prev="$cmd"
+- done
++ for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
++ if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
++ then
++ break
++ fi
++ prev="$cmd"
++ done
+
+- if test "$prev" != 'sed 50q "$0"'; then
+- echo_test_string=`eval $prev`
+- export echo_test_string
+- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
+- else
+- # Oops. We lost completely, so just stick with echo.
+- echo=echo
+- fi
++ if test "$prev" != 'sed 50q "$0"'; then
++ echo_test_string=`eval $prev`
++ export echo_test_string
++ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
++ else
++ # Oops. We lost completely, so just stick with echo.
++ ECHO=echo
++ fi
++ fi
+ fi
+ fi
+ fi
+ fi
+-fi
+
+ # Copy echo and quote the copy suitably for passing to libtool from
+ # the Makefile, instead of quoting the original, which is used later.
+-ECHO=$echo
+-if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
+- ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
++lt_ECHO=$ECHO
++if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
++ lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
+ fi
+
+
+
+
+-tagnames=${tagnames+${tagnames},}CXX
+-
+-tagnames=${tagnames+${tagnames},}F77
++exec 7<&0 </dev/null 6>&1
+
+ # Name of the host.
+ # hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+ # so uname gets run too.
+ ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+-exec 6>&1
+-
+ #
+ # Initializations.
+ #
+ ac_default_prefix=/usr/local
++ac_clean_files=
+ ac_config_libobj_dir=.
++LIBOBJS=
+ cross_compiling=no
+ subdirs=
+ MFLAGS=
+ MAKEFLAGS=
+ SHELL=${CONFIG_SHELL-/bin/sh}
+
+-# Maximum number of lines to put in a shell here document.
+-# This variable seems obsolete. It should probably be removed, and
+-# only ac_max_sed_lines should be used.
+-: ${ac_max_here_lines=38}
+-
+ # Identity of this package.
+ PACKAGE_NAME='LibVNCServer'
+ PACKAGE_TARNAME='libvncserver'
+@@ -430,42 +730,197 @@
+ # Factoring default headers for most tests.
+ ac_includes_default="\
+ #include <stdio.h>
+-#if HAVE_SYS_TYPES_H
++#ifdef HAVE_SYS_TYPES_H
+ # include <sys/types.h>
+ #endif
+-#if HAVE_SYS_STAT_H
++#ifdef HAVE_SYS_STAT_H
+ # include <sys/stat.h>
+ #endif
+-#if STDC_HEADERS
++#ifdef STDC_HEADERS
+ # include <stdlib.h>
+ # include <stddef.h>
+ #else
+-# if HAVE_STDLIB_H
++# ifdef HAVE_STDLIB_H
+ # include <stdlib.h>
+ # endif
+ #endif
+-#if HAVE_STRING_H
+-# if !STDC_HEADERS && HAVE_MEMORY_H
++#ifdef HAVE_STRING_H
++# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+ # include <memory.h>
+ # endif
+ # include <string.h>
+ #endif
+-#if HAVE_STRINGS_H
++#ifdef HAVE_STRINGS_H
+ # include <strings.h>
+ #endif
+-#if HAVE_INTTYPES_H
++#ifdef HAVE_INTTYPES_H
+ # include <inttypes.h>
+-#else
+-# if HAVE_STDINT_H
+-# include <stdint.h>
+-# endif
+ #endif
+-#if HAVE_UNISTD_H
++#ifdef HAVE_STDINT_H
++# include <stdint.h>
++#endif
++#ifdef HAVE_UNISTD_H
+ # include <unistd.h>
+ #endif"
+
+-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL with_ffmpeg WITH_FFMPEG_TRUE WITH_FFMPEG_FALSE HAVE_MP3LAME_TRUE HAVE_MP3LAME_FALSE X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS HAVE_X_TRUE HAVE_X_FALSE CRYPT_LIBS SSL_LIBS AVAHI_CFLAGS AVAHI_LIBS SYSTEM_LIBVNCSERVER_CFLAGS SYSTEM_LIBVNCSERVER_LIBS HAVE_SYSTEM_LIBVNCSERVER_TRUE HAVE_SYSTEM_LIBVNCSERVER_FALSE HAVE_LIBPTHREAD_TRUE HAVE_LIBPTHREAD_FALSE WITH_TIGHTVNC_FILETRANSFER_TRUE WITH_TIGHTVNC_FILETRANSFER_FALSE HAVE_LIBZ_TRUE HAVE_LIBZ_FALSE HAVE_LIBJPEG_TRUE HAVE_LIBJPEG_FALSE HAVE_LIBSDL_TRUE HAVE_LIBSDL_FALSE SDL_CFLAGS SDL_LIBS MINGW_TRUE MINGW_FALSE WSOCKLIB LIBOBJS CYGIPC_TRUE CYGIPC_FALSE LINUX_TRUE LINUX_FALSE OSX_TRUE OSX_FALSE HAVE_RPM_TRUE HAVE_RPM_FALSE RPMSOURCEDIR LTLIBOBJS'
++ac_subst_vars='SHELL
++PATH_SEPARATOR
++PACKAGE_NAME
++PACKAGE_TARNAME
++PACKAGE_VERSION
++PACKAGE_STRING
++PACKAGE_BUGREPORT
++exec_prefix
++prefix
++program_transform_name
++bindir
++sbindir
++libexecdir
++datarootdir
++datadir
++sysconfdir
++sharedstatedir
++localstatedir
++includedir
++oldincludedir
++docdir
++infodir
++htmldir
++dvidir
++pdfdir
++psdir
++libdir
++localedir
++mandir
++DEFS
++ECHO_C
++ECHO_N
++ECHO_T
++LIBS
++build_alias
++host_alias
++target_alias
++INSTALL_PROGRAM
++INSTALL_SCRIPT
++INSTALL_DATA
++am__isrc
++CYGPATH_W
++PACKAGE
++VERSION
++ACLOCAL
++AUTOCONF
++AUTOMAKE
++AUTOHEADER
++MAKEINFO
++install_sh
++STRIP
++INSTALL_STRIP_PROGRAM
++mkdir_p
++AWK
++SET_MAKE
++am__leading_dot
++AMTAR
++am__tar
++am__untar
++CC
++CFLAGS
++LDFLAGS
++CPPFLAGS
++ac_ct_CC
++EXEEXT
++OBJEXT
++DEPDIR
++am__include
++am__quote
++AMDEP_TRUE
++AMDEP_FALSE
++AMDEPBACKSLASH
++CCDEPMODE
++am__fastdepCC_TRUE
++am__fastdepCC_FALSE
++LIBTOOL
++build
++build_cpu
++build_vendor
++build_os
++host
++host_cpu
++host_vendor
++host_os
++SED
++GREP
++EGREP
++FGREP
++LD
++DUMPBIN
++ac_ct_DUMPBIN
++NM
++LN_S
++AR
++RANLIB
++lt_ECHO
++DSYMUTIL
++NMEDIT
++LIPO
++OTOOL
++OTOOL64
++CPP
++with_ffmpeg
++WITH_FFMPEG_TRUE
++WITH_FFMPEG_FALSE
++HAVE_MP3LAME_TRUE
++HAVE_MP3LAME_FALSE
++X_CFLAGS
++X_PRE_LIBS
++X_LIBS
++X_EXTRA_LIBS
++HAVE_X_TRUE
++HAVE_X_FALSE
++CRYPT_LIBS
++SSL_LIBS
++AVAHI_CFLAGS
++AVAHI_LIBS
++SYSTEM_LIBVNCSERVER_CFLAGS
++SYSTEM_LIBVNCSERVER_LIBS
++HAVE_SYSTEM_LIBVNCSERVER_TRUE
++HAVE_SYSTEM_LIBVNCSERVER_FALSE
++HAVE_LIBPTHREAD_TRUE
++HAVE_LIBPTHREAD_FALSE
++WITH_TIGHTVNC_FILETRANSFER_TRUE
++WITH_TIGHTVNC_FILETRANSFER_FALSE
++HAVE_LIBZ_TRUE
++HAVE_LIBZ_FALSE
++HAVE_LIBJPEG_TRUE
++HAVE_LIBJPEG_FALSE
++HAVE_LIBSDL_TRUE
++HAVE_LIBSDL_FALSE
++SDL_CFLAGS
++SDL_LIBS
++MINGW_TRUE
++MINGW_FALSE
++WSOCKLIB
++LIBOBJS
++CYGIPC_TRUE
++CYGIPC_FALSE
++LINUX_TRUE
++LINUX_FALSE
++OSX_TRUE
++OSX_FALSE
++HAVE_RPM_TRUE
++HAVE_RPM_FALSE
++RPMSOURCEDIR
++LTLIBOBJS'
+ ac_subst_files=''
++ ac_precious_vars='build_alias
++host_alias
++target_alias
++CC
++CFLAGS
++LDFLAGS
++LIBS
++CPPFLAGS
++CPP'
++
+
+ # Initialize some variables set by options.
+ ac_init_help=
+@@ -492,34 +947,48 @@
+ # and all the variables that are supposed to be based on exec_prefix
+ # by default will actually change.
+ # Use braces instead of parens because sh, perl, etc. also accept them.
++# (The list follows the same order as the GNU Coding Standards.)
+ bindir='${exec_prefix}/bin'
+ sbindir='${exec_prefix}/sbin'
+ libexecdir='${exec_prefix}/libexec'
+-datadir='${prefix}/share'
++datarootdir='${prefix}/share'
++datadir='${datarootdir}'
+ sysconfdir='${prefix}/etc'
+ sharedstatedir='${prefix}/com'
+ localstatedir='${prefix}/var'
+-libdir='${exec_prefix}/lib'
+ includedir='${prefix}/include'
+ oldincludedir='/usr/include'
+-infodir='${prefix}/info'
+-mandir='${prefix}/man'
++docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
++infodir='${datarootdir}/info'
++htmldir='${docdir}'
++dvidir='${docdir}'
++pdfdir='${docdir}'
++psdir='${docdir}'
++libdir='${exec_prefix}/lib'
++localedir='${datarootdir}/locale'
++mandir='${datarootdir}/man'
+
+ ac_prev=
++ac_dashdash=
+ for ac_option
+ do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+- eval "$ac_prev=\$ac_option"
++ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
++ case $ac_option in
++ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
++ *) ac_optarg=yes ;;
++ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+- case $ac_option in
++ case $ac_dashdash$ac_option in
++ --)
++ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+@@ -541,33 +1010,45 @@
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
++ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+- | --da=*)
++ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
++ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
++ | --dataroo | --dataro | --datar)
++ ac_prev=datarootdir ;;
++ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
++ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
++ datarootdir=$ac_optarg ;;
++
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
++ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+- eval "enable_$ac_feature=no" ;;
++ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
++ eval enable_$ac_feature=no ;;
++
++ -docdir | --docdir | --docdi | --doc | --do)
++ ac_prev=docdir ;;
++ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
++ docdir=$ac_optarg ;;
++
++ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
++ ac_prev=dvidir ;;
++ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
++ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
++ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+- case $ac_option in
+- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+- *) ac_optarg=yes ;;
+- esac
+- eval "enable_$ac_feature='$ac_optarg'" ;;
++ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
++ eval enable_$ac_feature=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+@@ -594,6 +1075,12 @@
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
++ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
++ ac_prev=htmldir ;;
++ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
++ | --ht=*)
++ htmldir=$ac_optarg ;;
++
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+@@ -618,13 +1105,16 @@
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
++ -localedir | --localedir | --localedi | --localed | --locale)
++ ac_prev=localedir ;;
++ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
++ localedir=$ac_optarg ;;
++
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+- | --localstate | --localstat | --localsta | --localst \
+- | --locals | --local | --loca | --loc | --lo)
++ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
++ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+@@ -689,6 +1179,16 @@
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
++ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
++ ac_prev=pdfdir ;;
++ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
++ pdfdir=$ac_optarg ;;
++
++ -psdir | --psdir | --psdi | --psd | --ps)
++ ac_prev=psdir ;;
++ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
++ psdir=$ac_optarg ;;
++
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+@@ -741,24 +1241,20 @@
+ -with-* | --with-*)
+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
++ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+- ac_package=`echo $ac_package| sed 's/-/_/g'`
+- case $ac_option in
+- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+- *) ac_optarg=yes ;;
+- esac
+- eval "with_$ac_package='$ac_optarg'" ;;
++ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
++ eval with_$ac_package=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
++ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+- ac_package=`echo $ac_package | sed 's/-/_/g'`
+- eval "with_$ac_package=no" ;;
++ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
++ eval with_$ac_package=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+@@ -789,8 +1285,7 @@
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+- eval "$ac_envvar='$ac_optarg'"
++ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+@@ -810,27 +1305,19 @@
+ { (exit 1); exit 1; }; }
+ fi
+
+-# Be sure to have absolute paths.
+-for ac_var in exec_prefix prefix
+-do
+- eval ac_val=$`echo $ac_var`
+- case $ac_val in
+- [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+- { (exit 1); exit 1; }; };;
+- esac
+-done
+-
+-# Be sure to have absolute paths.
+-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+- localstatedir libdir includedir oldincludedir infodir mandir
++# Be sure to have absolute directory names.
++for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
++ datadir sysconfdir sharedstatedir localstatedir includedir \
++ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
++ libdir localedir mandir
+ do
+- eval ac_val=$`echo $ac_var`
++ eval ac_val=\$$ac_var
+ case $ac_val in
+- [\\/$]* | ?:[\\/]* ) ;;
+- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+- { (exit 1); exit 1; }; };;
++ [\\/$]* | ?:[\\/]* ) continue;;
++ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
++ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
++ { (exit 1); exit 1; }; }
+ done
+
+ # There might be people who depend on the old broken behavior: `$host'
+@@ -857,94 +1344,76 @@
+ test "$silent" = yes && exec 6>/dev/null
+
+
++ac_pwd=`pwd` && test -n "$ac_pwd" &&
++ac_ls_di=`ls -di .` &&
++ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
++ { echo "$as_me: error: Working directory cannot be determined" >&2
++ { (exit 1); exit 1; }; }
++test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
++ { echo "$as_me: error: pwd does not report name of working directory" >&2
++ { (exit 1); exit 1; }; }
++
++
+ # Find the source files, if location was not specified.
+ if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+- # Try the directory containing this script, then its parent.
+- ac_confdir=`(dirname "$0") 2>/dev/null ||
++ # Try the directory containing this script, then the parent directory.
++ ac_confdir=`$as_dirname -- "$0" ||
+ $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+- X"$0" : 'X\(/\)' \| \
+- . : '\(.\)' 2>/dev/null ||
++ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+ echo X"$0" |
+- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+- /^X\(\/\/\)$/{ s//\1/; q; }
+- /^X\(\/\).*/{ s//\1/; q; }
+- s/.*/./; q'`
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
+ srcdir=$ac_confdir
+- if test ! -r $srcdir/$ac_unique_file; then
++ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+ else
+ ac_srcdir_defaulted=no
+ fi
+-if test ! -r $srcdir/$ac_unique_file; then
+- if test "$ac_srcdir_defaulted" = yes; then
+- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+- { (exit 1); exit 1; }; }
+- else
+- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
++if test ! -r "$srcdir/$ac_unique_file"; then
++ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
++ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+- fi
+ fi
+-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
++ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
++ac_abs_confdir=`(
++ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+ { (exit 1); exit 1; }; }
+-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+-ac_env_build_alias_set=${build_alias+set}
+-ac_env_build_alias_value=$build_alias
+-ac_cv_env_build_alias_set=${build_alias+set}
+-ac_cv_env_build_alias_value=$build_alias
+-ac_env_host_alias_set=${host_alias+set}
+-ac_env_host_alias_value=$host_alias
+-ac_cv_env_host_alias_set=${host_alias+set}
+-ac_cv_env_host_alias_value=$host_alias
+-ac_env_target_alias_set=${target_alias+set}
+-ac_env_target_alias_value=$target_alias
+-ac_cv_env_target_alias_set=${target_alias+set}
+-ac_cv_env_target_alias_value=$target_alias
+-ac_env_CC_set=${CC+set}
+-ac_env_CC_value=$CC
+-ac_cv_env_CC_set=${CC+set}
+-ac_cv_env_CC_value=$CC
+-ac_env_CFLAGS_set=${CFLAGS+set}
+-ac_env_CFLAGS_value=$CFLAGS
+-ac_cv_env_CFLAGS_set=${CFLAGS+set}
+-ac_cv_env_CFLAGS_value=$CFLAGS
+-ac_env_LDFLAGS_set=${LDFLAGS+set}
+-ac_env_LDFLAGS_value=$LDFLAGS
+-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
+-ac_cv_env_LDFLAGS_value=$LDFLAGS
+-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
+-ac_env_CPPFLAGS_value=$CPPFLAGS
+-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
+-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
+-ac_env_CPP_set=${CPP+set}
+-ac_env_CPP_value=$CPP
+-ac_cv_env_CPP_set=${CPP+set}
+-ac_cv_env_CPP_value=$CPP
+-ac_env_CXX_set=${CXX+set}
+-ac_env_CXX_value=$CXX
+-ac_cv_env_CXX_set=${CXX+set}
+-ac_cv_env_CXX_value=$CXX
+-ac_env_CXXFLAGS_set=${CXXFLAGS+set}
+-ac_env_CXXFLAGS_value=$CXXFLAGS
+-ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set}
+-ac_cv_env_CXXFLAGS_value=$CXXFLAGS
+-ac_env_CXXCPP_set=${CXXCPP+set}
+-ac_env_CXXCPP_value=$CXXCPP
+-ac_cv_env_CXXCPP_set=${CXXCPP+set}
+-ac_cv_env_CXXCPP_value=$CXXCPP
+-ac_env_F77_set=${F77+set}
+-ac_env_F77_value=$F77
+-ac_cv_env_F77_set=${F77+set}
+-ac_cv_env_F77_value=$F77
+-ac_env_FFLAGS_set=${FFLAGS+set}
+-ac_env_FFLAGS_value=$FFLAGS
+-ac_cv_env_FFLAGS_set=${FFLAGS+set}
+-ac_cv_env_FFLAGS_value=$FFLAGS
++ pwd)`
++# When building in place, set srcdir=.
++if test "$ac_abs_confdir" = "$ac_pwd"; then
++ srcdir=.
++fi
++# Remove unnecessary trailing slashes from srcdir.
++# Double slashes in file names in object file debugging info
++# mess up M-x gdb in Emacs.
++case $srcdir in
++*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
++esac
++for ac_var in $ac_precious_vars; do
++ eval ac_env_${ac_var}_set=\${${ac_var}+set}
++ eval ac_env_${ac_var}_value=\$${ac_var}
++ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
++ eval ac_cv_env_${ac_var}_value=\$${ac_var}
++done
+
+ #
+ # Report the --help message.
+@@ -973,9 +1442,6 @@
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+-_ACEOF
+-
+- cat <<_ACEOF
+ Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+@@ -993,15 +1459,22 @@
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+- --datadir=DIR read-only architecture-independent data [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+- --infodir=DIR info documentation [PREFIX/info]
+- --mandir=DIR man documentation [PREFIX/man]
++ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
++ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
++ --infodir=DIR info documentation [DATAROOTDIR/info]
++ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
++ --mandir=DIR man documentation [DATAROOTDIR/man]
++ --docdir=DIR documentation root [DATAROOTDIR/doc/libvncserver]
++ --htmldir=DIR html documentation [DOCDIR]
++ --dvidir=DIR dvi documentation [DOCDIR]
++ --pdfdir=DIR pdf documentation [DOCDIR]
++ --psdir=DIR ps documentation [DOCDIR]
+ _ACEOF
+
+ cat <<\_ACEOF
+@@ -1032,10 +1505,8 @@
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors
+- --enable-shared[=PKGS]
+- build shared libraries [default=yes]
+- --enable-static[=PKGS]
+- build static libraries [default=yes]
++ --enable-shared[=PKGS] build shared libraries [default=yes]
++ --enable-static[=PKGS] build static libraries [default=yes]
+ --enable-fast-install[=PKGS]
+ optimize for fast installation [default=yes]
+ --disable-libtool-lock avoid locking (might break parallel builds)
+@@ -1043,11 +1514,9 @@
+ Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+ --with-pic try to use only PIC/non-PIC objects [default=use
+ both]
+- --with-tags[=TAGS]
+- include additional configurations [automatic]
++ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+ --without-filetransfer disable TightVNC file transfer protocol
+ --without-24bpp disable 24 bpp framebuffers
+ --with-ffmpeg=dir set ffmpeg home directory
+@@ -1086,134 +1555,96 @@
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+- CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
+- headers in a nonstandard directory <include dir>
++ LIBS libraries to pass to the linker, e.g. -l<library>
++ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
++ you have headers in a nonstandard directory <include dir>
+ CPP C preprocessor
+- CXX C++ compiler command
+- CXXFLAGS C++ compiler flags
+- CXXCPP C++ preprocessor
+- F77 Fortran 77 compiler command
+- FFLAGS Fortran 77 compiler flags
+
+ Use these variables to override the choices made by `configure' or to help
+ it to find libraries and programs with nonstandard names/locations.
+
+ Report bugs to <http://sourceforge.net/projects/libvncserver>.
+ _ACEOF
++ac_status=$?
+ fi
+
+ if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+- ac_popdir=`pwd`
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+- test -d $ac_dir || continue
++ test -d "$ac_dir" || continue
+ ac_builddir=.
+
+-if test "$ac_dir" != .; then
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+- # A "../" for each directory in $ac_dir_suffix.
+- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+-else
+- ac_dir_suffix= ac_top_builddir=
+-fi
++ # A ".." for each directory in $ac_dir_suffix.
++ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
++ case $ac_top_builddir_sub in
++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
++ esac ;;
++esac
++ac_abs_top_builddir=$ac_pwd
++ac_abs_builddir=$ac_pwd$ac_dir_suffix
++# for backward compatibility:
++ac_top_builddir=$ac_top_build_prefix
+
+ case $srcdir in
+- .) # No --srcdir option. We are building in place.
++ .) # We are building in place.
+ ac_srcdir=.
+- if test -z "$ac_top_builddir"; then
+- ac_top_srcdir=.
+- else
+- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+- fi ;;
+- [\\/]* | ?:[\\/]* ) # Absolute path.
++ ac_top_srcdir=$ac_top_builddir_sub
++ ac_abs_top_srcdir=$ac_pwd ;;
++ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+- ac_top_srcdir=$srcdir ;;
+- *) # Relative path.
+- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+- ac_top_srcdir=$ac_top_builddir$srcdir ;;
+-esac
+-
+-# Do not use `cd foo && pwd` to compute absolute paths, because
+-# the directories may not exist.
+-case `pwd` in
+-.) ac_abs_builddir="$ac_dir";;
+-*)
+- case "$ac_dir" in
+- .) ac_abs_builddir=`pwd`;;
+- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+- *) ac_abs_builddir=`pwd`/"$ac_dir";;
+- esac;;
+-esac
+-case $ac_abs_builddir in
+-.) ac_abs_top_builddir=${ac_top_builddir}.;;
+-*)
+- case ${ac_top_builddir}. in
+- .) ac_abs_top_builddir=$ac_abs_builddir;;
+- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+- esac;;
+-esac
+-case $ac_abs_builddir in
+-.) ac_abs_srcdir=$ac_srcdir;;
+-*)
+- case $ac_srcdir in
+- .) ac_abs_srcdir=$ac_abs_builddir;;
+- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+- esac;;
+-esac
+-case $ac_abs_builddir in
+-.) ac_abs_top_srcdir=$ac_top_srcdir;;
+-*)
+- case $ac_top_srcdir in
+- .) ac_abs_top_srcdir=$ac_abs_builddir;;
+- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+- esac;;
++ ac_top_srcdir=$srcdir
++ ac_abs_top_srcdir=$srcdir ;;
++ *) # Relative name.
++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
++ ac_top_srcdir=$ac_top_build_prefix$srcdir
++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+ esac
++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+- cd $ac_dir
+- # Check for guested configure; otherwise get Cygnus style configure.
+- if test -f $ac_srcdir/configure.gnu; then
+- echo
+- $SHELL $ac_srcdir/configure.gnu --help=recursive
+- elif test -f $ac_srcdir/configure; then
+- echo
+- $SHELL $ac_srcdir/configure --help=recursive
+- elif test -f $ac_srcdir/configure.ac ||
+- test -f $ac_srcdir/configure.in; then
+- echo
+- $ac_configure --help
++ cd "$ac_dir" || { ac_status=$?; continue; }
++ # Check for guested configure.
++ if test -f "$ac_srcdir/configure.gnu"; then
++ echo &&
++ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
++ elif test -f "$ac_srcdir/configure"; then
++ echo &&
++ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+- fi
+- cd $ac_popdir
++ fi || ac_status=$?
++ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+ fi
+
+-test -n "$ac_init_help" && exit 0
++test -n "$ac_init_help" && exit $ac_status
+ if $ac_init_version; then
+ cat <<\_ACEOF
+ LibVNCServer configure 0.9.1
+-generated by GNU Autoconf 2.59
++generated by GNU Autoconf 2.61
+
+-Copyright (C) 2003 Free Software Foundation, Inc.
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
++2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ This configure script is free software; the Free Software Foundation
+ gives unlimited permission to copy, distribute and modify it.
+ _ACEOF
+- exit 0
++ exit
+ fi
+-exec 5>config.log
+-cat >&5 <<_ACEOF
++cat >config.log <<_ACEOF
+ This file contains any messages produced by compilers while
+ running configure, to aid debugging if configure makes a mistake.
+
+ It was created by LibVNCServer $as_me 0.9.1, which was
+-generated by GNU Autoconf 2.59. Invocation command line was
++generated by GNU Autoconf 2.61. Invocation command line was
+
+ $ $0 $@
+
+ _ACEOF
++exec 5>>config.log
+ {
+ cat <<_ASUNAME
+ ## --------- ##
+@@ -1232,7 +1663,7 @@
+ /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+ /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+ /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+-hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
++/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+ /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+ /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+ /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+@@ -1246,6 +1677,7 @@
+ test -z "$as_dir" && as_dir=.
+ echo "PATH: $as_dir"
+ done
++IFS=$as_save_IFS
+
+ } >&5
+
+@@ -1267,7 +1699,6 @@
+ ac_configure_args=
+ ac_configure_args0=
+ ac_configure_args1=
+-ac_sep=
+ ac_must_keep_next=false
+ for ac_pass in 1 2
+ do
+@@ -1278,7 +1709,7 @@
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
++ *\'*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+@@ -1300,9 +1731,7 @@
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+- # Get rid of the leading space.
+- ac_sep=" "
++ ac_configure_args="$ac_configure_args '$ac_arg'"
+ ;;
+ esac
+ done
+@@ -1313,8 +1742,8 @@
+ # When interrupted or exit'd, cleanup temporary files, and complete
+ # config.log. We remove comments because anyway the quotes in there
+ # would cause problems or look ugly.
+-# WARNING: Be sure not to use single quotes in there, as some shells,
+-# such as our DU 5.0 friend, will then `close' the trap.
++# WARNING: Use '\'' to represent an apostrophe within the trap.
++# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+ trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+@@ -1327,20 +1756,34 @@
+ _ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+-{
++(
++ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
++ eval ac_val=\$$ac_var
++ case $ac_val in #(
++ *${as_nl}*)
++ case $ac_var in #(
++ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
++echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
++ esac
++ case $ac_var in #(
++ _ | IFS | as_nl) ;; #(
++ *) $as_unset $ac_var ;;
++ esac ;;
++ esac
++ done
+ (set) 2>&1 |
+- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+- *ac_space=\ *)
++ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
++ *${as_nl}ac_space=\ *)
+ sed -n \
+- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+- ;;
++ "s/'\''/'\''\\\\'\'''\''/g;
++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
++ ;; #(
+ *)
+- sed -n \
+- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+- esac;
+-}
++ esac |
++ sort
++)
+ echo
+
+ cat <<\_ASBOX
+@@ -1351,22 +1794,28 @@
+ echo
+ for ac_var in $ac_subst_vars
+ do
+- eval ac_val=$`echo $ac_var`
+- echo "$ac_var='"'"'$ac_val'"'"'"
++ eval ac_val=\$$ac_var
++ case $ac_val in
++ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++ esac
++ echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+-## ------------- ##
+-## Output files. ##
+-## ------------- ##
++## ------------------- ##
++## File substitutions. ##
++## ------------------- ##
+ _ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+- eval ac_val=$`echo $ac_var`
+- echo "$ac_var='"'"'$ac_val'"'"'"
++ eval ac_val=\$$ac_var
++ case $ac_val in
++ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++ esac
++ echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+@@ -1378,26 +1827,24 @@
+ ## ----------- ##
+ _ASBOX
+ echo
+- sed "/^$/d" confdefs.h | sort
++ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ echo "$as_me: caught signal $ac_signal"
+ echo "$as_me: exit $exit_status"
+ } >&5
+- rm -f core *.core &&
+- rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
++ rm -f core *.core core.conftest.* &&
++ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+- ' 0
++' 0
+ for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+ done
+ ac_signal=0
+
+ # confdefs.h avoids OS command line length limits that DEFS can exceed.
+-rm -rf conftest* confdefs.h
+-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+-echo >confdefs.h
++rm -f -r conftest* confdefs.h
+
+ # Predefined preprocessor variables.
+
+@@ -1428,14 +1875,17 @@
+
+ # Let the site file select an alternate cache file if it wants to.
+ # Prefer explicitly selected file to automatically selected ones.
+-if test -z "$CONFIG_SITE"; then
+- if test "x$prefix" != xNONE; then
+- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+- else
+- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+- fi
++if test -n "$CONFIG_SITE"; then
++ set x $CONFIG_SITE
++elif test "x$prefix" != xNONE; then
++ set x "$prefix/share/config.site" "$prefix/etc/config.site"
++else
++ set x "$ac_default_prefix/share/config.site" \
++ "$ac_default_prefix/etc/config.site"
+ fi
+-for ac_site_file in $CONFIG_SITE; do
++shift
++for ac_site_file
++do
+ if test -r "$ac_site_file"; then
+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+ echo "$as_me: loading site script $ac_site_file" >&6;}
+@@ -1451,8 +1901,8 @@
+ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+ echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+- [\\/]* | ?:[\\/]* ) . $cache_file;;
+- *) . ./$cache_file;;
++ [\\/]* | ?:[\\/]* ) . "$cache_file";;
++ *) . "./$cache_file";;
+ esac
+ fi
+ else
+@@ -1464,12 +1914,11 @@
+ # Check that the precious variables saved in the cache have kept the same
+ # value.
+ ac_cache_corrupted=false
+-for ac_var in `(set) 2>&1 |
+- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
++for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+- eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+- eval ac_new_val="\$ac_env_${ac_var}_value"
++ eval ac_old_val=\$ac_cv_env_${ac_var}_value
++ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+@@ -1494,8 +1943,7 @@
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
++ *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+@@ -1512,11 +1960,6 @@
+ { (exit 1); exit 1; }; }
+ fi
+
+-ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+@@ -1541,34 +1984,45 @@
+
+
+
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
++am__api_version='1.10'
+
+-am__api_version="1.9"
+ ac_aux_dir=
+-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+- if test -f $ac_dir/install-sh; then
++for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
++ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+- elif test -f $ac_dir/install.sh; then
++ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+- elif test -f $ac_dir/shtool; then
++ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+ done
+ if test -z "$ac_aux_dir"; then
+- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
+-echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
++ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
++echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
++
++# These three variables are undocumented and unsupported,
++# and are intended to be withdrawn in a future Autoconf release.
++# They can cause serious problems if a builder's source tree is in a directory
++# whose full name contains unusual characters.
++ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
++ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
++ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
++
+
+ # Find a good install program. We prefer a C program (faster),
+ # so one script is as good as another. But avoid the broken or
+@@ -1583,8 +2037,8 @@
+ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+ # OS/2's system install, which has a completely different semantic
+ # ./install, which can be erroneously created by make from ./install.sh.
+-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
++echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+ if test -z "$INSTALL"; then
+ if test "${ac_cv_path_install+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1606,7 +2060,7 @@
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
++ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+@@ -1625,21 +2079,22 @@
+ ;;
+ esac
+ done
++IFS=$as_save_IFS
+
+
+ fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+- # As a last resort, use the slow shell script. We don't cache a
+- # path for INSTALL within a source directory, because that will
++ # As a last resort, use the slow shell script. Don't cache a
++ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+- # removed, or if the path is relative.
++ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+ fi
+-echo "$as_me:$LINENO: result: $INSTALL" >&5
+-echo "${ECHO_T}$INSTALL" >&6
++{ echo "$as_me:$LINENO: result: $INSTALL" >&5
++echo "${ECHO_T}$INSTALL" >&6; }
+
+ # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+ # It thinks the first close brace ends the variable substitution.
+@@ -1649,8 +2104,8 @@
+
+ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+-echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
++echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
+ # Just in case
+ sleep 1
+ echo timestamp > conftest.file
+@@ -1692,20 +2147,20 @@
+ Check your system clock" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+-echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
++{ echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
+ test "$program_prefix" != NONE &&
+- program_transform_name="s,^,$program_prefix,;$program_transform_name"
++ program_transform_name="s&^&$program_prefix&;$program_transform_name"
+ # Use a double $ so make ignores it.
+ test "$program_suffix" != NONE &&
+- program_transform_name="s,\$,$program_suffix,;$program_transform_name"
++ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+ # Double any \ or $. echo might interpret backslashes.
+ # By default was `s,x,x', remove it if useless.
+ cat <<\_ACEOF >conftest.sed
+ s/[\\$]/&&/g;s/;s,x,x,$//
+ _ACEOF
+ program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+-rm conftest.sed
++rm -f conftest.sed
+
+ # expand $ac_aux_dir to an absolute path
+ am_aux_dir=`cd $ac_aux_dir && pwd`
+@@ -1720,45 +2175,60 @@
+ echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+ fi
+
+-if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+- # We used to keeping the `.' as first argument, in order to
+- # allow $(mkdir_p) to be used without argument. As in
+- # $(mkdir_p) $(somedir)
+- # where $(somedir) is conditionally defined. However this is wrong
+- # for two reasons:
+- # 1. if the package is installed by a user who cannot write `.'
+- # make install will fail,
+- # 2. the above comment should most certainly read
+- # $(mkdir_p) $(DESTDIR)$(somedir)
+- # so it does not work when $(somedir) is undefined and
+- # $(DESTDIR) is not.
+- # To support the latter case, we have to write
+- # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+- # so the `.' trick is pointless.
+- mkdir_p='mkdir -p --'
+-else
+- # On NextStep and OpenStep, the `mkdir' command does not
+- # recognize any option. It will interpret all options as
+- # directories to create, and then abort because `.' already
+- # exists.
+- for d in ./-p ./--version;
+- do
+- test -d $d && rmdir $d
+- done
+- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+- if test -f "$ac_aux_dir/mkinstalldirs"; then
+- mkdir_p='$(mkinstalldirs)'
++{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
++echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
++if test -z "$MKDIR_P"; then
++ if test "${ac_cv_path_mkdir+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_prog in mkdir gmkdir; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
++ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
++ 'mkdir (GNU coreutils) '* | \
++ 'mkdir (coreutils) '* | \
++ 'mkdir (fileutils) '4.1*)
++ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
++ break 3;;
++ esac
++ done
++ done
++done
++IFS=$as_save_IFS
++
++fi
++
++ if test "${ac_cv_path_mkdir+set}" = set; then
++ MKDIR_P="$ac_cv_path_mkdir -p"
+ else
+- mkdir_p='$(install_sh) -d'
++ # As a last resort, use the slow shell script. Don't cache a
++ # value for MKDIR_P within a source directory, because that will
++ # break other packages using the cache if that directory is
++ # removed, or if the value is a relative name.
++ test -d ./--version && rmdir ./--version
++ MKDIR_P="$ac_install_sh -d"
+ fi
+ fi
++{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
++echo "${ECHO_T}$MKDIR_P" >&6; }
++
++mkdir_p="$MKDIR_P"
++case $mkdir_p in
++ [\\/$]* | ?:[\\/]*) ;;
++ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
++esac
+
+ for ac_prog in gawk mawk nawk awk
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+ if test "${ac_cv_prog_AWK+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+@@ -1771,54 +2241,57 @@
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AWK="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+ done
+ done
++IFS=$as_save_IFS
+
+ fi
+ fi
+ AWK=$ac_cv_prog_AWK
+ if test -n "$AWK"; then
+- echo "$as_me:$LINENO: result: $AWK" >&5
+-echo "${ECHO_T}$AWK" >&6
++ { echo "$as_me:$LINENO: result: $AWK" >&5
++echo "${ECHO_T}$AWK" >&6; }
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
++
+ test -n "$AWK" && break
+ done
+
+-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
++{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
++echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
++set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
++if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.make <<\_ACEOF
++SHELL = /bin/sh
+ all:
+- @echo 'ac_maketemp="$(MAKE)"'
++ @echo '@@@%%%=$(MAKE)=@@@%%%'
+ _ACEOF
+ # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+-if test -n "$ac_maketemp"; then
+- eval ac_cv_prog_make_${ac_make}_set=yes
+-else
+- eval ac_cv_prog_make_${ac_make}_set=no
+-fi
++case `${MAKE-make} -f conftest.make 2>/dev/null` in
++ *@@@%%%=?*=@@@%%%*)
++ eval ac_cv_prog_make_${ac_make}_set=yes;;
++ *)
++ eval ac_cv_prog_make_${ac_make}_set=no;;
++esac
+ rm -f conftest.make
+ fi
+-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+- echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
++if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
++ { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
+ SET_MAKE=
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+ fi
+
+@@ -1831,12 +2304,16 @@
+ fi
+ rmdir .tst 2>/dev/null
+
+-# test to see if srcdir already configured
+-if test "`cd $srcdir && pwd`" != "`pwd`" &&
+- test -f $srcdir/config.status; then
+- { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
++if test "`cd $srcdir && pwd`" != "`pwd`"; then
++ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
++ # is not polluted with repeated "-I."
++ am__isrc=' -I$(srcdir)'
++ # test to see if srcdir already configured
++ if test -f $srcdir/config.status; then
++ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+ echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { (exit 1); exit 1; }; }
++ fi
+ fi
+
+ # test whether we have cygpath
+@@ -1879,7 +2356,7 @@
+
+ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+-install_sh=${install_sh-"$am_aux_dir/install-sh"}
++install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+
+ # Installed binaries are usually stripped using `strip' when the user
+ # run `make install-strip'. However `strip' might not be the right
+@@ -1889,8 +2366,8 @@
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}strip; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+ if test "${ac_cv_prog_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+@@ -1903,32 +2380,34 @@
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+ done
+ done
++IFS=$as_save_IFS
+
+ fi
+ fi
+ STRIP=$ac_cv_prog_STRIP
+ if test -n "$STRIP"; then
+- echo "$as_me:$LINENO: result: $STRIP" >&5
+-echo "${ECHO_T}$STRIP" >&6
++ { echo "$as_me:$LINENO: result: $STRIP" >&5
++echo "${ECHO_T}$STRIP" >&6; }
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
++
+ fi
+ if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+ set dummy strip; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+ if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+@@ -1941,33 +2420,47 @@
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+ done
+ done
++IFS=$as_save_IFS
+
+- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+ fi
+ fi
+ ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+ if test -n "$ac_ct_STRIP"; then
+- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+-echo "${ECHO_T}$ac_ct_STRIP" >&6
++ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
++echo "${ECHO_T}$ac_ct_STRIP" >&6; }
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
+- STRIP=$ac_ct_STRIP
++ if test "x$ac_ct_STRIP" = x; then
++ STRIP=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ STRIP=$ac_ct_STRIP
++ fi
+ else
+ STRIP="$ac_cv_prog_STRIP"
+ fi
+
+ fi
+-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
++INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+ # We need awk for the "check" target. The system "awk" is bad on
+ # some platforms.
+@@ -1981,12 +2474,12 @@
+
+
+
+- ac_config_headers="$ac_config_headers rfbconfig.h"
++ac_config_headers="$ac_config_headers rfbconfig.h"
+
+ ac_config_headers="$ac_config_headers "
+
+
+- ac_config_commands="$ac_config_commands rfb/rfbconfig.h"
++ac_config_commands="$ac_config_commands rfb/rfbconfig.h"
+
+
+ # Checks for programs.
+@@ -1998,8 +2491,8 @@
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}gcc; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+ if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+@@ -2012,32 +2505,34 @@
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+ done
+ done
++IFS=$as_save_IFS
+
+ fi
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:$LINENO: result: $CC" >&5
+-echo "${ECHO_T}$CC" >&6
++ { echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6; }
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
++
+ fi
+ if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+ set dummy gcc; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+ if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+@@ -2050,36 +2545,51 @@
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+ done
+ done
++IFS=$as_save_IFS
+
+ fi
+ fi
+ ac_ct_CC=$ac_cv_prog_ac_ct_CC
+ if test -n "$ac_ct_CC"; then
+- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+-echo "${ECHO_T}$ac_ct_CC" >&6
++ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
++echo "${ECHO_T}$ac_ct_CC" >&6; }
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
+- CC=$ac_ct_CC
++ if test "x$ac_ct_CC" = x; then
++ CC=""
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ CC=$ac_ct_CC
++ fi
+ else
+ CC="$ac_cv_prog_CC"
+ fi
+
+ if test -z "$CC"; then
+- if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}cc; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+ if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+@@ -2092,74 +2602,34 @@
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+ done
+ done
++IFS=$as_save_IFS
+
+ fi
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:$LINENO: result: $CC" >&5
+-echo "${ECHO_T}$CC" >&6
+-else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+-fi
+-if test -z "$ac_cv_prog_CC"; then
+- ac_ct_CC=$CC
+- # Extract the first word of "cc", so it can be a program name with args.
+-set dummy cc; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -n "$ac_ct_CC"; then
+- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+-else
+-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_ac_ct_CC="cc"
+- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
+- fi
+-done
+-done
+-
+-fi
+-fi
+-ac_ct_CC=$ac_cv_prog_ac_ct_CC
+-if test -n "$ac_ct_CC"; then
+- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+-echo "${ECHO_T}$ac_ct_CC" >&6
++ { echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6; }
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
+- CC=$ac_ct_CC
+-else
+- CC="$ac_cv_prog_CC"
+-fi
+
++ fi
+ fi
+ if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+ set dummy cc; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+ if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+@@ -2173,7 +2643,7 @@
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+@@ -2184,6 +2654,7 @@
+ fi
+ done
+ done
++IFS=$as_save_IFS
+
+ if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+@@ -2201,22 +2672,23 @@
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:$LINENO: result: $CC" >&5
+-echo "${ECHO_T}$CC" >&6
++ { echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6; }
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
++
+ fi
+ if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+- for ac_prog in cl
++ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+ set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+ if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+@@ -2229,36 +2701,38 @@
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+ done
+ done
++IFS=$as_save_IFS
+
+ fi
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:$LINENO: result: $CC" >&5
+-echo "${ECHO_T}$CC" >&6
++ { echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6; }
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
++
+ test -n "$CC" && break
+ done
+ fi
+ if test -z "$CC"; then
+ ac_ct_CC=$CC
+- for ac_prog in cl
++ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+ if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+@@ -2271,29 +2745,45 @@
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+ done
+ done
++IFS=$as_save_IFS
+
+ fi
+ fi
+ ac_ct_CC=$ac_cv_prog_ac_ct_CC
+ if test -n "$ac_ct_CC"; then
+- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+-echo "${ECHO_T}$ac_ct_CC" >&6
++ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
++echo "${ECHO_T}$ac_ct_CC" >&6; }
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
++
+ test -n "$ac_ct_CC" && break
+ done
+
+- CC=$ac_ct_CC
++ if test "x$ac_ct_CC" = x; then
++ CC=""
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ CC=$ac_ct_CC
++ fi
+ fi
+
+ fi
+@@ -2306,21 +2796,35 @@
+ { (exit 1); exit 1; }; }
+
+ # Provide some information about the compiler.
+-echo "$as_me:$LINENO:" \
+- "checking for C compiler version" >&5
++echo "$as_me:$LINENO: checking for C compiler version" >&5
+ ac_compiler=`set X $ac_compile; echo $2`
+-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+- (eval $ac_compiler --version </dev/null >&5) 2>&5
++{ (ac_try="$ac_compiler --version >&5"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compiler --version >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+- (eval $ac_compiler -v </dev/null >&5) 2>&5
++{ (ac_try="$ac_compiler -v >&5"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compiler -v >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+- (eval $ac_compiler -V </dev/null >&5) 2>&5
++{ (ac_try="$ac_compiler -V >&5"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compiler -V >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+@@ -2345,47 +2849,77 @@
+ # Try to create an executable without -o first, disregard a.out.
+ # It will help us diagnose broken compilers, and finding out an intuition
+ # of exeext.
+-echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
++echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
+ ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
+- (eval $ac_link_default) 2>&5
++#
++# List of possible output files, starting from the most likely.
++# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
++# only as a last resort. b.out is created by i960 compilers.
++ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
++#
++# The IRIX 6 linker writes into existing files which may not be
++# executable, retaining their permissions. Remove them first so a
++# subsequent execution test works.
++ac_rmfiles=
++for ac_file in $ac_files
++do
++ case $ac_file in
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
++ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
++ esac
++done
++rm -f $ac_rmfiles
++
++if { (ac_try="$ac_link_default"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- # Find the output, starting from the most likely. This scheme is
+-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
+-# resort.
+-
+-# Be careful to initialize this variable, since it used to be cached.
+-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
+-ac_cv_exeext=
+-# b.out is created by i960 compilers.
+-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
++ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
++# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
++# in a Makefile. We should not override ac_cv_exeext if it was cached,
++# so that the user can short-circuit this test for compilers unknown to
++# Autoconf.
++for ac_file in $ac_files ''
+ do
+ test -f "$ac_file" || continue
+ case $ac_file in
+- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
+- ;;
+- conftest.$ac_ext )
+- # This is the source file.
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+- # FIXME: I believe we export ac_cv_exeext for Libtool,
+- # but it would be cool to find out if it's true. Does anybody
+- # maintain Libtool? --akim.
+- export ac_cv_exeext
++ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
++ then :; else
++ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
++ fi
++ # We set ac_cv_exeext here because the later test for it is not
++ # safe: cross compilers may not add the suffix if given an `-o'
++ # argument, so we may need to know it at that point already.
++ # Even if this section looks crufty: it has the advantage of
++ # actually working.
+ break;;
+ * )
+ break;;
+ esac
+ done
++test "$ac_cv_exeext" = no && ac_cv_exeext=
++
+ else
++ ac_file=''
++fi
++
++{ echo "$as_me:$LINENO: result: $ac_file" >&5
++echo "${ECHO_T}$ac_file" >&6; }
++if test -z "$ac_file"; then
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+@@ -2397,19 +2931,21 @@
+ fi
+
+ ac_exeext=$ac_cv_exeext
+-echo "$as_me:$LINENO: result: $ac_file" >&5
+-echo "${ECHO_T}$ac_file" >&6
+
+-# Check the compiler produces executables we can run. If not, either
++# Check that the compiler produces executables we can run. If not, either
+ # the compiler is broken, or we cross compile.
+-echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
++echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
+ # FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+ # If not cross compiling, check that we can run a simple program.
+ if test "$cross_compiling" != yes; then
+ if { ac_try='./$ac_file'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+@@ -2428,22 +2964,27 @@
+ fi
+ fi
+ fi
+-echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
++{ echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
+
+ rm -f a.out a.exe conftest$ac_cv_exeext b.out
+ ac_clean_files=$ac_clean_files_save
+-# Check the compiler produces executables we can run. If not, either
++# Check that the compiler produces executables we can run. If not, either
+ # the compiler is broken, or we cross compile.
+-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+-echo "$as_me:$LINENO: result: $cross_compiling" >&5
+-echo "${ECHO_T}$cross_compiling" >&6
+-
+-echo "$as_me:$LINENO: checking for suffix of executables" >&5
+-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
++{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
++echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
++{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
++echo "${ECHO_T}$cross_compiling" >&6; }
++
++{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
++echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+@@ -2454,9 +2995,8 @@
+ for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+- export ac_cv_exeext
+ break;;
+ * ) break;;
+ esac
+@@ -2470,14 +3010,14 @@
+ fi
+
+ rm -f conftest$ac_cv_exeext
+-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+-echo "${ECHO_T}$ac_cv_exeext" >&6
++{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
++echo "${ECHO_T}$ac_cv_exeext" >&6; }
+
+ rm -f conftest.$ac_ext
+ EXEEXT=$ac_cv_exeext
+ ac_exeext=$EXEEXT
+-echo "$as_me:$LINENO: checking for suffix of object files" >&5
+-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
++echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
+ if test "${ac_cv_objext+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+@@ -2497,14 +3037,20 @@
+ }
+ _ACEOF
+ rm -f conftest.o conftest.obj
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
++ for ac_file in conftest.o conftest.obj conftest.*; do
++ test -f "$ac_file" || continue;
+ case $ac_file in
+- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+@@ -2522,12 +3068,12 @@
+
+ rm -f conftest.$ac_cv_objext conftest.$ac_ext
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+-echo "${ECHO_T}$ac_cv_objext" >&6
++{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
++echo "${ECHO_T}$ac_cv_objext" >&6; }
+ OBJEXT=$ac_cv_objext
+ ac_objext=$OBJEXT
+-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
++echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
+ if test "${ac_cv_c_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+@@ -2550,50 +3096,49 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
+ ac_compiler_gnu=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_compiler_gnu=no
++ ac_compiler_gnu=no
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
++{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
++echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
+ GCC=`test $ac_compiler_gnu = yes && echo yes`
+ ac_test_CFLAGS=${CFLAGS+set}
+ ac_save_CFLAGS=$CFLAGS
+-CFLAGS="-g"
+-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
++echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
+ if test "${ac_cv_prog_cc_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
++ ac_save_c_werror_flag=$ac_c_werror_flag
++ ac_c_werror_flag=yes
++ ac_cv_prog_cc_g=no
++ CFLAGS="-g"
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+@@ -2609,311 +3154,248 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_prog_cc_g=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+-if test "$ac_test_CFLAGS" = set; then
+- CFLAGS=$ac_save_CFLAGS
+-elif test $ac_cv_prog_cc_g = yes; then
+- if test "$GCC" = yes; then
+- CFLAGS="-g -O2"
+- else
+- CFLAGS="-g"
+- fi
+-else
+- if test "$GCC" = yes; then
+- CFLAGS="-O2"
+- else
+- CFLAGS=
+- fi
+-fi
+-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
+-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+-if test "${ac_cv_prog_cc_stdc+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_cv_prog_cc_stdc=no
+-ac_save_CC=$CC
+-cat >conftest.$ac_ext <<_ACEOF
++ CFLAGS=""
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <stdarg.h>
+-#include <stdio.h>
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+-struct buf { int x; };
+-FILE * (*rcsopen) (struct buf *, struct stat *, int);
+-static char *e (p, i)
+- char **p;
+- int i;
+-{
+- return p[i];
+-}
+-static char *f (char * (*g) (char **, int), char **p, ...)
++
++int
++main ()
+ {
+- char *s;
+- va_list v;
+- va_start (v,p);
+- s = g (p, va_arg (v,int));
+- va_end (v);
+- return s;
+-}
+
+-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+- function prototypes and stuff, but not '\xHH' hex character constants.
+- These don't provoke an error unfortunately, instead are silently treated
+- as 'x'. The following induces an error, until -std1 is added to get
+- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+- array size at least. It's necessary to write '\x00'==0 to get something
+- that's true only with -std1. */
+-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+-
+-int test (int i, double x);
+-struct s1 {int (*f) (int a);};
+-struct s2 {int (*f) (double a);};
+-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+-int argc;
+-char **argv;
+-int
+-main ()
+-{
+-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+ }
+ _ACEOF
+-# Don't try gcc -ansi; that turns off useful extensions and
+-# breaks some systems' header files.
+-# AIX -qlanglvl=ansi
+-# Ultrix and OSF/1 -std1
+-# HP-UX 10.20 and later -Ae
+-# HP-UX older versions -Aa -D_HPUX_SOURCE
+-# SVR4 -Xc -D__EXTENSIONS__
+-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+-do
+- CC="$ac_save_CC $ac_arg"
+- rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_prog_cc_stdc=$ac_arg
+-break
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ :
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-fi
+-rm -f conftest.err conftest.$ac_objext
+-done
+-rm -f conftest.$ac_ext conftest.$ac_objext
+-CC=$ac_save_CC
+-
+-fi
+-
+-case "x$ac_cv_prog_cc_stdc" in
+- x|xno)
+- echo "$as_me:$LINENO: result: none needed" >&5
+-echo "${ECHO_T}none needed" >&6 ;;
+- *)
+- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
+-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+- CC="$CC $ac_cv_prog_cc_stdc" ;;
+-esac
+-
+-# Some people use a C++ compiler to compile C. Since we use `exit',
+-# in C++ we need to declare it. In case someone uses the same compiler
+-# for both compiling C and C++ we need to have the C++ compiler decide
+-# the declaration of exit, since it's the most demanding environment.
+-cat >conftest.$ac_ext <<_ACEOF
+-#ifndef __cplusplus
+- choke me
+-#endif
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- for ac_declaration in \
+- '' \
+- 'extern "C" void std::exit (int) throw (); using std::exit;' \
+- 'extern "C" void std::exit (int); using std::exit;' \
+- 'extern "C" void exit (int) throw ();' \
+- 'extern "C" void exit (int);' \
+- 'void exit (int);'
+-do
+- cat >conftest.$ac_ext <<_ACEOF
++ ac_c_werror_flag=$ac_save_c_werror_flag
++ CFLAGS="-g"
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-$ac_declaration
+-#include <stdlib.h>
++
+ int
+ main ()
+ {
+-exit (42);
++
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- :
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_prog_cc_g=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-continue
++
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+- cat >conftest.$ac_ext <<_ACEOF
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ ac_c_werror_flag=$ac_save_c_werror_flag
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
++echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
++if test "$ac_test_CFLAGS" = set; then
++ CFLAGS=$ac_save_CFLAGS
++elif test $ac_cv_prog_cc_g = yes; then
++ if test "$GCC" = yes; then
++ CFLAGS="-g -O2"
++ else
++ CFLAGS="-g"
++ fi
++else
++ if test "$GCC" = yes; then
++ CFLAGS="-O2"
++ else
++ CFLAGS=
++ fi
++fi
++{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
++echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
++if test "${ac_cv_prog_cc_c89+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_prog_cc_c89=no
++ac_save_CC=$CC
++cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-$ac_declaration
++#include <stdarg.h>
++#include <stdio.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
++struct buf { int x; };
++FILE * (*rcsopen) (struct buf *, struct stat *, int);
++static char *e (p, i)
++ char **p;
++ int i;
++{
++ return p[i];
++}
++static char *f (char * (*g) (char **, int), char **p, ...)
++{
++ char *s;
++ va_list v;
++ va_start (v,p);
++ s = g (p, va_arg (v,int));
++ va_end (v);
++ return s;
++}
++
++/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
++ function prototypes and stuff, but not '\xHH' hex character constants.
++ These don't provoke an error unfortunately, instead are silently treated
++ as 'x'. The following induces an error, until -std is added to get
++ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
++ array size at least. It's necessary to write '\x00'==0 to get something
++ that's true only with -std. */
++int osf4_cc_array ['\x00' == 0 ? 1 : -1];
++
++/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
++ inside strings and character constants. */
++#define FOO(x) 'x'
++int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
++
++int test (int i, double x);
++struct s1 {int (*f) (int a);};
++struct s2 {int (*f) (double a);};
++int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
++int argc;
++char **argv;
+ int
+ main ()
+ {
+-exit (42);
++return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
++ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
++do
++ CC="$ac_save_CC $ac_arg"
++ rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- break
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_prog_cc_c89=$ac_arg
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
++
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++rm -f core conftest.err conftest.$ac_objext
++ test "x$ac_cv_prog_cc_c89" != "xno" && break
+ done
+-rm -f conftest*
+-if test -n "$ac_declaration"; then
+- echo '#ifdef __cplusplus' >>confdefs.h
+- echo $ac_declaration >>confdefs.h
+- echo '#endif' >>confdefs.h
++rm -f conftest.$ac_ext
++CC=$ac_save_CC
++
+ fi
++# AC_CACHE_VAL
++case "x$ac_cv_prog_cc_c89" in
++ x)
++ { echo "$as_me:$LINENO: result: none needed" >&5
++echo "${ECHO_T}none needed" >&6; } ;;
++ xno)
++ { echo "$as_me:$LINENO: result: unsupported" >&5
++echo "${ECHO_T}unsupported" >&6; } ;;
++ *)
++ CC="$CC $ac_cv_prog_cc_c89"
++ { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
++echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
++esac
+
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+@@ -2921,7 +3403,7 @@
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ DEPDIR="${am__leading_dot}deps"
+
+- ac_config_commands="$ac_config_commands depfiles"
++ac_config_commands="$ac_config_commands depfiles"
+
+
+ am_make=${MAKE-make}
+@@ -2931,8 +3413,8 @@
+ .PHONY: am__doit
+ END
+ # If we don't find an include directive, just comment out the code.
+-echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
++echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
+ am__include="#"
+ am__quote=
+ _am_result=none
+@@ -2959,22 +3441,20 @@
+ fi
+
+
+-echo "$as_me:$LINENO: result: $_am_result" >&5
+-echo "${ECHO_T}$_am_result" >&6
++{ echo "$as_me:$LINENO: result: $_am_result" >&5
++echo "${ECHO_T}$_am_result" >&6; }
+ rm -f confinc confmf
+
+-# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
++# Check whether --enable-dependency-tracking was given.
+ if test "${enable_dependency_tracking+set}" = set; then
+- enableval="$enable_dependency_tracking"
++ enableval=$enable_dependency_tracking;
++fi
+
+-fi;
+ if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+ fi
+-
+-
+-if test "x$enable_dependency_tracking" != xno; then
++ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+ else
+@@ -2984,11 +3464,10 @@
+
+
+
+-
+ depcc="$CC" am_compiler_list=
+
+-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
++echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+ if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+@@ -3052,6 +3531,7 @@
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
++ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+@@ -3077,13 +3557,11 @@
+ fi
+
+ fi
+-echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
++{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
++echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
+ CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+-
+-
+-if
++ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+@@ -3099,246 +3577,518 @@
+ else
+ CCLD="$CC"
+ fi
+-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
++{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
++echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
++set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
++if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.make <<\_ACEOF
++SHELL = /bin/sh
+ all:
+- @echo 'ac_maketemp="$(MAKE)"'
++ @echo '@@@%%%=$(MAKE)=@@@%%%'
+ _ACEOF
+ # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+-if test -n "$ac_maketemp"; then
+- eval ac_cv_prog_make_${ac_make}_set=yes
+-else
+- eval ac_cv_prog_make_${ac_make}_set=no
+-fi
++case `${MAKE-make} -f conftest.make 2>/dev/null` in
++ *@@@%%%=?*=@@@%%%*)
++ eval ac_cv_prog_make_${ac_make}_set=yes;;
++ *)
++ eval ac_cv_prog_make_${ac_make}_set=no;;
++esac
+ rm -f conftest.make
+ fi
+-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+- echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
++if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
++ { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
+ SET_MAKE=
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+ fi
+
+-# Check whether --enable-shared or --disable-shared was given.
+-if test "${enable_shared+set}" = set; then
+- enableval="$enable_shared"
+- p=${PACKAGE-default}
+- case $enableval in
+- yes) enable_shared=yes ;;
+- no) enable_shared=no ;;
+- *)
+- enable_shared=no
+- # Look at the argument we got. We use all the common list separators.
+- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+- for pkg in $enableval; do
+- IFS="$lt_save_ifs"
+- if test "X$pkg" = "X$p"; then
+- enable_shared=yes
+- fi
+- done
+- IFS="$lt_save_ifs"
+- ;;
+- esac
+-else
+- enable_shared=yes
+-fi;
++case `pwd` in
++ *\ * | *\ *)
++ { echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
++echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
++esac
++
++
++
++macro_version='2.2.4'
++macro_revision='1.2976'
++
++
++
++
++
++
++
++
+
+-# Check whether --enable-static or --disable-static was given.
+-if test "${enable_static+set}" = set; then
+- enableval="$enable_static"
+- p=${PACKAGE-default}
+- case $enableval in
+- yes) enable_static=yes ;;
+- no) enable_static=no ;;
+- *)
+- enable_static=no
+- # Look at the argument we got. We use all the common list separators.
+- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+- for pkg in $enableval; do
+- IFS="$lt_save_ifs"
+- if test "X$pkg" = "X$p"; then
+- enable_static=yes
+- fi
+- done
+- IFS="$lt_save_ifs"
+- ;;
+- esac
+-else
+- enable_static=yes
+-fi;
+
+-# Check whether --enable-fast-install or --disable-fast-install was given.
+-if test "${enable_fast_install+set}" = set; then
+- enableval="$enable_fast_install"
+- p=${PACKAGE-default}
+- case $enableval in
+- yes) enable_fast_install=yes ;;
+- no) enable_fast_install=no ;;
+- *)
+- enable_fast_install=no
+- # Look at the argument we got. We use all the common list separators.
+- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+- for pkg in $enableval; do
+- IFS="$lt_save_ifs"
+- if test "X$pkg" = "X$p"; then
+- enable_fast_install=yes
+- fi
+- done
+- IFS="$lt_save_ifs"
+- ;;
+- esac
+-else
+- enable_fast_install=yes
+-fi;
++
++
++
++ltmain="$ac_aux_dir/ltmain.sh"
+
+ # Make sure we can run config.sub.
+-$ac_config_sub sun4 >/dev/null 2>&1 ||
+- { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
+-echo "$as_me: error: cannot run $ac_config_sub" >&2;}
++$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
++ { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
++echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+ { (exit 1); exit 1; }; }
+
+-echo "$as_me:$LINENO: checking build system type" >&5
+-echo $ECHO_N "checking build system type... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking build system type" >&5
++echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
+ if test "${ac_cv_build+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_cv_build_alias=$build_alias
+-test -z "$ac_cv_build_alias" &&
+- ac_cv_build_alias=`$ac_config_guess`
+-test -z "$ac_cv_build_alias" &&
++ ac_build_alias=$build_alias
++test "x$ac_build_alias" = x &&
++ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
++test "x$ac_build_alias" = x &&
+ { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+ echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { (exit 1); exit 1; }; }
+-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
+- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
+-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
++ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
++ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
++echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+-echo "${ECHO_T}$ac_cv_build" >&6
++{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
++echo "${ECHO_T}$ac_cv_build" >&6; }
++case $ac_cv_build in
++*-*-*) ;;
++*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
++echo "$as_me: error: invalid value of canonical build" >&2;}
++ { (exit 1); exit 1; }; };;
++esac
+ build=$ac_cv_build
+-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
++ac_save_IFS=$IFS; IFS='-'
++set x $ac_cv_build
++shift
++build_cpu=$1
++build_vendor=$2
++shift; shift
++# Remember, the first character of IFS is used to create $*,
++# except with old shells:
++build_os=$*
++IFS=$ac_save_IFS
++case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+-echo "$as_me:$LINENO: checking host system type" >&5
+-echo $ECHO_N "checking host system type... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking host system type" >&5
++echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
+ if test "${ac_cv_host+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_cv_host_alias=$host_alias
+-test -z "$ac_cv_host_alias" &&
+- ac_cv_host_alias=$ac_cv_build_alias
+-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
+- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
+-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
++ if test "x$host_alias" = x; then
++ ac_cv_host=$ac_cv_build
++else
++ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
++ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
++echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
++fi
+
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+-echo "${ECHO_T}$ac_cv_host" >&6
++{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
++echo "${ECHO_T}$ac_cv_host" >&6; }
++case $ac_cv_host in
++*-*-*) ;;
++*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
++echo "$as_me: error: invalid value of canonical host" >&2;}
++ { (exit 1); exit 1; }; };;
++esac
+ host=$ac_cv_host
+-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+-
+-
+-echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6
+-if test "${lt_cv_path_SED+set}" = set; then
++ac_save_IFS=$IFS; IFS='-'
++set x $ac_cv_host
++shift
++host_cpu=$1
++host_vendor=$2
++shift; shift
++# Remember, the first character of IFS is used to create $*,
++# except with old shells:
++host_os=$*
++IFS=$ac_save_IFS
++case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
++
++
++{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
++echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; }
++if test "${ac_cv_path_SED+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
++ for ac_i in 1 2 3 4 5 6 7; do
++ ac_script="$ac_script$as_nl$ac_script"
++ done
++ echo "$ac_script" | sed 99q >conftest.sed
++ $as_unset ac_script || ac_script=
++ # Extract the first word of "sed gsed" to use in msg output
++if test -z "$SED"; then
++set dummy sed gsed; ac_prog_name=$2
++if test "${ac_cv_path_SED+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- # Loop through the user's path and test for sed and gsed.
+-# Then use that list of sed's as ones to test for truncation.
++ ac_path_SED_found=false
++# Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+- for lt_ac_prog in sed gsed; do
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+- fi
+- done
+- done
+-done
+-lt_ac_max=0
+-lt_ac_count=0
+-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+-# along with /bin/sed that truncates output.
+-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+- test ! -f $lt_ac_sed && continue
+- cat /dev/null > conftest.in
+- lt_ac_count=0
+- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+- # Check for GNU sed and select it if it is found.
+- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+- lt_cv_path_SED=$lt_ac_sed
+- break
+- fi
+- while true; do
+- cat conftest.in conftest.in >conftest.tmp
+- mv conftest.tmp conftest.in
+- cp conftest.in conftest.nl
+- echo >>conftest.nl
+- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+- cmp -s conftest.out conftest.nl || break
+- # 10000 chars as input seems more than enough
+- test $lt_ac_count -gt 10 && break
+- lt_ac_count=`expr $lt_ac_count + 1`
+- if test $lt_ac_count -gt $lt_ac_max; then
+- lt_ac_max=$lt_ac_count
+- lt_cv_path_SED=$lt_ac_sed
++ for ac_prog in sed gsed; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
++ { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
++ # Check for GNU ac_path_SED and select it if it is found.
++ # Check for GNU $ac_path_SED
++case `"$ac_path_SED" --version 2>&1` in
++*GNU*)
++ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
++*)
++ ac_count=0
++ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
++ while :
++ do
++ cat "conftest.in" "conftest.in" >"conftest.tmp"
++ mv "conftest.tmp" "conftest.in"
++ cp "conftest.in" "conftest.nl"
++ echo '' >> "conftest.nl"
++ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++ ac_count=`expr $ac_count + 1`
++ if test $ac_count -gt ${ac_path_SED_max-0}; then
++ # Best one so far, save it but keep looking for a better one
++ ac_cv_path_SED="$ac_path_SED"
++ ac_path_SED_max=$ac_count
++ fi
++ # 10*(2^10) chars as input seems more than enough
++ test $ac_count -gt 10 && break
++ done
++ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
++esac
++
++
++ $ac_path_SED_found && break 3
++ done
++done
++
++done
++IFS=$as_save_IFS
++
++
++fi
++
++SED="$ac_cv_path_SED"
++if test -z "$SED"; then
++ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in \$PATH" >&5
++echo "$as_me: error: no acceptable $ac_prog_name could be found in \$PATH" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++else
++ ac_cv_path_SED=$SED
++fi
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
++echo "${ECHO_T}$ac_cv_path_SED" >&6; }
++ SED="$ac_cv_path_SED"
++ rm -f conftest.sed
++
++test -z "$SED" && SED=sed
++Xsed="$SED -e 1s/^X//"
++
++
++
++
++
++
++
++
++
++
++
++{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
++echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
++if test "${ac_cv_path_GREP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ # Extract the first word of "grep ggrep" to use in msg output
++if test -z "$GREP"; then
++set dummy grep ggrep; ac_prog_name=$2
++if test "${ac_cv_path_GREP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_path_GREP_found=false
++# Loop through the user's path and test for each of PROGNAME-LIST
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_prog in grep ggrep; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
++ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
++ # Check for GNU ac_path_GREP and select it if it is found.
++ # Check for GNU $ac_path_GREP
++case `"$ac_path_GREP" --version 2>&1` in
++*GNU*)
++ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
++*)
++ ac_count=0
++ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
++ while :
++ do
++ cat "conftest.in" "conftest.in" >"conftest.tmp"
++ mv "conftest.tmp" "conftest.in"
++ cp "conftest.in" "conftest.nl"
++ echo 'GREP' >> "conftest.nl"
++ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++ ac_count=`expr $ac_count + 1`
++ if test $ac_count -gt ${ac_path_GREP_max-0}; then
++ # Best one so far, save it but keep looking for a better one
++ ac_cv_path_GREP="$ac_path_GREP"
++ ac_path_GREP_max=$ac_count
++ fi
++ # 10*(2^10) chars as input seems more than enough
++ test $ac_count -gt 10 && break
++ done
++ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
++esac
++
++
++ $ac_path_GREP_found && break 3
++ done
++done
++
++done
++IFS=$as_save_IFS
++
++
++fi
++
++GREP="$ac_cv_path_GREP"
++if test -z "$GREP"; then
++ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
++echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++else
++ ac_cv_path_GREP=$GREP
++fi
++
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
++echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
++ GREP="$ac_cv_path_GREP"
++
++
++{ echo "$as_me:$LINENO: checking for egrep" >&5
++echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
++if test "${ac_cv_path_EGREP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
++ then ac_cv_path_EGREP="$GREP -E"
++ else
++ # Extract the first word of "egrep" to use in msg output
++if test -z "$EGREP"; then
++set dummy egrep; ac_prog_name=$2
++if test "${ac_cv_path_EGREP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_path_EGREP_found=false
++# Loop through the user's path and test for each of PROGNAME-LIST
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_prog in egrep; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
++ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
++ # Check for GNU ac_path_EGREP and select it if it is found.
++ # Check for GNU $ac_path_EGREP
++case `"$ac_path_EGREP" --version 2>&1` in
++*GNU*)
++ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
++*)
++ ac_count=0
++ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
++ while :
++ do
++ cat "conftest.in" "conftest.in" >"conftest.tmp"
++ mv "conftest.tmp" "conftest.in"
++ cp "conftest.in" "conftest.nl"
++ echo 'EGREP' >> "conftest.nl"
++ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++ ac_count=`expr $ac_count + 1`
++ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
++ # Best one so far, save it but keep looking for a better one
++ ac_cv_path_EGREP="$ac_path_EGREP"
++ ac_path_EGREP_max=$ac_count
+ fi
++ # 10*(2^10) chars as input seems more than enough
++ test $ac_count -gt 10 && break
++ done
++ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
++esac
++
++
++ $ac_path_EGREP_found && break 3
+ done
+ done
+
++done
++IFS=$as_save_IFS
++
++
++fi
++
++EGREP="$ac_cv_path_EGREP"
++if test -z "$EGREP"; then
++ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
++echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++else
++ ac_cv_path_EGREP=$EGREP
++fi
++
++
++ fi
+ fi
++{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
++echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
++ EGREP="$ac_cv_path_EGREP"
+
+-SED=$lt_cv_path_SED
+-echo "$as_me:$LINENO: result: $SED" >&5
+-echo "${ECHO_T}$SED" >&6
+-
+-echo "$as_me:$LINENO: checking for egrep" >&5
+-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
+-if test "${ac_cv_prog_egrep+set}" = set; then
++
++{ echo "$as_me:$LINENO: checking for fgrep" >&5
++echo $ECHO_N "checking for fgrep... $ECHO_C" >&6; }
++if test "${ac_cv_path_FGREP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
++ then ac_cv_path_FGREP="$GREP -F"
++ else
++ # Extract the first word of "fgrep" to use in msg output
++if test -z "$FGREP"; then
++set dummy fgrep; ac_prog_name=$2
++if test "${ac_cv_path_FGREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+- then ac_cv_prog_egrep='grep -E'
+- else ac_cv_prog_egrep='egrep'
++ ac_path_FGREP_found=false
++# Loop through the user's path and test for each of PROGNAME-LIST
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_prog in fgrep; do
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
++ { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
++ # Check for GNU ac_path_FGREP and select it if it is found.
++ # Check for GNU $ac_path_FGREP
++case `"$ac_path_FGREP" --version 2>&1` in
++*GNU*)
++ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
++*)
++ ac_count=0
++ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
++ while :
++ do
++ cat "conftest.in" "conftest.in" >"conftest.tmp"
++ mv "conftest.tmp" "conftest.in"
++ cp "conftest.in" "conftest.nl"
++ echo 'FGREP' >> "conftest.nl"
++ "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
++ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
++ ac_count=`expr $ac_count + 1`
++ if test $ac_count -gt ${ac_path_FGREP_max-0}; then
++ # Best one so far, save it but keep looking for a better one
++ ac_cv_path_FGREP="$ac_path_FGREP"
++ ac_path_FGREP_max=$ac_count
+ fi
++ # 10*(2^10) chars as input seems more than enough
++ test $ac_count -gt 10 && break
++ done
++ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
++esac
++
++
++ $ac_path_FGREP_found && break 3
++ done
++done
++
++done
++IFS=$as_save_IFS
++
++
++fi
++
++FGREP="$ac_cv_path_FGREP"
++if test -z "$FGREP"; then
++ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
++echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++else
++ ac_cv_path_FGREP=$FGREP
++fi
++
++
++ fi
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
+-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
+- EGREP=$ac_cv_prog_egrep
++{ echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5
++echo "${ECHO_T}$ac_cv_path_FGREP" >&6; }
++ FGREP="$ac_cv_path_FGREP"
++
++
++test -z "$GREP" && GREP=grep
++
++
++
++
++
++
++
++
++
+
+
+
+-# Check whether --with-gnu-ld or --without-gnu-ld was given.
++
++
++
++
++
++
++
++# Check whether --with-gnu-ld was given.
+ if test "${with_gnu_ld+set}" = set; then
+- withval="$with_gnu_ld"
+- test "$withval" = no || with_gnu_ld=yes
++ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+ else
+ with_gnu_ld=no
+-fi;
++fi
++
+ ac_prog=ld
+ if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+- echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
++ { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
++echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+@@ -3351,9 +4101,9 @@
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
++ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
++ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
++ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+@@ -3367,11 +4117,11 @@
+ ;;
+ esac
+ elif test "$with_gnu_ld" = yes; then
+- echo "$as_me:$LINENO: checking for GNU ld" >&5
+-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
++ { echo "$as_me:$LINENO: checking for GNU ld" >&5
++echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
+ else
+- echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
++ { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
++echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
+ fi
+ if test "${lt_cv_path_LD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3404,17 +4154,17 @@
+
+ LD="$lt_cv_path_LD"
+ if test -n "$LD"; then
+- echo "$as_me:$LINENO: result: $LD" >&5
+-echo "${ECHO_T}$LD" >&6
++ { echo "$as_me:$LINENO: result: $LD" >&5
++echo "${ECHO_T}$LD" >&6; }
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+ test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+ echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
++echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
+ if test "${lt_cv_prog_gnu_ld+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+@@ -3428,38 +4178,20 @@
+ ;;
+ esac
+ fi
+-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
++echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
+ with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+-echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
+-if test "${lt_cv_ld_reload_flag+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- lt_cv_ld_reload_flag='-r'
+-fi
+-echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
+-reload_flag=$lt_cv_ld_reload_flag
+-case $reload_flag in
+-"" | " "*) ;;
+-*) reload_flag=" $reload_flag" ;;
+-esac
+-reload_cmds='$LD$reload_flag -o $output$reload_objs'
+-case $host_os in
+- darwin*)
+- if test "$GCC" = yes; then
+- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+- else
+- reload_cmds='$LD$reload_flag -o $output$reload_objs'
+- fi
+- ;;
+-esac
+
+-echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
+-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
++
++
++
++
++
++
++{ echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5
++echo $ECHO_N "checking for BSD- or MS-compatible name lister (nm)... $ECHO_C" >&6; }
+ if test "${lt_cv_path_NM+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+@@ -3504,77 +4236,451 @@
+ done
+ IFS="$lt_save_ifs"
+ done
+- test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
++ : ${lt_cv_path_NM=no}
+ fi
+ fi
+-echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+-echo "${ECHO_T}$lt_cv_path_NM" >&6
+-NM="$lt_cv_path_NM"
++{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
++echo "${ECHO_T}$lt_cv_path_NM" >&6; }
++if test "$lt_cv_path_NM" != "no"; then
++ NM="$lt_cv_path_NM"
++else
++ # Didn't find any BSD compatible name lister, look for dumpbin.
++ if test -n "$ac_tool_prefix"; then
++ for ac_prog in "dumpbin -symbols" "link -dump -symbols"
++ do
++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_DUMPBIN+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$DUMPBIN"; then
++ ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
+
+-echo "$as_me:$LINENO: checking whether ln -s works" >&5
+-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+-LN_S=$as_ln_s
+-if test "$LN_S" = "ln -s"; then
+- echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
++fi
++fi
++DUMPBIN=$ac_cv_prog_DUMPBIN
++if test -n "$DUMPBIN"; then
++ { echo "$as_me:$LINENO: result: $DUMPBIN" >&5
++echo "${ECHO_T}$DUMPBIN" >&6; }
+ else
+- echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+-echo "${ECHO_T}no, using $LN_S" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
+-echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
+-echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6
+-if test "${lt_cv_deplibs_check_method+set}" = set; then
++
++ test -n "$DUMPBIN" && break
++ done
++fi
++if test -z "$DUMPBIN"; then
++ ac_ct_DUMPBIN=$DUMPBIN
++ for ac_prog in "dumpbin -symbols" "link -dump -symbols"
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- lt_cv_file_magic_cmd='$MAGIC_CMD'
+-lt_cv_file_magic_test_file=
+-lt_cv_deplibs_check_method='unknown'
+-# Need to set the preceding variable on all platforms that support
+-# interlibrary dependencies.
+-# 'none' -- dependencies not supported.
+-# `unknown' -- same as none, but documents that we really don't know.
+-# 'pass_all' -- all dependencies passed with no checks.
+-# 'test_compile' -- check by making test program.
+-# 'file_magic [[regex]]' -- check by looking for files in library path
+-# which responds to the $file_magic_cmd with a given extended regex.
+-# If you have `file' or equivalent on your system and you're not sure
+-# whether `pass_all' will *always* work, you probably want this one.
++ if test -n "$ac_ct_DUMPBIN"; then
++ ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
+
+-case $host_os in
+-aix4* | aix5*)
+- lt_cv_deplibs_check_method=pass_all
+- ;;
++fi
++fi
++ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
++if test -n "$ac_ct_DUMPBIN"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5
++echo "${ECHO_T}$ac_ct_DUMPBIN" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
+
+-beos*)
+- lt_cv_deplibs_check_method=pass_all
+- ;;
+
+-bsdi[45]*)
+- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+- lt_cv_file_magic_cmd='/usr/bin/file -L'
+- lt_cv_file_magic_test_file=/shlib/libc.so
+- ;;
++ test -n "$ac_ct_DUMPBIN" && break
++done
++
++ if test "x$ac_ct_DUMPBIN" = x; then
++ DUMPBIN=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ DUMPBIN=$ac_ct_DUMPBIN
++ fi
++fi
++
++
++ if test "$DUMPBIN" != ":"; then
++ NM="$DUMPBIN"
++ fi
++fi
++test -z "$NM" && NM=nm
++
++
++
++
++
++
++{ echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5
++echo $ECHO_N "checking the name lister ($NM) interface... $ECHO_C" >&6; }
++if test "${lt_cv_nm_interface+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_nm_interface="BSD nm"
++ echo "int some_variable = 0;" > conftest.$ac_ext
++ (eval echo "\"\$as_me:4371: $ac_compile\"" >&5)
++ (eval "$ac_compile" 2>conftest.err)
++ cat conftest.err >&5
++ (eval echo "\"\$as_me:4374: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
++ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
++ cat conftest.err >&5
++ (eval echo "\"\$as_me:4377: output\"" >&5)
++ cat conftest.out >&5
++ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
++ lt_cv_nm_interface="MS dumpbin"
++ fi
++ rm -f conftest*
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5
++echo "${ECHO_T}$lt_cv_nm_interface" >&6; }
++
++{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
++echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
++LN_S=$as_ln_s
++if test "$LN_S" = "ln -s"; then
++ { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
++echo "${ECHO_T}no, using $LN_S" >&6; }
++fi
++
++# find the maximum length of command line arguments
++{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
++echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
++if test "${lt_cv_sys_max_cmd_len+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ i=0
++ teststring="ABCD"
++
++ case $build_os in
++ msdosdjgpp*)
++ # On DJGPP, this test can blow up pretty badly due to problems in libc
++ # (any single argument exceeding 2000 bytes causes a buffer overrun
++ # during glob expansion). Even if it were fixed, the result of this
++ # check would be larger than it should be.
++ lt_cv_sys_max_cmd_len=12288; # 12K is about right
++ ;;
++
++ gnu*)
++ # Under GNU Hurd, this test is not required because there is
++ # no limit to the length of command line arguments.
++ # Libtool will interpret -1 as no limit whatsoever
++ lt_cv_sys_max_cmd_len=-1;
++ ;;
++
++ cygwin* | mingw*)
++ # On Win9x/ME, this test blows up -- it succeeds, but takes
++ # about 5 minutes as the teststring grows exponentially.
++ # Worse, since 9x/ME are not pre-emptively multitasking,
++ # you end up with a "frozen" computer, even though with patience
++ # the test eventually succeeds (with a max line length of 256k).
++ # Instead, let's just punt: use the minimum linelength reported by
++ # all of the supported platforms: 8192 (on NT/2K/XP).
++ lt_cv_sys_max_cmd_len=8192;
++ ;;
++
++ amigaos*)
++ # On AmigaOS with pdksh, this test takes hours, literally.
++ # So we just punt and use a minimum line length of 8192.
++ lt_cv_sys_max_cmd_len=8192;
++ ;;
++
++ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
++ # This has been around since 386BSD, at least. Likely further.
++ if test -x /sbin/sysctl; then
++ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
++ elif test -x /usr/sbin/sysctl; then
++ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
++ else
++ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
++ fi
++ # And add a safety zone
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
++ ;;
++
++ interix*)
++ # We know the value 262144 and hardcode it with a safety zone (like BSD)
++ lt_cv_sys_max_cmd_len=196608
++ ;;
++
++ osf*)
++ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
++ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
++ # nice to cause kernel panics so lets avoid the loop below.
++ # First set a reasonable default.
++ lt_cv_sys_max_cmd_len=16384
++ #
++ if test -x /sbin/sysconfig; then
++ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
++ *1*) lt_cv_sys_max_cmd_len=-1 ;;
++ esac
++ fi
++ ;;
++ sco3.2v5*)
++ lt_cv_sys_max_cmd_len=102400
++ ;;
++ sysv5* | sco5v6* | sysv4.2uw2*)
++ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
++ if test -n "$kargmax"; then
++ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
++ else
++ lt_cv_sys_max_cmd_len=32768
++ fi
++ ;;
++ *)
++ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
++ if test -n "$lt_cv_sys_max_cmd_len"; then
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
++ else
++ # Make teststring a little bigger before we do anything with it.
++ # a 1K string should be a reasonable start.
++ for i in 1 2 3 4 5 6 7 8 ; do
++ teststring=$teststring$teststring
++ done
++ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
++ # If test is not a shell built-in, we'll probably end up computing a
++ # maximum length that is only half of the actual maximum length, but
++ # we can't tell.
++ while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
++ = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
++ test $i != 17 # 1/2 MB should be enough
++ do
++ i=`expr $i + 1`
++ teststring=$teststring$teststring
++ done
++ # Only check the string length outside the loop.
++ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
++ teststring=
++ # Add a significant safety factor because C++ compilers can tack on
++ # massive amounts of additional arguments before passing them to the
++ # linker. It appears as though 1/2 is a usable value.
++ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
++ fi
++ ;;
++ esac
++
++fi
++
++if test -n $lt_cv_sys_max_cmd_len ; then
++ { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
++echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; }
++else
++ { echo "$as_me:$LINENO: result: none" >&5
++echo "${ECHO_T}none" >&6; }
++fi
++max_cmd_len=$lt_cv_sys_max_cmd_len
++
++
++
++
++
++
++: ${CP="cp -f"}
++: ${MV="mv -f"}
++: ${RM="rm -f"}
++
++{ echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5
++echo $ECHO_N "checking whether the shell understands some XSI constructs... $ECHO_C" >&6; }
++# Try some XSI features
++xsi_shell=no
++( _lt_dummy="a/b/c"
++ test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
++ = c,a/b,, \
++ && eval 'test $(( 1 + 1 )) -eq 2 \
++ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
++ && xsi_shell=yes
++{ echo "$as_me:$LINENO: result: $xsi_shell" >&5
++echo "${ECHO_T}$xsi_shell" >&6; }
++
++
++{ echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5
++echo $ECHO_N "checking whether the shell understands \"+=\"... $ECHO_C" >&6; }
++lt_shell_append=no
++( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
++ >/dev/null 2>&1 \
++ && lt_shell_append=yes
++{ echo "$as_me:$LINENO: result: $lt_shell_append" >&5
++echo "${ECHO_T}$lt_shell_append" >&6; }
+
+-cygwin*)
+- # func_win32_libid is a shell function defined in ltmain.sh
+- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+- lt_cv_file_magic_cmd='func_win32_libid'
+- ;;
++
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++ lt_unset=unset
++else
++ lt_unset=false
++fi
++
++
++
++
++
++# test EBCDIC or ASCII
++case `echo X|tr X '\101'` in
++ A) # ASCII based system
++ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
++ lt_SP2NL='tr \040 \012'
++ lt_NL2SP='tr \015\012 \040\040'
++ ;;
++ *) # EBCDIC based system
++ lt_SP2NL='tr \100 \n'
++ lt_NL2SP='tr \r\n \100\100'
++ ;;
++esac
++
++
++
++
++
++
++
++
++
++{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
++echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
++if test "${lt_cv_ld_reload_flag+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_ld_reload_flag='-r'
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
++echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
++reload_flag=$lt_cv_ld_reload_flag
++case $reload_flag in
++"" | " "*) ;;
++*) reload_flag=" $reload_flag" ;;
++esac
++reload_cmds='$LD$reload_flag -o $output$reload_objs'
++case $host_os in
++ darwin*)
++ if test "$GCC" = yes; then
++ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
++ else
++ reload_cmds='$LD$reload_flag -o $output$reload_objs'
++ fi
++ ;;
++esac
++
++
++
++
++
++
++
++
++
++
++{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
++echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; }
++if test "${lt_cv_deplibs_check_method+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_file_magic_cmd='$MAGIC_CMD'
++lt_cv_file_magic_test_file=
++lt_cv_deplibs_check_method='unknown'
++# Need to set the preceding variable on all platforms that support
++# interlibrary dependencies.
++# 'none' -- dependencies not supported.
++# `unknown' -- same as none, but documents that we really don't know.
++# 'pass_all' -- all dependencies passed with no checks.
++# 'test_compile' -- check by making test program.
++# 'file_magic [[regex]]' -- check by looking for files in library path
++# which responds to the $file_magic_cmd with a given extended regex.
++# If you have `file' or equivalent on your system and you're not sure
++# whether `pass_all' will *always* work, you probably want this one.
++
++case $host_os in
++aix[4-9]*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++beos*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
++bsdi[45]*)
++ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
++ lt_cv_file_magic_cmd='/usr/bin/file -L'
++ lt_cv_file_magic_test_file=/shlib/libc.so
++ ;;
++
++cygwin*)
++ # func_win32_libid is a shell function defined in ltmain.sh
++ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
++ lt_cv_file_magic_cmd='func_win32_libid'
++ ;;
+
+ mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+- # func_win32_libid shell function, so use a weaker test based on 'objdump'.
+- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+- lt_cv_file_magic_cmd='$OBJDUMP -f'
++ # func_win32_libid shell function, so use a weaker test based on 'objdump',
++ # unless we find 'file', for example because we are cross-compiling.
++ if ( file / ) >/dev/null 2>&1; then
++ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
++ lt_cv_file_magic_cmd='func_win32_libid'
++ else
++ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
++ lt_cv_file_magic_cmd='$OBJDUMP -f'
++ fi
+ ;;
+
+ darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+-freebsd* | kfreebsd*-gnu | dragonfly*)
+- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
++freebsd* | dragonfly*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+@@ -3611,7 +4717,7 @@
+ esac
+ ;;
+
+-interix3*)
++interix[3-9]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+ ;;
+@@ -3627,12 +4733,12 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux*)
++linux* | k*bsd*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+ netbsd*)
+- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+@@ -3645,12 +4751,12 @@
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+-nto-qnx*)
+- lt_cv_deplibs_check_method=unknown
++*nto* | *qnx*)
++ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+ openbsd*)
+- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+@@ -3661,10 +4767,18 @@
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
++rdos*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
+ solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
++sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
+ sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+@@ -3692,14 +4806,14 @@
+ esac
+ ;;
+
+-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
++tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+
+ fi
+-echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
++{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
++echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
+ file_magic_cmd=$lt_cv_file_magic_cmd
+ deplibs_check_method=$lt_cv_deplibs_check_method
+ test -z "$deplibs_check_method" && deplibs_check_method=unknown
+@@ -3707,869 +4821,236 @@
+
+
+
+-# If no C compiler was specified, use CC.
+-LTCC=${LTCC-"$CC"}
+
+-# If no C compiler flags were specified, use CFLAGS.
+-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+-# Allow CC to be a program name with arguments.
+-compiler=$CC
+
+
+-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+-if test "${enable_libtool_lock+set}" = set; then
+- enableval="$enable_libtool_lock"
+
+-fi;
+-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+-# Some flags need to be propagated to the compiler or linker for good
+-# libtool support.
+-case $host in
+-ia64-*-hpux*)
+- # Find out which ABI we are using.
+- echo 'int i;' > conftest.$ac_ext
+- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; then
+- case `/usr/bin/file conftest.$ac_objext` in
+- *ELF-32*)
+- HPUX_IA64_MODE="32"
+- ;;
+- *ELF-64*)
+- HPUX_IA64_MODE="64"
+- ;;
+- esac
+- fi
+- rm -rf conftest*
+- ;;
+-*-*-irix6*)
+- # Find out which ABI we are using.
+- echo '#line 3751 "configure"' > conftest.$ac_ext
+- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; then
+- if test "$lt_cv_prog_gnu_ld" = yes; then
+- case `/usr/bin/file conftest.$ac_objext` in
+- *32-bit*)
+- LD="${LD-ld} -melf32bsmip"
+- ;;
+- *N32*)
+- LD="${LD-ld} -melf32bmipn32"
+- ;;
+- *64-bit*)
+- LD="${LD-ld} -melf64bmip"
+- ;;
+- esac
+- else
+- case `/usr/bin/file conftest.$ac_objext` in
+- *32-bit*)
+- LD="${LD-ld} -32"
+- ;;
+- *N32*)
+- LD="${LD-ld} -n32"
+- ;;
+- *64-bit*)
+- LD="${LD-ld} -64"
+- ;;
+- esac
+- fi
+- fi
+- rm -rf conftest*
+- ;;
+
+-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+- # Find out which ABI we are using.
+- echo 'int i;' > conftest.$ac_ext
+- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; then
+- case `/usr/bin/file conftest.o` in
+- *32-bit*)
+- case $host in
+- x86_64-*linux*)
+- LD="${LD-ld} -m elf_i386"
+- ;;
+- ppc64-*linux*|powerpc64-*linux*)
+- LD="${LD-ld} -m elf32ppclinux"
+- ;;
+- s390x-*linux*)
+- LD="${LD-ld} -m elf_s390"
+- ;;
+- sparc64-*linux*)
+- LD="${LD-ld} -m elf32_sparc"
+- ;;
+- esac
+- ;;
+- *64-bit*)
+- case $host in
+- x86_64-*linux*)
+- LD="${LD-ld} -m elf_x86_64"
+- ;;
+- ppc*-*linux*|powerpc*-*linux*)
+- LD="${LD-ld} -m elf64ppc"
+- ;;
+- s390*-*linux*)
+- LD="${LD-ld} -m elf64_s390"
+- ;;
+- sparc*-*linux*)
+- LD="${LD-ld} -m elf64_sparc"
+- ;;
+- esac
+- ;;
+- esac
+- fi
+- rm -rf conftest*
+- ;;
+
+-*-*-sco3.2v5*)
+- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+- SAVE_CFLAGS="$CFLAGS"
+- CFLAGS="$CFLAGS -belf"
+- echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
+-if test "${lt_cv_cc_needs_belf+set}" = set; then
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
++set dummy ${ac_tool_prefix}ar; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_AR+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+-
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-
+-int
+-main ()
+-{
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- lt_cv_cc_needs_belf=yes
++ if test -n "$AR"; then
++ ac_cv_prog_AR="$AR" # Let the user override the test.
+ else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_AR="${ac_tool_prefix}ar"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
+
+-lt_cv_cc_needs_belf=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+- ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+-
+ fi
+-echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
+- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+- CFLAGS="$SAVE_CFLAGS"
+- fi
+- ;;
+-sparc*-*solaris*)
+- # Find out which ABI we are using.
+- echo 'int i;' > conftest.$ac_ext
+- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; then
+- case `/usr/bin/file conftest.o` in
+- *64-bit*)
+- case $lt_cv_prog_gnu_ld in
+- yes*) LD="${LD-ld} -m elf64_sparc" ;;
+- *) LD="${LD-ld} -64" ;;
+- esac
+- ;;
+- esac
+- fi
+- rm -rf conftest*
+- ;;
+-
+-
+-esac
+-
+-need_locks="$enable_libtool_lock"
++AR=$ac_cv_prog_AR
++if test -n "$AR"; then
++ { echo "$as_me:$LINENO: result: $AR" >&5
++echo "${ECHO_T}$AR" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
+
+
+-ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+-# On Suns, sometimes $CPP names a directory.
+-if test -n "$CPP" && test -d "$CPP"; then
+- CPP=
+ fi
+-if test -z "$CPP"; then
+- if test "${ac_cv_prog_CPP+set}" = set; then
++if test -z "$ac_cv_prog_AR"; then
++ ac_ct_AR=$AR
++ # Extract the first word of "ar", so it can be a program name with args.
++set dummy ar; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- # Double quotes because CPP needs to be expanded
+- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+- do
+- ac_preproc_ok=false
+-for ac_c_preproc_warn_flag in '' yes
++ if test -n "$ac_ct_AR"; then
++ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
+ do
+- # Use a header file that comes with gcc, so configuring glibc
+- # with a fresh cross-compiler works.
+- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+- # <limits.h> exists even on freestanding compilers.
+- # On the NeXT, cc -E runs the code through the compiler's parser,
+- # not just through cpp. "Syntax error" is here to catch this case.
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#ifdef __STDC__
+-# include <limits.h>
+-#else
+-# include <assert.h>
+-#endif
+- Syntax error
+-_ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+- else
+- ac_cpp_err=
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_AR="ar"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
+ fi
+-else
+- ac_cpp_err=yes
++done
++done
++IFS=$as_save_IFS
++
+ fi
+-if test -z "$ac_cpp_err"; then
+- :
++fi
++ac_ct_AR=$ac_cv_prog_ac_ct_AR
++if test -n "$ac_ct_AR"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
++echo "${ECHO_T}$ac_ct_AR" >&6; }
+ else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+- # Broken: fails on valid input.
+-continue
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+-rm -f conftest.err conftest.$ac_ext
+
+- # OK, works on sane cases. Now check whether non-existent headers
+- # can be detected and how.
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <ac_nonexistent.h>
+-_ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+- else
+- ac_cpp_err=
++ if test "x$ac_ct_AR" = x; then
++ AR="false"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ AR=$ac_ct_AR
+ fi
+ else
+- ac_cpp_err=yes
++ AR="$ac_cv_prog_AR"
+ fi
+-if test -z "$ac_cpp_err"; then
+- # Broken: success on invalid input.
+-continue
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+- # Passes both tests.
+-ac_preproc_ok=:
+-break
+-fi
+-rm -f conftest.err conftest.$ac_ext
++test -z "$AR" && AR=ar
++test -z "$AR_FLAGS" && AR_FLAGS=cru
+
+-done
+-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+-rm -f conftest.err conftest.$ac_ext
+-if $ac_preproc_ok; then
+- break
+-fi
+
+- done
+- ac_cv_prog_CPP=$CPP
+
+-fi
+- CPP=$ac_cv_prog_CPP
+-else
+- ac_cv_prog_CPP=$CPP
+-fi
+-echo "$as_me:$LINENO: result: $CPP" >&5
+-echo "${ECHO_T}$CPP" >&6
+-ac_preproc_ok=false
+-for ac_c_preproc_warn_flag in '' yes
+-do
+- # Use a header file that comes with gcc, so configuring glibc
+- # with a fresh cross-compiler works.
+- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+- # <limits.h> exists even on freestanding compilers.
+- # On the NeXT, cc -E runs the code through the compiler's parser,
+- # not just through cpp. "Syntax error" is here to catch this case.
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#ifdef __STDC__
+-# include <limits.h>
+-#else
+-# include <assert.h>
+-#endif
+- Syntax error
+-_ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- :
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+- # Broken: fails on valid input.
+-continue
+-fi
+-rm -f conftest.err conftest.$ac_ext
+
+- # OK, works on sane cases. Now check whether non-existent headers
+- # can be detected and how.
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <ac_nonexistent.h>
+-_ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- # Broken: success on invalid input.
+-continue
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+- # Passes both tests.
+-ac_preproc_ok=:
+-break
+-fi
+-rm -f conftest.err conftest.$ac_ext
+
+-done
+-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+-rm -f conftest.err conftest.$ac_ext
+-if $ac_preproc_ok; then
+- :
+-else
+- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+-See \`config.log' for more details." >&5
+-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+-See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+
+-ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+-if test "${ac_cv_header_stdc+set}" = set; then
++
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
++set dummy ${ac_tool_prefix}strip; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <stdlib.h>
+-#include <stdarg.h>
+-#include <string.h>
+-#include <float.h>
+-
+-int
+-main ()
+-{
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_header_stdc=yes
++ if test -n "$STRIP"; then
++ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+ else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-ac_cv_header_stdc=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-
+-if test $ac_cv_header_stdc = yes; then
+- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <string.h>
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
+
+-_ACEOF
+-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+- $EGREP "memchr" >/dev/null 2>&1; then
+- :
+-else
+- ac_cv_header_stdc=no
+ fi
+-rm -f conftest*
+-
+ fi
+-
+-if test $ac_cv_header_stdc = yes; then
+- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <stdlib.h>
+-
+-_ACEOF
+-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+- $EGREP "free" >/dev/null 2>&1; then
+- :
++STRIP=$ac_cv_prog_STRIP
++if test -n "$STRIP"; then
++ { echo "$as_me:$LINENO: result: $STRIP" >&5
++echo "${ECHO_T}$STRIP" >&6; }
+ else
+- ac_cv_header_stdc=no
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+-rm -f conftest*
+
+-fi
+
+-if test $ac_cv_header_stdc = yes; then
+- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+- if test "$cross_compiling" = yes; then
+- :
++fi
++if test -z "$ac_cv_prog_STRIP"; then
++ ac_ct_STRIP=$STRIP
++ # Extract the first word of "strip", so it can be a program name with args.
++set dummy strip; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <ctype.h>
+-#if ((' ' & 0x0FF) == 0x020)
+-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+-#else
+-# define ISLOWER(c) \
+- (('a' <= (c) && (c) <= 'i') \
+- || ('j' <= (c) && (c) <= 'r') \
+- || ('s' <= (c) && (c) <= 'z'))
+-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+-#endif
+-
+-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+-int
+-main ()
+-{
+- int i;
+- for (i = 0; i < 256; i++)
+- if (XOR (islower (i), ISLOWER (i))
+- || toupper (i) != TOUPPER (i))
+- exit(2);
+- exit (0);
+-}
+-_ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- :
++ if test -n "$ac_ct_STRIP"; then
++ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_STRIP="strip"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
+
+-( exit $ac_status )
+-ac_cv_header_stdc=no
+-fi
+-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi
++ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
++if test -n "$ac_ct_STRIP"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
++echo "${ECHO_T}$ac_ct_STRIP" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+-echo "${ECHO_T}$ac_cv_header_stdc" >&6
+-if test $ac_cv_header_stdc = yes; then
+-
+-cat >>confdefs.h <<\_ACEOF
+-#define STDC_HEADERS 1
+-_ACEOF
+
++ if test "x$ac_ct_STRIP" = x; then
++ STRIP=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ STRIP=$ac_ct_STRIP
++ fi
++else
++ STRIP="$ac_cv_prog_STRIP"
+ fi
+
+-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+-
+-
++test -z "$STRIP" && STRIP=:
+
+
+
+
+
+
+-
+-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+- inttypes.h stdint.h unistd.h
+-do
+-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:$LINENO: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-$ac_includes_default
+-
+-#include <$ac_header>
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- eval "$as_ac_Header=yes"
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-eval "$as_ac_Header=no"
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-fi
+-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+- cat >>confdefs.h <<_ACEOF
+-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+-_ACEOF
+-
+-fi
+-
+-done
+-
+-
+-
+-for ac_header in dlfcn.h
+-do
+-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo "$as_me:$LINENO: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-fi
+-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+-else
+- # Is the header compilable?
+-echo "$as_me:$LINENO: checking $ac_header usability" >&5
+-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-$ac_includes_default
+-#include <$ac_header>
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_header_compiler=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-ac_header_compiler=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+-echo "${ECHO_T}$ac_header_compiler" >&6
+-
+-# Is the header present?
+-echo "$as_me:$LINENO: checking $ac_header presence" >&5
+-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <$ac_header>
+-_ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- ac_header_preproc=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+- ac_header_preproc=no
+-fi
+-rm -f conftest.err conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+-echo "${ECHO_T}$ac_header_preproc" >&6
+-
+-# So? What about this header?
+-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+- yes:no: )
+- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+- ac_header_preproc=yes
+- ;;
+- no:yes:* )
+- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+- (
+- cat <<\_ASBOX
+-## ----------------------------------------------------------- ##
+-## Report this to http://sourceforge.net/projects/libvncserver ##
+-## ----------------------------------------------------------- ##
+-_ASBOX
+- ) |
+- sed "s/^/$as_me: WARNING: /" >&2
+- ;;
+-esac
+-echo "$as_me:$LINENO: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- eval "$as_ac_Header=\$ac_header_preproc"
+-fi
+-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+-
+-fi
+-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+- cat >>confdefs.h <<_ACEOF
+-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+-_ACEOF
+-
+-fi
+-
+-done
+-
+-ac_ext=cc
+-ac_cpp='$CXXCPP $CPPFLAGS'
+-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ if test -n "$ac_tool_prefix"; then
+- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+- do
+- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_CXX+set}" = set; then
++ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
++set dummy ${ac_tool_prefix}ranlib; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- if test -n "$CXX"; then
+- ac_cv_prog_CXX="$CXX" # Let the user override the test.
++ if test -n "$RANLIB"; then
++ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -4577,41 +5058,39 @@
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+ done
+ done
++IFS=$as_save_IFS
+
+ fi
+ fi
+-CXX=$ac_cv_prog_CXX
+-if test -n "$CXX"; then
+- echo "$as_me:$LINENO: result: $CXX" >&5
+-echo "${ECHO_T}$CXX" >&6
++RANLIB=$ac_cv_prog_RANLIB
++if test -n "$RANLIB"; then
++ { echo "$as_me:$LINENO: result: $RANLIB" >&5
++echo "${ECHO_T}$RANLIB" >&6; }
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
+- test -n "$CXX" && break
+- done
++
+ fi
+-if test -z "$CXX"; then
+- ac_ct_CXX=$CXX
+- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+-do
+- # Extract the first word of "$ac_prog", so it can be a program name with args.
+-set dummy $ac_prog; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
++if test -z "$ac_cv_prog_RANLIB"; then
++ ac_ct_RANLIB=$RANLIB
++ # Extract the first word of "ranlib", so it can be a program name with args.
++set dummy ranlib; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- if test -n "$ac_ct_CXX"; then
+- ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
++ if test -n "$ac_ct_RANLIB"; then
++ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -4619,1107 +5098,230 @@
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_ac_ct_CXX="$ac_prog"
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+ done
+ done
++IFS=$as_save_IFS
+
+ fi
+ fi
+-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+-if test -n "$ac_ct_CXX"; then
+- echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+-echo "${ECHO_T}$ac_ct_CXX" >&6
++ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
++if test -n "$ac_ct_RANLIB"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
++echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
+- test -n "$ac_ct_CXX" && break
+-done
+-test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
+-
+- CXX=$ac_ct_CXX
++ if test "x$ac_ct_RANLIB" = x; then
++ RANLIB=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ RANLIB=$ac_ct_RANLIB
++ fi
++else
++ RANLIB="$ac_cv_prog_RANLIB"
+ fi
+
++test -z "$RANLIB" && RANLIB=:
+
+-# Provide some information about the compiler.
+-echo "$as_me:$LINENO:" \
+- "checking for C++ compiler version" >&5
+-ac_compiler=`set X $ac_compile; echo $2`
+-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+- (eval $ac_compiler --version </dev/null >&5) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }
+-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+- (eval $ac_compiler -v </dev/null >&5) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }
+-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+- (eval $ac_compiler -V </dev/null >&5) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }
+
+-echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
+-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+
+-int
+-main ()
+-{
+-#ifndef __GNUC__
+- choke me
+-#endif
+
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_compiler_gnu=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_compiler_gnu=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
++# Determine commands to create old-style static archives.
++old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
++old_postinstall_cmds='chmod 644 $oldlib'
++old_postuninstall_cmds=
++
++if test -n "$RANLIB"; then
++ case $host_os in
++ openbsd*)
++ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
++ ;;
++ *)
++ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
++ ;;
++ esac
++ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
+-GXX=`test $ac_compiler_gnu = yes && echo yes`
+-ac_test_CXXFLAGS=${CXXFLAGS+set}
+-ac_save_CXXFLAGS=$CXXFLAGS
+-CXXFLAGS="-g"
+-echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
+-if test "${ac_cv_prog_cxx_g+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+
+-int
+-main ()
+-{
+
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_prog_cxx_g=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_prog_cxx_g=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
+-if test "$ac_test_CXXFLAGS" = set; then
+- CXXFLAGS=$ac_save_CXXFLAGS
+-elif test $ac_cv_prog_cxx_g = yes; then
+- if test "$GXX" = yes; then
+- CXXFLAGS="-g -O2"
+- else
+- CXXFLAGS="-g"
+- fi
+-else
+- if test "$GXX" = yes; then
+- CXXFLAGS="-O2"
+- else
+- CXXFLAGS=
+- fi
+-fi
+-for ac_declaration in \
+- '' \
+- 'extern "C" void std::exit (int) throw (); using std::exit;' \
+- 'extern "C" void std::exit (int); using std::exit;' \
+- 'extern "C" void exit (int) throw ();' \
+- 'extern "C" void exit (int);' \
+- 'void exit (int);'
+-do
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-$ac_declaration
+-#include <stdlib.h>
+-int
+-main ()
+-{
+-exit (42);
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- :
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-continue
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-$ac_declaration
+-int
+-main ()
+-{
+-exit (42);
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- break
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-done
+-rm -f conftest*
+-if test -n "$ac_declaration"; then
+- echo '#ifdef __cplusplus' >>confdefs.h
+- echo $ac_declaration >>confdefs.h
+- echo '#endif' >>confdefs.h
+-fi
+-
+-ac_ext=cc
+-ac_cpp='$CXXCPP $CPPFLAGS'
+-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+-
+-depcc="$CXX" am_compiler_list=
+-
+-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+- # We make a subdir and do the tests there. Otherwise we can end up
+- # making bogus files that we don't know about and never remove. For
+- # instance it was reported that on HP-UX the gcc test will end up
+- # making a dummy file named `D' -- because `-MD' means `put the output
+- # in D'.
+- mkdir conftest.dir
+- # Copy depcomp to subdir because otherwise we won't find it if we're
+- # using a relative directory.
+- cp "$am_depcomp" conftest.dir
+- cd conftest.dir
+- # We will build objects and dependencies in a subdirectory because
+- # it helps to detect inapplicable dependency modes. For instance
+- # both Tru64's cc and ICC support -MD to output dependencies as a
+- # side effect of compilation, but ICC will put the dependencies in
+- # the current directory while Tru64 will put them in the object
+- # directory.
+- mkdir sub
+
+- am_cv_CXX_dependencies_compiler_type=none
+- if test "$am_compiler_list" = ""; then
+- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+- fi
+- for depmode in $am_compiler_list; do
+- # Setup a source with many dependencies, because some compilers
+- # like to wrap large dependency lists on column 80 (with \), and
+- # we should not choose a depcomp mode which is confused by this.
+- #
+- # We need to recreate these files for each test, as the compiler may
+- # overwrite some of them when testing with obscure command lines.
+- # This happens at least with the AIX C compiler.
+- : > sub/conftest.c
+- for i in 1 2 3 4 5 6; do
+- echo '#include "conftst'$i'.h"' >> sub/conftest.c
+- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+- # Solaris 8's {/usr,}/bin/sh.
+- touch sub/conftst$i.h
+- done
+- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+- case $depmode in
+- nosideeffect)
+- # after this tag, mechanisms are not by side-effect, so they'll
+- # only be used when explicitly requested
+- if test "x$enable_dependency_tracking" = xyes; then
+- continue
+- else
+- break
+- fi
+- ;;
+- none) break ;;
+- esac
+- # We check with `-c' and `-o' for the sake of the "dashmstdout"
+- # mode. It turns out that the SunPro C++ compiler does not properly
+- # handle `-M -o', and we need to detect this.
+- if depmode=$depmode \
+- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+- >/dev/null 2>conftest.err &&
+- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+- # icc doesn't choke on unknown options, it will just issue warnings
+- # or remarks (even with -Werror). So we grep stderr for any message
+- # that says an option was ignored or not supported.
+- # When given -MP, icc 7.0 and 7.1 complain thusly:
+- # icc: Command line warning: ignoring option '-M'; no argument required
+- # The diagnosis changed in icc 8.0:
+- # icc: Command line remark: option '-MP' not supported
+- if (grep 'ignoring option' conftest.err ||
+- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+- am_cv_CXX_dependencies_compiler_type=$depmode
+- break
+- fi
+- fi
+- done
+
+- cd ..
+- rm -rf conftest.dir
+-else
+- am_cv_CXX_dependencies_compiler_type=none
+-fi
+
+-fi
+-echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6
+-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+
+
+-if
+- test "x$enable_dependency_tracking" != xno \
+- && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+- am__fastdepCXX_TRUE=
+- am__fastdepCXX_FALSE='#'
+-else
+- am__fastdepCXX_TRUE='#'
+- am__fastdepCXX_FALSE=
+-fi
+
+
+
+
+-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+- (test "X$CXX" != "Xg++"))) ; then
+- ac_ext=cc
+-ac_cpp='$CXXCPP $CPPFLAGS'
+-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+-echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
+-if test -z "$CXXCPP"; then
+- if test "${ac_cv_prog_CXXCPP+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- # Double quotes because CXXCPP needs to be expanded
+- for CXXCPP in "$CXX -E" "/lib/cpp"
+- do
+- ac_preproc_ok=false
+-for ac_cxx_preproc_warn_flag in '' yes
+-do
+- # Use a header file that comes with gcc, so configuring glibc
+- # with a fresh cross-compiler works.
+- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+- # <limits.h> exists even on freestanding compilers.
+- # On the NeXT, cc -E runs the code through the compiler's parser,
+- # not just through cpp. "Syntax error" is here to catch this case.
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#ifdef __STDC__
+-# include <limits.h>
+-#else
+-# include <assert.h>
+-#endif
+- Syntax error
+-_ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_cxx_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- :
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+- # Broken: fails on valid input.
+-continue
+-fi
+-rm -f conftest.err conftest.$ac_ext
+
+- # OK, works on sane cases. Now check whether non-existent headers
+- # can be detected and how.
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <ac_nonexistent.h>
+-_ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_cxx_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- # Broken: success on invalid input.
+-continue
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+- # Passes both tests.
+-ac_preproc_ok=:
+-break
+-fi
+-rm -f conftest.err conftest.$ac_ext
+
+-done
+-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+-rm -f conftest.err conftest.$ac_ext
+-if $ac_preproc_ok; then
+- break
+-fi
+
+- done
+- ac_cv_prog_CXXCPP=$CXXCPP
+
+-fi
+- CXXCPP=$ac_cv_prog_CXXCPP
+-else
+- ac_cv_prog_CXXCPP=$CXXCPP
+-fi
+-echo "$as_me:$LINENO: result: $CXXCPP" >&5
+-echo "${ECHO_T}$CXXCPP" >&6
+-ac_preproc_ok=false
+-for ac_cxx_preproc_warn_flag in '' yes
+-do
+- # Use a header file that comes with gcc, so configuring glibc
+- # with a fresh cross-compiler works.
+- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+- # <limits.h> exists even on freestanding compilers.
+- # On the NeXT, cc -E runs the code through the compiler's parser,
+- # not just through cpp. "Syntax error" is here to catch this case.
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#ifdef __STDC__
+-# include <limits.h>
+-#else
+-# include <assert.h>
+-#endif
+- Syntax error
+-_ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_cxx_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- :
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+- # Broken: fails on valid input.
+-continue
+-fi
+-rm -f conftest.err conftest.$ac_ext
+
+- # OK, works on sane cases. Now check whether non-existent headers
+- # can be detected and how.
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <ac_nonexistent.h>
+-_ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_cxx_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- # Broken: success on invalid input.
+-continue
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+- # Passes both tests.
+-ac_preproc_ok=:
+-break
+-fi
+-rm -f conftest.err conftest.$ac_ext
+
+-done
+-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+-rm -f conftest.err conftest.$ac_ext
+-if $ac_preproc_ok; then
+- :
+-else
+- { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+-See \`config.log' for more details." >&5
+-echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+-See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+
+-ac_ext=cc
+-ac_cpp='$CXXCPP $CPPFLAGS'
+-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+-fi
+
+
+-ac_ext=f
+-ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
+-ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_f77_compiler_gnu
+-if test -n "$ac_tool_prefix"; then
+- for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+- do
+- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_F77+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -n "$F77"; then
+- ac_cv_prog_F77="$F77" # Let the user override the test.
+-else
+-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
+- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
+- fi
+-done
+-done
+
+-fi
+-fi
+-F77=$ac_cv_prog_F77
+-if test -n "$F77"; then
+- echo "$as_me:$LINENO: result: $F77" >&5
+-echo "${ECHO_T}$F77" >&6
+-else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+
+- test -n "$F77" && break
+- done
+-fi
+-if test -z "$F77"; then
+- ac_ct_F77=$F77
+- for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran
+-do
+- # Extract the first word of "$ac_prog", so it can be a program name with args.
+-set dummy $ac_prog; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -n "$ac_ct_F77"; then
+- ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test.
+-else
+-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_ac_ct_F77="$ac_prog"
+- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
+- fi
+-done
+-done
+
+-fi
+-fi
+-ac_ct_F77=$ac_cv_prog_ac_ct_F77
+-if test -n "$ac_ct_F77"; then
+- echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
+-echo "${ECHO_T}$ac_ct_F77" >&6
+-else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+
+- test -n "$ac_ct_F77" && break
+-done
++# If no C compiler was specified, use CC.
++LTCC=${LTCC-"$CC"}
+
+- F77=$ac_ct_F77
+-fi
++# If no C compiler flags were specified, use CFLAGS.
++LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
++# Allow CC to be a program name with arguments.
++compiler=$CC
+
+-# Provide some information about the compiler.
+-echo "$as_me:5350:" \
+- "checking for Fortran 77 compiler version" >&5
+-ac_compiler=`set X $ac_compile; echo $2`
+-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+- (eval $ac_compiler --version </dev/null >&5) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }
+-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+- (eval $ac_compiler -v </dev/null >&5) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }
+-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+- (eval $ac_compiler -V </dev/null >&5) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }
+-rm -f a.out
+
+-# If we don't use `.F' as extension, the preprocessor is not run on the
+-# input file. (Note that this only needs to work for GNU compilers.)
+-ac_save_ext=$ac_ext
+-ac_ext=F
+-echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
+-echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6
+-if test "${ac_cv_f77_compiler_gnu+set}" = set; then
++# Check for command to grab the raw symbol name followed by C symbol from nm.
++{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
++echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
++if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
+- program main
+-#ifndef __GNUC__
+- choke me
+-#endif
+
+- end
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_f77_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_compiler_gnu=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++# These are sane defaults that work on at least a few old systems.
++# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+-ac_compiler_gnu=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-ac_cv_f77_compiler_gnu=$ac_compiler_gnu
++# Character class describing NM global symbol codes.
++symcode='[BCDEGRST]'
+
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
+-echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6
+-ac_ext=$ac_save_ext
+-ac_test_FFLAGS=${FFLAGS+set}
+-ac_save_FFLAGS=$FFLAGS
+-FFLAGS=
+-echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
+-echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6
+-if test "${ac_cv_prog_f77_g+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- FFLAGS=-g
+-cat >conftest.$ac_ext <<_ACEOF
+- program main
++# Regexp to match symbols that can be accessed directly from C.
++sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+- end
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_f77_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_prog_f77_g=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++# Define system-specific variables.
++case $host_os in
++aix*)
++ symcode='[BCDT]'
++ ;;
++cygwin* | mingw* | pw32*)
++ symcode='[ABCDGISTW]'
++ ;;
++hpux*)
++ if test "$host_cpu" = ia64; then
++ symcode='[ABCDEGRST]'
++ fi
++ ;;
++irix* | nonstopux*)
++ symcode='[BCDEGRST]'
++ ;;
++osf*)
++ symcode='[BCDEGQRST]'
++ ;;
++solaris*)
++ symcode='[BDRT]'
++ ;;
++sco3.2v5*)
++ symcode='[DT]'
++ ;;
++sysv4.2uw2*)
++ symcode='[DT]'
++ ;;
++sysv5* | sco5v6* | unixware* | OpenUNIX*)
++ symcode='[ABDT]'
++ ;;
++sysv4)
++ symcode='[DFNSTU]'
++ ;;
++esac
+
+-ac_cv_prog_f77_g=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++# If we're using GNU nm, then use its standard symbol codes.
++case `$NM -V 2>&1` in
++*GNU* | *'with BFD'*)
++ symcode='[ABCDGIRSTW]' ;;
++esac
+
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
+-echo "${ECHO_T}$ac_cv_prog_f77_g" >&6
+-if test "$ac_test_FFLAGS" = set; then
+- FFLAGS=$ac_save_FFLAGS
+-elif test $ac_cv_prog_f77_g = yes; then
+- if test "x$ac_cv_f77_compiler_gnu" = xyes; then
+- FFLAGS="-g -O2"
+- else
+- FFLAGS="-g"
+- fi
+-else
+- if test "x$ac_cv_f77_compiler_gnu" = xyes; then
+- FFLAGS="-O2"
+- else
+- FFLAGS=
+- fi
+-fi
++# Transform an extracted symbol line into a proper C declaration.
++# Some systems (esp. on ia64) link data and code symbols differently,
++# so use this general approach.
++lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+-G77=`test $ac_compiler_gnu = yes && echo yes`
+-ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
++# Transform an extracted symbol line into symbol name and symbol address
++lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
++# Handle CRLF in mingw tool chain
++opt_cr=
++case $build_os in
++mingw*)
++ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
++ ;;
++esac
+
++# Try without a prefix underscore, then with it.
++for ac_symprfx in "" "_"; do
+
+-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
++ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
++ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+-# find the maximum length of command line arguments
+-echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6
+-if test "${lt_cv_sys_max_cmd_len+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- i=0
+- teststring="ABCD"
+-
+- case $build_os in
+- msdosdjgpp*)
+- # On DJGPP, this test can blow up pretty badly due to problems in libc
+- # (any single argument exceeding 2000 bytes causes a buffer overrun
+- # during glob expansion). Even if it were fixed, the result of this
+- # check would be larger than it should be.
+- lt_cv_sys_max_cmd_len=12288; # 12K is about right
+- ;;
+-
+- gnu*)
+- # Under GNU Hurd, this test is not required because there is
+- # no limit to the length of command line arguments.
+- # Libtool will interpret -1 as no limit whatsoever
+- lt_cv_sys_max_cmd_len=-1;
+- ;;
+-
+- cygwin* | mingw*)
+- # On Win9x/ME, this test blows up -- it succeeds, but takes
+- # about 5 minutes as the teststring grows exponentially.
+- # Worse, since 9x/ME are not pre-emptively multitasking,
+- # you end up with a "frozen" computer, even though with patience
+- # the test eventually succeeds (with a max line length of 256k).
+- # Instead, let's just punt: use the minimum linelength reported by
+- # all of the supported platforms: 8192 (on NT/2K/XP).
+- lt_cv_sys_max_cmd_len=8192;
+- ;;
+-
+- amigaos*)
+- # On AmigaOS with pdksh, this test takes hours, literally.
+- # So we just punt and use a minimum line length of 8192.
+- lt_cv_sys_max_cmd_len=8192;
+- ;;
+-
+- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+- # This has been around since 386BSD, at least. Likely further.
+- if test -x /sbin/sysctl; then
+- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+- elif test -x /usr/sbin/sysctl; then
+- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+- else
+- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+- fi
+- # And add a safety zone
+- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+- ;;
+-
+- interix*)
+- # We know the value 262144 and hardcode it with a safety zone (like BSD)
+- lt_cv_sys_max_cmd_len=196608
+- ;;
+-
+- osf*)
+- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+- # nice to cause kernel panics so lets avoid the loop below.
+- # First set a reasonable default.
+- lt_cv_sys_max_cmd_len=16384
+- #
+- if test -x /sbin/sysconfig; then
+- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+- *1*) lt_cv_sys_max_cmd_len=-1 ;;
+- esac
+- fi
+- ;;
+- sco3.2v5*)
+- lt_cv_sys_max_cmd_len=102400
+- ;;
+- sysv5* | sco5v6* | sysv4.2uw2*)
+- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+- if test -n "$kargmax"; then
+- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
+- else
+- lt_cv_sys_max_cmd_len=32768
+- fi
+- ;;
+- *)
+- # If test is not a shell built-in, we'll probably end up computing a
+- # maximum length that is only half of the actual maximum length, but
+- # we can't tell.
+- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+- while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
+- = "XX$teststring") >/dev/null 2>&1 &&
+- new_result=`expr "X$teststring" : ".*" 2>&1` &&
+- lt_cv_sys_max_cmd_len=$new_result &&
+- test $i != 17 # 1/2 MB should be enough
+- do
+- i=`expr $i + 1`
+- teststring=$teststring$teststring
+- done
+- teststring=
+- # Add a significant safety factor because C++ compilers can tack on massive
+- # amounts of additional arguments before passing them to the linker.
+- # It appears as though 1/2 is a usable value.
+- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+- ;;
+- esac
+-
+-fi
+-
+-if test -n $lt_cv_sys_max_cmd_len ; then
+- echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6
+-else
+- echo "$as_me:$LINENO: result: none" >&5
+-echo "${ECHO_T}none" >&6
+-fi
+-
+-
+-
+-
+-# Check for command to grab the raw symbol name followed by C symbol from nm.
+-echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6
+-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-
+-# These are sane defaults that work on at least a few old systems.
+-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+-
+-# Character class describing NM global symbol codes.
+-symcode='[BCDEGRST]'
+-
+-# Regexp to match symbols that can be accessed directly from C.
+-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+-
+-# Transform an extracted symbol line into a proper C declaration
+-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
+-
+-# Transform an extracted symbol line into symbol name and symbol address
+-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+-
+-# Define system-specific variables.
+-case $host_os in
+-aix*)
+- symcode='[BCDT]'
+- ;;
+-cygwin* | mingw* | pw32*)
+- symcode='[ABCDGISTW]'
+- ;;
+-hpux*) # Its linker distinguishes data from code symbols
+- if test "$host_cpu" = ia64; then
+- symcode='[ABCDEGRST]'
+- fi
+- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+- ;;
+-linux*)
+- if test "$host_cpu" = ia64; then
+- symcode='[ABCDGIRSTW]'
+- lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+- lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+- fi
+- ;;
+-irix* | nonstopux*)
+- symcode='[BCDEGRST]'
+- ;;
+-osf*)
+- symcode='[BCDEGQRST]'
+- ;;
+-solaris*)
+- symcode='[BDRT]'
+- ;;
+-sco3.2v5*)
+- symcode='[DT]'
+- ;;
+-sysv4.2uw2*)
+- symcode='[DT]'
+- ;;
+-sysv5* | sco5v6* | unixware* | OpenUNIX*)
+- symcode='[ABDT]'
+- ;;
+-sysv4)
+- symcode='[DFNSTU]'
+- ;;
+-esac
+-
+-# Handle CRLF in mingw tool chain
+-opt_cr=
+-case $build_os in
+-mingw*)
+- opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+- ;;
+-esac
+-
+-# If we're using GNU nm, then use its standard symbol codes.
+-case `$NM -V 2>&1` in
+-*GNU* | *'with BFD'*)
+- symcode='[ABCDGIRSTW]' ;;
+-esac
+-
+-# Try without a prefix undercore, then with it.
+-for ac_symprfx in "" "_"; do
+-
+- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+- symxfrm="\\1 $ac_symprfx\\2 \\2"
+-
+- # Write the raw and C identifiers.
+- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
++ # Write the raw and C identifiers.
++ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
++ # Fake it for dumpbin and say T for any non-static function
++ # and D for any global variable.
++ # Also find C++ and __fastcall symbols from MSVC++,
++ # which start with @ or ?.
++ lt_cv_sys_global_symbol_pipe="$AWK '"\
++" {last_section=section; section=\$ 3};"\
++" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
++" \$ 0!~/External *\|/{next};"\
++" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
++" {if(hide[section]) next};"\
++" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
++" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
++" s[1]~/^[@?]/{print s[1], s[1]; next};"\
++" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
++" ' prfx=^$ac_symprfx"
++ else
++ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
++ fi
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+- cat > conftest.$ac_ext <<EOF
++ cat > conftest.$ac_ext <<_LT_EOF
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ char nm_test_var;
+-void nm_test_func(){}
++void nm_test_func(void);
++void nm_test_func(void){}
+ #ifdef __cplusplus
+ }
+ #endif
+ int main(){nm_test_var='a';nm_test_func();return(0);}
+-EOF
++_LT_EOF
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+@@ -5741,42 +5343,44 @@
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+- if grep ' nm_test_var$' "$nlist" >/dev/null; then
+- if grep ' nm_test_func$' "$nlist" >/dev/null; then
+- cat <<EOF > conftest.$ac_ext
++ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
++ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
++ cat <<_LT_EOF > conftest.$ac_ext
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+-EOF
++_LT_EOF
+ # Now generate the symbol file.
+- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
++ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+- cat <<EOF >> conftest.$ac_ext
+-#if defined (__STDC__) && __STDC__
+-# define lt_ptr_t void *
+-#else
+-# define lt_ptr_t char *
+-# define const
+-#endif
++ cat <<_LT_EOF >> conftest.$ac_ext
+
+-/* The mapping between symbol names and symbols. */
++/* The mapping between symbol names and symbols. */
+ const struct {
+ const char *name;
+- lt_ptr_t address;
++ void *address;
+ }
+-lt_preloaded_symbols[] =
++lt__PROGRAM__LTX_preloaded_symbols[] =
+ {
+-EOF
+- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
+- cat <<\EOF >> conftest.$ac_ext
+- {0, (lt_ptr_t) 0}
++ { "@PROGRAM@", (void *) 0 },
++_LT_EOF
++ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
++ cat <<\_LT_EOF >> conftest.$ac_ext
++ {0, (void *) 0}
+ };
+
++/* This works around a problem in FreeBSD linker */
++#ifdef FREEBSD_WORKAROUND
++static const void *lt_preloaded_setup() {
++ return lt__PROGRAM__LTX_preloaded_symbols;
++}
++#endif
++
+ #ifdef __cplusplus
+ }
+ #endif
+-EOF
++_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_save_LIBS="$LIBS"
+@@ -5805,7 +5409,7 @@
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+- rm -f conftest* conftst*
++ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+@@ -5821,125 +5425,266 @@
+ lt_cv_sys_global_symbol_to_cdecl=
+ fi
+ if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+- echo "$as_me:$LINENO: result: failed" >&5
+-echo "${ECHO_T}failed" >&6
++ { echo "$as_me:$LINENO: result: failed" >&5
++echo "${ECHO_T}failed" >&6; }
+ else
+- echo "$as_me:$LINENO: result: ok" >&5
+-echo "${ECHO_T}ok" >&6
++ { echo "$as_me:$LINENO: result: ok" >&5
++echo "${ECHO_T}ok" >&6; }
+ fi
+
+-echo "$as_me:$LINENO: checking for objdir" >&5
+-echo $ECHO_N "checking for objdir... $ECHO_C" >&6
+-if test "${lt_cv_objdir+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- rm -f .libs 2>/dev/null
+-mkdir .libs 2>/dev/null
+-if test -d .libs; then
+- lt_cv_objdir=.libs
+-else
+- # MS-DOS does not allow filenames that begin with a dot.
+- lt_cv_objdir=_libs
+-fi
+-rmdir .libs 2>/dev/null
+-fi
+-echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
+-echo "${ECHO_T}$lt_cv_objdir" >&6
+-objdir=$lt_cv_objdir
+
+
+
+
+
+-case $host_os in
+-aix3*)
+- # AIX sometimes has problems with the GCC collect2 program. For some
+- # reason, if we set the COLLECT_NAMES environment variable, the problems
+- # vanish in a puff of smoke.
+- if test "X${COLLECT_NAMES+set}" != Xset; then
+- COLLECT_NAMES=
+- export COLLECT_NAMES
+- fi
+- ;;
+-esac
+
+-# Sed substitution that helps us do robust quoting. It backslashifies
+-# metacharacters that are still active within double-quoted strings.
+-Xsed='sed -e 1s/^X//'
+-sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
+
+-# Same as above, but do not quote variable references.
+-double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+
+-# Sed substitution to delay expansion of an escaped shell variable in a
+-# double_quote_subst'ed string.
+-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+-# Sed substitution to avoid accidental globbing in evaled expressions
+-no_glob_subst='s/\*/\\\*/g'
+
+-# Constants:
+-rm="rm -f"
+
+-# Global variables:
+-default_ofile=libtool
+-can_build_shared=yes
+
+-# All known linkers require a `.a' archive for static linking (except MSVC,
+-# which needs '.lib').
+-libext=a
+-ltmain="$ac_aux_dir/ltmain.sh"
+-ofile="$default_ofile"
+-with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+-if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}ar; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_AR+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -n "$AR"; then
+- ac_cv_prog_AR="$AR" # Let the user override the test.
+-else
+-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_AR="${ac_tool_prefix}ar"
+- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
+- fi
+-done
+-done
+
+-fi
+-fi
+-AR=$ac_cv_prog_AR
+-if test -n "$AR"; then
+- echo "$as_me:$LINENO: result: $AR" >&5
+-echo "${ECHO_T}$AR" >&6
+-else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+
++
++
++
++
++
++
++
++# Check whether --enable-libtool-lock was given.
++if test "${enable_libtool_lock+set}" = set; then
++ enableval=$enable_libtool_lock;
+ fi
+-if test -z "$ac_cv_prog_AR"; then
+- ac_ct_AR=$AR
+- # Extract the first word of "ar", so it can be a program name with args.
+-set dummy ar; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++
++test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
++
++# Some flags need to be propagated to the compiler or linker for good
++# libtool support.
++case $host in
++ia64-*-hpux*)
++ # Find out which ABI we are using.
++ echo 'int i;' > conftest.$ac_ext
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ case `/usr/bin/file conftest.$ac_objext` in
++ *ELF-32*)
++ HPUX_IA64_MODE="32"
++ ;;
++ *ELF-64*)
++ HPUX_IA64_MODE="64"
++ ;;
++ esac
++ fi
++ rm -rf conftest*
++ ;;
++*-*-irix6*)
++ # Find out which ABI we are using.
++ echo '#line 5488 "configure"' > conftest.$ac_ext
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ if test "$lt_cv_prog_gnu_ld" = yes; then
++ case `/usr/bin/file conftest.$ac_objext` in
++ *32-bit*)
++ LD="${LD-ld} -melf32bsmip"
++ ;;
++ *N32*)
++ LD="${LD-ld} -melf32bmipn32"
++ ;;
++ *64-bit*)
++ LD="${LD-ld} -melf64bmip"
++ ;;
++ esac
++ else
++ case `/usr/bin/file conftest.$ac_objext` in
++ *32-bit*)
++ LD="${LD-ld} -32"
++ ;;
++ *N32*)
++ LD="${LD-ld} -n32"
++ ;;
++ *64-bit*)
++ LD="${LD-ld} -64"
++ ;;
++ esac
++ fi
++ fi
++ rm -rf conftest*
++ ;;
++
++x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
++s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
++ # Find out which ABI we are using.
++ echo 'int i;' > conftest.$ac_ext
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ case `/usr/bin/file conftest.o` in
++ *32-bit*)
++ case $host in
++ x86_64-*kfreebsd*-gnu)
++ LD="${LD-ld} -m elf_i386_fbsd"
++ ;;
++ x86_64-*linux*)
++ LD="${LD-ld} -m elf_i386"
++ ;;
++ ppc64-*linux*|powerpc64-*linux*)
++ LD="${LD-ld} -m elf32ppclinux"
++ ;;
++ s390x-*linux*)
++ LD="${LD-ld} -m elf_s390"
++ ;;
++ sparc64-*linux*)
++ LD="${LD-ld} -m elf32_sparc"
++ ;;
++ esac
++ ;;
++ *64-bit*)
++ case $host in
++ x86_64-*kfreebsd*-gnu)
++ LD="${LD-ld} -m elf_x86_64_fbsd"
++ ;;
++ x86_64-*linux*)
++ LD="${LD-ld} -m elf_x86_64"
++ ;;
++ ppc*-*linux*|powerpc*-*linux*)
++ LD="${LD-ld} -m elf64ppc"
++ ;;
++ s390*-*linux*|s390*-*tpf*)
++ LD="${LD-ld} -m elf64_s390"
++ ;;
++ sparc*-*linux*)
++ LD="${LD-ld} -m elf64_sparc"
++ ;;
++ esac
++ ;;
++ esac
++ fi
++ rm -rf conftest*
++ ;;
++
++*-*-sco3.2v5*)
++ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
++ SAVE_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS -belf"
++ { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
++echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; }
++if test "${lt_cv_cc_needs_belf+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- if test -n "$ac_ct_AR"; then
+- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
++ ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ lt_cv_cc_needs_belf=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ lt_cv_cc_needs_belf=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
++echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; }
++ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
++ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
++ CFLAGS="$SAVE_CFLAGS"
++ fi
++ ;;
++sparc*-*solaris*)
++ # Find out which ABI we are using.
++ echo 'int i;' > conftest.$ac_ext
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; then
++ case `/usr/bin/file conftest.o` in
++ *64-bit*)
++ case $lt_cv_prog_gnu_ld in
++ yes*) LD="${LD-ld} -m elf64_sparc" ;;
++ *)
++ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
++ LD="${LD-ld} -64"
++ fi
++ ;;
++ esac
++ ;;
++ esac
++ fi
++ rm -rf conftest*
++ ;;
++esac
++
++need_locks="$enable_libtool_lock"
++
++
++ case $host_os in
++ rhapsody* | darwin*)
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
++set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$DSYMUTIL"; then
++ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -5947,41 +5692,95 @@
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_ac_ct_AR="ar"
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+ done
+ done
++IFS=$as_save_IFS
+
+- test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="false"
+ fi
+ fi
+-ac_ct_AR=$ac_cv_prog_ac_ct_AR
+-if test -n "$ac_ct_AR"; then
+- echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+-echo "${ECHO_T}$ac_ct_AR" >&6
++DSYMUTIL=$ac_cv_prog_DSYMUTIL
++if test -n "$DSYMUTIL"; then
++ { echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
++echo "${ECHO_T}$DSYMUTIL" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_DSYMUTIL"; then
++ ac_ct_DSYMUTIL=$DSYMUTIL
++ # Extract the first word of "dsymutil", so it can be a program name with args.
++set dummy dsymutil; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_DSYMUTIL"; then
++ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
++if test -n "$ac_ct_DSYMUTIL"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
++echo "${ECHO_T}$ac_ct_DSYMUTIL" >&6; }
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
+- AR=$ac_ct_AR
++ if test "x$ac_ct_DSYMUTIL" = x; then
++ DSYMUTIL=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ DSYMUTIL=$ac_ct_DSYMUTIL
++ fi
+ else
+- AR="$ac_cv_prog_AR"
++ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+ fi
+
+-if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_RANLIB+set}" = set; then
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
++set dummy ${ac_tool_prefix}nmedit; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_NMEDIT+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- if test -n "$RANLIB"; then
+- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
++ if test -n "$NMEDIT"; then
++ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -5989,37 +5788,39 @@
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+ done
+ done
++IFS=$as_save_IFS
+
+ fi
+ fi
+-RANLIB=$ac_cv_prog_RANLIB
+-if test -n "$RANLIB"; then
+- echo "$as_me:$LINENO: result: $RANLIB" >&5
+-echo "${ECHO_T}$RANLIB" >&6
++NMEDIT=$ac_cv_prog_NMEDIT
++if test -n "$NMEDIT"; then
++ { echo "$as_me:$LINENO: result: $NMEDIT" >&5
++echo "${ECHO_T}$NMEDIT" >&6; }
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
++
+ fi
+-if test -z "$ac_cv_prog_RANLIB"; then
+- ac_ct_RANLIB=$RANLIB
+- # Extract the first word of "ranlib", so it can be a program name with args.
+-set dummy ranlib; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
++if test -z "$ac_cv_prog_NMEDIT"; then
++ ac_ct_NMEDIT=$NMEDIT
++ # Extract the first word of "nmedit", so it can be a program name with args.
++set dummy nmedit; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- if test -n "$ac_ct_RANLIB"; then
+- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
++ if test -n "$ac_ct_NMEDIT"; then
++ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -6027,41 +5828,55 @@
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_ac_ct_RANLIB="ranlib"
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_NMEDIT="nmedit"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+ done
+ done
++IFS=$as_save_IFS
+
+- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
+ fi
+ fi
+-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+-if test -n "$ac_ct_RANLIB"; then
+- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+-echo "${ECHO_T}$ac_ct_RANLIB" >&6
++ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
++if test -n "$ac_ct_NMEDIT"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
++echo "${ECHO_T}$ac_ct_NMEDIT" >&6; }
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
+- RANLIB=$ac_ct_RANLIB
++ if test "x$ac_ct_NMEDIT" = x; then
++ NMEDIT=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ NMEDIT=$ac_ct_NMEDIT
++ fi
+ else
+- RANLIB="$ac_cv_prog_RANLIB"
++ NMEDIT="$ac_cv_prog_NMEDIT"
+ fi
+
+-if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}strip; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_STRIP+set}" = set; then
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
++set dummy ${ac_tool_prefix}lipo; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_LIPO+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- if test -n "$STRIP"; then
+- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
++ if test -n "$LIPO"; then
++ ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -6069,37 +5884,39 @@
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+ done
+ done
++IFS=$as_save_IFS
+
+ fi
+ fi
+-STRIP=$ac_cv_prog_STRIP
+-if test -n "$STRIP"; then
+- echo "$as_me:$LINENO: result: $STRIP" >&5
+-echo "${ECHO_T}$STRIP" >&6
++LIPO=$ac_cv_prog_LIPO
++if test -n "$LIPO"; then
++ { echo "$as_me:$LINENO: result: $LIPO" >&5
++echo "${ECHO_T}$LIPO" >&6; }
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
++
+ fi
+-if test -z "$ac_cv_prog_STRIP"; then
+- ac_ct_STRIP=$STRIP
+- # Extract the first word of "strip", so it can be a program name with args.
+-set dummy strip; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
++if test -z "$ac_cv_prog_LIPO"; then
++ ac_ct_LIPO=$LIPO
++ # Extract the first word of "lipo", so it can be a program name with args.
++set dummy lipo; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- if test -n "$ac_ct_STRIP"; then
+- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
++ if test -n "$ac_ct_LIPO"; then
++ ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+@@ -6107,4190 +5924,2397 @@
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_prog_ac_ct_STRIP="strip"
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_LIPO="lipo"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+ done
+ done
++IFS=$as_save_IFS
+
+- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+ fi
+ fi
+-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+-if test -n "$ac_ct_STRIP"; then
+- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+-echo "${ECHO_T}$ac_ct_STRIP" >&6
++ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
++if test -n "$ac_ct_LIPO"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5
++echo "${ECHO_T}$ac_ct_LIPO" >&6; }
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
+- STRIP=$ac_ct_STRIP
++ if test "x$ac_ct_LIPO" = x; then
++ LIPO=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ LIPO=$ac_ct_LIPO
++ fi
+ else
+- STRIP="$ac_cv_prog_STRIP"
++ LIPO="$ac_cv_prog_LIPO"
+ fi
+
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
++set dummy ${ac_tool_prefix}otool; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_OTOOL+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$OTOOL"; then
++ ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
+
+-old_CC="$CC"
+-old_CFLAGS="$CFLAGS"
++fi
++fi
++OTOOL=$ac_cv_prog_OTOOL
++if test -n "$OTOOL"; then
++ { echo "$as_me:$LINENO: result: $OTOOL" >&5
++echo "${ECHO_T}$OTOOL" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
+
+-# Set sane defaults for various variables
+-test -z "$AR" && AR=ar
+-test -z "$AR_FLAGS" && AR_FLAGS=cru
+-test -z "$AS" && AS=as
+-test -z "$CC" && CC=cc
+-test -z "$LTCC" && LTCC=$CC
+-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+-test -z "$DLLTOOL" && DLLTOOL=dlltool
+-test -z "$LD" && LD=ld
+-test -z "$LN_S" && LN_S="ln -s"
+-test -z "$MAGIC_CMD" && MAGIC_CMD=file
+-test -z "$NM" && NM=nm
+-test -z "$SED" && SED=sed
+-test -z "$OBJDUMP" && OBJDUMP=objdump
+-test -z "$RANLIB" && RANLIB=:
+-test -z "$STRIP" && STRIP=:
+-test -z "$ac_objext" && ac_objext=o
+-
+-# Determine commands to create old-style static archives.
+-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+-old_postinstall_cmds='chmod 644 $oldlib'
+-old_postuninstall_cmds=
+
+-if test -n "$RANLIB"; then
+- case $host_os in
+- openbsd*)
+- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+- ;;
+- *)
+- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+- ;;
+- esac
+- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+ fi
+-
+-for cc_temp in $compiler""; do
+- case $cc_temp in
+- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+- \-*) ;;
+- *) break;;
+- esac
+-done
+-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+-
+-
+-# Only perform the check for file, if the check method requires it
+-case $deplibs_check_method in
+-file_magic*)
+- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+- echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
+-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
++if test -z "$ac_cv_prog_OTOOL"; then
++ ac_ct_OTOOL=$OTOOL
++ # Extract the first word of "otool", so it can be a program name with args.
++set dummy otool; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- case $MAGIC_CMD in
+-[\\/*] | ?:[\\/]*)
+- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+- ;;
+-*)
+- lt_save_MAGIC_CMD="$MAGIC_CMD"
+- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+- for ac_dir in $ac_dummy; do
+- IFS="$lt_save_ifs"
+- test -z "$ac_dir" && ac_dir=.
+- if test -f $ac_dir/${ac_tool_prefix}file; then
+- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+- if test -n "$file_magic_test_file"; then
+- case $deplibs_check_method in
+- "file_magic "*)
+- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+- $EGREP "$file_magic_regex" > /dev/null; then
+- :
+- else
+- cat <<EOF 1>&2
+-
+-*** Warning: the command libtool uses to detect shared libraries,
+-*** $file_magic_cmd, produces output that libtool cannot recognize.
+-*** The result is that libtool may fail to recognize shared libraries
+-*** as such. This will affect the creation of libtool libraries that
+-*** depend on shared libraries, but programs linked with such libtool
+-*** libraries will work regardless of this problem. Nevertheless, you
+-*** may want to report the problem to your system manager and/or to
+-*** bug-libtool@gnu.org
++ if test -n "$ac_ct_OTOOL"; then
++ ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_OTOOL="otool"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
+
+-EOF
+- fi ;;
+- esac
+- fi
+- break
+- fi
+- done
+- IFS="$lt_save_ifs"
+- MAGIC_CMD="$lt_save_MAGIC_CMD"
+- ;;
+-esac
++fi
++fi
++ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
++if test -n "$ac_ct_OTOOL"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5
++echo "${ECHO_T}$ac_ct_OTOOL" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
+-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+-if test -n "$MAGIC_CMD"; then
+- echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+-echo "${ECHO_T}$MAGIC_CMD" >&6
++ if test "x$ac_ct_OTOOL" = x; then
++ OTOOL=":"
++ else
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ OTOOL=$ac_ct_OTOOL
++ fi
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ OTOOL="$ac_cv_prog_OTOOL"
+ fi
+
+-if test -z "$lt_cv_path_MAGIC_CMD"; then
+- if test -n "$ac_tool_prefix"; then
+- echo "$as_me:$LINENO: checking for file" >&5
+-echo $ECHO_N "checking for file... $ECHO_C" >&6
+-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
++ if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
++set dummy ${ac_tool_prefix}otool64; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_OTOOL64+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- case $MAGIC_CMD in
+-[\\/*] | ?:[\\/]*)
+- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+- ;;
+-*)
+- lt_save_MAGIC_CMD="$MAGIC_CMD"
+- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+- ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+- for ac_dir in $ac_dummy; do
+- IFS="$lt_save_ifs"
+- test -z "$ac_dir" && ac_dir=.
+- if test -f $ac_dir/file; then
+- lt_cv_path_MAGIC_CMD="$ac_dir/file"
+- if test -n "$file_magic_test_file"; then
+- case $deplibs_check_method in
+- "file_magic "*)
+- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+- $EGREP "$file_magic_regex" > /dev/null; then
+- :
+- else
+- cat <<EOF 1>&2
++ if test -n "$OTOOL64"; then
++ ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
++
++fi
++fi
++OTOOL64=$ac_cv_prog_OTOOL64
++if test -n "$OTOOL64"; then
++ { echo "$as_me:$LINENO: result: $OTOOL64" >&5
++echo "${ECHO_T}$OTOOL64" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
+
+-*** Warning: the command libtool uses to detect shared libraries,
+-*** $file_magic_cmd, produces output that libtool cannot recognize.
+-*** The result is that libtool may fail to recognize shared libraries
+-*** as such. This will affect the creation of libtool libraries that
+-*** depend on shared libraries, but programs linked with such libtool
+-*** libraries will work regardless of this problem. Nevertheless, you
+-*** may want to report the problem to your system manager and/or to
+-*** bug-libtool@gnu.org
+
+-EOF
+- fi ;;
+- esac
+- fi
+- break
+- fi
+- done
+- IFS="$lt_save_ifs"
+- MAGIC_CMD="$lt_save_MAGIC_CMD"
+- ;;
+-esac
+ fi
++if test -z "$ac_cv_prog_OTOOL64"; then
++ ac_ct_OTOOL64=$OTOOL64
++ # Extract the first word of "otool64", so it can be a program name with args.
++set dummy otool64; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_OTOOL64"; then
++ ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_prog_ac_ct_OTOOL64="otool64"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++IFS=$as_save_IFS
+
+-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+-if test -n "$MAGIC_CMD"; then
+- echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+-echo "${ECHO_T}$MAGIC_CMD" >&6
++fi
++fi
++ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
++if test -n "$ac_ct_OTOOL64"; then
++ { echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5
++echo "${ECHO_T}$ac_ct_OTOOL64" >&6; }
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
++ if test "x$ac_ct_OTOOL64" = x; then
++ OTOOL64=":"
+ else
+- MAGIC_CMD=:
++ case $cross_compiling:$ac_tool_warned in
++yes:)
++{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&5
++echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
++whose name does not start with the host triplet. If you think this
++configuration is useful to you, please write to autoconf@gnu.org." >&2;}
++ac_tool_warned=yes ;;
++esac
++ OTOOL64=$ac_ct_OTOOL64
+ fi
++else
++ OTOOL64="$ac_cv_prog_OTOOL64"
+ fi
+
+- fi
+- ;;
+-esac
+
+-enable_dlopen=no
+-enable_win32_dll=no
+
+-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
+-if test "${enable_libtool_lock+set}" = set; then
+- enableval="$enable_libtool_lock"
+
+-fi;
+-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+
+-# Check whether --with-pic or --without-pic was given.
+-if test "${with_pic+set}" = set; then
+- withval="$with_pic"
+- pic_mode="$withval"
+-else
+- pic_mode=default
+-fi;
+-test -z "$pic_mode" && pic_mode=default
+
+-# Use C for the default configuration in the libtool script
+-tagname=
+-lt_save_CC="$CC"
+-ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+-# Source file extension for C test sources.
+-ac_ext=c
+
+-# Object file extension for compiled C test sources.
+-objext=o
+-objext=$objext
+
+-# Code to be used in simple compile tests
+-lt_simple_compile_test_code="int some_variable = 0;\n"
+
+-# Code to be used in simple link tests
+-lt_simple_link_test_code='int main(){return(0);}\n'
+
+
+-# If no C compiler was specified, use CC.
+-LTCC=${LTCC-"$CC"}
+
+-# If no C compiler flags were specified, use CFLAGS.
+-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+-# Allow CC to be a program name with arguments.
+-compiler=$CC
+
+
+-# save warnings/boilerplate of simple test code
+-ac_outfile=conftest.$ac_objext
+-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+-_lt_compiler_boilerplate=`cat conftest.err`
+-$rm conftest*
+
+-ac_outfile=conftest.$ac_objext
+-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+-_lt_linker_boilerplate=`cat conftest.err`
+-$rm conftest*
+
+
+-## CAVEAT EMPTOR:
+-## There is no encapsulation within the following macros, do not change
+-## the running order or otherwise move them around unless you know exactly
+-## what you are doing...
+
+-lt_prog_compiler_no_builtin_flag=
+
+-if test "$GCC" = yes; then
+- lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+
+
+-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- lt_cv_prog_compiler_rtti_exceptions=no
+- ac_outfile=conftest.$ac_objext
+- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+- lt_compiler_flag="-fno-rtti -fno-exceptions"
+- # Insert the option either (1) after the last *FLAGS variable, or
+- # (2) before a word containing "conftest.", or (3) at the end.
+- # Note that $ac_compile itself does not contain backslashes and begins
+- # with a dollar sign (not a hyphen), so the echo should work correctly.
+- # The option is referenced via a variable to avoid confusing sed.
+- lt_compile=`echo "$ac_compile" | $SED \
+- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+- -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:6417: $lt_compile\"" >&5)
+- (eval "$lt_compile" 2>conftest.err)
+- ac_status=$?
+- cat conftest.err >&5
+- echo "$as_me:6421: \$? = $ac_status" >&5
+- if (exit $ac_status) && test -s "$ac_outfile"; then
+- # The compiler can only warn and ignore the option if not recognized
+- # So say no if there are warnings other than the usual output.
+- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+- lt_cv_prog_compiler_rtti_exceptions=yes
+- fi
+- fi
+- $rm conftest*
+
+-fi
+-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+
+-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+- lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
++ { echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
++echo $ECHO_N "checking for -single_module linker flag... $ECHO_C" >&6; }
++if test "${lt_cv_apple_cc_single_mod+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- :
+-fi
+-
++ lt_cv_apple_cc_single_mod=no
++ if test -z "${LT_MULTI_MODULE}"; then
++ # By default we will add the -single_module flag. You can override
++ # by either setting the environment variable LT_MULTI_MODULE
++ # non-empty at configure time, or by adding -multi_module to the
++ # link flags.
++ rm -rf libconftest.dylib*
++ echo "int foo(void){return 1;}" > conftest.c
++ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
++-dynamiclib -Wl,-single_module conftest.c" >&5
++ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
++ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
++ _lt_result=$?
++ if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
++ lt_cv_apple_cc_single_mod=yes
++ else
++ cat conftest.err >&5
++ fi
++ rm -rf libconftest.dylib*
++ rm -f conftest.*
++ fi
+ fi
++{ echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
++echo "${ECHO_T}$lt_cv_apple_cc_single_mod" >&6; }
++ { echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
++echo $ECHO_N "checking for -exported_symbols_list linker flag... $ECHO_C" >&6; }
++if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_ld_exported_symbols_list=no
++ save_LDFLAGS=$LDFLAGS
++ echo "_main" > conftest.sym
++ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
+-lt_prog_compiler_wl=
+-lt_prog_compiler_pic=
+-lt_prog_compiler_static=
++int
++main ()
++{
+
+-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ lt_cv_ld_exported_symbols_list=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+- if test "$GCC" = yes; then
+- lt_prog_compiler_wl='-Wl,'
+- lt_prog_compiler_static='-static'
++ lt_cv_ld_exported_symbols_list=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ LDFLAGS="$save_LDFLAGS"
+
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
++echo "${ECHO_T}$lt_cv_ld_exported_symbols_list" >&6; }
+ case $host_os in
+- aix*)
+- # All AIX code is PIC.
+- if test "$host_cpu" = ia64; then
+- # AIX 5 now supports IA64 processor
+- lt_prog_compiler_static='-Bstatic'
+- fi
+- ;;
++ rhapsody* | darwin1.[012])
++ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
++ darwin1.*)
++ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
++ darwin*) # darwin 5.x on
++ # if running on 10.5 or later, the deployment target defaults
++ # to the OS version, if on x86, and 10.4, the deployment
++ # target defaults to 10.4. Don't you love it?
++ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
++ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
++ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
++ 10.[012]*)
++ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
++ 10.*)
++ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
++ esac
++ ;;
++ esac
++ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
++ _lt_dar_single_mod='$single_module'
++ fi
++ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
++ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
++ else
++ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
++ fi
++ if test "$DSYMUTIL" != ":"; then
++ _lt_dsymutil='~$DSYMUTIL $lib || :'
++ else
++ _lt_dsymutil=
++ fi
++ ;;
++ esac
+
+- amigaos*)
+- # FIXME: we need at least 68020 code to build shared libraries, but
+- # adding the `-m68020' flag to GCC prevents building anything better,
+- # like `-m68040'.
+- lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+- ;;
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
++echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
++# On Suns, sometimes $CPP names a directory.
++if test -n "$CPP" && test -d "$CPP"; then
++ CPP=
++fi
++if test -z "$CPP"; then
++ if test "${ac_cv_prog_CPP+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ # Double quotes because CPP needs to be expanded
++ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
++ do
++ ac_preproc_ok=false
++for ac_c_preproc_warn_flag in '' yes
++do
++ # Use a header file that comes with gcc, so configuring glibc
++ # with a fresh cross-compiler works.
++ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ # <limits.h> exists even on freestanding compilers.
++ # On the NeXT, cc -E runs the code through the compiler's parser,
++ # not just through cpp. "Syntax error" is here to catch this case.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++ Syntax error
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+- # PIC is the default for these OSes.
+- ;;
++ # Broken: fails on valid input.
++continue
++fi
+
+- mingw* | pw32* | os2*)
+- # This hack is so that the source file can tell whether it is being
+- # built for inclusion in a dll (and should export symbols for example).
+- lt_prog_compiler_pic='-DDLL_EXPORT'
+- ;;
++rm -f conftest.err conftest.$ac_ext
+
+- darwin* | rhapsody*)
+- # PIC is the default on this platform
+- # Common symbols not allowed in MH_DYLIB files
+- lt_prog_compiler_pic='-fno-common'
+- ;;
++ # OK, works on sane cases. Now check whether nonexistent headers
++ # can be detected and how.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <ac_nonexistent.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ # Broken: success on invalid input.
++continue
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+- interix3*)
+- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+- # Instead, we relocate shared libraries at runtime.
+- ;;
++ # Passes both tests.
++ac_preproc_ok=:
++break
++fi
+
+- msdosdjgpp*)
+- # Just because we use GCC doesn't mean we suddenly get shared libraries
+- # on systems that don't support them.
+- lt_prog_compiler_can_build_shared=no
+- enable_shared=no
+- ;;
++rm -f conftest.err conftest.$ac_ext
+
+- sysv4*MP*)
+- if test -d /usr/nec; then
+- lt_prog_compiler_pic=-Kconform_pic
+- fi
+- ;;
++done
++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
++rm -f conftest.err conftest.$ac_ext
++if $ac_preproc_ok; then
++ break
++fi
+
+- hpux*)
+- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+- # not for PA HP-UX.
+- case $host_cpu in
+- hppa*64*|ia64*)
+- # +Z the default
+- ;;
+- *)
+- lt_prog_compiler_pic='-fPIC'
+- ;;
+- esac
+- ;;
++ done
++ ac_cv_prog_CPP=$CPP
+
+- *)
+- lt_prog_compiler_pic='-fPIC'
+- ;;
+- esac
+- else
+- # PORTME Check for flag to pass linker flags through the system compiler.
+- case $host_os in
+- aix*)
+- lt_prog_compiler_wl='-Wl,'
+- if test "$host_cpu" = ia64; then
+- # AIX 5 now supports IA64 processor
+- lt_prog_compiler_static='-Bstatic'
+- else
+- lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+- fi
+- ;;
+- darwin*)
+- # PIC is the default on this platform
+- # Common symbols not allowed in MH_DYLIB files
+- case $cc_basename in
+- xlc*)
+- lt_prog_compiler_pic='-qnocommon'
+- lt_prog_compiler_wl='-Wl,'
+- ;;
+- esac
+- ;;
++fi
++ CPP=$ac_cv_prog_CPP
++else
++ ac_cv_prog_CPP=$CPP
++fi
++{ echo "$as_me:$LINENO: result: $CPP" >&5
++echo "${ECHO_T}$CPP" >&6; }
++ac_preproc_ok=false
++for ac_c_preproc_warn_flag in '' yes
++do
++ # Use a header file that comes with gcc, so configuring glibc
++ # with a fresh cross-compiler works.
++ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ # <limits.h> exists even on freestanding compilers.
++ # On the NeXT, cc -E runs the code through the compiler's parser,
++ # not just through cpp. "Syntax error" is here to catch this case.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++ Syntax error
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+- mingw* | pw32* | os2*)
+- # This hack is so that the source file can tell whether it is being
+- # built for inclusion in a dll (and should export symbols for example).
+- lt_prog_compiler_pic='-DDLL_EXPORT'
+- ;;
++ # Broken: fails on valid input.
++continue
++fi
+
+- hpux9* | hpux10* | hpux11*)
+- lt_prog_compiler_wl='-Wl,'
+- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+- # not for PA HP-UX.
+- case $host_cpu in
+- hppa*64*|ia64*)
+- # +Z the default
+- ;;
+- *)
+- lt_prog_compiler_pic='+Z'
+- ;;
+- esac
+- # Is there a better lt_prog_compiler_static that works with the bundled CC?
+- lt_prog_compiler_static='${wl}-a ${wl}archive'
+- ;;
++rm -f conftest.err conftest.$ac_ext
+
+- irix5* | irix6* | nonstopux*)
+- lt_prog_compiler_wl='-Wl,'
+- # PIC (with -KPIC) is the default.
+- lt_prog_compiler_static='-non_shared'
+- ;;
+-
+- newsos6)
+- lt_prog_compiler_pic='-KPIC'
+- lt_prog_compiler_static='-Bstatic'
+- ;;
+-
+- linux*)
+- case $cc_basename in
+- icc* | ecc*)
+- lt_prog_compiler_wl='-Wl,'
+- lt_prog_compiler_pic='-KPIC'
+- lt_prog_compiler_static='-static'
+- ;;
+- pgcc* | pgf77* | pgf90* | pgf95*)
+- # Portland Group compilers (*not* the Pentium gcc compiler,
+- # which looks to be a dead project)
+- lt_prog_compiler_wl='-Wl,'
+- lt_prog_compiler_pic='-fpic'
+- lt_prog_compiler_static='-Bstatic'
+- ;;
+- ccc*)
+- lt_prog_compiler_wl='-Wl,'
+- # All Alpha code is PIC.
+- lt_prog_compiler_static='-non_shared'
+- ;;
+- esac
+- ;;
++ # OK, works on sane cases. Now check whether nonexistent headers
++ # can be detected and how.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <ac_nonexistent.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ # Broken: success on invalid input.
++continue
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+- osf3* | osf4* | osf5*)
+- lt_prog_compiler_wl='-Wl,'
+- # All OSF/1 code is PIC.
+- lt_prog_compiler_static='-non_shared'
+- ;;
++ # Passes both tests.
++ac_preproc_ok=:
++break
++fi
+
+- solaris*)
+- lt_prog_compiler_pic='-KPIC'
+- lt_prog_compiler_static='-Bstatic'
+- case $cc_basename in
+- f77* | f90* | f95*)
+- lt_prog_compiler_wl='-Qoption ld ';;
+- *)
+- lt_prog_compiler_wl='-Wl,';;
+- esac
+- ;;
++rm -f conftest.err conftest.$ac_ext
+
+- sunos4*)
+- lt_prog_compiler_wl='-Qoption ld '
+- lt_prog_compiler_pic='-PIC'
+- lt_prog_compiler_static='-Bstatic'
+- ;;
++done
++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
++rm -f conftest.err conftest.$ac_ext
++if $ac_preproc_ok; then
++ :
++else
++ { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
++See \`config.log' for more details." >&5
++echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
++See \`config.log' for more details." >&2;}
++ { (exit 1); exit 1; }; }
++fi
+
+- sysv4 | sysv4.2uw2* | sysv4.3*)
+- lt_prog_compiler_wl='-Wl,'
+- lt_prog_compiler_pic='-KPIC'
+- lt_prog_compiler_static='-Bstatic'
+- ;;
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+- sysv4*MP*)
+- if test -d /usr/nec ;then
+- lt_prog_compiler_pic='-Kconform_pic'
+- lt_prog_compiler_static='-Bstatic'
+- fi
+- ;;
+
+- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+- lt_prog_compiler_wl='-Wl,'
+- lt_prog_compiler_pic='-KPIC'
+- lt_prog_compiler_static='-Bstatic'
+- ;;
++{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
++echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
++if test "${ac_cv_header_stdc+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdlib.h>
++#include <stdarg.h>
++#include <string.h>
++#include <float.h>
+
+- unicos*)
+- lt_prog_compiler_wl='-Wl,'
+- lt_prog_compiler_can_build_shared=no
+- ;;
++int
++main ()
++{
+
+- uts4*)
+- lt_prog_compiler_pic='-pic'
+- lt_prog_compiler_static='-Bstatic'
+- ;;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_stdc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+- *)
+- lt_prog_compiler_can_build_shared=no
+- ;;
+- esac
+- fi
++ ac_cv_header_stdc=no
++fi
+
+-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
+-echo "${ECHO_T}$lt_prog_compiler_pic" >&6
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+-#
+-# Check to make sure the PIC flag actually works.
+-#
+-if test -n "$lt_prog_compiler_pic"; then
++if test $ac_cv_header_stdc = yes; then
++ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <string.h>
+
+-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6
+-if test "${lt_prog_compiler_pic_works+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++ $EGREP "memchr" >/dev/null 2>&1; then
++ :
+ else
+- lt_prog_compiler_pic_works=no
+- ac_outfile=conftest.$ac_objext
+- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+- # Insert the option either (1) after the last *FLAGS variable, or
+- # (2) before a word containing "conftest.", or (3) at the end.
+- # Note that $ac_compile itself does not contain backslashes and begins
+- # with a dollar sign (not a hyphen), so the echo should work correctly.
+- # The option is referenced via a variable to avoid confusing sed.
+- lt_compile=`echo "$ac_compile" | $SED \
+- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+- -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:6685: $lt_compile\"" >&5)
+- (eval "$lt_compile" 2>conftest.err)
+- ac_status=$?
+- cat conftest.err >&5
+- echo "$as_me:6689: \$? = $ac_status" >&5
+- if (exit $ac_status) && test -s "$ac_outfile"; then
+- # The compiler can only warn and ignore the option if not recognized
+- # So say no if there are warnings other than the usual output.
+- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+- lt_prog_compiler_pic_works=yes
+- fi
+- fi
+- $rm conftest*
+-
++ ac_cv_header_stdc=no
+ fi
+-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5
+-echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6
++rm -f conftest*
+
+-if test x"$lt_prog_compiler_pic_works" = xyes; then
+- case $lt_prog_compiler_pic in
+- "" | " "*) ;;
+- *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+- esac
+-else
+- lt_prog_compiler_pic=
+- lt_prog_compiler_can_build_shared=no
+ fi
+
+-fi
+-case $host_os in
+- # For platforms which do not support PIC, -DPIC is meaningless:
+- *djgpp*)
+- lt_prog_compiler_pic=
+- ;;
+- *)
+- lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+- ;;
+-esac
++if test $ac_cv_header_stdc = yes; then
++ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdlib.h>
+
+-#
+-# Check to make sure the static flag actually works.
+-#
+-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+-if test "${lt_prog_compiler_static_works+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++ $EGREP "free" >/dev/null 2>&1; then
++ :
+ else
+- lt_prog_compiler_static_works=no
+- save_LDFLAGS="$LDFLAGS"
+- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+- printf "$lt_simple_link_test_code" > conftest.$ac_ext
+- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+- # The linker can only warn and ignore the option if not recognized
+- # So say no if there are warnings
+- if test -s conftest.err; then
+- # Append any errors to the config.log.
+- cat conftest.err 1>&5
+- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+- if diff conftest.exp conftest.er2 >/dev/null; then
+- lt_prog_compiler_static_works=yes
+- fi
+- else
+- lt_prog_compiler_static_works=yes
+- fi
+- fi
+- $rm conftest*
+- LDFLAGS="$save_LDFLAGS"
+-
++ ac_cv_header_stdc=no
+ fi
+-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5
+-echo "${ECHO_T}$lt_prog_compiler_static_works" >&6
++rm -f conftest*
+
+-if test x"$lt_prog_compiler_static_works" = xyes; then
+- :
+-else
+- lt_prog_compiler_static=
+ fi
+
+-
+-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+-if test "${lt_cv_prog_compiler_c_o+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++if test $ac_cv_header_stdc = yes; then
++ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
++ if test "$cross_compiling" = yes; then
++ :
+ else
+- lt_cv_prog_compiler_c_o=no
+- $rm -r conftest 2>/dev/null
+- mkdir conftest
+- cd conftest
+- mkdir out
+- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <ctype.h>
++#include <stdlib.h>
++#if ((' ' & 0x0FF) == 0x020)
++# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
++# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
++#else
++# define ISLOWER(c) \
++ (('a' <= (c) && (c) <= 'i') \
++ || ('j' <= (c) && (c) <= 'r') \
++ || ('s' <= (c) && (c) <= 'z'))
++# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
++#endif
+
+- lt_compiler_flag="-o out/conftest2.$ac_objext"
+- # Insert the option either (1) after the last *FLAGS variable, or
+- # (2) before a word containing "conftest.", or (3) at the end.
+- # Note that $ac_compile itself does not contain backslashes and begins
+- # with a dollar sign (not a hyphen), so the echo should work correctly.
+- lt_compile=`echo "$ac_compile" | $SED \
+- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+- -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:6789: $lt_compile\"" >&5)
+- (eval "$lt_compile" 2>out/conftest.err)
+- ac_status=$?
+- cat out/conftest.err >&5
+- echo "$as_me:6793: \$? = $ac_status" >&5
+- if (exit $ac_status) && test -s out/conftest2.$ac_objext
+- then
+- # The compiler can only warn and ignore the option if not recognized
+- # So say no if there are warnings
+- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+- lt_cv_prog_compiler_c_o=yes
+- fi
+- fi
+- chmod u+w . 2>&5
+- $rm conftest*
+- # SGI C++ compiler will create directory out/ii_files/ for
+- # template instantiation
+- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+- $rm out/* && rmdir out
+- cd ..
+- rmdir conftest
+- $rm conftest*
++#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
++int
++main ()
++{
++ int i;
++ for (i = 0; i < 256; i++)
++ if (XOR (islower (i), ISLOWER (i))
++ || toupper (i) != TOUPPER (i))
++ return 2;
++ return 0;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
++( exit $ac_status )
++ac_cv_header_stdc=no
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6
+
+
+-hard_links="nottested"
+-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+- # do not overwrite the value of need_locks provided by the user
+- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+- hard_links=yes
+- $rm conftest*
+- ln conftest.a conftest.b 2>/dev/null && hard_links=no
+- touch conftest.a
+- ln conftest.a conftest.b 2>&5 || hard_links=no
+- ln conftest.a conftest.b 2>/dev/null && hard_links=no
+- echo "$as_me:$LINENO: result: $hard_links" >&5
+-echo "${ECHO_T}$hard_links" >&6
+- if test "$hard_links" = no; then
+- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+- need_locks=warn
+- fi
+-else
+- need_locks=no
+ fi
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
++echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
++if test $ac_cv_header_stdc = yes; then
+
+-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
++cat >>confdefs.h <<\_ACEOF
++#define STDC_HEADERS 1
++_ACEOF
+
+- runpath_var=
+- allow_undefined_flag=
+- enable_shared_with_static_runtimes=no
+- archive_cmds=
+- archive_expsym_cmds=
+- old_archive_From_new_cmds=
+- old_archive_from_expsyms_cmds=
+- export_dynamic_flag_spec=
+- whole_archive_flag_spec=
+- thread_safe_flag_spec=
+- hardcode_libdir_flag_spec=
+- hardcode_libdir_flag_spec_ld=
+- hardcode_libdir_separator=
+- hardcode_direct=no
+- hardcode_minus_L=no
+- hardcode_shlibpath_var=unsupported
+- link_all_deplibs=unknown
+- hardcode_automatic=no
+- module_cmds=
+- module_expsym_cmds=
+- always_export_symbols=no
+- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+- # include_expsyms should be a list of space-separated symbols to be *always*
+- # included in the symbol list
+- include_expsyms=
+- # exclude_expsyms can be an extended regexp of symbols to exclude
+- # it will be wrapped by ` (' and `)$', so one must not match beginning or
+- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+- # as well as any symbol that contains `d'.
+- exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+- # platforms (ab)use it in PIC code, but their linkers get confused if
+- # the symbol is explicitly referenced. Since portable code cannot
+- # rely on this symbol name, it's probably fine to never include it in
+- # preloaded symbol tables.
+- extract_expsyms_cmds=
+- # Just being paranoid about ensuring that cc_basename is set.
+- for cc_temp in $compiler""; do
+- case $cc_temp in
+- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+- \-*) ;;
+- *) break;;
+- esac
+-done
+-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
++fi
+
+- case $host_os in
+- cygwin* | mingw* | pw32*)
+- # FIXME: the MSVC++ port hasn't been tested in a loooong time
+- # When not using gcc, we currently assume that we are using
+- # Microsoft Visual C++.
+- if test "$GCC" != yes; then
+- with_gnu_ld=no
+- fi
+- ;;
+- interix*)
+- # we just hope/assume this is gcc and not c89 (= MSVC++)
+- with_gnu_ld=yes
+- ;;
+- openbsd*)
+- with_gnu_ld=no
+- ;;
+- esac
++# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+- ld_shlibs=yes
+- if test "$with_gnu_ld" = yes; then
+- # If archive_cmds runs LD, not CC, wlarc should be empty
+- wlarc='${wl}'
+
+- # Set some defaults for GNU ld with shared library support. These
+- # are reset later if shared libraries are not supported. Putting them
+- # here allows them to be overridden if necessary.
+- runpath_var=LD_RUN_PATH
+- hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+- export_dynamic_flag_spec='${wl}--export-dynamic'
+- # ancient GNU ld didn't support --whole-archive et. al.
+- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+- else
+- whole_archive_flag_spec=
+- fi
+- supports_anon_versioning=no
+- case `$LD -v 2>/dev/null` in
+- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+- *\ 2.11.*) ;; # other 2.11 versions
+- *) supports_anon_versioning=yes ;;
+- esac
+
+- # See if GNU ld supports shared libraries.
+- case $host_os in
+- aix3* | aix4* | aix5*)
+- # On AIX/PPC, the GNU linker is very broken
+- if test "$host_cpu" != ia64; then
+- ld_shlibs=no
+- cat <<EOF 1>&2
+
+-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+-*** to be unable to reliably create shared libraries on AIX.
+-*** Therefore, libtool is disabling shared libraries support. If you
+-*** really care for shared libraries, you may want to modify your PATH
+-*** so that a non-GNU linker is found, and then restart.
+
+-EOF
+- fi
+- ;;
+
+- amigaos*)
+- archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+- hardcode_libdir_flag_spec='-L$libdir'
+- hardcode_minus_L=yes
+
+- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
+- # that the semantics of dynamic libraries on AmigaOS, at least up
+- # to version 4, is to share data among multiple programs linked
+- # with the same dynamic library. Since this doesn't match the
+- # behavior of shared libraries on other platforms, we can't use
+- # them.
+- ld_shlibs=no
+- ;;
+
+- beos*)
+- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- allow_undefined_flag=unsupported
+- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+- # support --undefined. This deserves some investigation. FIXME
+- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- else
+- ld_shlibs=no
+- fi
+- ;;
+
+- cygwin* | mingw* | pw32*)
+- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+- # as there is no search path for DLLs.
+- hardcode_libdir_flag_spec='-L$libdir'
+- allow_undefined_flag=unsupported
+- always_export_symbols=no
+- enable_shared_with_static_runtimes=yes
+- export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
++for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
++ inttypes.h stdint.h unistd.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
+
+- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+- # If the export-symbols file already is a .def file (1st line
+- # is EXPORTS), use it as is; otherwise, prepend...
+- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+- cp $export_symbols $output_objdir/$soname.def;
+- else
+- echo EXPORTS > $output_objdir/$soname.def;
+- cat $export_symbols >> $output_objdir/$soname.def;
+- fi~
+- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+- else
+- ld_shlibs=no
+- fi
+- ;;
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ eval "$as_ac_Header=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+- interix3*)
+- hardcode_direct=no
+- hardcode_shlibpath_var=no
+- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+- export_dynamic_flag_spec='${wl}-E'
+- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+- # Instead, shared libraries are loaded at an image base (0x10000000 by
+- # default) and relocated if they conflict, which is a slow very memory
+- # consuming and fragmenting process. To avoid this, we pick a random,
+- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+- ;;
+-
+- linux*)
+- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- tmp_addflag=
+- case $cc_basename,$host_cpu in
+- pgcc*) # Portland Group C compiler
+- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+- tmp_addflag=' $pic_flag'
+- ;;
+- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
+- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+- tmp_addflag=' $pic_flag -Mnomain' ;;
+- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+- tmp_addflag=' -i_dynamic' ;;
+- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+- tmp_addflag=' -i_dynamic -nofor_main' ;;
+- ifc* | ifort*) # Intel Fortran compiler
+- tmp_addflag=' -nofor_main' ;;
+- esac
+- archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+-
+- if test $supports_anon_versioning = yes; then
+- archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
+- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+- $echo "local: *; };" >> $output_objdir/$libname.ver~
+- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+- fi
+- else
+- ld_shlibs=no
+- fi
+- ;;
+-
+- netbsd*)
+- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+- archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+- wlarc=
+- else
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+- fi
+- ;;
+-
+- solaris*)
+- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+- ld_shlibs=no
+- cat <<EOF 1>&2
+-
+-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+-*** create shared libraries on Solaris systems. Therefore, libtool
+-*** is disabling shared libraries support. We urge you to upgrade GNU
+-*** binutils to release 2.9.1 or newer. Another option is to modify
+-*** your PATH or compiler configuration so that the native linker is
+-*** used, and then restart.
+-
+-EOF
+- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+- else
+- ld_shlibs=no
+- fi
+- ;;
+-
+- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+- case `$LD -v 2>&1` in
+- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+- ld_shlibs=no
+- cat <<_LT_EOF 1>&2
+-
+-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+-*** reliably create shared libraries on SCO systems. Therefore, libtool
+-*** is disabling shared libraries support. We urge you to upgrade GNU
+-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+-*** your PATH or compiler configuration so that the native linker is
+-*** used, and then restart.
+-
+-_LT_EOF
+- ;;
+- *)
+- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+- else
+- ld_shlibs=no
+- fi
+- ;;
+- esac
+- ;;
+-
+- sunos4*)
+- archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+- wlarc=
+- hardcode_direct=yes
+- hardcode_shlibpath_var=no
+- ;;
+-
+- *)
+- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+- else
+- ld_shlibs=no
+- fi
+- ;;
+- esac
+-
+- if test "$ld_shlibs" = no; then
+- runpath_var=
+- hardcode_libdir_flag_spec=
+- export_dynamic_flag_spec=
+- whole_archive_flag_spec=
+- fi
+- else
+- # PORTME fill in a description of your system's linker (not GNU ld)
+- case $host_os in
+- aix3*)
+- allow_undefined_flag=unsupported
+- always_export_symbols=yes
+- archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+- # Note: this linker hardcodes the directories in LIBPATH if there
+- # are no directories specified by -L.
+- hardcode_minus_L=yes
+- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+- # Neither direct hardcoding nor static linking is supported with a
+- # broken collect2.
+- hardcode_direct=unsupported
+- fi
+- ;;
+-
+- aix4* | aix5*)
+- if test "$host_cpu" = ia64; then
+- # On IA64, the linker does run time linking by default, so we don't
+- # have to do anything special.
+- aix_use_runtimelinking=no
+- exp_sym_flag='-Bexport'
+- no_entry_flag=""
+- else
+- # If we're using GNU nm, then we don't want the "-C" option.
+- # -C means demangle to AIX nm, but means don't demangle with GNU nm
+- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+- else
+- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+- fi
+- aix_use_runtimelinking=no
++ eval "$as_ac_Header=no"
++fi
+
+- # Test if we are trying to use run time linking or normal
+- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+- # need to do runtime linking.
+- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+- for ld_flag in $LDFLAGS; do
+- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+- aix_use_runtimelinking=yes
+- break
+- fi
+- done
+- ;;
+- esac
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
+
+- exp_sym_flag='-bexport'
+- no_entry_flag='-bnoentry'
+- fi
++fi
+
+- # When large executables or shared objects are built, AIX ld can
+- # have problems creating the table of contents. If linking a library
+- # or program results in "error TOC overflow" add -mminimal-toc to
+- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
++done
+
+- archive_cmds=''
+- hardcode_direct=yes
+- hardcode_libdir_separator=':'
+- link_all_deplibs=yes
+
+- if test "$GCC" = yes; then
+- case $host_os in aix4.[012]|aix4.[012].*)
+- # We only want to do this on AIX 4.2 and lower, the check
+- # below for broken collect2 doesn't work under 4.3+
+- collect2name=`${CC} -print-prog-name=collect2`
+- if test -f "$collect2name" && \
+- strings "$collect2name" | grep resolve_lib_name >/dev/null
+- then
+- # We have reworked collect2
+- hardcode_direct=yes
+- else
+- # We have old collect2
+- hardcode_direct=unsupported
+- # It fails to find uninstalled libraries when the uninstalled
+- # path is not listed in the libpath. Setting hardcode_minus_L
+- # to unsupported forces relinking
+- hardcode_minus_L=yes
+- hardcode_libdir_flag_spec='-L$libdir'
+- hardcode_libdir_separator=
+- fi
+- ;;
+- esac
+- shared_flag='-shared'
+- if test "$aix_use_runtimelinking" = yes; then
+- shared_flag="$shared_flag "'${wl}-G'
+- fi
+- else
+- # not using gcc
+- if test "$host_cpu" = ia64; then
+- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+- # chokes on -Wl,-G. The following line is correct:
+- shared_flag='-G'
+- else
+- if test "$aix_use_runtimelinking" = yes; then
+- shared_flag='${wl}-G'
+- else
+- shared_flag='${wl}-bM:SRE'
+- fi
+- fi
+- fi
+
+- # It seems that -bexpall does not export symbols beginning with
+- # underscore (_), so it is better to generate a list of symbols to export.
+- always_export_symbols=yes
+- if test "$aix_use_runtimelinking" = yes; then
+- # Warning - without using the other runtime loading flags (-brtl),
+- # -berok will link without error, but may produce a broken library.
+- allow_undefined_flag='-berok'
+- # Determine the default libpath from the value encoded in an empty executable.
+- cat >conftest.$ac_ext <<_ACEOF
++for ac_header in dlfcn.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
++$ac_includes_default
+
+-int
+-main ()
+-{
+-
+- ;
+- return 0;
+-}
++#include <$ac_header>
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+-
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+-}'`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+-}'`; fi
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ eval "$as_ac_Header=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
++ eval "$as_ac_Header=no"
+ fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+- archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+- else
+- if test "$host_cpu" = ia64; then
+- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+- allow_undefined_flag="-z nodefs"
+- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+- else
+- # Determine the default libpath from the value encoded in an empty executable.
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+ _ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+
+-int
+-main ()
+-{
++fi
+
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
++done
+
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+-}'`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+-}'`; fi
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+- # Warning - without using the other run time loading flags,
+- # -berok will link without error, but may produce a broken library.
+- no_undefined_flag=' ${wl}-bernotok'
+- allow_undefined_flag=' ${wl}-berok'
+- # Exported symbols can be pulled into shared objects from archives
+- whole_archive_flag_spec='$convenience'
+- archive_cmds_need_lc=yes
+- # This is similar to how AIX traditionally builds its shared libraries.
+- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
++# Set options
++
++
++
++ enable_dlopen=no
++
++
++ enable_win32_dll=no
++
++
++ # Check whether --enable-shared was given.
++if test "${enable_shared+set}" = set; then
++ enableval=$enable_shared; p=${PACKAGE-default}
++ case $enableval in
++ yes) enable_shared=yes ;;
++ no) enable_shared=no ;;
++ *)
++ enable_shared=no
++ # Look at the argument we got. We use all the common list separators.
++ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++ for pkg in $enableval; do
++ IFS="$lt_save_ifs"
++ if test "X$pkg" = "X$p"; then
++ enable_shared=yes
+ fi
+- fi
++ done
++ IFS="$lt_save_ifs"
+ ;;
++ esac
++else
++ enable_shared=yes
++fi
+
+- amigaos*)
+- archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+- hardcode_libdir_flag_spec='-L$libdir'
+- hardcode_minus_L=yes
+- # see comment about different semantics on the GNU ld section
+- ld_shlibs=no
+- ;;
+
+- bsdi[45]*)
+- export_dynamic_flag_spec=-rdynamic
+- ;;
+
+- cygwin* | mingw* | pw32*)
+- # When not using gcc, we currently assume that we are using
+- # Microsoft Visual C++.
+- # hardcode_libdir_flag_spec is actually meaningless, as there is
+- # no search path for DLLs.
+- hardcode_libdir_flag_spec=' '
+- allow_undefined_flag=unsupported
+- # Tell ltmain to make .lib files, not .a files.
+- libext=lib
+- # Tell ltmain to make .dll files, not .so files.
+- shrext_cmds=".dll"
+- # FIXME: Setting linknames here is a bad hack.
+- archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+- # The linker will automatically build a .lib file if we build a DLL.
+- old_archive_From_new_cmds='true'
+- # FIXME: Should let the user specify the lib program.
+- old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
+- fix_srcfile_path='`cygpath -w "$srcfile"`'
+- enable_shared_with_static_runtimes=yes
+- ;;
+
+- darwin* | rhapsody*)
+- case $host_os in
+- rhapsody* | darwin1.[012])
+- allow_undefined_flag='${wl}-undefined ${wl}suppress'
+- ;;
+- *) # Darwin 1.3 on
+- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+- allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+- else
+- case ${MACOSX_DEPLOYMENT_TARGET} in
+- 10.[012])
+- allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+- ;;
+- 10.*)
+- allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup'
+- ;;
+- esac
+- fi
+- ;;
+- esac
+- archive_cmds_need_lc=no
+- hardcode_direct=no
+- hardcode_automatic=yes
+- hardcode_shlibpath_var=unsupported
+- whole_archive_flag_spec=''
+- link_all_deplibs=yes
+- if test "$GCC" = yes ; then
+- output_verbose_link_cmd='echo'
+- archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+- module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+- archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- else
+- case $cc_basename in
+- xlc*)
+- output_verbose_link_cmd='echo'
+- archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+- module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+- archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- ;;
+- *)
+- ld_shlibs=no
+- ;;
+- esac
+- fi
+- ;;
+
+- dgux*)
+- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_libdir_flag_spec='-L$libdir'
+- hardcode_shlibpath_var=no
+- ;;
+
+- freebsd1*)
+- ld_shlibs=no
+- ;;
+
+- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+- # support. Future versions do this automatically, but an explicit c++rt0.o
+- # does not break anything, and helps significantly (at the cost of a little
+- # extra space).
+- freebsd2.2*)
+- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+- hardcode_libdir_flag_spec='-R$libdir'
+- hardcode_direct=yes
+- hardcode_shlibpath_var=no
+- ;;
+
+- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+- freebsd2*)
+- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_direct=yes
+- hardcode_minus_L=yes
+- hardcode_shlibpath_var=no
+- ;;
+
+- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+- freebsd* | kfreebsd*-gnu | dragonfly*)
+- archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+- hardcode_libdir_flag_spec='-R$libdir'
+- hardcode_direct=yes
+- hardcode_shlibpath_var=no
++ # Check whether --enable-static was given.
++if test "${enable_static+set}" = set; then
++ enableval=$enable_static; p=${PACKAGE-default}
++ case $enableval in
++ yes) enable_static=yes ;;
++ no) enable_static=no ;;
++ *)
++ enable_static=no
++ # Look at the argument we got. We use all the common list separators.
++ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++ for pkg in $enableval; do
++ IFS="$lt_save_ifs"
++ if test "X$pkg" = "X$p"; then
++ enable_static=yes
++ fi
++ done
++ IFS="$lt_save_ifs"
+ ;;
++ esac
++else
++ enable_static=yes
++fi
+
+- hpux9*)
+- if test "$GCC" = yes; then
+- archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+- else
+- archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+- fi
+- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+- hardcode_libdir_separator=:
+- hardcode_direct=yes
+
+- # hardcode_minus_L: Not really in the search PATH,
+- # but as the default location of the library.
+- hardcode_minus_L=yes
+- export_dynamic_flag_spec='${wl}-E'
+- ;;
+
+- hpux10*)
+- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+- else
+- archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+- fi
+- if test "$with_gnu_ld" = no; then
+- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+- hardcode_libdir_separator=:
+
+- hardcode_direct=yes
+- export_dynamic_flag_spec='${wl}-E'
+
+- # hardcode_minus_L: Not really in the search PATH,
+- # but as the default location of the library.
+- hardcode_minus_L=yes
+- fi
+- ;;
+
+- hpux11*)
+- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+- case $host_cpu in
+- hppa*64*)
+- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- ia64*)
+- archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- *)
+- archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- esac
+- else
+- case $host_cpu in
+- hppa*64*)
+- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- ia64*)
+- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- *)
+- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- esac
+- fi
+- if test "$with_gnu_ld" = no; then
+- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+- hardcode_libdir_separator=:
+
+- case $host_cpu in
+- hppa*64*|ia64*)
+- hardcode_libdir_flag_spec_ld='+b $libdir'
+- hardcode_direct=no
+- hardcode_shlibpath_var=no
+- ;;
+- *)
+- hardcode_direct=yes
+- export_dynamic_flag_spec='${wl}-E'
+
+- # hardcode_minus_L: Not really in the search PATH,
+- # but as the default location of the library.
+- hardcode_minus_L=yes
+- ;;
+- esac
+- fi
+- ;;
+
+- irix5* | irix6* | nonstopux*)
+- if test "$GCC" = yes; then
+- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+- else
+- archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+- hardcode_libdir_flag_spec_ld='-rpath $libdir'
+- fi
+- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+- hardcode_libdir_separator=:
+- link_all_deplibs=yes
+- ;;
+
+- netbsd*)
+- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+- else
+- archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+- fi
+- hardcode_libdir_flag_spec='-R$libdir'
+- hardcode_direct=yes
+- hardcode_shlibpath_var=no
+- ;;
++# Check whether --with-pic was given.
++if test "${with_pic+set}" = set; then
++ withval=$with_pic; pic_mode="$withval"
++else
++ pic_mode=default
++fi
+
+- newsos6)
+- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_direct=yes
+- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+- hardcode_libdir_separator=:
+- hardcode_shlibpath_var=no
+- ;;
+
+- openbsd*)
+- hardcode_direct=yes
+- hardcode_shlibpath_var=no
+- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+- export_dynamic_flag_spec='${wl}-E'
+- else
+- case $host_os in
+- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_libdir_flag_spec='-R$libdir'
+- ;;
+- *)
+- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+- ;;
+- esac
+- fi
+- ;;
++test -z "$pic_mode" && pic_mode=default
+
+- os2*)
+- hardcode_libdir_flag_spec='-L$libdir'
+- hardcode_minus_L=yes
+- allow_undefined_flag=unsupported
+- archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+- old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+- ;;
+
+- osf3*)
+- if test "$GCC" = yes; then
+- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+- else
+- allow_undefined_flag=' -expect_unresolved \*'
+- archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+- fi
+- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+- hardcode_libdir_separator=:
+- ;;
+
+- osf4* | osf5*) # as osf3* with the addition of -msym flag
+- if test "$GCC" = yes; then
+- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+- else
+- allow_undefined_flag=' -expect_unresolved \*'
+- archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+- archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+
+- # Both c and cxx compiler support -rpath directly
+- hardcode_libdir_flag_spec='-rpath $libdir'
+- fi
+- hardcode_libdir_separator=:
+- ;;
+
+- solaris*)
+- no_undefined_flag=' -z text'
+- if test "$GCC" = yes; then
+- wlarc='${wl}'
+- archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+- else
+- wlarc=''
+- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+- fi
+- hardcode_libdir_flag_spec='-R$libdir'
+- hardcode_shlibpath_var=no
+- case $host_os in
+- solaris2.[0-5] | solaris2.[0-5].*) ;;
+- *)
+- # The compiler driver will combine linker options so we
+- # cannot just pass the convience library names through
+- # without $wl, iff we do not link with $LD.
+- # Luckily, gcc supports the same syntax we need for Sun Studio.
+- # Supported since Solaris 2.6 (maybe 2.5.1?)
+- case $wlarc in
+- '')
+- whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
+- *)
+- whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+- esac ;;
+- esac
+- link_all_deplibs=yes
+- ;;
+
+- sunos4*)
+- if test "x$host_vendor" = xsequent; then
+- # Use $CC to link under sequent, because it throws in some extra .o
+- # files that make .init and .fini sections work.
+- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+- else
+- archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+- fi
+- hardcode_libdir_flag_spec='-L$libdir'
+- hardcode_direct=yes
+- hardcode_minus_L=yes
+- hardcode_shlibpath_var=no
+- ;;
+
+- sysv4)
+- case $host_vendor in
+- sni)
+- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_direct=yes # is this really true???
+- ;;
+- siemens)
+- ## LD is ld it makes a PLAMLIB
+- ## CC just makes a GrossModule.
+- archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+- reload_cmds='$CC -r -o $output$reload_objs'
+- hardcode_direct=no
+- ;;
+- motorola)
+- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+- ;;
+- esac
+- runpath_var='LD_RUN_PATH'
+- hardcode_shlibpath_var=no
++ # Check whether --enable-fast-install was given.
++if test "${enable_fast_install+set}" = set; then
++ enableval=$enable_fast_install; p=${PACKAGE-default}
++ case $enableval in
++ yes) enable_fast_install=yes ;;
++ no) enable_fast_install=no ;;
++ *)
++ enable_fast_install=no
++ # Look at the argument we got. We use all the common list separators.
++ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
++ for pkg in $enableval; do
++ IFS="$lt_save_ifs"
++ if test "X$pkg" = "X$p"; then
++ enable_fast_install=yes
++ fi
++ done
++ IFS="$lt_save_ifs"
+ ;;
++ esac
++else
++ enable_fast_install=yes
++fi
+
+- sysv4.3*)
+- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_shlibpath_var=no
+- export_dynamic_flag_spec='-Bexport'
+- ;;
+
+- sysv4*MP*)
+- if test -d /usr/nec; then
+- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_shlibpath_var=no
+- runpath_var=LD_RUN_PATH
+- hardcode_runpath_var=yes
+- ld_shlibs=yes
+- fi
+- ;;
+
+- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+- no_undefined_flag='${wl}-z,text'
+- archive_cmds_need_lc=no
+- hardcode_shlibpath_var=no
+- runpath_var='LD_RUN_PATH'
+
+- if test "$GCC" = yes; then
+- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- else
+- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- fi
+- ;;
+
+- sysv5* | sco3.2v5* | sco5v6*)
+- # Note: We can NOT use -z defs as we might desire, because we do not
+- # link with -lc, and that would cause any symbols used from libc to
+- # always be unresolved, which means just about no library would
+- # ever link correctly. If we're not using GNU ld we use -z text
+- # though, which does catch some bad symbols but isn't as heavy-handed
+- # as -z defs.
+- no_undefined_flag='${wl}-z,text'
+- allow_undefined_flag='${wl}-z,nodefs'
+- archive_cmds_need_lc=no
+- hardcode_shlibpath_var=no
+- hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+- hardcode_libdir_separator=':'
+- link_all_deplibs=yes
+- export_dynamic_flag_spec='${wl}-Bexport'
+- runpath_var='LD_RUN_PATH'
+
+- if test "$GCC" = yes; then
+- archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- else
+- archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- fi
+- ;;
+
+- uts4*)
+- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_libdir_flag_spec='-L$libdir'
+- hardcode_shlibpath_var=no
+- ;;
+
+- *)
+- ld_shlibs=no
+- ;;
+- esac
+- fi
+
+-echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+-echo "${ECHO_T}$ld_shlibs" >&6
+-test "$ld_shlibs" = no && can_build_shared=no
+
+-#
+-# Do we need to explicitly link libc?
+-#
+-case "x$archive_cmds_need_lc" in
+-x|xyes)
+- # Assume -lc should be added
+- archive_cmds_need_lc=yes
+
+- if test "$enable_shared" = yes && test "$GCC" = yes; then
+- case $archive_cmds in
+- *'~'*)
+- # FIXME: we may have to deal with multi-command sequences.
+- ;;
+- '$CC '*)
+- # Test whether the compiler implicitly links with -lc since on some
+- # systems, -lgcc has to come before -lc. If gcc already passes -lc
+- # to ld, don't add -lc before -lgcc.
+- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+- $rm conftest*
+- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
++# This can be used to rebuild libtool when needed
++LIBTOOL_DEPS="$ltmain"
+
+- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } 2>conftest.err; then
+- soname=conftest
+- lib=conftest
+- libobjs=conftest.$ac_objext
+- deplibs=
+- wl=$lt_prog_compiler_wl
+- pic_flag=$lt_prog_compiler_pic
+- compiler_flags=-v
+- linker_flags=-v
+- verstring=
+- output_objdir=.
+- libname=conftest
+- lt_save_allow_undefined_flag=$allow_undefined_flag
+- allow_undefined_flag=
+- if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+- (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }
+- then
+- archive_cmds_need_lc=no
+- else
+- archive_cmds_need_lc=yes
+- fi
+- allow_undefined_flag=$lt_save_allow_undefined_flag
+- else
+- cat conftest.err 1>&5
+- fi
+- $rm conftest*
+- echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
+-echo "${ECHO_T}$archive_cmds_need_lc" >&6
+- ;;
+- esac
+- fi
+- ;;
+-esac
++# Always use our own libtool.
++LIBTOOL='$(SHELL) $(top_builddir)'
++LIBTOOL="$LIBTOOL/$host_alias-libtool"
+
+-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+-library_names_spec=
+-libname_spec='lib$name'
+-soname_spec=
+-shrext_cmds=".so"
+-postinstall_cmds=
+-postuninstall_cmds=
+-finish_cmds=
+-finish_eval=
+-shlibpath_var=
+-shlibpath_overrides_runpath=unknown
+-version_type=none
+-dynamic_linker="$host_os ld.so"
+-sys_lib_dlsearch_path_spec="/lib /usr/lib"
+-if test "$GCC" = yes; then
+- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+- # if the path contains ";" then we assume it to be the separator
+- # otherwise default to the standard path separator (i.e. ":") - it is
+- # assumed that no part of a normal pathname contains ";" but that should
+- # okay in the real world where ";" in dirpaths is itself problematic.
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+- else
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+- fi
+-else
+- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+-fi
+-need_lib_prefix=unknown
+-hardcode_into_libs=no
+
+-# when you set need_version to no, make sure it does not cause -set_version
+-# flags to be left without arguments
+-need_version=unknown
+
+-case $host_os in
+-aix3*)
+- version_type=linux
+- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+- shlibpath_var=LIBPATH
+
+- # AIX 3 has no versioning support, so we append a major version to the name.
+- soname_spec='${libname}${release}${shared_ext}$major'
+- ;;
+
+-aix4* | aix5*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- hardcode_into_libs=yes
+- if test "$host_cpu" = ia64; then
+- # AIX 5 supports IA64
+- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+- shlibpath_var=LD_LIBRARY_PATH
+- else
+- # With GCC up to 2.95.x, collect2 would create an import file
+- # for dependence libraries. The import file would start with
+- # the line `#! .'. This would cause the generated library to
+- # depend on `.', always an invalid library. This was fixed in
+- # development snapshots of GCC prior to 3.0.
+- case $host_os in
+- aix4 | aix4.[01] | aix4.[01].*)
+- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+- echo ' yes '
+- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+- :
+- else
+- can_build_shared=no
+- fi
+- ;;
+- esac
+- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+- # soname into executable. Probably we can add versioning support to
+- # collect2, so additional links can be useful in future.
+- if test "$aix_use_runtimelinking" = yes; then
+- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+- # instead of lib<name>.a to let people know that these are not
+- # typical AIX shared libraries.
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- else
+- # We preserve .a as extension for shared libraries through AIX4.2
+- # and later when we are not doing run time linking.
+- library_names_spec='${libname}${release}.a $libname.a'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- fi
+- shlibpath_var=LIBPATH
+- fi
+- ;;
+
+-amigaos*)
+- library_names_spec='$libname.ixlibrary $libname.a'
+- # Create ${libname}_ixlibrary.a entries in /sys/libs.
+- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+- ;;
+
+-beos*)
+- library_names_spec='${libname}${shared_ext}'
+- dynamic_linker="$host_os ld.so"
+- shlibpath_var=LIBRARY_PATH
+- ;;
+
+-bsdi[45]*)
+- version_type=linux
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+- shlibpath_var=LD_LIBRARY_PATH
+- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+- # the default ld.so.conf also contains /usr/contrib/lib and
+- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+- # libtool to hard-code these into programs
+- ;;
+
+-cygwin* | mingw* | pw32*)
+- version_type=windows
+- shrext_cmds=".dll"
+- need_version=no
+- need_lib_prefix=no
+
+- case $GCC,$host_os in
+- yes,cygwin* | yes,mingw* | yes,pw32*)
+- library_names_spec='$libname.dll.a'
+- # DLL is installed to $(libdir)/../bin by postinstall_cmds
+- postinstall_cmds='base_file=`basename \${file}`~
+- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+- dldir=$destdir/`dirname \$dlpath`~
+- test -d \$dldir || mkdir -p \$dldir~
+- $install_prog $dir/$dlname \$dldir/$dlname~
+- chmod a+x \$dldir/$dlname'
+- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+- dlpath=$dir/\$dldll~
+- $rm \$dlpath'
+- shlibpath_overrides_runpath=yes
+
+- case $host_os in
+- cygwin*)
+- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+- ;;
+- mingw*)
+- # MinGW DLLs use traditional 'lib' prefix
+- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+- # It is most probably a Windows format PATH printed by
+- # mingw gcc, but we are running on Cygwin. Gcc prints its search
+- # path with ; separators, and with drive letters. We can handle the
+- # drive letters (cygwin fileutils understands them), so leave them,
+- # especially as we might pass files found there to a mingw objdump,
+- # which wouldn't understand a cygwinified path. Ahh.
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+- else
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+- fi
+- ;;
+- pw32*)
+- # pw32 DLLs use 'pw' prefix rather than 'lib'
+- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+- ;;
+- esac
+- ;;
+
+- *)
+- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+- ;;
+- esac
+- dynamic_linker='Win32 ld.exe'
+- # FIXME: first we should search . and the directory the executable is in
+- shlibpath_var=PATH
+- ;;
+
+-darwin* | rhapsody*)
+- dynamic_linker="$host_os dyld"
+- version_type=darwin
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+- soname_spec='${libname}${release}${major}$shared_ext'
+- shlibpath_overrides_runpath=yes
+- shlibpath_var=DYLD_LIBRARY_PATH
+- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+- if test "$GCC" = yes; then
+- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+- else
+- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+- fi
+- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+- ;;
+
+-dgux*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- ;;
+
+-freebsd1*)
+- dynamic_linker=no
+- ;;
+
+-kfreebsd*-gnu)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=no
+- hardcode_into_libs=yes
+- dynamic_linker='GNU ld.so'
+- ;;
+
+-freebsd* | dragonfly*)
+- # DragonFly does not have aout. When/if they implement a new
+- # versioning mechanism, adjust this.
+- if test -x /usr/bin/objformat; then
+- objformat=`/usr/bin/objformat`
+- else
+- case $host_os in
+- freebsd[123]*) objformat=aout ;;
+- *) objformat=elf ;;
+- esac
+- fi
+- version_type=freebsd-$objformat
+- case $version_type in
+- freebsd-elf*)
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+- need_version=no
+- need_lib_prefix=no
+- ;;
+- freebsd-*)
+- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+- need_version=yes
+- ;;
+- esac
+- shlibpath_var=LD_LIBRARY_PATH
+- case $host_os in
+- freebsd2*)
+- shlibpath_overrides_runpath=yes
+- ;;
+- freebsd3.[01]* | freebsdelf3.[01]*)
+- shlibpath_overrides_runpath=yes
+- hardcode_into_libs=yes
+- ;;
+- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+- shlibpath_overrides_runpath=no
+- hardcode_into_libs=yes
+- ;;
+- freebsd*) # from 4.6 on
+- shlibpath_overrides_runpath=yes
+- hardcode_into_libs=yes
+- ;;
+- esac
+- ;;
+
+-gnu*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- hardcode_into_libs=yes
+- ;;
+
+-hpux9* | hpux10* | hpux11*)
+- # Give a soname corresponding to the major version so that dld.sl refuses to
+- # link against other versions.
+- version_type=sunos
+- need_lib_prefix=no
+- need_version=no
+- case $host_cpu in
+- ia64*)
+- shrext_cmds='.so'
+- hardcode_into_libs=yes
+- dynamic_linker="$host_os dld.so"
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- if test "X$HPUX_IA64_MODE" = X32; then
+- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+- else
+- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+- fi
+- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+- ;;
+- hppa*64*)
+- shrext_cmds='.sl'
+- hardcode_into_libs=yes
+- dynamic_linker="$host_os dld.sl"
+- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+- ;;
+- *)
+- shrext_cmds='.sl'
+- dynamic_linker="$host_os dld.sl"
+- shlibpath_var=SHLIB_PATH
+- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- ;;
+- esac
+- # HP-UX runs *really* slowly unless shared libraries are mode 555.
+- postinstall_cmds='chmod 555 $lib'
+- ;;
+
+-interix3*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=no
+- hardcode_into_libs=yes
+- ;;
+
+-irix5* | irix6* | nonstopux*)
+- case $host_os in
+- nonstopux*) version_type=nonstopux ;;
+- *)
+- if test "$lt_cv_prog_gnu_ld" = yes; then
+- version_type=linux
+- else
+- version_type=irix
+- fi ;;
+- esac
+- need_lib_prefix=no
+- need_version=no
+- soname_spec='${libname}${release}${shared_ext}$major'
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+- case $host_os in
+- irix5* | nonstopux*)
+- libsuff= shlibsuff=
+- ;;
+- *)
+- case $LD in # libtool.m4 will add one of these switches to LD
+- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+- libsuff= shlibsuff= libmagic=32-bit;;
+- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+- libsuff=32 shlibsuff=N32 libmagic=N32;;
+- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+- libsuff=64 shlibsuff=64 libmagic=64-bit;;
+- *) libsuff= shlibsuff= libmagic=never-match;;
+- esac
+- ;;
+- esac
+- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+- shlibpath_overrides_runpath=no
+- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+- hardcode_into_libs=yes
+- ;;
+
+-# No shared lib support for Linux oldld, aout, or coff.
+-linux*oldld* | linux*aout* | linux*coff*)
+- dynamic_linker=no
+- ;;
+
+-# This must be Linux ELF.
+-linux*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=no
+- # This implies no fast_install, which is unacceptable.
+- # Some rework will be needed to allow for fast_install
+- # before this can be enabled.
+- hardcode_into_libs=yes
+
+- # Append ld.so.conf contents to the search path
+- if test -f /etc/ld.so.conf; then
+- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+- fi
+
+- # We used to test for /lib/ld.so.1 and disable shared libraries on
+- # powerpc, because MkLinux only supported shared libraries with the
+- # GNU dynamic linker. Since this was broken with cross compilers,
+- # most powerpc-linux boxes support dynamic linking these days and
+- # people can always --disable-shared, the test was removed, and we
+- # assume the GNU/Linux dynamic linker is in use.
+- dynamic_linker='GNU/Linux ld.so'
+- ;;
+-
+-knetbsd*-gnu)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=no
+- hardcode_into_libs=yes
+- dynamic_linker='GNU ld.so'
+- ;;
++test -z "$LN_S" && LN_S="ln -s"
+
+-netbsd*)
+- version_type=sunos
+- need_lib_prefix=no
+- need_version=no
+- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+- dynamic_linker='NetBSD (a.out) ld.so'
+- else
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- dynamic_linker='NetBSD ld.elf_so'
+- fi
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- hardcode_into_libs=yes
+- ;;
+
+-newsos6)
+- version_type=linux
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- ;;
+
+-nto-qnx*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- ;;
+
+-openbsd*)
+- version_type=sunos
+- sys_lib_dlsearch_path_spec="/usr/lib"
+- need_lib_prefix=no
+- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+- case $host_os in
+- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+- *) need_version=no ;;
+- esac
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+- shlibpath_var=LD_LIBRARY_PATH
+- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+- case $host_os in
+- openbsd2.[89] | openbsd2.[89].*)
+- shlibpath_overrides_runpath=no
+- ;;
+- *)
+- shlibpath_overrides_runpath=yes
+- ;;
+- esac
+- else
+- shlibpath_overrides_runpath=yes
+- fi
+- ;;
+
+-os2*)
+- libname_spec='$name'
+- shrext_cmds=".dll"
+- need_lib_prefix=no
+- library_names_spec='$libname${shared_ext} $libname.a'
+- dynamic_linker='OS/2 ld.exe'
+- shlibpath_var=LIBPATH
+- ;;
+
+-osf3* | osf4* | osf5*)
+- version_type=osf
+- need_lib_prefix=no
+- need_version=no
+- soname_spec='${libname}${release}${shared_ext}$major'
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- shlibpath_var=LD_LIBRARY_PATH
+- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+- ;;
+
+-solaris*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- hardcode_into_libs=yes
+- # ldd complains unless libraries are executable
+- postinstall_cmds='chmod +x $lib'
+- ;;
+
+-sunos4*)
+- version_type=sunos
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- if test "$with_gnu_ld" = yes; then
+- need_lib_prefix=no
+- fi
+- need_version=yes
+- ;;
+
+-sysv4 | sysv4.3*)
+- version_type=linux
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- case $host_vendor in
+- sni)
+- shlibpath_overrides_runpath=no
+- need_lib_prefix=no
+- export_dynamic_flag_spec='${wl}-Blargedynsym'
+- runpath_var=LD_RUN_PATH
+- ;;
+- siemens)
+- need_lib_prefix=no
+- ;;
+- motorola)
+- need_lib_prefix=no
+- need_version=no
+- shlibpath_overrides_runpath=no
+- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+- ;;
+- esac
+- ;;
+
+-sysv4*MP*)
+- if test -d /usr/nec ;then
+- version_type=linux
+- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+- soname_spec='$libname${shared_ext}.$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- fi
+- ;;
+
+-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+- version_type=freebsd-elf
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- hardcode_into_libs=yes
+- if test "$with_gnu_ld" = yes; then
+- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+- shlibpath_overrides_runpath=no
+- else
+- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+- shlibpath_overrides_runpath=yes
+- case $host_os in
+- sco3.2v5*)
+- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+- ;;
+- esac
+- fi
+- sys_lib_dlsearch_path_spec='/usr/lib'
+- ;;
+
+-uts4*)
+- version_type=linux
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- ;;
+
+-*)
+- dynamic_linker=no
+- ;;
+-esac
+-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+-echo "${ECHO_T}$dynamic_linker" >&6
+-test "$dynamic_linker" = no && can_build_shared=no
+
+-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+-if test "$GCC" = yes; then
+- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
++if test -n "${ZSH_VERSION+set}" ; then
++ setopt NO_GLOB_SUBST
+ fi
+
+-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+-hardcode_action=
+-if test -n "$hardcode_libdir_flag_spec" || \
+- test -n "$runpath_var" || \
+- test "X$hardcode_automatic" = "Xyes" ; then
+-
+- # We can hardcode non-existant directories.
+- if test "$hardcode_direct" != no &&
+- # If the only mechanism to avoid hardcoding is shlibpath_var, we
+- # have to relink, otherwise we might link with an installed library
+- # when we should be linking with a yet-to-be-installed one
+- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no &&
+- test "$hardcode_minus_L" != no; then
+- # Linking always hardcodes the temporary library directory.
+- hardcode_action=relink
+- else
+- # We can link without hardcoding, and we can hardcode nonexisting dirs.
+- hardcode_action=immediate
+- fi
++{ echo "$as_me:$LINENO: checking for objdir" >&5
++echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
++if test "${lt_cv_objdir+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- # We cannot hardcode anything, or else we can only hardcode existing
+- # directories.
+- hardcode_action=unsupported
+-fi
+-echo "$as_me:$LINENO: result: $hardcode_action" >&5
+-echo "${ECHO_T}$hardcode_action" >&6
+-
+-if test "$hardcode_action" = relink; then
+- # Fast installation is not supported
+- enable_fast_install=no
+-elif test "$shlibpath_overrides_runpath" = yes ||
+- test "$enable_shared" = no; then
+- # Fast installation is not necessary
+- enable_fast_install=needless
+-fi
+-
+-striplib=
+-old_striplib=
+-echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
+-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+- echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
++ rm -f .libs 2>/dev/null
++mkdir .libs 2>/dev/null
++if test -d .libs; then
++ lt_cv_objdir=.libs
+ else
+-# FIXME - insert some real tests, host_os isn't really good enough
+- case $host_os in
+- darwin*)
+- if test -n "$STRIP" ; then
+- striplib="$STRIP -x"
+- echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+- else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ # MS-DOS does not allow filenames that begin with a dot.
++ lt_cv_objdir=_libs
+ fi
+- ;;
+- *)
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
+- ;;
+- esac
++rmdir .libs 2>/dev/null
+ fi
++{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
++echo "${ECHO_T}$lt_cv_objdir" >&6; }
++objdir=$lt_cv_objdir
+
+-if test "x$enable_dlopen" != xyes; then
+- enable_dlopen=unknown
+- enable_dlopen_self=unknown
+- enable_dlopen_self_static=unknown
+-else
+- lt_cv_dlopen=no
+- lt_cv_dlopen_libs=
+
+- case $host_os in
+- beos*)
+- lt_cv_dlopen="load_add_on"
+- lt_cv_dlopen_libs=
+- lt_cv_dlopen_self=yes
+- ;;
+
+- mingw* | pw32*)
+- lt_cv_dlopen="LoadLibrary"
+- lt_cv_dlopen_libs=
+- ;;
+
+- cygwin*)
+- lt_cv_dlopen="dlopen"
+- lt_cv_dlopen_libs=
+- ;;
+
+- darwin*)
+- # if libdl is installed we need to link against it
+- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-ldl $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
++cat >>confdefs.h <<_ACEOF
++#define LT_OBJDIR "$lt_cv_objdir/"
+ _ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char dlopen ();
+-int
+-main ()
+-{
+-dlopen ();
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_dl_dlopen=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_dl_dlopen=no
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+-if test $ac_cv_lib_dl_dlopen = yes; then
+- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+-else
+
+- lt_cv_dlopen="dyld"
+- lt_cv_dlopen_libs=
+- lt_cv_dlopen_self=yes
+
+-fi
+
+- ;;
+
+- *)
+- echo "$as_me:$LINENO: checking for shl_load" >&5
+-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
+-if test "${ac_cv_func_shl_load+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
+- For example, HP-UX 11i <limits.h> declares gettimeofday. */
+-#define shl_load innocuous_shl_load
+
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char shl_load (); below.
+- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+- <limits.h> exists even on freestanding compilers. */
+
+-#ifdef __STDC__
+-# include <limits.h>
+-#else
+-# include <assert.h>
+-#endif
+
+-#undef shl_load
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-{
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char shl_load ();
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_shl_load) || defined (__stub___shl_load)
+-choke me
+-#else
+-char (*f) () = shl_load;
+-#endif
+-#ifdef __cplusplus
+-}
+-#endif
+
+-int
+-main ()
+-{
+-return f != shl_load;
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_shl_load=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_func_shl_load=no
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+-echo "${ECHO_T}$ac_cv_func_shl_load" >&6
+-if test $ac_cv_func_shl_load = yes; then
+- lt_cv_dlopen="shl_load"
+-else
+- echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
+-if test "${ac_cv_lib_dld_shl_load+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-ldld $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char shl_load ();
+-int
+-main ()
+-{
+-shl_load ();
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_dld_shl_load=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_dld_shl_load=no
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
+-if test $ac_cv_lib_dld_shl_load = yes; then
+- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
+-else
+- echo "$as_me:$LINENO: checking for dlopen" >&5
+-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
+-if test "${ac_cv_func_dlopen+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
+- For example, HP-UX 11i <limits.h> declares gettimeofday. */
+-#define dlopen innocuous_dlopen
+
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char dlopen (); below.
+- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+- <limits.h> exists even on freestanding compilers. */
+
+-#ifdef __STDC__
+-# include <limits.h>
+-#else
+-# include <assert.h>
+-#endif
+
+-#undef dlopen
++case $host_os in
++aix3*)
++ # AIX sometimes has problems with the GCC collect2 program. For some
++ # reason, if we set the COLLECT_NAMES environment variable, the problems
++ # vanish in a puff of smoke.
++ if test "X${COLLECT_NAMES+set}" != Xset; then
++ COLLECT_NAMES=
++ export COLLECT_NAMES
++ fi
++ ;;
++esac
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-{
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char dlopen ();
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_dlopen) || defined (__stub___dlopen)
+-choke me
+-#else
+-char (*f) () = dlopen;
+-#endif
+-#ifdef __cplusplus
+-}
+-#endif
++# Sed substitution that helps us do robust quoting. It backslashifies
++# metacharacters that are still active within double-quoted strings.
++sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+-int
+-main ()
+-{
+-return f != dlopen;
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_dlopen=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++# Same as above, but do not quote variable references.
++double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+-ac_cv_func_dlopen=no
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+-echo "${ECHO_T}$ac_cv_func_dlopen" >&6
+-if test $ac_cv_func_dlopen = yes; then
+- lt_cv_dlopen="dlopen"
+-else
+- echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-ldl $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
++# Sed substitution to delay expansion of an escaped shell variable in a
++# double_quote_subst'ed string.
++delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char dlopen ();
+-int
+-main ()
+-{
+-dlopen ();
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_dl_dlopen=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++# Sed substitution to delay expansion of an escaped single quote.
++delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+-ac_cv_lib_dl_dlopen=no
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+-if test $ac_cv_lib_dl_dlopen = yes; then
+- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+-else
+- echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
+-if test "${ac_cv_lib_svld_dlopen+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lsvld $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
++# Sed substitution to avoid accidental globbing in evaled expressions
++no_glob_subst='s/\*/\\\*/g'
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char dlopen ();
+-int
+-main ()
+-{
+-dlopen ();
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_svld_dlopen=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++# Global variables:
++ofile=${host_alias}-libtool
++can_build_shared=yes
+
+-ac_cv_lib_svld_dlopen=no
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
+-if test $ac_cv_lib_svld_dlopen = yes; then
+- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+-else
+- echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
+-if test "${ac_cv_lib_dld_dld_link+set}" = set; then
++# All known linkers require a `.a' archive for static linking (except MSVC,
++# which needs '.lib').
++libext=a
++
++with_gnu_ld="$lt_cv_prog_gnu_ld"
++
++old_CC="$CC"
++old_CFLAGS="$CFLAGS"
++
++# Set sane defaults for various variables
++test -z "$CC" && CC=cc
++test -z "$LTCC" && LTCC=$CC
++test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
++test -z "$LD" && LD=ld
++test -z "$ac_objext" && ac_objext=o
++
++for cc_temp in $compiler""; do
++ case $cc_temp in
++ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
++ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
++ \-*) ;;
++ *) break;;
++ esac
++done
++cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
++
++
++# Only perform the check for file, if the check method requires it
++test -z "$MAGIC_CMD" && MAGIC_CMD=file
++case $deplibs_check_method in
++file_magic*)
++ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
++ { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
++echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; }
++if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-ldld $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
++ case $MAGIC_CMD in
++[\\/*] | ?:[\\/]*)
++ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
++ ;;
++*)
++ lt_save_MAGIC_CMD="$MAGIC_CMD"
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
++ for ac_dir in $ac_dummy; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ if test -f $ac_dir/${ac_tool_prefix}file; then
++ lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
++ if test -n "$file_magic_test_file"; then
++ case $deplibs_check_method in
++ "file_magic "*)
++ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
++ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
++ $EGREP "$file_magic_regex" > /dev/null; then
++ :
++ else
++ cat <<_LT_EOF 1>&2
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char dld_link ();
+-int
+-main ()
+-{
+-dld_link ();
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_dld_dld_link=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++*** Warning: the command libtool uses to detect shared libraries,
++*** $file_magic_cmd, produces output that libtool cannot recognize.
++*** The result is that libtool may fail to recognize shared libraries
++*** as such. This will affect the creation of libtool libraries that
++*** depend on shared libraries, but programs linked with such libtool
++*** libraries will work regardless of this problem. Nevertheless, you
++*** may want to report the problem to your system manager and/or to
++*** bug-libtool@gnu.org
+
+-ac_cv_lib_dld_dld_link=no
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
+-if test $ac_cv_lib_dld_dld_link = yes; then
+- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
++_LT_EOF
++ fi ;;
++ esac
++ fi
++ break
++ fi
++ done
++ IFS="$lt_save_ifs"
++ MAGIC_CMD="$lt_save_MAGIC_CMD"
++ ;;
++esac
+ fi
+
+-
++MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++if test -n "$MAGIC_CMD"; then
++ { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
++echo "${ECHO_T}$MAGIC_CMD" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
+
+-fi
+
+
+-fi
+
++if test -z "$lt_cv_path_MAGIC_CMD"; then
++ if test -n "$ac_tool_prefix"; then
++ { echo "$as_me:$LINENO: checking for file" >&5
++echo $ECHO_N "checking for file... $ECHO_C" >&6; }
++if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ case $MAGIC_CMD in
++[\\/*] | ?:[\\/]*)
++ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
++ ;;
++*)
++ lt_save_MAGIC_CMD="$MAGIC_CMD"
++ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
++ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
++ for ac_dir in $ac_dummy; do
++ IFS="$lt_save_ifs"
++ test -z "$ac_dir" && ac_dir=.
++ if test -f $ac_dir/file; then
++ lt_cv_path_MAGIC_CMD="$ac_dir/file"
++ if test -n "$file_magic_test_file"; then
++ case $deplibs_check_method in
++ "file_magic "*)
++ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
++ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
++ $EGREP "$file_magic_regex" > /dev/null; then
++ :
++ else
++ cat <<_LT_EOF 1>&2
++
++*** Warning: the command libtool uses to detect shared libraries,
++*** $file_magic_cmd, produces output that libtool cannot recognize.
++*** The result is that libtool may fail to recognize shared libraries
++*** as such. This will affect the creation of libtool libraries that
++*** depend on shared libraries, but programs linked with such libtool
++*** libraries will work regardless of this problem. Nevertheless, you
++*** may want to report the problem to your system manager and/or to
++*** bug-libtool@gnu.org
+
++_LT_EOF
++ fi ;;
++ esac
++ fi
++ break
++ fi
++ done
++ IFS="$lt_save_ifs"
++ MAGIC_CMD="$lt_save_MAGIC_CMD"
++ ;;
++esac
+ fi
+
+-
++MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
++if test -n "$MAGIC_CMD"; then
++ { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
++echo "${ECHO_T}$MAGIC_CMD" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
+ fi
+
+- ;;
+- esac
+
+- if test "x$lt_cv_dlopen" != xno; then
+- enable_dlopen=yes
+ else
+- enable_dlopen=no
++ MAGIC_CMD=:
+ fi
++fi
+
+- case $lt_cv_dlopen in
+- dlopen)
+- save_CPPFLAGS="$CPPFLAGS"
+- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+-
+- save_LDFLAGS="$LDFLAGS"
+- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
++ fi
++ ;;
++esac
+
+- save_LIBS="$LIBS"
+- LIBS="$lt_cv_dlopen_libs $LIBS"
++# Use C for the default configuration in the libtool script
+
+- echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
+-if test "${lt_cv_dlopen_self+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test "$cross_compiling" = yes; then :
+- lt_cv_dlopen_self=cross
+-else
+- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+- lt_status=$lt_dlunknown
+- cat > conftest.$ac_ext <<EOF
+-#line 9134 "configure"
+-#include "confdefs.h"
++lt_save_CC="$CC"
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+-#if HAVE_DLFCN_H
+-#include <dlfcn.h>
+-#endif
+
+-#include <stdio.h>
++# Source file extension for C test sources.
++ac_ext=c
+
+-#ifdef RTLD_GLOBAL
+-# define LT_DLGLOBAL RTLD_GLOBAL
+-#else
+-# ifdef DL_GLOBAL
+-# define LT_DLGLOBAL DL_GLOBAL
+-# else
+-# define LT_DLGLOBAL 0
+-# endif
+-#endif
++# Object file extension for compiled C test sources.
++objext=o
++objext=$objext
+
+-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+- find out it does not work in some platform. */
+-#ifndef LT_DLLAZY_OR_NOW
+-# ifdef RTLD_LAZY
+-# define LT_DLLAZY_OR_NOW RTLD_LAZY
+-# else
+-# ifdef DL_LAZY
+-# define LT_DLLAZY_OR_NOW DL_LAZY
+-# else
+-# ifdef RTLD_NOW
+-# define LT_DLLAZY_OR_NOW RTLD_NOW
+-# else
+-# ifdef DL_NOW
+-# define LT_DLLAZY_OR_NOW DL_NOW
+-# else
+-# define LT_DLLAZY_OR_NOW 0
+-# endif
+-# endif
+-# endif
+-# endif
+-#endif
++# Code to be used in simple compile tests
++lt_simple_compile_test_code="int some_variable = 0;"
+
+-#ifdef __cplusplus
+-extern "C" void exit (int);
+-#endif
++# Code to be used in simple link tests
++lt_simple_link_test_code='int main(){return(0);}'
+
+-void fnord() { int i=42;}
+-int main ()
+-{
+- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+- int status = $lt_dlunknown;
+
+- if (self)
+- {
+- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+- /* dlclose (self); */
+- }
+- else
+- puts (dlerror ());
+
+- exit (status);
+-}
+-EOF
+- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+- (./conftest; exit; ) >&5 2>/dev/null
+- lt_status=$?
+- case x$lt_status in
+- x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+- x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+- x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+- esac
+- else :
+- # compilation failed
+- lt_cv_dlopen_self=no
+- fi
+-fi
+-rm -fr conftest*
+
+
+-fi
+-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+-echo "${ECHO_T}$lt_cv_dlopen_self" >&6
+
+- if test "x$lt_cv_dlopen_self" = xyes; then
+- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+- echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
+-if test "${lt_cv_dlopen_self_static+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test "$cross_compiling" = yes; then :
+- lt_cv_dlopen_self_static=cross
+-else
+- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+- lt_status=$lt_dlunknown
+- cat > conftest.$ac_ext <<EOF
+-#line 9234 "configure"
+-#include "confdefs.h"
+
+-#if HAVE_DLFCN_H
+-#include <dlfcn.h>
+-#endif
++# If no C compiler was specified, use CC.
++LTCC=${LTCC-"$CC"}
+
+-#include <stdio.h>
++# If no C compiler flags were specified, use CFLAGS.
++LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+-#ifdef RTLD_GLOBAL
+-# define LT_DLGLOBAL RTLD_GLOBAL
+-#else
+-# ifdef DL_GLOBAL
+-# define LT_DLGLOBAL DL_GLOBAL
+-# else
+-# define LT_DLGLOBAL 0
+-# endif
+-#endif
++# Allow CC to be a program name with arguments.
++compiler=$CC
+
+-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+- find out it does not work in some platform. */
+-#ifndef LT_DLLAZY_OR_NOW
+-# ifdef RTLD_LAZY
+-# define LT_DLLAZY_OR_NOW RTLD_LAZY
+-# else
+-# ifdef DL_LAZY
+-# define LT_DLLAZY_OR_NOW DL_LAZY
+-# else
+-# ifdef RTLD_NOW
+-# define LT_DLLAZY_OR_NOW RTLD_NOW
+-# else
+-# ifdef DL_NOW
+-# define LT_DLLAZY_OR_NOW DL_NOW
+-# else
+-# define LT_DLLAZY_OR_NOW 0
+-# endif
+-# endif
+-# endif
+-# endif
+-#endif
++# Save the default compiler, since it gets overwritten when the other
++# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
++compiler_DEFAULT=$CC
+
+-#ifdef __cplusplus
+-extern "C" void exit (int);
+-#endif
++# save warnings/boilerplate of simple test code
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_compile_test_code" >conftest.$ac_ext
++eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_compiler_boilerplate=`cat conftest.err`
++$RM conftest*
+
+-void fnord() { int i=42;}
+-int main ()
+-{
+- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+- int status = $lt_dlunknown;
++ac_outfile=conftest.$ac_objext
++echo "$lt_simple_link_test_code" >conftest.$ac_ext
++eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
++_lt_linker_boilerplate=`cat conftest.err`
++$RM -r conftest*
+
+- if (self)
+- {
+- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+- /* dlclose (self); */
+- }
+- else
+- puts (dlerror ());
+
+- exit (status);
+-}
+-EOF
+- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
+- (./conftest; exit; ) >&5 2>/dev/null
+- lt_status=$?
+- case x$lt_status in
+- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+- x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+- esac
+- else :
+- # compilation failed
+- lt_cv_dlopen_self_static=no
+- fi
+-fi
+-rm -fr conftest*
++if test -n "$compiler"; then
+
++lt_prog_compiler_no_builtin_flag=
+
+-fi
+-echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
+- fi
++if test "$GCC" = yes; then
++ lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+
+- CPPFLAGS="$save_CPPFLAGS"
+- LDFLAGS="$save_LDFLAGS"
+- LIBS="$save_LIBS"
+- ;;
+- esac
++ { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
++echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
++if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_prog_compiler_rtti_exceptions=no
++ ac_outfile=conftest.$ac_objext
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++ lt_compiler_flag="-fno-rtti -fno-exceptions"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ # The option is referenced via a variable to avoid confusing sed.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:7336: $lt_compile\"" >&5)
++ (eval "$lt_compile" 2>conftest.err)
++ ac_status=$?
++ cat conftest.err >&5
++ echo "$as_me:7340: \$? = $ac_status" >&5
++ if (exit $ac_status) && test -s "$ac_outfile"; then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings other than the usual output.
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_rtti_exceptions=yes
++ fi
++ fi
++ $RM conftest*
+
+- case $lt_cv_dlopen_self in
+- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+- *) enable_dlopen_self=unknown ;;
+- esac
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+
+- case $lt_cv_dlopen_self_static in
+- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+- *) enable_dlopen_self_static=unknown ;;
+- esac
++if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
++ lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
++else
++ :
+ fi
+
++fi
+
+-# Report which library types will actually be built
+-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
+-echo "$as_me:$LINENO: result: $can_build_shared" >&5
+-echo "${ECHO_T}$can_build_shared" >&6
+-
+-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+-test "$can_build_shared" = "no" && enable_shared=no
+
+-# On AIX, shared libraries and static libraries use the same namespace, and
+-# are all built from PIC.
+-case $host_os in
+-aix3*)
+- test "$enable_shared" = yes && enable_static=no
+- if test -n "$RANLIB"; then
+- archive_cmds="$archive_cmds~\$RANLIB \$lib"
+- postinstall_cmds='$RANLIB $lib'
+- fi
+- ;;
+
+-aix4* | aix5*)
+- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+- test "$enable_shared" = yes && enable_static=no
+- fi
+- ;;
+-esac
+-echo "$as_me:$LINENO: result: $enable_shared" >&5
+-echo "${ECHO_T}$enable_shared" >&6
+
+-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+-# Make sure either enable_shared or enable_static is yes.
+-test "$enable_shared" = yes || enable_static=yes
+-echo "$as_me:$LINENO: result: $enable_static" >&5
+-echo "${ECHO_T}$enable_static" >&6
+-
+-# The else clause should only fire when bootstrapping the
+-# libtool distribution, otherwise you forgot to ship ltmain.sh
+-# with your package, and you will get complaints that there are
+-# no rules to generate ltmain.sh.
+-if test -f "$ltmain"; then
+- # See if we are running on zsh, and set the options which allow our commands through
+- # without removal of \ escapes.
+- if test -n "${ZSH_VERSION+set}" ; then
+- setopt NO_GLOB_SUBST
+- fi
+- # Now quote all the things that may contain metacharacters while being
+- # careful not to overquote the AC_SUBSTed values. We take copies of the
+- # variables and quote the copies for generation of the libtool script.
+- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+- SED SHELL STRIP \
+- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+- deplibs_check_method reload_flag reload_cmds need_locks \
+- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+- lt_cv_sys_global_symbol_to_c_name_address \
+- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+- old_postinstall_cmds old_postuninstall_cmds \
+- compiler \
+- CC \
+- LD \
+- lt_prog_compiler_wl \
+- lt_prog_compiler_pic \
+- lt_prog_compiler_static \
+- lt_prog_compiler_no_builtin_flag \
+- export_dynamic_flag_spec \
+- thread_safe_flag_spec \
+- whole_archive_flag_spec \
+- enable_shared_with_static_runtimes \
+- old_archive_cmds \
+- old_archive_from_new_cmds \
+- predep_objects \
+- postdep_objects \
+- predeps \
+- postdeps \
+- compiler_lib_search_path \
+- archive_cmds \
+- archive_expsym_cmds \
+- postinstall_cmds \
+- postuninstall_cmds \
+- old_archive_from_expsyms_cmds \
+- allow_undefined_flag \
+- no_undefined_flag \
+- export_symbols_cmds \
+- hardcode_libdir_flag_spec \
+- hardcode_libdir_flag_spec_ld \
+- hardcode_libdir_separator \
+- hardcode_automatic \
+- module_cmds \
+- module_expsym_cmds \
+- lt_cv_prog_compiler_c_o \
+- exclude_expsyms \
+- include_expsyms; do
+-
+- case $var in
+- old_archive_cmds | \
+- old_archive_from_new_cmds | \
+- archive_cmds | \
+- archive_expsym_cmds | \
+- module_cmds | \
+- module_expsym_cmds | \
+- old_archive_from_expsyms_cmds | \
+- export_symbols_cmds | \
+- extract_expsyms_cmds | reload_cmds | finish_cmds | \
+- postinstall_cmds | postuninstall_cmds | \
+- old_postinstall_cmds | old_postuninstall_cmds | \
+- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+- # Double-quote double-evaled strings.
+- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+- ;;
+- *)
+- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+- ;;
+- esac
+- done
+
+- case $lt_echo in
+- *'\$0 --fallback-echo"')
+- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+- ;;
+- esac
+
+-cfgfile="${ofile}T"
+- trap "$rm \"$cfgfile\"; exit 1" 1 2 15
+- $rm -f "$cfgfile"
+- { echo "$as_me:$LINENO: creating $ofile" >&5
+-echo "$as_me: creating $ofile" >&6;}
++ lt_prog_compiler_wl=
++lt_prog_compiler_pic=
++lt_prog_compiler_static=
+
+- cat <<__EOF__ >> "$cfgfile"
+-#! $SHELL
++{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
++echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
+
+-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+-#
+-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
+-# Free Software Foundation, Inc.
+-#
+-# This file is part of GNU Libtool:
+-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+-#
+-# This program is free software; you can redistribute it and/or modify
+-# it under the terms of the GNU General Public License as published by
+-# the Free Software Foundation; either version 2 of the License, or
+-# (at your option) any later version.
+-#
+-# This program is distributed in the hope that it will be useful, but
+-# WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+-# General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+-#
+-# As a special exception to the GNU General Public License, if you
+-# distribute this file as part of a program that contains a
+-# configuration script generated by Autoconf, you may include it under
+-# the same distribution terms that you use for the rest of that program.
+-
+-# A sed program that does not truncate output.
+-SED=$lt_SED
+-
+-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+-Xsed="$SED -e 1s/^X//"
+-
+-# The HP-UX ksh and POSIX shell print the target directory to stdout
+-# if CDPATH is set.
+-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+-
+-# The names of the tagged configurations supported by this script.
+-available_tags=
++ if test "$GCC" = yes; then
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_static='-static'
+
+-# ### BEGIN LIBTOOL CONFIG
++ case $host_os in
++ aix*)
++ # All AIX code is PIC.
++ if test "$host_cpu" = ia64; then
++ # AIX 5 now supports IA64 processor
++ lt_prog_compiler_static='-Bstatic'
++ fi
++ ;;
+
+-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ lt_prog_compiler_pic='-fPIC'
++ ;;
++ m68k)
++ # FIXME: we need at least 68020 code to build shared libraries, but
++ # adding the `-m68020' flag to GCC prevents building anything better,
++ # like `-m68040'.
++ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
++ ;;
++ esac
++ ;;
+
+-# Shell to use when invoking shell scripts.
+-SHELL=$lt_SHELL
++ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
++ # PIC is the default for these OSes.
++ ;;
+
+-# Whether or not to build shared libraries.
+-build_libtool_libs=$enable_shared
++ mingw* | cygwin* | pw32* | os2*)
++ # This hack is so that the source file can tell whether it is being
++ # built for inclusion in a dll (and should export symbols for example).
++ # Although the cygwin gcc ignores -fPIC, still need this for old-style
++ # (--disable-auto-import) libraries
++ lt_prog_compiler_pic='-DDLL_EXPORT'
++ ;;
+
+-# Whether or not to build static libraries.
+-build_old_libs=$enable_static
++ darwin* | rhapsody*)
++ # PIC is the default on this platform
++ # Common symbols not allowed in MH_DYLIB files
++ lt_prog_compiler_pic='-fno-common'
++ ;;
+
+-# Whether or not to add -lc for building shared libraries.
+-build_libtool_need_lc=$archive_cmds_need_lc
++ hpux*)
++ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
++ # not for PA HP-UX.
++ case $host_cpu in
++ hppa*64*|ia64*)
++ # +Z the default
++ ;;
++ *)
++ lt_prog_compiler_pic='-fPIC'
++ ;;
++ esac
++ ;;
+
+-# Whether or not to disallow shared libs when runtime libs are static
+-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
++ interix[3-9]*)
++ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
++ # Instead, we relocate shared libraries at runtime.
++ ;;
+
+-# Whether or not to optimize for fast installation.
+-fast_install=$enable_fast_install
++ msdosdjgpp*)
++ # Just because we use GCC doesn't mean we suddenly get shared libraries
++ # on systems that don't support them.
++ lt_prog_compiler_can_build_shared=no
++ enable_shared=no
++ ;;
+
+-# The host system.
+-host_alias=$host_alias
+-host=$host
+-host_os=$host_os
++ *nto* | *qnx*)
++ # QNX uses GNU C++, but need to define -shared option too, otherwise
++ # it will coredump.
++ lt_prog_compiler_pic='-fPIC -shared'
++ ;;
+
+-# The build system.
+-build_alias=$build_alias
+-build=$build
+-build_os=$build_os
++ sysv4*MP*)
++ if test -d /usr/nec; then
++ lt_prog_compiler_pic=-Kconform_pic
++ fi
++ ;;
+
+-# An echo program that does not interpret backslashes.
+-echo=$lt_echo
++ *)
++ lt_prog_compiler_pic='-fPIC'
++ ;;
++ esac
++ else
++ # PORTME Check for flag to pass linker flags through the system compiler.
++ case $host_os in
++ aix*)
++ lt_prog_compiler_wl='-Wl,'
++ if test "$host_cpu" = ia64; then
++ # AIX 5 now supports IA64 processor
++ lt_prog_compiler_static='-Bstatic'
++ else
++ lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
++ fi
++ ;;
+
+-# The archiver.
+-AR=$lt_AR
+-AR_FLAGS=$lt_AR_FLAGS
++ mingw* | cygwin* | pw32* | os2*)
++ # This hack is so that the source file can tell whether it is being
++ # built for inclusion in a dll (and should export symbols for example).
++ lt_prog_compiler_pic='-DDLL_EXPORT'
++ ;;
+
+-# A C compiler.
+-LTCC=$lt_LTCC
++ hpux9* | hpux10* | hpux11*)
++ lt_prog_compiler_wl='-Wl,'
++ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
++ # not for PA HP-UX.
++ case $host_cpu in
++ hppa*64*|ia64*)
++ # +Z the default
++ ;;
++ *)
++ lt_prog_compiler_pic='+Z'
++ ;;
++ esac
++ # Is there a better lt_prog_compiler_static that works with the bundled CC?
++ lt_prog_compiler_static='${wl}-a ${wl}archive'
++ ;;
+
+-# LTCC compiler flags.
+-LTCFLAGS=$lt_LTCFLAGS
++ irix5* | irix6* | nonstopux*)
++ lt_prog_compiler_wl='-Wl,'
++ # PIC (with -KPIC) is the default.
++ lt_prog_compiler_static='-non_shared'
++ ;;
+
+-# A language-specific compiler.
+-CC=$lt_compiler
++ linux* | k*bsd*-gnu)
++ case $cc_basename in
++ icc* | ecc* | ifort*)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-static'
++ ;;
++ pgcc* | pgf77* | pgf90* | pgf95*)
++ # Portland Group compilers (*not* the Pentium gcc compiler,
++ # which looks to be a dead project)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-fpic'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
++ ccc*)
++ lt_prog_compiler_wl='-Wl,'
++ # All Alpha code is PIC.
++ lt_prog_compiler_static='-non_shared'
++ ;;
++ xl*)
++ # IBM XL C 8.0/Fortran 10.1 on PPC
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-qpic'
++ lt_prog_compiler_static='-qstaticlink'
++ ;;
++ *)
++ case `$CC -V 2>&1 | sed 5q` in
++ *Sun\ C*)
++ # Sun C 5.9
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ lt_prog_compiler_wl='-Wl,'
++ ;;
++ *Sun\ F*)
++ # Sun Fortran 8.3 passes all unrecognized flags to the linker
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ lt_prog_compiler_wl=''
++ ;;
++ esac
++ ;;
++ esac
++ ;;
+
+-# Is the compiler the GNU C compiler?
+-with_gcc=$GCC
++ newsos6)
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
+
+-# An ERE matcher.
+-EGREP=$lt_EGREP
++ *nto* | *qnx*)
++ # QNX uses GNU C++, but need to define -shared option too, otherwise
++ # it will coredump.
++ lt_prog_compiler_pic='-fPIC -shared'
++ ;;
+
+-# The linker used to build libraries.
+-LD=$lt_LD
++ osf3* | osf4* | osf5*)
++ lt_prog_compiler_wl='-Wl,'
++ # All OSF/1 code is PIC.
++ lt_prog_compiler_static='-non_shared'
++ ;;
+
+-# Whether we need hard or soft links.
+-LN_S=$lt_LN_S
++ rdos*)
++ lt_prog_compiler_static='-non_shared'
++ ;;
+
+-# A BSD-compatible nm program.
+-NM=$lt_NM
++ solaris*)
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ case $cc_basename in
++ f77* | f90* | f95*)
++ lt_prog_compiler_wl='-Qoption ld ';;
++ *)
++ lt_prog_compiler_wl='-Wl,';;
++ esac
++ ;;
+
+-# A symbol stripping program
+-STRIP=$lt_STRIP
++ sunos4*)
++ lt_prog_compiler_wl='-Qoption ld '
++ lt_prog_compiler_pic='-PIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
+
+-# Used to examine libraries when file_magic_cmd begins "file"
+-MAGIC_CMD=$MAGIC_CMD
++ sysv4 | sysv4.2uw2* | sysv4.3*)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
+
+-# Used on cygwin: DLL creation program.
+-DLLTOOL="$DLLTOOL"
++ sysv4*MP*)
++ if test -d /usr/nec ;then
++ lt_prog_compiler_pic='-Kconform_pic'
++ lt_prog_compiler_static='-Bstatic'
++ fi
++ ;;
+
+-# Used on cygwin: object dumper.
+-OBJDUMP="$OBJDUMP"
++ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_pic='-KPIC'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
+
+-# Used on cygwin: assembler.
+-AS="$AS"
++ unicos*)
++ lt_prog_compiler_wl='-Wl,'
++ lt_prog_compiler_can_build_shared=no
++ ;;
+
+-# The name of the directory that contains temporary libtool files.
+-objdir=$objdir
++ uts4*)
++ lt_prog_compiler_pic='-pic'
++ lt_prog_compiler_static='-Bstatic'
++ ;;
+
+-# How to create reloadable object files.
+-reload_flag=$lt_reload_flag
+-reload_cmds=$lt_reload_cmds
++ *)
++ lt_prog_compiler_can_build_shared=no
++ ;;
++ esac
++ fi
+
+-# How to pass a linker flag through the compiler.
+-wl=$lt_lt_prog_compiler_wl
++case $host_os in
++ # For platforms which do not support PIC, -DPIC is meaningless:
++ *djgpp*)
++ lt_prog_compiler_pic=
++ ;;
++ *)
++ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
++ ;;
++esac
++{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
++echo "${ECHO_T}$lt_prog_compiler_pic" >&6; }
+
+-# Object file suffix (normally "o").
+-objext="$ac_objext"
+
+-# Old archive suffix (normally "a").
+-libext="$libext"
+
+-# Shared library suffix (normally ".so").
+-shrext_cmds='$shrext_cmds'
+
+-# Executable file suffix (normally "").
+-exeext="$exeext"
+
+-# Additional compiler flags for building library objects.
+-pic_flag=$lt_lt_prog_compiler_pic
+-pic_mode=$pic_mode
+
+-# What is the maximum length of a command?
+-max_cmd_len=$lt_cv_sys_max_cmd_len
+-
+-# Does compiler simultaneously support -c and -o options?
+-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+-
+-# Must we lock files when doing compilation?
+-need_locks=$lt_need_locks
+-
+-# Do we need the lib prefix for modules?
+-need_lib_prefix=$need_lib_prefix
+-
+-# Do we need a version for libraries?
+-need_version=$need_version
++#
++# Check to make sure the PIC flag actually works.
++#
++if test -n "$lt_prog_compiler_pic"; then
++ { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
++echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
++if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_prog_compiler_pic_works=no
++ ac_outfile=conftest.$ac_objext
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
++ lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ # The option is referenced via a variable to avoid confusing sed.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:7660: $lt_compile\"" >&5)
++ (eval "$lt_compile" 2>conftest.err)
++ ac_status=$?
++ cat conftest.err >&5
++ echo "$as_me:7664: \$? = $ac_status" >&5
++ if (exit $ac_status) && test -s "$ac_outfile"; then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings other than the usual output.
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_pic_works=yes
++ fi
++ fi
++ $RM conftest*
+
+-# Whether dlopen is supported.
+-dlopen_support=$enable_dlopen
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_pic_works" >&6; }
+
+-# Whether dlopen of programs is supported.
+-dlopen_self=$enable_dlopen_self
++if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
++ case $lt_prog_compiler_pic in
++ "" | " "*) ;;
++ *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
++ esac
++else
++ lt_prog_compiler_pic=
++ lt_prog_compiler_can_build_shared=no
++fi
+
+-# Whether dlopen of statically linked programs is supported.
+-dlopen_self_static=$enable_dlopen_self_static
++fi
+
+-# Compiler flag to prevent dynamic linking.
+-link_static_flag=$lt_lt_prog_compiler_static
+
+-# Compiler flag to turn off builtin functions.
+-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+-# Compiler flag to allow reflexive dlopens.
+-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+-# Compiler flag to generate shared objects directly from archives.
+-whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+-# Compiler flag to generate thread-safe objects.
+-thread_safe_flag_spec=$lt_thread_safe_flag_spec
+
+-# Library versioning type.
+-version_type=$version_type
++#
++# Check to make sure the static flag actually works.
++#
++wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
++{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
++echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
++if test "${lt_cv_prog_compiler_static_works+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_prog_compiler_static_works=no
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
++ echo "$lt_simple_link_test_code" > conftest.$ac_ext
++ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
++ # The linker can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ if test -s conftest.err; then
++ # Append any errors to the config.log.
++ cat conftest.err 1>&5
++ $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
++ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
++ if diff conftest.exp conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_static_works=yes
++ fi
++ else
++ lt_cv_prog_compiler_static_works=yes
++ fi
++ fi
++ $RM -r conftest*
++ LDFLAGS="$save_LDFLAGS"
+
+-# Format of library name prefix.
+-libname_spec=$lt_libname_spec
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_static_works" >&6; }
+
+-# List of archive names. First name is the real one, the rest are links.
+-# The last name is the one that the linker finds with -lNAME.
+-library_names_spec=$lt_library_names_spec
++if test x"$lt_cv_prog_compiler_static_works" = xyes; then
++ :
++else
++ lt_prog_compiler_static=
++fi
+
+-# The coded name of the library, if different from the real name.
+-soname_spec=$lt_soname_spec
+
+-# Commands used to build and install an old-style archive.
+-RANLIB=$lt_RANLIB
+-old_archive_cmds=$lt_old_archive_cmds
+-old_postinstall_cmds=$lt_old_postinstall_cmds
+-old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+-# Create an old-style archive from a shared archive.
+-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+-# Create a temporary old-style archive to link instead of a shared archive.
+-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+-# Commands used to build and install a shared archive.
+-archive_cmds=$lt_archive_cmds
+-archive_expsym_cmds=$lt_archive_expsym_cmds
+-postinstall_cmds=$lt_postinstall_cmds
+-postuninstall_cmds=$lt_postuninstall_cmds
+
+-# Commands used to build a loadable module (assumed same as above if empty)
+-module_cmds=$lt_module_cmds
+-module_expsym_cmds=$lt_module_expsym_cmds
+
+-# Commands to strip libraries.
+-old_striplib=$lt_old_striplib
+-striplib=$lt_striplib
++ { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
++echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
++if test "${lt_cv_prog_compiler_c_o+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_prog_compiler_c_o=no
++ $RM -r conftest 2>/dev/null
++ mkdir conftest
++ cd conftest
++ mkdir out
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+-# Dependencies to place before the objects being linked to create a
+-# shared library.
+-predep_objects=$lt_predep_objects
+-
+-# Dependencies to place after the objects being linked to create a
+-# shared library.
+-postdep_objects=$lt_postdep_objects
+-
+-# Dependencies to place before the objects being linked to create a
+-# shared library.
+-predeps=$lt_predeps
+-
+-# Dependencies to place after the objects being linked to create a
+-# shared library.
+-postdeps=$lt_postdeps
+-
+-# The library search path used internally by the compiler when linking
+-# a shared library.
+-compiler_lib_search_path=$lt_compiler_lib_search_path
++ lt_compiler_flag="-o out/conftest2.$ac_objext"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:7765: $lt_compile\"" >&5)
++ (eval "$lt_compile" 2>out/conftest.err)
++ ac_status=$?
++ cat out/conftest.err >&5
++ echo "$as_me:7769: \$? = $ac_status" >&5
++ if (exit $ac_status) && test -s out/conftest2.$ac_objext
++ then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
++ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
++ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_c_o=yes
++ fi
++ fi
++ chmod u+w . 2>&5
++ $RM conftest*
++ # SGI C++ compiler will create directory out/ii_files/ for
++ # template instantiation
++ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
++ $RM out/* && rmdir out
++ cd ..
++ $RM -r conftest
++ $RM conftest*
+
+-# Method to check whether dependent libraries are shared objects.
+-deplibs_check_method=$lt_deplibs_check_method
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
+
+-# Command to use when deplibs_check_method == file_magic.
+-file_magic_cmd=$lt_file_magic_cmd
+
+-# Flag that allows shared libraries with undefined symbols to be built.
+-allow_undefined_flag=$lt_allow_undefined_flag
+
+-# Flag that forces no undefined symbols.
+-no_undefined_flag=$lt_no_undefined_flag
+
+-# Commands used to finish a libtool library installation in a directory.
+-finish_cmds=$lt_finish_cmds
+
+-# Same as above, but a single script fragment to be evaled but not shown.
+-finish_eval=$lt_finish_eval
+
+-# Take the output of nm and produce a listing of raw symbols and C names.
+-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
++ { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
++echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
++if test "${lt_cv_prog_compiler_c_o+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ lt_cv_prog_compiler_c_o=no
++ $RM -r conftest 2>/dev/null
++ mkdir conftest
++ cd conftest
++ mkdir out
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+-# Transform the output of nm in a proper C declaration
+-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
++ lt_compiler_flag="-o out/conftest2.$ac_objext"
++ # Insert the option either (1) after the last *FLAGS variable, or
++ # (2) before a word containing "conftest.", or (3) at the end.
++ # Note that $ac_compile itself does not contain backslashes and begins
++ # with a dollar sign (not a hyphen), so the echo should work correctly.
++ lt_compile=`echo "$ac_compile" | $SED \
++ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
++ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
++ -e 's:$: $lt_compiler_flag:'`
++ (eval echo "\"\$as_me:7820: $lt_compile\"" >&5)
++ (eval "$lt_compile" 2>out/conftest.err)
++ ac_status=$?
++ cat out/conftest.err >&5
++ echo "$as_me:7824: \$? = $ac_status" >&5
++ if (exit $ac_status) && test -s out/conftest2.$ac_objext
++ then
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
++ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
++ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
++ lt_cv_prog_compiler_c_o=yes
++ fi
++ fi
++ chmod u+w . 2>&5
++ $RM conftest*
++ # SGI C++ compiler will create directory out/ii_files/ for
++ # template instantiation
++ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
++ $RM out/* && rmdir out
++ cd ..
++ $RM -r conftest
++ $RM conftest*
+
+-# Transform the output of nm in a C name address pair
+-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
++echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
+
+-# This is the shared library runtime path variable.
+-runpath_var=$runpath_var
+
+-# This is the shared library path variable.
+-shlibpath_var=$shlibpath_var
+
+-# Is shlibpath searched before the hard-coded library search path?
+-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+-# How to hardcode a shared library path into an executable.
+-hardcode_action=$hardcode_action
++hard_links="nottested"
++if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
++ # do not overwrite the value of need_locks provided by the user
++ { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
++echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
++ hard_links=yes
++ $RM conftest*
++ ln conftest.a conftest.b 2>/dev/null && hard_links=no
++ touch conftest.a
++ ln conftest.a conftest.b 2>&5 || hard_links=no
++ ln conftest.a conftest.b 2>/dev/null && hard_links=no
++ { echo "$as_me:$LINENO: result: $hard_links" >&5
++echo "${ECHO_T}$hard_links" >&6; }
++ if test "$hard_links" = no; then
++ { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
++echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
++ need_locks=warn
++ fi
++else
++ need_locks=no
++fi
+
+-# Whether we should hardcode library paths into libraries.
+-hardcode_into_libs=$hardcode_into_libs
+
+-# Flag to hardcode \$libdir into a binary during linking.
+-# This must work even if \$libdir does not exist.
+-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+-# If ld is used when linking, flag to hardcode \$libdir into
+-# a binary during linking. This must work even if \$libdir does
+-# not exist.
+-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+
+-# Whether we need a single -rpath flag with a separated argument.
+-hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+-# resulting binary.
+-hardcode_direct=$hardcode_direct
+
+-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+-# resulting binary.
+-hardcode_minus_L=$hardcode_minus_L
+-
+-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+-# the resulting binary.
+-hardcode_shlibpath_var=$hardcode_shlibpath_var
+-
+-# Set to yes if building a shared library automatically hardcodes DIR into the library
+-# and all subsequent libraries and executables linked against it.
+-hardcode_automatic=$hardcode_automatic
+-
+-# Variables whose values should be saved in libtool wrapper scripts and
+-# restored at relink time.
+-variables_saved_for_relink="$variables_saved_for_relink"
+-
+-# Whether libtool must link a program against all its dependency libraries.
+-link_all_deplibs=$link_all_deplibs
+-
+-# Compile-time system search path for libraries
+-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+-
+-# Run-time system search path for libraries
+-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+-
+-# Fix the shell variable \$srcfile for the compiler.
+-fix_srcfile_path="$fix_srcfile_path"
+-
+-# Set to yes if exported symbols are required.
+-always_export_symbols=$always_export_symbols
+-
+-# The commands to list exported symbols.
+-export_symbols_cmds=$lt_export_symbols_cmds
+-
+-# The commands to extract the exported symbol list from a shared archive.
+-extract_expsyms_cmds=$lt_extract_expsyms_cmds
+-
+-# Symbols that should not be listed in the preloaded symbols.
+-exclude_expsyms=$lt_exclude_expsyms
+-
+-# Symbols that must always be exported.
+-include_expsyms=$lt_include_expsyms
+-
+-# ### END LIBTOOL CONFIG
+-
+-__EOF__
++ { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
++echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+
++ runpath_var=
++ allow_undefined_flag=
++ always_export_symbols=no
++ archive_cmds=
++ archive_expsym_cmds=
++ compiler_needs_object=no
++ enable_shared_with_static_runtimes=no
++ export_dynamic_flag_spec=
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
++ hardcode_automatic=no
++ hardcode_direct=no
++ hardcode_direct_absolute=no
++ hardcode_libdir_flag_spec=
++ hardcode_libdir_flag_spec_ld=
++ hardcode_libdir_separator=
++ hardcode_minus_L=no
++ hardcode_shlibpath_var=unsupported
++ inherit_rpath=no
++ link_all_deplibs=unknown
++ module_cmds=
++ module_expsym_cmds=
++ old_archive_from_new_cmds=
++ old_archive_from_expsyms_cmds=
++ thread_safe_flag_spec=
++ whole_archive_flag_spec=
++ # include_expsyms should be a list of space-separated symbols to be *always*
++ # included in the symbol list
++ include_expsyms=
++ # exclude_expsyms can be an extended regexp of symbols to exclude
++ # it will be wrapped by ` (' and `)$', so one must not match beginning or
++ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
++ # as well as any symbol that contains `d'.
++ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
++ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
++ # platforms (ab)use it in PIC code, but their linkers get confused if
++ # the symbol is explicitly referenced. Since portable code cannot
++ # rely on this symbol name, it's probably fine to never include it in
++ # preloaded symbol tables.
++ # Exclude shared library initialization/finalization symbols.
++ extract_expsyms_cmds=
+
+ case $host_os in
+- aix3*)
+- cat <<\EOF >> "$cfgfile"
+-
+-# AIX sometimes has problems with the GCC collect2 program. For some
+-# reason, if we set the COLLECT_NAMES environment variable, the problems
+-# vanish in a puff of smoke.
+-if test "X${COLLECT_NAMES+set}" != Xset; then
+- COLLECT_NAMES=
+- export COLLECT_NAMES
+-fi
+-EOF
++ cygwin* | mingw* | pw32*)
++ # FIXME: the MSVC++ port hasn't been tested in a loooong time
++ # When not using gcc, we currently assume that we are using
++ # Microsoft Visual C++.
++ if test "$GCC" != yes; then
++ with_gnu_ld=no
++ fi
++ ;;
++ interix*)
++ # we just hope/assume this is gcc and not c89 (= MSVC++)
++ with_gnu_ld=yes
++ ;;
++ openbsd*)
++ with_gnu_ld=no
+ ;;
+ esac
+
+- # We use sed instead of cat because bash on DJGPP gets confused if
+- # if finds mixed CR/LF and LF-only lines. Since sed operates in
+- # text mode, it properly converts lines to CR/LF. This bash problem
+- # is reportedly fixed, but why not run on old versions too?
+- sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+-
+- mv -f "$cfgfile" "$ofile" || \
+- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+- chmod +x "$ofile"
+-
+-else
+- # If there is no Makefile yet, we rely on a make rule to execute
+- # `config.status --recheck' to rerun these tests and create the
+- # libtool script then.
+- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+- if test -f "$ltmain_in"; then
+- test -f Makefile && make "$ltmain"
+- fi
+-fi
+-
+-
+-ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+-
+-CC="$lt_save_CC"
+-
+-
+-# Check whether --with-tags or --without-tags was given.
+-if test "${with_tags+set}" = set; then
+- withval="$with_tags"
+- tagnames="$withval"
+-fi;
+-
+-if test -f "$ltmain" && test -n "$tagnames"; then
+- if test ! -f "${ofile}"; then
+- { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
+-echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
+- fi
++ ld_shlibs=yes
++ if test "$with_gnu_ld" = yes; then
++ # If archive_cmds runs LD, not CC, wlarc should be empty
++ wlarc='${wl}'
+
+- if test -z "$LTCC"; then
+- eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
+- if test -z "$LTCC"; then
+- { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
+-echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
++ # Set some defaults for GNU ld with shared library support. These
++ # are reset later if shared libraries are not supported. Putting them
++ # here allows them to be overridden if necessary.
++ runpath_var=LD_RUN_PATH
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ export_dynamic_flag_spec='${wl}--export-dynamic'
++ # ancient GNU ld didn't support --whole-archive et. al.
++ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
++ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+- { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
+-echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
++ whole_archive_flag_spec=
+ fi
+- fi
+- if test -z "$LTCFLAGS"; then
+- eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
+- fi
+-
+- # Extract list of available tagged configurations in $ofile.
+- # Note that this assumes the entire list is on one line.
+- available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+-
+- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+- for tagname in $tagnames; do
+- IFS="$lt_save_ifs"
+- # Check whether tagname contains only valid characters
+- case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in
+- "") ;;
+- *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
+-echo "$as_me: error: invalid tag name: $tagname" >&2;}
+- { (exit 1); exit 1; }; }
+- ;;
++ supports_anon_versioning=no
++ case `$LD -v 2>&1` in
++ *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
++ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
++ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
++ *\ 2.11.*) ;; # other 2.11 versions
++ *) supports_anon_versioning=yes ;;
+ esac
+
+- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
+- then
+- { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
+-echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
+- { (exit 1); exit 1; }; }
+- fi
++ # See if GNU ld supports shared libraries.
++ case $host_os in
++ aix[3-9]*)
++ # On AIX/PPC, the GNU linker is very broken
++ if test "$host_cpu" != ia64; then
++ ld_shlibs=no
++ cat <<_LT_EOF 1>&2
+
+- # Update the list of available tags.
+- if test -n "$tagname"; then
+- echo appending configuration tag \"$tagname\" to $ofile
+-
+- case $tagname in
+- CXX)
+- if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+- (test "X$CXX" != "Xg++"))) ; then
+- ac_ext=cc
+-ac_cpp='$CXXCPP $CPPFLAGS'
+-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
++*** Warning: the GNU linker, at least up to release 2.9.1, is reported
++*** to be unable to reliably create shared libraries on AIX.
++*** Therefore, libtool is disabling shared libraries support. If you
++*** really care for shared libraries, you may want to modify your PATH
++*** so that a non-GNU linker is found, and then restart.
+
++_LT_EOF
++ fi
++ ;;
+
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds=''
++ ;;
++ m68k)
++ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_minus_L=yes
++ ;;
++ esac
++ ;;
+
++ beos*)
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ allow_undefined_flag=unsupported
++ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
++ # support --undefined. This deserves some investigation. FIXME
++ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
+
+-archive_cmds_need_lc_CXX=no
+-allow_undefined_flag_CXX=
+-always_export_symbols_CXX=no
+-archive_expsym_cmds_CXX=
+-export_dynamic_flag_spec_CXX=
+-hardcode_direct_CXX=no
+-hardcode_libdir_flag_spec_CXX=
+-hardcode_libdir_flag_spec_ld_CXX=
+-hardcode_libdir_separator_CXX=
+-hardcode_minus_L_CXX=no
+-hardcode_shlibpath_var_CXX=unsupported
+-hardcode_automatic_CXX=no
+-module_cmds_CXX=
+-module_expsym_cmds_CXX=
+-link_all_deplibs_CXX=unknown
+-old_archive_cmds_CXX=$old_archive_cmds
+-no_undefined_flag_CXX=
+-whole_archive_flag_spec_CXX=
+-enable_shared_with_static_runtimes_CXX=no
+-
+-# Dependencies to place before and after the object being linked:
+-predep_objects_CXX=
+-postdep_objects_CXX=
+-predeps_CXX=
+-postdeps_CXX=
+-compiler_lib_search_path_CXX=
++ cygwin* | mingw* | pw32*)
++ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
++ # as there is no search path for DLLs.
++ hardcode_libdir_flag_spec='-L$libdir'
++ allow_undefined_flag=unsupported
++ always_export_symbols=no
++ enable_shared_with_static_runtimes=yes
++ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+
+-# Source file extension for C++ test sources.
+-ac_ext=cpp
++ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ # If the export-symbols file already is a .def file (1st line
++ # is EXPORTS), use it as is; otherwise, prepend...
++ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
++ cp $export_symbols $output_objdir/$soname.def;
++ else
++ echo EXPORTS > $output_objdir/$soname.def;
++ cat $export_symbols >> $output_objdir/$soname.def;
++ fi~
++ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
+
+-# Object file extension for compiled C++ test sources.
+-objext=o
+-objext_CXX=$objext
++ interix[3-9]*)
++ hardcode_direct=no
++ hardcode_shlibpath_var=no
++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
++ export_dynamic_flag_spec='${wl}-E'
++ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
++ # Instead, shared libraries are loaded at an image base (0x10000000 by
++ # default) and relocated if they conflict, which is a slow very memory
++ # consuming and fragmenting process. To avoid this, we pick a random,
++ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
++ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
++ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++ archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
++ ;;
+
+-# Code to be used in simple compile tests
+-lt_simple_compile_test_code="int some_variable = 0;\n"
++ gnu* | linux* | tpf* | k*bsd*-gnu)
++ tmp_diet=no
++ if test "$host_os" = linux-dietlibc; then
++ case $cc_basename in
++ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
++ esac
++ fi
++ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
++ && test "$tmp_diet" = no
++ then
++ tmp_addflag=
++ tmp_sharedflag='-shared'
++ case $cc_basename,$host_cpu in
++ pgcc*) # Portland Group C compiler
++ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ tmp_addflag=' $pic_flag'
++ ;;
++ pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
++ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ tmp_addflag=' $pic_flag -Mnomain' ;;
++ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
++ tmp_addflag=' -i_dynamic' ;;
++ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
++ tmp_addflag=' -i_dynamic -nofor_main' ;;
++ ifc* | ifort*) # Intel Fortran compiler
++ tmp_addflag=' -nofor_main' ;;
++ xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
++ tmp_sharedflag='-qmkshrobj'
++ tmp_addflag= ;;
++ esac
++ case `$CC -V 2>&1 | sed 5q` in
++ *Sun\ C*) # Sun C 5.9
++ whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
++ compiler_needs_object=yes
++ tmp_sharedflag='-G' ;;
++ *Sun\ F*) # Sun Fortran 8.3
++ tmp_sharedflag='-G' ;;
++ esac
++ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+-# Code to be used in simple link tests
+-lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
++ if test "x$supports_anon_versioning" = xyes; then
++ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
++ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
++ echo "local: *; };" >> $output_objdir/$libname.ver~
++ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
++ fi
+
+-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
++ case $cc_basename in
++ xlf*)
++ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
++ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
++ hardcode_libdir_flag_spec=
++ hardcode_libdir_flag_spec_ld='-rpath $libdir'
++ archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
++ if test "x$supports_anon_versioning" = xyes; then
++ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
++ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
++ echo "local: *; };" >> $output_objdir/$libname.ver~
++ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
++ fi
++ ;;
++ esac
++ else
++ ld_shlibs=no
++ fi
++ ;;
+
+-# If no C compiler was specified, use CC.
+-LTCC=${LTCC-"$CC"}
++ netbsd*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
++ wlarc=
++ else
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ fi
++ ;;
+
+-# If no C compiler flags were specified, use CFLAGS.
+-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
++ solaris*)
++ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
++ ld_shlibs=no
++ cat <<_LT_EOF 1>&2
+
+-# Allow CC to be a program name with arguments.
+-compiler=$CC
++*** Warning: The releases 2.8.* of the GNU linker cannot reliably
++*** create shared libraries on Solaris systems. Therefore, libtool
++*** is disabling shared libraries support. We urge you to upgrade GNU
++*** binutils to release 2.9.1 or newer. Another option is to modify
++*** your PATH or compiler configuration so that the native linker is
++*** used, and then restart.
+
++_LT_EOF
++ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
+
+-# save warnings/boilerplate of simple test code
+-ac_outfile=conftest.$ac_objext
+-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+-_lt_compiler_boilerplate=`cat conftest.err`
+-$rm conftest*
++ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
++ case `$LD -v 2>&1` in
++ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
++ ld_shlibs=no
++ cat <<_LT_EOF 1>&2
+
+-ac_outfile=conftest.$ac_objext
+-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+-_lt_linker_boilerplate=`cat conftest.err`
+-$rm conftest*
++*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
++*** reliably create shared libraries on SCO systems. Therefore, libtool
++*** is disabling shared libraries support. We urge you to upgrade GNU
++*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
++*** your PATH or compiler configuration so that the native linker is
++*** used, and then restart.
+
++_LT_EOF
++ ;;
++ *)
++ # For security reasons, it is highly recommended that you always
++ # use absolute paths for naming shared libraries, and exclude the
++ # DT_RUNPATH tag from executables and libraries. But doing so
++ # requires that you compile everything twice, which is a pain.
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++ esac
++ ;;
+
+-# Allow CC to be a program name with arguments.
+-lt_save_CC=$CC
+-lt_save_LD=$LD
+-lt_save_GCC=$GCC
+-GCC=$GXX
+-lt_save_with_gnu_ld=$with_gnu_ld
+-lt_save_path_LD=$lt_cv_path_LD
+-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+-else
+- $as_unset lt_cv_prog_gnu_ld
+-fi
+-if test -n "${lt_cv_path_LDCXX+set}"; then
+- lt_cv_path_LD=$lt_cv_path_LDCXX
+-else
+- $as_unset lt_cv_path_LD
+-fi
+-test -z "${LDCXX+set}" || LD=$LDCXX
+-CC=${CXX-"c++"}
+-compiler=$CC
+-compiler_CXX=$CC
+-for cc_temp in $compiler""; do
+- case $cc_temp in
+- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+- \-*) ;;
+- *) break;;
+- esac
+-done
+-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+-
+-
+-# We don't want -fno-exception wen compiling C++ code, so set the
+-# no_builtin_flag separately
+-if test "$GXX" = yes; then
+- lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
+-else
+- lt_prog_compiler_no_builtin_flag_CXX=
+-fi
+-
+-if test "$GXX" = yes; then
+- # Set up default GNU C++ configuration
+-
+-
+-# Check whether --with-gnu-ld or --without-gnu-ld was given.
+-if test "${with_gnu_ld+set}" = set; then
+- withval="$with_gnu_ld"
+- test "$withval" = no || with_gnu_ld=yes
+-else
+- with_gnu_ld=no
+-fi;
+-ac_prog=ld
+-if test "$GCC" = yes; then
+- # Check if gcc -print-prog-name=ld gives a path.
+- echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6
+- case $host in
+- *-*-mingw*)
+- # gcc leaves a trailing carriage return which upsets mingw
+- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+- *)
+- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+- esac
+- case $ac_prog in
+- # Accept absolute paths.
+- [\\/]* | ?:[\\/]*)
+- re_direlt='/[^/][^/]*/\.\./'
+- # Canonicalize the pathname of ld
+- ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+- ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+- done
+- test -z "$LD" && LD="$ac_prog"
++ sunos4*)
++ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++ wlarc=
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
+ ;;
+- "")
+- # If it fails, then pretend we aren't using GCC.
+- ac_prog=ld
+- ;;
+- *)
+- # If it is relative, then search for the first ld in PATH.
+- with_gnu_ld=unknown
+- ;;
+- esac
+-elif test "$with_gnu_ld" = yes; then
+- echo "$as_me:$LINENO: checking for GNU ld" >&5
+-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
+-else
+- echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
+-fi
+-if test "${lt_cv_path_LD+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -z "$LD"; then
+- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+- for ac_dir in $PATH; do
+- IFS="$lt_save_ifs"
+- test -z "$ac_dir" && ac_dir=.
+- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+- lt_cv_path_LD="$ac_dir/$ac_prog"
+- # Check to see if the program is GNU ld. I'd rather use --version,
+- # but apparently some variants of GNU ld only accept -v.
+- # Break only if it was the GNU/non-GNU ld that we prefer.
+- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+- *GNU* | *'with BFD'*)
+- test "$with_gnu_ld" != no && break
+- ;;
+- *)
+- test "$with_gnu_ld" != yes && break
+- ;;
+- esac
+- fi
+- done
+- IFS="$lt_save_ifs"
+-else
+- lt_cv_path_LD="$LD" # Let the user override the test with a path.
+-fi
+-fi
+-
+-LD="$lt_cv_path_LD"
+-if test -n "$LD"; then
+- echo "$as_me:$LINENO: result: $LD" >&5
+-echo "${ECHO_T}$LD" >&6
+-else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+- { (exit 1); exit 1; }; }
+-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+-if test "${lt_cv_prog_gnu_ld+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- # I'd rather use --version here, but apparently some GNU lds only accept -v.
+-case `$LD -v 2>&1 </dev/null` in
+-*GNU* | *'with BFD'*)
+- lt_cv_prog_gnu_ld=yes
+- ;;
+-*)
+- lt_cv_prog_gnu_ld=no
+- ;;
+-esac
+-fi
+-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
+-with_gnu_ld=$lt_cv_prog_gnu_ld
+
++ *)
++ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++ esac
+
+-
+- # Check if GNU C++ uses GNU ld as the underlying linker, since the
+- # archiving commands below assume that GNU ld is being used.
+- if test "$with_gnu_ld" = yes; then
+- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+-
+- hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+-
+- # If archive_cmds runs LD, not CC, wlarc should be empty
+- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+- # investigate it a little bit more. (MM)
+- wlarc='${wl}'
+-
+- # ancient GNU ld didn't support --whole-archive et. al.
+- if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
+- grep 'no-whole-archive' > /dev/null; then
+- whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+- else
+- whole_archive_flag_spec_CXX=
++ if test "$ld_shlibs" = no; then
++ runpath_var=
++ hardcode_libdir_flag_spec=
++ export_dynamic_flag_spec=
++ whole_archive_flag_spec=
+ fi
+ else
+- with_gnu_ld=no
+- wlarc=
+-
+- # A generic and very simple default shared library creation
+- # command for GNU C++ for the case where it uses the native
+- # linker, instead of GNU ld. If possible, this setting should
+- # overridden to take advantage of the native linker features on
+- # the platform it is being used on.
+- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+- fi
+-
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+-
+-else
+- GXX=no
+- with_gnu_ld=no
+- wlarc=
+-fi
++ # PORTME fill in a description of your system's linker (not GNU ld)
++ case $host_os in
++ aix3*)
++ allow_undefined_flag=unsupported
++ always_export_symbols=yes
++ archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
++ # Note: this linker hardcodes the directories in LIBPATH if there
++ # are no directories specified by -L.
++ hardcode_minus_L=yes
++ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
++ # Neither direct hardcoding nor static linking is supported with a
++ # broken collect2.
++ hardcode_direct=unsupported
++ fi
++ ;;
+
+-# PORTME: fill in a description of your system's C++ link characteristics
+-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+-ld_shlibs_CXX=yes
+-case $host_os in
+- aix3*)
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- ;;
+- aix4* | aix5*)
+- if test "$host_cpu" = ia64; then
+- # On IA64, the linker does run time linking by default, so we don't
+- # have to do anything special.
+- aix_use_runtimelinking=no
+- exp_sym_flag='-Bexport'
+- no_entry_flag=""
+- else
+- aix_use_runtimelinking=no
++ aix[4-9]*)
++ if test "$host_cpu" = ia64; then
++ # On IA64, the linker does run time linking by default, so we don't
++ # have to do anything special.
++ aix_use_runtimelinking=no
++ exp_sym_flag='-Bexport'
++ no_entry_flag=""
++ else
++ # If we're using GNU nm, then we don't want the "-C" option.
++ # -C means demangle to AIX nm, but means don't demangle with GNU nm
++ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
++ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ else
++ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
++ fi
++ aix_use_runtimelinking=no
+
+- # Test if we are trying to use run time linking or normal
+- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+- # need to do runtime linking.
+- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+- for ld_flag in $LDFLAGS; do
+- case $ld_flag in
+- *-brtl*)
++ # Test if we are trying to use run time linking or normal
++ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
++ # need to do runtime linking.
++ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
++ for ld_flag in $LDFLAGS; do
++ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+- ;;
+- esac
+- done
+- ;;
+- esac
++ fi
++ done
++ ;;
++ esac
+
+- exp_sym_flag='-bexport'
+- no_entry_flag='-bnoentry'
+- fi
++ exp_sym_flag='-bexport'
++ no_entry_flag='-bnoentry'
++ fi
++
++ # When large executables or shared objects are built, AIX ld can
++ # have problems creating the table of contents. If linking a library
++ # or program results in "error TOC overflow" add -mminimal-toc to
++ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
++ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
++
++ archive_cmds=''
++ hardcode_direct=yes
++ hardcode_direct_absolute=yes
++ hardcode_libdir_separator=':'
++ link_all_deplibs=yes
++ file_list_spec='${wl}-f,'
+
+- # When large executables or shared objects are built, AIX ld can
+- # have problems creating the table of contents. If linking a library
+- # or program results in "error TOC overflow" add -mminimal-toc to
+- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+-
+- archive_cmds_CXX=''
+- hardcode_direct_CXX=yes
+- hardcode_libdir_separator_CXX=':'
+- link_all_deplibs_CXX=yes
+-
+- if test "$GXX" = yes; then
+- case $host_os in aix4.[012]|aix4.[012].*)
+- # We only want to do this on AIX 4.2 and lower, the check
+- # below for broken collect2 doesn't work under 4.3+
+- collect2name=`${CC} -print-prog-name=collect2`
+- if test -f "$collect2name" && \
+- strings "$collect2name" | grep resolve_lib_name >/dev/null
+- then
++ if test "$GCC" = yes; then
++ case $host_os in aix4.[012]|aix4.[012].*)
++ # We only want to do this on AIX 4.2 and lower, the check
++ # below for broken collect2 doesn't work under 4.3+
++ collect2name=`${CC} -print-prog-name=collect2`
++ if test -f "$collect2name" &&
++ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
++ then
+ # We have reworked collect2
+- hardcode_direct_CXX=yes
+- else
++ :
++ else
+ # We have old collect2
+- hardcode_direct_CXX=unsupported
++ hardcode_direct=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+- hardcode_minus_L_CXX=yes
+- hardcode_libdir_flag_spec_CXX='-L$libdir'
+- hardcode_libdir_separator_CXX=
++ hardcode_minus_L=yes
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_libdir_separator=
++ fi
++ ;;
++ esac
++ shared_flag='-shared'
++ if test "$aix_use_runtimelinking" = yes; then
++ shared_flag="$shared_flag "'${wl}-G'
+ fi
+- ;;
+- esac
+- shared_flag='-shared'
+- if test "$aix_use_runtimelinking" = yes; then
+- shared_flag="$shared_flag "'${wl}-G'
+- fi
+- else
+- # not using gcc
+- if test "$host_cpu" = ia64; then
++ else
++ # not using gcc
++ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+- shared_flag='-G'
+- else
+- if test "$aix_use_runtimelinking" = yes; then
+- shared_flag='${wl}-G'
++ shared_flag='-G'
+ else
+- shared_flag='${wl}-bM:SRE'
++ if test "$aix_use_runtimelinking" = yes; then
++ shared_flag='${wl}-G'
++ else
++ shared_flag='${wl}-bM:SRE'
++ fi
+ fi
+ fi
+- fi
+
+- # It seems that -bexpall does not export symbols beginning with
+- # underscore (_), so it is better to generate a list of symbols to export.
+- always_export_symbols_CXX=yes
+- if test "$aix_use_runtimelinking" = yes; then
+- # Warning - without using the other runtime loading flags (-brtl),
+- # -berok will link without error, but may produce a broken library.
+- allow_undefined_flag_CXX='-berok'
+- # Determine the default libpath from the value encoded in an empty executable.
+- cat >conftest.$ac_ext <<_ACEOF
++ # It seems that -bexpall does not export symbols beginning with
++ # underscore (_), so it is better to generate a list of symbols to export.
++ always_export_symbols=yes
++ if test "$aix_use_runtimelinking" = yes; then
++ # Warning - without using the other runtime loading flags (-brtl),
++ # -berok will link without error, but may produce a broken library.
++ allow_undefined_flag='-berok'
++ # Determine the default libpath from the value encoded in an
++ # empty executable.
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+@@ -10306,53 +8330,58 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
+
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+-}'`
++lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\(.*\)$/\1/
++ p
++ }
++ }'
++aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+-}'`; fi
++if test -z "$aix_libpath"; then
++ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++fi
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
++
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+- hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+-
+- archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+- else
+- if test "$host_cpu" = ia64; then
+- hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
+- allow_undefined_flag_CXX="-z nodefs"
+- archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
++ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
++ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+- # Determine the default libpath from the value encoded in an empty executable.
+- cat >conftest.$ac_ext <<_ACEOF
++ if test "$host_cpu" = ia64; then
++ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
++ allow_undefined_flag="-z nodefs"
++ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
++ else
++ # Determine the default libpath from the value encoded in an
++ # empty executable.
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+@@ -10368,1408 +8397,569 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
+
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+-}'`
++lt_aix_libpath_sed='
++ /Import File Strings/,/^$/ {
++ /^0/ {
++ s/^0 *\(.*\)$/\1/
++ p
++ }
++ }'
++aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+-}'`; fi
++if test -z "$aix_libpath"; then
++ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
++fi
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
++
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+- hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+- # Warning - without using the other run time loading flags,
+- # -berok will link without error, but may produce a broken library.
+- no_undefined_flag_CXX=' ${wl}-bernotok'
+- allow_undefined_flag_CXX=' ${wl}-berok'
+- # Exported symbols can be pulled into shared objects from archives
+- whole_archive_flag_spec_CXX='$convenience'
+- archive_cmds_need_lc_CXX=yes
+- # This is similar to how AIX traditionally builds its shared libraries.
+- archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
++ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
++ # Warning - without using the other run time loading flags,
++ # -berok will link without error, but may produce a broken library.
++ no_undefined_flag=' ${wl}-bernotok'
++ allow_undefined_flag=' ${wl}-berok'
++ # Exported symbols can be pulled into shared objects from archives
++ whole_archive_flag_spec='$convenience'
++ archive_cmds_need_lc=yes
++ # This is similar to how AIX traditionally builds its shared libraries.
++ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
++ fi
+ fi
+- fi
+- ;;
++ ;;
+
+- beos*)
+- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- allow_undefined_flag_CXX=unsupported
+- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+- # support --undefined. This deserves some investigation. FIXME
+- archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- else
+- ld_shlibs_CXX=no
+- fi
+- ;;
++ amigaos*)
++ case $host_cpu in
++ powerpc)
++ # see comment about AmigaOS4 .so support
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds=''
++ ;;
++ m68k)
++ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_minus_L=yes
++ ;;
++ esac
++ ;;
+
+- chorus*)
+- case $cc_basename in
+- *)
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- ;;
+- esac
+- ;;
++ bsdi[45]*)
++ export_dynamic_flag_spec=-rdynamic
++ ;;
+
+- cygwin* | mingw* | pw32*)
+- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+- # as there is no search path for DLLs.
+- hardcode_libdir_flag_spec_CXX='-L$libdir'
+- allow_undefined_flag_CXX=unsupported
+- always_export_symbols_CXX=no
+- enable_shared_with_static_runtimes_CXX=yes
+-
+- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+- # If the export-symbols file already is a .def file (1st line
+- # is EXPORTS), use it as is; otherwise, prepend...
+- archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+- cp $export_symbols $output_objdir/$soname.def;
+- else
+- echo EXPORTS > $output_objdir/$soname.def;
+- cat $export_symbols >> $output_objdir/$soname.def;
+- fi~
+- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+- else
+- ld_shlibs_CXX=no
+- fi
+- ;;
+- darwin* | rhapsody*)
+- case $host_os in
+- rhapsody* | darwin1.[012])
+- allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress'
+- ;;
+- *) # Darwin 1.3 on
+- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+- allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+- else
+- case ${MACOSX_DEPLOYMENT_TARGET} in
+- 10.[012])
+- allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+- ;;
+- 10.*)
+- allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup'
+- ;;
+- esac
+- fi
+- ;;
+- esac
+- archive_cmds_need_lc_CXX=no
+- hardcode_direct_CXX=no
+- hardcode_automatic_CXX=yes
+- hardcode_shlibpath_var_CXX=unsupported
+- whole_archive_flag_spec_CXX=''
+- link_all_deplibs_CXX=yes
+-
+- if test "$GXX" = yes ; then
+- lt_int_apple_cc_single_mod=no
+- output_verbose_link_cmd='echo'
+- if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
+- lt_int_apple_cc_single_mod=yes
+- fi
+- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+- archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+- else
+- archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+- fi
+- module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+- if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- else
+- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- fi
+- module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- else
+- case $cc_basename in
+- xlc*)
+- output_verbose_link_cmd='echo'
+- archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+- module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+- archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- ;;
+- *)
+- ld_shlibs_CXX=no
+- ;;
+- esac
+- fi
+- ;;
++ cygwin* | mingw* | pw32*)
++ # When not using gcc, we currently assume that we are using
++ # Microsoft Visual C++.
++ # hardcode_libdir_flag_spec is actually meaningless, as there is
++ # no search path for DLLs.
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # Tell ltmain to make .dll files, not .so files.
++ shrext_cmds=".dll"
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
++ # The linker will automatically build a .lib file if we build a DLL.
++ old_archive_from_new_cmds='true'
++ # FIXME: Should let the user specify the lib program.
++ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
++ fix_srcfile_path='`cygpath -w "$srcfile"`'
++ enable_shared_with_static_runtimes=yes
++ ;;
++
++ darwin* | rhapsody*)
++
++
++ archive_cmds_need_lc=no
++ hardcode_direct=no
++ hardcode_automatic=yes
++ hardcode_shlibpath_var=unsupported
++ whole_archive_flag_spec=''
++ link_all_deplibs=yes
++ allow_undefined_flag="$_lt_dar_allow_undefined"
++ if test "$GCC" = "yes"; then
++ output_verbose_link_cmd=echo
++ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
++ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
++ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
++ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
++
++ else
++ ld_shlibs=no
++ fi
+
+- dgux*)
+- case $cc_basename in
+- ec++*)
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- ;;
+- ghcx*)
+- # Green Hills C++ Compiler
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- ;;
+- *)
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- ;;
+- esac
+- ;;
+- freebsd[12]*)
+- # C++ shared libraries reported to be fairly broken before switch to ELF
+- ld_shlibs_CXX=no
+- ;;
+- freebsd-elf*)
+- archive_cmds_need_lc_CXX=no
+- ;;
+- freebsd* | kfreebsd*-gnu | dragonfly*)
+- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+- # conventions
+- ld_shlibs_CXX=yes
+- ;;
+- gnu*)
+- ;;
+- hpux9*)
+- hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+- hardcode_libdir_separator_CXX=:
+- export_dynamic_flag_spec_CXX='${wl}-E'
+- hardcode_direct_CXX=yes
+- hardcode_minus_L_CXX=yes # Not in the search PATH,
+- # but as the default
+- # location of the library.
+-
+- case $cc_basename in
+- CC*)
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- ;;
+- aCC*)
+- archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- #
+- # There doesn't appear to be a way to prevent this compiler from
+- # explicitly linking system object files so we need to strip them
+- # from the output so that they don't get included in the library
+- # dependencies.
+- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+- *)
+- if test "$GXX" = yes; then
+- archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
++
++ dgux*)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_shlibpath_var=no
++ ;;
++
++ freebsd1*)
++ ld_shlibs=no
++ ;;
++
++ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
++ # support. Future versions do this automatically, but an explicit c++rt0.o
++ # does not break anything, and helps significantly (at the cost of a little
++ # extra space).
++ freebsd2.2*)
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
++ freebsd2*)
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_direct=yes
++ hardcode_minus_L=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
++ freebsd* | dragonfly*)
++ archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ hpux9*)
++ if test "$GCC" = yes; then
++ archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
++ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+- ;;
+- esac
+- ;;
+- hpux10*|hpux11*)
+- if test $with_gnu_ld = no; then
+- hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+- hardcode_libdir_separator_CXX=:
++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
++ hardcode_libdir_separator=:
++ hardcode_direct=yes
+
+- case $host_cpu in
+- hppa*64*|ia64*)
+- hardcode_libdir_flag_spec_ld_CXX='+b $libdir'
+- ;;
+- *)
+- export_dynamic_flag_spec_CXX='${wl}-E'
+- ;;
+- esac
+- fi
+- case $host_cpu in
+- hppa*64*|ia64*)
+- hardcode_direct_CXX=no
+- hardcode_shlibpath_var_CXX=no
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ hardcode_minus_L=yes
++ export_dynamic_flag_spec='${wl}-E'
+ ;;
+- *)
+- hardcode_direct_CXX=yes
+- hardcode_minus_L_CXX=yes # Not in the search PATH,
+- # but as the default
+- # location of the library.
++
++ hpux10*)
++ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
++ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
++ fi
++ if test "$with_gnu_ld" = no; then
++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
++ hardcode_libdir_flag_spec_ld='+b $libdir'
++ hardcode_libdir_separator=:
++ hardcode_direct=yes
++ hardcode_direct_absolute=yes
++ export_dynamic_flag_spec='${wl}-E'
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ hardcode_minus_L=yes
++ fi
+ ;;
+- esac
+
+- case $cc_basename in
+- CC*)
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- ;;
+- aCC*)
++ hpux11*)
++ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
++ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- #
+- # There doesn't appear to be a way to prevent this compiler from
+- # explicitly linking system object files so we need to strip them
+- # from the output so that they don't get included in the library
+- # dependencies.
+- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+- ;;
+- *)
+- if test "$GXX" = yes; then
+- if test $with_gnu_ld = no; then
+- case $host_cpu in
+- hppa*64*)
+- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+- ;;
+- ia64*)
+- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+- ;;
+- *)
+- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+- ;;
+- esac
+- fi
+- else
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- fi
+- ;;
+- esac
+- ;;
+- interix3*)
+- hardcode_direct_CXX=no
+- hardcode_shlibpath_var_CXX=no
+- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+- export_dynamic_flag_spec_CXX='${wl}-E'
+- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+- # Instead, shared libraries are loaded at an image base (0x10000000 by
+- # default) and relocated if they conflict, which is a slow very memory
+- # consuming and fragmenting process. To avoid this, we pick a random,
+- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+- archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+- archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+- ;;
+- irix5* | irix6*)
+- case $cc_basename in
+- CC*)
+- # SGI C++
+- archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+-
+- # Archives containing C++ object files must be created using
+- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+- # necessary to make sure instantiated templates are included
+- # in the archive.
+- old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
+- ;;
+- *)
+- if test "$GXX" = yes; then
+- if test "$with_gnu_ld" = no; then
+- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+- else
+- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
+- fi
+- fi
+- link_all_deplibs_CXX=yes
+- ;;
+- esac
+- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+- hardcode_libdir_separator_CXX=:
+- ;;
+- linux*)
+- case $cc_basename in
+- KCC*)
+- # Kuck and Associates, Inc. (KAI) C++ Compiler
+-
+- # KCC will only create a shared library if the output file
+- # ends with ".so" (or ".sl" for HP-UX), so rename the library
+- # to its proper name (with version) after linking.
+- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+- archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- #
+- # There doesn't appear to be a way to prevent this compiler from
+- # explicitly linking system object files so we need to strip them
+- # from the output so that they don't get included in the library
+- # dependencies.
+- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+-
+- hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir'
+- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+-
+- # Archives containing C++ object files must be created using
+- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+- old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+- ;;
+- icpc*)
+- # Intel C++
+- with_gnu_ld=yes
+- # version 8.0 and above of icpc choke on multiply defined symbols
+- # if we add $predep_objects and $postdep_objects, however 7.1 and
+- # earlier do not add the objects themselves.
+- case `$CC -V 2>&1` in
+- *"Version 7."*)
+- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ case $host_cpu in
++ hppa*64*)
++ archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+- *) # Version 8.0 or newer
+- tmp_idyn=
+- case $host_cpu in
+- ia64*) tmp_idyn=' -i_dynamic';;
+- esac
+- archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ ia64*)
++ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
++ ;;
++ *)
++ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+- archive_cmds_need_lc_CXX=no
+- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+- whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+- ;;
+- pgCC*)
+- # Portland Group C++ compiler
+- archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+-
+- hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+- whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+- ;;
+- cxx*)
+- # Compaq C++
+- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
++ fi
++ if test "$with_gnu_ld" = no; then
++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
++ hardcode_libdir_separator=:
+
+- runpath_var=LD_RUN_PATH
+- hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+- hardcode_libdir_separator_CXX=:
++ case $host_cpu in
++ hppa*64*|ia64*)
++ hardcode_direct=no
++ hardcode_shlibpath_var=no
++ ;;
++ *)
++ hardcode_direct=yes
++ hardcode_direct_absolute=yes
++ export_dynamic_flag_spec='${wl}-E'
+
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- #
+- # There doesn't appear to be a way to prevent this compiler from
+- # explicitly linking system object files so we need to strip them
+- # from the output so that they don't get included in the library
+- # dependencies.
+- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+- ;;
+- esac
+- ;;
+- lynxos*)
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- ;;
+- m88k*)
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- ;;
+- mvs*)
+- case $cc_basename in
+- cxx*)
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- ;;
+- *)
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- ;;
+- esac
+- ;;
+- netbsd*)
+- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+- archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+- wlarc=
+- hardcode_libdir_flag_spec_CXX='-R$libdir'
+- hardcode_direct_CXX=yes
+- hardcode_shlibpath_var_CXX=no
+- fi
+- # Workaround some broken pre-1.5 toolchains
+- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+- ;;
+- openbsd2*)
+- # C++ shared libraries are fairly broken
+- ld_shlibs_CXX=no
+- ;;
+- openbsd*)
+- hardcode_direct_CXX=yes
+- hardcode_shlibpath_var_CXX=no
+- archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+- export_dynamic_flag_spec_CXX='${wl}-E'
+- whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+- fi
+- output_verbose_link_cmd='echo'
+- ;;
+- osf3*)
+- case $cc_basename in
+- KCC*)
+- # Kuck and Associates, Inc. (KAI) C++ Compiler
+-
+- # KCC will only create a shared library if the output file
+- # ends with ".so" (or ".sl" for HP-UX), so rename the library
+- # to its proper name (with version) after linking.
+- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+-
+- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+- hardcode_libdir_separator_CXX=:
+-
+- # Archives containing C++ object files must be created using
+- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+- old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ hardcode_minus_L=yes
++ ;;
++ esac
++ fi
++ ;;
+
+- ;;
+- RCC*)
+- # Rational C++ 2.4.1
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- ;;
+- cxx*)
+- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+-
+- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+- hardcode_libdir_separator_CXX=:
+-
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- #
+- # There doesn't appear to be a way to prevent this compiler from
+- # explicitly linking system object files so we need to strip them
+- # from the output so that they don't get included in the library
+- # dependencies.
+- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+- ;;
+- *)
+- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+-
+- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+- hardcode_libdir_separator_CXX=:
+-
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
++ irix5* | irix6* | nonstopux*)
++ if test "$GCC" = yes; then
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ # Try to use the -exported_symbol ld option, if it does not
++ # work, assume that -exports_file does not work either and
++ # implicitly export all symbols.
++ save_LDFLAGS="$LDFLAGS"
++ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
++ cat >conftest.$ac_ext <<_ACEOF
++int foo(void) {}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+
+- else
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- fi
+- ;;
+- esac
+- ;;
+- osf4* | osf5*)
+- case $cc_basename in
+- KCC*)
+- # Kuck and Associates, Inc. (KAI) C++ Compiler
+-
+- # KCC will only create a shared library if the output file
+- # ends with ".so" (or ".sl" for HP-UX), so rename the library
+- # to its proper name (with version) after linking.
+- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+-
+- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+- hardcode_libdir_separator_CXX=:
+-
+- # Archives containing C++ object files must be created using
+- # the KAI C++ compiler.
+- old_archive_cmds_CXX='$CC -o $oldlib $oldobjs'
+- ;;
+- RCC*)
+- # Rational C++ 2.4.1
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- ;;
+- cxx*)
+- allow_undefined_flag_CXX=' -expect_unresolved \*'
+- archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+- archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+- echo "-hidden">> $lib.exp~
+- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
+- $rm $lib.exp'
+-
+- hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+- hardcode_libdir_separator_CXX=:
+-
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- #
+- # There doesn't appear to be a way to prevent this compiler from
+- # explicitly linking system object files so we need to strip them
+- # from the output so that they don't get included in the library
+- # dependencies.
+- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+- ;;
+- *)
+- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+-
+- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+- hardcode_libdir_separator_CXX=:
+-
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ LDFLAGS="$save_LDFLAGS"
++ else
++ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
++ fi
++ archive_cmds_need_lc='no'
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ hardcode_libdir_separator=:
++ inherit_rpath=yes
++ link_all_deplibs=yes
++ ;;
++
++ netbsd*)
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
++ else
++ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
++ fi
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ newsos6)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_direct=yes
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ hardcode_libdir_separator=:
++ hardcode_shlibpath_var=no
++ ;;
++
++ *nto* | *qnx*)
++ ;;
+
++ openbsd*)
++ if test -f /usr/libexec/ld.so; then
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ hardcode_direct_absolute=yes
++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
++ export_dynamic_flag_spec='${wl}-E'
+ else
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
++ case $host_os in
++ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_libdir_flag_spec='-R$libdir'
++ ;;
++ *)
++ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
++ ;;
++ esac
+ fi
+- ;;
+- esac
+- ;;
+- psos*)
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- ;;
+- sunos4*)
+- case $cc_basename in
+- CC*)
+- # Sun C++ 4.x
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- ;;
+- lcc*)
+- # Lucid
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- ;;
+- *)
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- ;;
+- esac
+- ;;
+- solaris*)
+- case $cc_basename in
+- CC*)
+- # Sun C++ 4.2, 5.x and Centerline C++
+- archive_cmds_need_lc_CXX=yes
+- no_undefined_flag_CXX=' -zdefs'
+- archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+-
+- hardcode_libdir_flag_spec_CXX='-R$libdir'
+- hardcode_shlibpath_var_CXX=no
+- case $host_os in
+- solaris2.[0-5] | solaris2.[0-5].*) ;;
+- *)
+- # The C++ compiler is used as linker so we must use $wl
+- # flag to pass the commands to the underlying system
+- # linker. We must also pass each convience library through
+- # to the system linker between allextract/defaultextract.
+- # The C++ compiler will combine linker options so we
+- # cannot just pass the convience library names through
+- # without $wl.
+- # Supported since Solaris 2.6 (maybe 2.5.1?)
+- whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract'
+- ;;
+- esac
+- link_all_deplibs_CXX=yes
++ else
++ ld_shlibs=no
++ fi
++ ;;
+
+- output_verbose_link_cmd='echo'
++ os2*)
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_minus_L=yes
++ allow_undefined_flag=unsupported
++ archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
++ old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
++ ;;
+
+- # Archives containing C++ object files must be created using
+- # "CC -xar", where "CC" is the Sun C++ compiler. This is
+- # necessary to make sure instantiated templates are included
+- # in the archive.
+- old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+- ;;
+- gcx*)
+- # Green Hills C++ Compiler
+- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
++ osf3*)
++ if test "$GCC" = yes; then
++ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ else
++ allow_undefined_flag=' -expect_unresolved \*'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ fi
++ archive_cmds_need_lc='no'
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ hardcode_libdir_separator=:
++ ;;
+
+- # The C++ compiler must be used to create the archive.
+- old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+- ;;
+- *)
+- # GNU C++ compiler with Solaris linker
+- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+- no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
+- if $CC --version | grep -v '^2\.7' > /dev/null; then
+- archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+-
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+- else
+- # g++ 2.7 appears to require `-G' NOT `-shared' on this
+- # platform.
+- archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+- archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+-
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+- fi
++ osf4* | osf5*) # as osf3* with the addition of -msym flag
++ if test "$GCC" = yes; then
++ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ else
++ allow_undefined_flag=' -expect_unresolved \*'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
++ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
++ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+- hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+- fi
+- ;;
+- esac
+- ;;
+- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+- no_undefined_flag_CXX='${wl}-z,text'
+- archive_cmds_need_lc_CXX=no
+- hardcode_shlibpath_var_CXX=no
+- runpath_var='LD_RUN_PATH'
+-
+- case $cc_basename in
+- CC*)
+- archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- *)
+- archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- esac
+- ;;
+- sysv5* | sco3.2v5* | sco5v6*)
+- # Note: We can NOT use -z defs as we might desire, because we do not
+- # link with -lc, and that would cause any symbols used from libc to
+- # always be unresolved, which means just about no library would
+- # ever link correctly. If we're not using GNU ld we use -z text
+- # though, which does catch some bad symbols but isn't as heavy-handed
+- # as -z defs.
+- # For security reasons, it is highly recommended that you always
+- # use absolute paths for naming shared libraries, and exclude the
+- # DT_RUNPATH tag from executables and libraries. But doing so
+- # requires that you compile everything twice, which is a pain.
+- # So that behaviour is only enabled if SCOABSPATH is set to a
+- # non-empty value in the environment. Most likely only useful for
+- # creating official distributions of packages.
+- # This is a hack until libtool officially supports absolute path
+- # names for shared libraries.
+- no_undefined_flag_CXX='${wl}-z,text'
+- allow_undefined_flag_CXX='${wl}-z,nodefs'
+- archive_cmds_need_lc_CXX=no
+- hardcode_shlibpath_var_CXX=no
+- hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+- hardcode_libdir_separator_CXX=':'
+- link_all_deplibs_CXX=yes
+- export_dynamic_flag_spec_CXX='${wl}-Bexport'
+- runpath_var='LD_RUN_PATH'
+-
+- case $cc_basename in
+- CC*)
+- archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
++ # Both c and cxx compiler support -rpath directly
++ hardcode_libdir_flag_spec='-rpath $libdir'
++ fi
++ archive_cmds_need_lc='no'
++ hardcode_libdir_separator=:
++ ;;
++
++ solaris*)
++ no_undefined_flag=' -z defs'
++ if test "$GCC" = yes; then
++ wlarc='${wl}'
++ archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ else
++ case `$CC -V 2>&1` in
++ *"Compilers 5.0"*)
++ wlarc=''
++ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
++ ;;
++ *)
++ wlarc='${wl}'
++ archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ ;;
++ esac
++ fi
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_shlibpath_var=no
++ case $host_os in
++ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+- archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
++ # The compiler driver will combine and reorder linker options,
++ # but understands `-z linker_flag'. GCC discards it without `$wl',
++ # but is careful enough not to reorder.
++ # Supported since Solaris 2.6 (maybe 2.5.1?)
++ if test "$GCC" = yes; then
++ whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
++ else
++ whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
++ fi
+ ;;
+- esac
+- ;;
+- tandem*)
+- case $cc_basename in
+- NCC*)
+- # NonStop-UX NCC 3.20
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
++ esac
++ link_all_deplibs=yes
++ ;;
++
++ sunos4*)
++ if test "x$host_vendor" = xsequent; then
++ # Use $CC to link under sequent, because it throws in some extra .o
++ # files that make .init and .fini sections work.
++ archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
++ fi
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_direct=yes
++ hardcode_minus_L=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ sysv4)
++ case $host_vendor in
++ sni)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_direct=yes # is this really true???
+ ;;
+- *)
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
++ siemens)
++ ## LD is ld it makes a PLAMLIB
++ ## CC just makes a GrossModule.
++ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
++ reload_cmds='$CC -r -o $output$reload_objs'
++ hardcode_direct=no
++ ;;
++ motorola)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+- esac
+- ;;
+- vxworks*)
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- ;;
+- *)
+- # FIXME: insert proper C++ library support
+- ld_shlibs_CXX=no
+- ;;
+-esac
+-echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+-echo "${ECHO_T}$ld_shlibs_CXX" >&6
+-test "$ld_shlibs_CXX" = no && can_build_shared=no
++ esac
++ runpath_var='LD_RUN_PATH'
++ hardcode_shlibpath_var=no
++ ;;
+
+-GCC_CXX="$GXX"
+-LD_CXX="$LD"
++ sysv4.3*)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_shlibpath_var=no
++ export_dynamic_flag_spec='-Bexport'
++ ;;
+
+-## CAVEAT EMPTOR:
+-## There is no encapsulation within the following macros, do not change
+-## the running order or otherwise move them around unless you know exactly
+-## what you are doing...
++ sysv4*MP*)
++ if test -d /usr/nec; then
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_shlibpath_var=no
++ runpath_var=LD_RUN_PATH
++ hardcode_runpath_var=yes
++ ld_shlibs=yes
++ fi
++ ;;
+
+-cat > conftest.$ac_ext <<EOF
+-class Foo
+-{
+-public:
+- Foo (void) { a = 0; }
+-private:
+- int a;
+-};
+-EOF
++ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
++ no_undefined_flag='${wl}-z,text'
++ archive_cmds_need_lc=no
++ hardcode_shlibpath_var=no
++ runpath_var='LD_RUN_PATH'
+
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; then
+- # Parse the compiler output and extract the necessary
+- # objects, libraries and library flags.
++ if test "$GCC" = yes; then
++ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ fi
++ ;;
+
+- # Sentinel used to keep track of whether or not we are before
+- # the conftest object file.
+- pre_test_object_deps_done=no
+-
+- # The `*' in the case matches for architectures that use `case' in
+- # $output_verbose_cmd can trigger glob expansion during the loop
+- # eval without this substitution.
+- output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
+-
+- for p in `eval $output_verbose_link_cmd`; do
+- case $p in
+-
+- -L* | -R* | -l*)
+- # Some compilers place space between "-{L,R}" and the path.
+- # Remove the space.
+- if test $p = "-L" \
+- || test $p = "-R"; then
+- prev=$p
+- continue
+- else
+- prev=
+- fi
++ sysv5* | sco3.2v5* | sco5v6*)
++ # Note: We can NOT use -z defs as we might desire, because we do not
++ # link with -lc, and that would cause any symbols used from libc to
++ # always be unresolved, which means just about no library would
++ # ever link correctly. If we're not using GNU ld we use -z text
++ # though, which does catch some bad symbols but isn't as heavy-handed
++ # as -z defs.
++ no_undefined_flag='${wl}-z,text'
++ allow_undefined_flag='${wl}-z,nodefs'
++ archive_cmds_need_lc=no
++ hardcode_shlibpath_var=no
++ hardcode_libdir_flag_spec='${wl}-R,$libdir'
++ hardcode_libdir_separator=':'
++ link_all_deplibs=yes
++ export_dynamic_flag_spec='${wl}-Bexport'
++ runpath_var='LD_RUN_PATH'
+
+- if test "$pre_test_object_deps_done" = no; then
+- case $p in
+- -L* | -R*)
+- # Internal compiler library paths should come after those
+- # provided the user. The postdeps already come after the
+- # user supplied libs so there is no need to process them.
+- if test -z "$compiler_lib_search_path_CXX"; then
+- compiler_lib_search_path_CXX="${prev}${p}"
+- else
+- compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
+- fi
+- ;;
+- # The "-l" case would never come before the object being
+- # linked, so don't bother handling this case.
+- esac
+- else
+- if test -z "$postdeps_CXX"; then
+- postdeps_CXX="${prev}${p}"
+- else
+- postdeps_CXX="${postdeps_CXX} ${prev}${p}"
+- fi
+- fi
+- ;;
++ if test "$GCC" = yes; then
++ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ else
++ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
++ fi
++ ;;
+
+- *.$objext)
+- # This assumes that the test object file only shows up
+- # once in the compiler output.
+- if test "$p" = "conftest.$objext"; then
+- pre_test_object_deps_done=yes
+- continue
+- fi
++ uts4*)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_shlibpath_var=no
++ ;;
+
+- if test "$pre_test_object_deps_done" = no; then
+- if test -z "$predep_objects_CXX"; then
+- predep_objects_CXX="$p"
+- else
+- predep_objects_CXX="$predep_objects_CXX $p"
+- fi
+- else
+- if test -z "$postdep_objects_CXX"; then
+- postdep_objects_CXX="$p"
+- else
+- postdep_objects_CXX="$postdep_objects_CXX $p"
+- fi
+- fi
+- ;;
++ *)
++ ld_shlibs=no
++ ;;
++ esac
+
+- *) ;; # Ignore the rest.
++ if test x$host_vendor = xsni; then
++ case $host in
++ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
++ export_dynamic_flag_spec='${wl}-Blargedynsym'
++ ;;
++ esac
++ fi
++ fi
+
+- esac
+- done
++{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
++echo "${ECHO_T}$ld_shlibs" >&6; }
++test "$ld_shlibs" = no && can_build_shared=no
+
+- # Clean up.
+- rm -f a.out a.exe
+-else
+- echo "libtool.m4: error: problem compiling CXX test program"
+-fi
++with_gnu_ld=$with_gnu_ld
+
+-$rm -f confest.$objext
+
+-# PORTME: override above test on systems where it is broken
+-case $host_os in
+-interix3*)
+- # Interix 3.5 installs completely hosed .la files for C++, so rather than
+- # hack all around it, let's just trust "g++" to DTRT.
+- predep_objects_CXX=
+- postdep_objects_CXX=
+- postdeps_CXX=
+- ;;
+
+-solaris*)
+- case $cc_basename in
+- CC*)
+- # Adding this requires a known-good setup of shared libraries for
+- # Sun compiler versions before 5.6, else PIC objects from an old
+- # archive will be linked into the output, leading to subtle bugs.
+- postdeps_CXX='-lCstd -lCrun'
+- ;;
+- esac
+- ;;
+-esac
+
+
+-case " $postdeps_CXX " in
+-*" -lc "*) archive_cmds_need_lc_CXX=no ;;
+-esac
+
+-lt_prog_compiler_wl_CXX=
+-lt_prog_compiler_pic_CXX=
+-lt_prog_compiler_static_CXX=
+
+-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+
+- # C++ specific cases for pic, static, wl, etc.
+- if test "$GXX" = yes; then
+- lt_prog_compiler_wl_CXX='-Wl,'
+- lt_prog_compiler_static_CXX='-static'
+
+- case $host_os in
+- aix*)
+- # All AIX code is PIC.
+- if test "$host_cpu" = ia64; then
+- # AIX 5 now supports IA64 processor
+- lt_prog_compiler_static_CXX='-Bstatic'
+- fi
+- ;;
+- amigaos*)
+- # FIXME: we need at least 68020 code to build shared libraries, but
+- # adding the `-m68020' flag to GCC prevents building anything better,
+- # like `-m68040'.
+- lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+- ;;
+- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+- # PIC is the default for these OSes.
+- ;;
+- mingw* | os2* | pw32*)
+- # This hack is so that the source file can tell whether it is being
+- # built for inclusion in a dll (and should export symbols for example).
+- lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+- ;;
+- darwin* | rhapsody*)
+- # PIC is the default on this platform
+- # Common symbols not allowed in MH_DYLIB files
+- lt_prog_compiler_pic_CXX='-fno-common'
+- ;;
+- *djgpp*)
+- # DJGPP does not support shared libraries at all
+- lt_prog_compiler_pic_CXX=
+- ;;
+- interix3*)
+- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+- # Instead, we relocate shared libraries at runtime.
+- ;;
+- sysv4*MP*)
+- if test -d /usr/nec; then
+- lt_prog_compiler_pic_CXX=-Kconform_pic
+- fi
+- ;;
+- hpux*)
+- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+- # not for PA HP-UX.
+- case $host_cpu in
+- hppa*64*|ia64*)
+- ;;
+- *)
+- lt_prog_compiler_pic_CXX='-fPIC'
+- ;;
+- esac
+- ;;
+- *)
+- lt_prog_compiler_pic_CXX='-fPIC'
+- ;;
+- esac
+- else
+- case $host_os in
+- aix4* | aix5*)
+- # All AIX code is PIC.
+- if test "$host_cpu" = ia64; then
+- # AIX 5 now supports IA64 processor
+- lt_prog_compiler_static_CXX='-Bstatic'
+- else
+- lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
+- fi
+- ;;
+- chorus*)
+- case $cc_basename in
+- cxch68*)
+- # Green Hills C++ Compiler
+- # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+- ;;
+- esac
+- ;;
+- darwin*)
+- # PIC is the default on this platform
+- # Common symbols not allowed in MH_DYLIB files
+- case $cc_basename in
+- xlc*)
+- lt_prog_compiler_pic_CXX='-qnocommon'
+- lt_prog_compiler_wl_CXX='-Wl,'
+- ;;
+- esac
+- ;;
+- dgux*)
+- case $cc_basename in
+- ec++*)
+- lt_prog_compiler_pic_CXX='-KPIC'
+- ;;
+- ghcx*)
+- # Green Hills C++ Compiler
+- lt_prog_compiler_pic_CXX='-pic'
+- ;;
+- *)
+- ;;
+- esac
+- ;;
+- freebsd* | kfreebsd*-gnu | dragonfly*)
+- # FreeBSD uses GNU C++
+- ;;
+- hpux9* | hpux10* | hpux11*)
+- case $cc_basename in
+- CC*)
+- lt_prog_compiler_wl_CXX='-Wl,'
+- lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+- if test "$host_cpu" != ia64; then
+- lt_prog_compiler_pic_CXX='+Z'
+- fi
+- ;;
+- aCC*)
+- lt_prog_compiler_wl_CXX='-Wl,'
+- lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+- case $host_cpu in
+- hppa*64*|ia64*)
+- # +Z the default
+- ;;
+- *)
+- lt_prog_compiler_pic_CXX='+Z'
+- ;;
+- esac
+- ;;
+- *)
+- ;;
+- esac
+- ;;
+- interix*)
+- # This is c89, which is MS Visual C++ (no shared libs)
+- # Anyone wants to do a port?
+- ;;
+- irix5* | irix6* | nonstopux*)
+- case $cc_basename in
+- CC*)
+- lt_prog_compiler_wl_CXX='-Wl,'
+- lt_prog_compiler_static_CXX='-non_shared'
+- # CC pic flag -KPIC is the default.
+- ;;
+- *)
+- ;;
+- esac
+- ;;
+- linux*)
+- case $cc_basename in
+- KCC*)
+- # KAI C++ Compiler
+- lt_prog_compiler_wl_CXX='--backend -Wl,'
+- lt_prog_compiler_pic_CXX='-fPIC'
+- ;;
+- icpc* | ecpc*)
+- # Intel C++
+- lt_prog_compiler_wl_CXX='-Wl,'
+- lt_prog_compiler_pic_CXX='-KPIC'
+- lt_prog_compiler_static_CXX='-static'
+- ;;
+- pgCC*)
+- # Portland Group C++ compiler.
+- lt_prog_compiler_wl_CXX='-Wl,'
+- lt_prog_compiler_pic_CXX='-fpic'
+- lt_prog_compiler_static_CXX='-Bstatic'
+- ;;
+- cxx*)
+- # Compaq C++
+- # Make sure the PIC flag is empty. It appears that all Alpha
+- # Linux and Compaq Tru64 Unix objects are PIC.
+- lt_prog_compiler_pic_CXX=
+- lt_prog_compiler_static_CXX='-non_shared'
+- ;;
+- *)
+- ;;
+- esac
+- ;;
+- lynxos*)
+- ;;
+- m88k*)
+- ;;
+- mvs*)
+- case $cc_basename in
+- cxx*)
+- lt_prog_compiler_pic_CXX='-W c,exportall'
+- ;;
+- *)
+- ;;
+- esac
+- ;;
+- netbsd*)
+- ;;
+- osf3* | osf4* | osf5*)
+- case $cc_basename in
+- KCC*)
+- lt_prog_compiler_wl_CXX='--backend -Wl,'
+- ;;
+- RCC*)
+- # Rational C++ 2.4.1
+- lt_prog_compiler_pic_CXX='-pic'
+- ;;
+- cxx*)
+- # Digital/Compaq C++
+- lt_prog_compiler_wl_CXX='-Wl,'
+- # Make sure the PIC flag is empty. It appears that all Alpha
+- # Linux and Compaq Tru64 Unix objects are PIC.
+- lt_prog_compiler_pic_CXX=
+- lt_prog_compiler_static_CXX='-non_shared'
+- ;;
+- *)
+- ;;
+- esac
+- ;;
+- psos*)
+- ;;
+- solaris*)
+- case $cc_basename in
+- CC*)
+- # Sun C++ 4.2, 5.x and Centerline C++
+- lt_prog_compiler_pic_CXX='-KPIC'
+- lt_prog_compiler_static_CXX='-Bstatic'
+- lt_prog_compiler_wl_CXX='-Qoption ld '
+- ;;
+- gcx*)
+- # Green Hills C++ Compiler
+- lt_prog_compiler_pic_CXX='-PIC'
+- ;;
+- *)
+- ;;
+- esac
+- ;;
+- sunos4*)
+- case $cc_basename in
+- CC*)
+- # Sun C++ 4.x
+- lt_prog_compiler_pic_CXX='-pic'
+- lt_prog_compiler_static_CXX='-Bstatic'
+- ;;
+- lcc*)
+- # Lucid
+- lt_prog_compiler_pic_CXX='-pic'
+- ;;
+- *)
+- ;;
+- esac
+- ;;
+- tandem*)
+- case $cc_basename in
+- NCC*)
+- # NonStop-UX NCC 3.20
+- lt_prog_compiler_pic_CXX='-KPIC'
+- ;;
+- *)
+- ;;
+- esac
+- ;;
+- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+- case $cc_basename in
+- CC*)
+- lt_prog_compiler_wl_CXX='-Wl,'
+- lt_prog_compiler_pic_CXX='-KPIC'
+- lt_prog_compiler_static_CXX='-Bstatic'
+- ;;
+- esac
+- ;;
+- vxworks*)
+- ;;
+- *)
+- lt_prog_compiler_can_build_shared_CXX=no
+- ;;
+- esac
+- fi
+-
+-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
+-echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6
+-
+-#
+-# Check to make sure the PIC flag actually works.
+-#
+-if test -n "$lt_prog_compiler_pic_CXX"; then
+-
+-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6
+-if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- lt_prog_compiler_pic_works_CXX=no
+- ac_outfile=conftest.$ac_objext
+- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+- lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
+- # Insert the option either (1) after the last *FLAGS variable, or
+- # (2) before a word containing "conftest.", or (3) at the end.
+- # Note that $ac_compile itself does not contain backslashes and begins
+- # with a dollar sign (not a hyphen), so the echo should work correctly.
+- # The option is referenced via a variable to avoid confusing sed.
+- lt_compile=`echo "$ac_compile" | $SED \
+- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+- -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:11578: $lt_compile\"" >&5)
+- (eval "$lt_compile" 2>conftest.err)
+- ac_status=$?
+- cat conftest.err >&5
+- echo "$as_me:11582: \$? = $ac_status" >&5
+- if (exit $ac_status) && test -s "$ac_outfile"; then
+- # The compiler can only warn and ignore the option if not recognized
+- # So say no if there are warnings other than the usual output.
+- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+- lt_prog_compiler_pic_works_CXX=yes
+- fi
+- fi
+- $rm conftest*
+-
+-fi
+-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5
+-echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6
+-
+-if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then
+- case $lt_prog_compiler_pic_CXX in
+- "" | " "*) ;;
+- *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
+- esac
+-else
+- lt_prog_compiler_pic_CXX=
+- lt_prog_compiler_can_build_shared_CXX=no
+-fi
+-
+-fi
+-case $host_os in
+- # For platforms which do not support PIC, -DPIC is meaningless:
+- *djgpp*)
+- lt_prog_compiler_pic_CXX=
+- ;;
+- *)
+- lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
+- ;;
+-esac
+-
+-#
+-# Check to make sure the static flag actually works.
+-#
+-wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
+-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+-if test "${lt_prog_compiler_static_works_CXX+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- lt_prog_compiler_static_works_CXX=no
+- save_LDFLAGS="$LDFLAGS"
+- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+- printf "$lt_simple_link_test_code" > conftest.$ac_ext
+- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+- # The linker can only warn and ignore the option if not recognized
+- # So say no if there are warnings
+- if test -s conftest.err; then
+- # Append any errors to the config.log.
+- cat conftest.err 1>&5
+- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+- if diff conftest.exp conftest.er2 >/dev/null; then
+- lt_prog_compiler_static_works_CXX=yes
+- fi
+- else
+- lt_prog_compiler_static_works_CXX=yes
+- fi
+- fi
+- $rm conftest*
+- LDFLAGS="$save_LDFLAGS"
+-
+-fi
+-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5
+-echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6
+-
+-if test x"$lt_prog_compiler_static_works_CXX" = xyes; then
+- :
+-else
+- lt_prog_compiler_static_CXX=
+-fi
+-
+-
+-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- lt_cv_prog_compiler_c_o_CXX=no
+- $rm -r conftest 2>/dev/null
+- mkdir conftest
+- cd conftest
+- mkdir out
+- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+-
+- lt_compiler_flag="-o out/conftest2.$ac_objext"
+- # Insert the option either (1) after the last *FLAGS variable, or
+- # (2) before a word containing "conftest.", or (3) at the end.
+- # Note that $ac_compile itself does not contain backslashes and begins
+- # with a dollar sign (not a hyphen), so the echo should work correctly.
+- lt_compile=`echo "$ac_compile" | $SED \
+- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+- -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:11682: $lt_compile\"" >&5)
+- (eval "$lt_compile" 2>out/conftest.err)
+- ac_status=$?
+- cat out/conftest.err >&5
+- echo "$as_me:11686: \$? = $ac_status" >&5
+- if (exit $ac_status) && test -s out/conftest2.$ac_objext
+- then
+- # The compiler can only warn and ignore the option if not recognized
+- # So say no if there are warnings
+- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+- lt_cv_prog_compiler_c_o_CXX=yes
+- fi
+- fi
+- chmod u+w . 2>&5
+- $rm conftest*
+- # SGI C++ compiler will create directory out/ii_files/ for
+- # template instantiation
+- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+- $rm out/* && rmdir out
+- cd ..
+- rmdir conftest
+- $rm conftest*
+-
+-fi
+-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6
+
+
+-hard_links="nottested"
+-if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
+- # do not overwrite the value of need_locks provided by the user
+- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+- hard_links=yes
+- $rm conftest*
+- ln conftest.a conftest.b 2>/dev/null && hard_links=no
+- touch conftest.a
+- ln conftest.a conftest.b 2>&5 || hard_links=no
+- ln conftest.a conftest.b 2>/dev/null && hard_links=no
+- echo "$as_me:$LINENO: result: $hard_links" >&5
+-echo "${ECHO_T}$hard_links" >&6
+- if test "$hard_links" = no; then
+- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+- need_locks=warn
+- fi
+-else
+- need_locks=no
+-fi
+
+-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+
+- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+- case $host_os in
+- aix4* | aix5*)
+- # If we're using GNU nm, then we don't want the "-C" option.
+- # -C means demangle to AIX nm, but means don't demangle with GNU nm
+- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+- export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+- else
+- export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+- fi
+- ;;
+- pw32*)
+- export_symbols_cmds_CXX="$ltdll_cmds"
+- ;;
+- cygwin* | mingw*)
+- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+- ;;
+- *)
+- export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+- ;;
+- esac
+
+-echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+-echo "${ECHO_T}$ld_shlibs_CXX" >&6
+-test "$ld_shlibs_CXX" = no && can_build_shared=no
+
+ #
+ # Do we need to explicitly link libc?
+ #
+-case "x$archive_cmds_need_lc_CXX" in
++case "x$archive_cmds_need_lc" in
+ x|xyes)
+ # Assume -lc should be added
+- archive_cmds_need_lc_CXX=yes
++ archive_cmds_need_lc=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+- case $archive_cmds_CXX in
++ case $archive_cmds in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+@@ -11777,10 +8967,10 @@
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+- $rm conftest*
+- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
++ { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
++echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
++ $RM conftest*
++ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+@@ -11791,40 +8981,248 @@
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+- wl=$lt_prog_compiler_wl_CXX
+- pic_flag=$lt_prog_compiler_pic_CXX
++ wl=$lt_prog_compiler_wl
++ pic_flag=$lt_prog_compiler_pic
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+- lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
+- allow_undefined_flag_CXX=
+- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+- (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
++ lt_save_allow_undefined_flag=$allow_undefined_flag
++ allow_undefined_flag=
++ if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
++ (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ then
+- archive_cmds_need_lc_CXX=no
++ archive_cmds_need_lc=no
+ else
+- archive_cmds_need_lc_CXX=yes
++ archive_cmds_need_lc=yes
+ fi
+- allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
++ allow_undefined_flag=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+- $rm conftest*
+- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
+-echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6
++ $RM conftest*
++ { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
++echo "${ECHO_T}$archive_cmds_need_lc" >&6; }
+ ;;
+ esac
+ fi
+ ;;
+ esac
+
+-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
++echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
++
++if test "$GCC" = yes; then
++ case $host_os in
++ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
++ *) lt_awk_arg="/^libraries:/" ;;
++ esac
++ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
++ if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
++ # if the path contains ";" then we assume it to be the separator
++ # otherwise default to the standard path separator (i.e. ":") - it is
++ # assumed that no part of a normal pathname contains ";" but that should
++ # okay in the real world where ";" in dirpaths is itself problematic.
++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
++ else
++ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ fi
++ # Ok, now we have the path, separated by spaces, we can step through it
++ # and add multilib dir if necessary.
++ lt_tmp_lt_search_path_spec=
++ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
++ for lt_sys_path in $lt_search_path_spec; do
++ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
++ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
++ else
++ test -d "$lt_sys_path" && \
++ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
++ fi
++ done
++ lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
++BEGIN {RS=" "; FS="/|\n";} {
++ lt_foo="";
++ lt_count=0;
++ for (lt_i = NF; lt_i > 0; lt_i--) {
++ if ($lt_i != "" && $lt_i != ".") {
++ if ($lt_i == "..") {
++ lt_count++;
++ } else {
++ if (lt_count == 0) {
++ lt_foo="/" $lt_i lt_foo;
++ } else {
++ lt_count--;
++ }
++ }
++ }
++ }
++ if (lt_foo != "") { lt_freq[lt_foo]++; }
++ if (lt_freq[lt_foo] == 1) { print lt_foo; }
++}'`
++ sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
++else
++ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
++fi
+ library_names_spec=
+ libname_spec='lib$name'
+ soname_spec=
+@@ -11838,20 +9236,6 @@
+ version_type=none
+ dynamic_linker="$host_os ld.so"
+ sys_lib_dlsearch_path_spec="/lib /usr/lib"
+-if test "$GCC" = yes; then
+- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+- # if the path contains ";" then we assume it to be the separator
+- # otherwise default to the standard path separator (i.e. ":") - it is
+- # assumed that no part of a normal pathname contains ";" but that should
+- # okay in the real world where ";" in dirpaths is itself problematic.
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+- else
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+- fi
+-else
+- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+-fi
+ need_lib_prefix=unknown
+ hardcode_into_libs=no
+
+@@ -11869,7 +9253,7 @@
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+-aix4* | aix5*)
++aix[4-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+@@ -11888,7 +9272,7 @@
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
++ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+@@ -11914,9 +9298,18 @@
+ ;;
+
+ amigaos*)
+- library_names_spec='$libname.ixlibrary $libname.a'
+- # Create ${libname}_ixlibrary.a entries in /sys/libs.
+- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
++ case $host_cpu in
++ powerpc)
++ # Since July 2007 AmigaOS4 officially supports .so libraries.
++ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ ;;
++ m68k)
++ library_names_spec='$libname.ixlibrary $libname.a'
++ # Create ${libname}_ixlibrary.a entries in /sys/libs.
++ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
++ ;;
++ esac
+ ;;
+
+ beos*)
+@@ -11950,14 +9343,17 @@
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
++ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+- chmod a+x \$dldir/$dlname'
++ chmod a+x \$dldir/$dlname~
++ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
++ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
++ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+- $rm \$dlpath'
++ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+@@ -11969,17 +9365,17 @@
+ mingw*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
++ sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
++ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
++ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+@@ -12003,17 +9399,13 @@
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
++ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+- if test "$GCC" = yes; then
+- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+- else
+- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+- fi
++
++ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+@@ -12030,18 +9422,6 @@
+ dynamic_linker=no
+ ;;
+
+-kfreebsd*-gnu)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=no
+- hardcode_into_libs=yes
+- dynamic_linker='GNU ld.so'
+- ;;
+-
+ freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+@@ -12079,7 +9459,7 @@
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+- freebsd*) # from 4.6 on
++ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+@@ -12118,18 +9498,18 @@
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+- hppa*64*)
+- shrext_cmds='.sl'
+- hardcode_into_libs=yes
+- dynamic_linker="$host_os dld.sl"
+- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+- ;;
+- *)
++ hppa*64*)
++ shrext_cmds='.sl'
++ hardcode_into_libs=yes
++ dynamic_linker="$host_os dld.sl"
++ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
++ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ soname_spec='${libname}${release}${shared_ext}$major'
++ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
++ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
++ ;;
++ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+@@ -12142,7 +9522,7 @@
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+-interix3*)
++interix[3-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+@@ -12197,7 +9577,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux*)
++linux* | k*bsd*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+@@ -12206,6 +9586,60 @@
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
++ # Some binutils ld are patched to set DT_RUNPATH
++ save_LDFLAGS=$LDFLAGS
++ save_libdir=$libdir
++ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
++ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++int
++main ()
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
++ shlibpath_overrides_runpath=yes
++fi
++
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ LDFLAGS=$save_LDFLAGS
++ libdir=$save_libdir
++
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+@@ -12213,7 +9647,7 @@
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
++ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+@@ -12226,23 +9660,11 @@
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+-knetbsd*-gnu)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=no
+- hardcode_into_libs=yes
+- dynamic_linker='GNU ld.so'
+- ;;
+-
+ netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
++ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+@@ -12263,14 +9685,16 @@
+ shlibpath_overrides_runpath=yes
+ ;;
+
+-nto-qnx*)
+- version_type=linux
++*nto* | *qnx*)
++ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ dynamic_linker='ldqnx.so'
+ ;;
+
+ openbsd*)
+@@ -12279,13 +9703,13 @@
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+- *) need_version=no ;;
++ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
++ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+@@ -12319,6 +9743,10 @@
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
++rdos*)
++ dynamic_linker=no
++ ;;
++
+ solaris*)
+ version_type=linux
+ need_lib_prefix=no
+@@ -12353,7 +9781,6 @@
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+- export_dynamic_flag_spec='${wl}-Blargedynsym'
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+@@ -12384,13 +9811,12 @@
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+- shlibpath_overrides_runpath=no
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+- shlibpath_overrides_runpath=yes
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+@@ -12400,6 +9826,17 @@
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
++tpf*)
++ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ ;;
++
+ uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+@@ -12411,8 +9848,8 @@
+ dynamic_linker=no
+ ;;
+ esac
+-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+-echo "${ECHO_T}$dynamic_linker" >&6
++{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
++echo "${ECHO_T}$dynamic_linker" >&6; }
+ test "$dynamic_linker" = no && can_build_shared=no
+
+ variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+@@ -12420,6940 +9857,2455 @@
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+ fi
+
+-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+-hardcode_action_CXX=
+-if test -n "$hardcode_libdir_flag_spec_CXX" || \
+- test -n "$runpath_var_CXX" || \
+- test "X$hardcode_automatic_CXX" = "Xyes" ; then
+-
+- # We can hardcode non-existant directories.
+- if test "$hardcode_direct_CXX" != no &&
+- # If the only mechanism to avoid hardcoding is shlibpath_var, we
+- # have to relink, otherwise we might link with an installed library
+- # when we should be linking with a yet-to-be-installed one
+- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
+- test "$hardcode_minus_L_CXX" != no; then
+- # Linking always hardcodes the temporary library directory.
+- hardcode_action_CXX=relink
+- else
+- # We can link without hardcoding, and we can hardcode nonexisting dirs.
+- hardcode_action_CXX=immediate
+- fi
+-else
+- # We cannot hardcode anything, or else we can only hardcode existing
+- # directories.
+- hardcode_action_CXX=unsupported
++if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
++ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+ fi
+-echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+-echo "${ECHO_T}$hardcode_action_CXX" >&6
+-
+-if test "$hardcode_action_CXX" = relink; then
+- # Fast installation is not supported
+- enable_fast_install=no
+-elif test "$shlibpath_overrides_runpath" = yes ||
+- test "$enable_shared" = no; then
+- # Fast installation is not necessary
+- enable_fast_install=needless
++if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
++ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+ fi
+
+
+-# The else clause should only fire when bootstrapping the
+-# libtool distribution, otherwise you forgot to ship ltmain.sh
+-# with your package, and you will get complaints that there are
+-# no rules to generate ltmain.sh.
+-if test -f "$ltmain"; then
+- # See if we are running on zsh, and set the options which allow our commands through
+- # without removal of \ escapes.
+- if test -n "${ZSH_VERSION+set}" ; then
+- setopt NO_GLOB_SUBST
+- fi
+- # Now quote all the things that may contain metacharacters while being
+- # careful not to overquote the AC_SUBSTed values. We take copies of the
+- # variables and quote the copies for generation of the libtool script.
+- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+- SED SHELL STRIP \
+- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+- deplibs_check_method reload_flag reload_cmds need_locks \
+- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+- lt_cv_sys_global_symbol_to_c_name_address \
+- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+- old_postinstall_cmds old_postuninstall_cmds \
+- compiler_CXX \
+- CC_CXX \
+- LD_CXX \
+- lt_prog_compiler_wl_CXX \
+- lt_prog_compiler_pic_CXX \
+- lt_prog_compiler_static_CXX \
+- lt_prog_compiler_no_builtin_flag_CXX \
+- export_dynamic_flag_spec_CXX \
+- thread_safe_flag_spec_CXX \
+- whole_archive_flag_spec_CXX \
+- enable_shared_with_static_runtimes_CXX \
+- old_archive_cmds_CXX \
+- old_archive_from_new_cmds_CXX \
+- predep_objects_CXX \
+- postdep_objects_CXX \
+- predeps_CXX \
+- postdeps_CXX \
+- compiler_lib_search_path_CXX \
+- archive_cmds_CXX \
+- archive_expsym_cmds_CXX \
+- postinstall_cmds_CXX \
+- postuninstall_cmds_CXX \
+- old_archive_from_expsyms_cmds_CXX \
+- allow_undefined_flag_CXX \
+- no_undefined_flag_CXX \
+- export_symbols_cmds_CXX \
+- hardcode_libdir_flag_spec_CXX \
+- hardcode_libdir_flag_spec_ld_CXX \
+- hardcode_libdir_separator_CXX \
+- hardcode_automatic_CXX \
+- module_cmds_CXX \
+- module_expsym_cmds_CXX \
+- lt_cv_prog_compiler_c_o_CXX \
+- exclude_expsyms_CXX \
+- include_expsyms_CXX; do
+-
+- case $var in
+- old_archive_cmds_CXX | \
+- old_archive_from_new_cmds_CXX | \
+- archive_cmds_CXX | \
+- archive_expsym_cmds_CXX | \
+- module_cmds_CXX | \
+- module_expsym_cmds_CXX | \
+- old_archive_from_expsyms_cmds_CXX | \
+- export_symbols_cmds_CXX | \
+- extract_expsyms_cmds | reload_cmds | finish_cmds | \
+- postinstall_cmds | postuninstall_cmds | \
+- old_postinstall_cmds | old_postuninstall_cmds | \
+- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+- # Double-quote double-evaled strings.
+- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+- ;;
+- *)
+- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+- ;;
+- esac
+- done
+-
+- case $lt_echo in
+- *'\$0 --fallback-echo"')
+- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+- ;;
+- esac
+-
+-cfgfile="$ofile"
+-
+- cat <<__EOF__ >> "$cfgfile"
+-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+
+-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+-# Shell to use when invoking shell scripts.
+-SHELL=$lt_SHELL
+
+-# Whether or not to build shared libraries.
+-build_libtool_libs=$enable_shared
+
+-# Whether or not to build static libraries.
+-build_old_libs=$enable_static
+
+-# Whether or not to add -lc for building shared libraries.
+-build_libtool_need_lc=$archive_cmds_need_lc_CXX
+
+-# Whether or not to disallow shared libs when runtime libs are static
+-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+
+-# Whether or not to optimize for fast installation.
+-fast_install=$enable_fast_install
+
+-# The host system.
+-host_alias=$host_alias
+-host=$host
+-host_os=$host_os
+
+-# The build system.
+-build_alias=$build_alias
+-build=$build
+-build_os=$build_os
+
+-# An echo program that does not interpret backslashes.
+-echo=$lt_echo
+
+-# The archiver.
+-AR=$lt_AR
+-AR_FLAGS=$lt_AR_FLAGS
+
+-# A C compiler.
+-LTCC=$lt_LTCC
+
+-# LTCC compiler flags.
+-LTCFLAGS=$lt_LTCFLAGS
+
+-# A language-specific compiler.
+-CC=$lt_compiler_CXX
+
+-# Is the compiler the GNU C compiler?
+-with_gcc=$GCC_CXX
+
+-# An ERE matcher.
+-EGREP=$lt_EGREP
+
+-# The linker used to build libraries.
+-LD=$lt_LD_CXX
+
+-# Whether we need hard or soft links.
+-LN_S=$lt_LN_S
+
+-# A BSD-compatible nm program.
+-NM=$lt_NM
+
+-# A symbol stripping program
+-STRIP=$lt_STRIP
+
+-# Used to examine libraries when file_magic_cmd begins "file"
+-MAGIC_CMD=$MAGIC_CMD
+
+-# Used on cygwin: DLL creation program.
+-DLLTOOL="$DLLTOOL"
+
+-# Used on cygwin: object dumper.
+-OBJDUMP="$OBJDUMP"
+
+-# Used on cygwin: assembler.
+-AS="$AS"
+
+-# The name of the directory that contains temporary libtool files.
+-objdir=$objdir
+
+-# How to create reloadable object files.
+-reload_flag=$lt_reload_flag
+-reload_cmds=$lt_reload_cmds
+
+-# How to pass a linker flag through the compiler.
+-wl=$lt_lt_prog_compiler_wl_CXX
+
+-# Object file suffix (normally "o").
+-objext="$ac_objext"
+
+-# Old archive suffix (normally "a").
+-libext="$libext"
+
+-# Shared library suffix (normally ".so").
+-shrext_cmds='$shrext_cmds'
+
+-# Executable file suffix (normally "").
+-exeext="$exeext"
+
+-# Additional compiler flags for building library objects.
+-pic_flag=$lt_lt_prog_compiler_pic_CXX
+-pic_mode=$pic_mode
+
+-# What is the maximum length of a command?
+-max_cmd_len=$lt_cv_sys_max_cmd_len
+
+-# Does compiler simultaneously support -c and -o options?
+-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
+
+-# Must we lock files when doing compilation?
+-need_locks=$lt_need_locks
+
+-# Do we need the lib prefix for modules?
+-need_lib_prefix=$need_lib_prefix
+
+-# Do we need a version for libraries?
+-need_version=$need_version
+
+-# Whether dlopen is supported.
+-dlopen_support=$enable_dlopen
+
+-# Whether dlopen of programs is supported.
+-dlopen_self=$enable_dlopen_self
+
+-# Whether dlopen of statically linked programs is supported.
+-dlopen_self_static=$enable_dlopen_self_static
+
+-# Compiler flag to prevent dynamic linking.
+-link_static_flag=$lt_lt_prog_compiler_static_CXX
+
+-# Compiler flag to turn off builtin functions.
+-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
+
+-# Compiler flag to allow reflexive dlopens.
+-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
+
+-# Compiler flag to generate shared objects directly from archives.
+-whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
+
+-# Compiler flag to generate thread-safe objects.
+-thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
+
+-# Library versioning type.
+-version_type=$version_type
+
+-# Format of library name prefix.
+-libname_spec=$lt_libname_spec
+
+-# List of archive names. First name is the real one, the rest are links.
+-# The last name is the one that the linker finds with -lNAME.
+-library_names_spec=$lt_library_names_spec
+
+-# The coded name of the library, if different from the real name.
+-soname_spec=$lt_soname_spec
+
+-# Commands used to build and install an old-style archive.
+-RANLIB=$lt_RANLIB
+-old_archive_cmds=$lt_old_archive_cmds_CXX
+-old_postinstall_cmds=$lt_old_postinstall_cmds
+-old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+-# Create an old-style archive from a shared archive.
+-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
+
+-# Create a temporary old-style archive to link instead of a shared archive.
+-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
+
+-# Commands used to build and install a shared archive.
+-archive_cmds=$lt_archive_cmds_CXX
+-archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
+-postinstall_cmds=$lt_postinstall_cmds
+-postuninstall_cmds=$lt_postuninstall_cmds
+
+-# Commands used to build a loadable module (assumed same as above if empty)
+-module_cmds=$lt_module_cmds_CXX
+-module_expsym_cmds=$lt_module_expsym_cmds_CXX
+
+-# Commands to strip libraries.
+-old_striplib=$lt_old_striplib
+-striplib=$lt_striplib
+
+-# Dependencies to place before the objects being linked to create a
+-# shared library.
+-predep_objects=$lt_predep_objects_CXX
+-
+-# Dependencies to place after the objects being linked to create a
+-# shared library.
+-postdep_objects=$lt_postdep_objects_CXX
+-
+-# Dependencies to place before the objects being linked to create a
+-# shared library.
+-predeps=$lt_predeps_CXX
+-
+-# Dependencies to place after the objects being linked to create a
+-# shared library.
+-postdeps=$lt_postdeps_CXX
+-
+-# The library search path used internally by the compiler when linking
+-# a shared library.
+-compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+
+-# Method to check whether dependent libraries are shared objects.
+-deplibs_check_method=$lt_deplibs_check_method
+
+-# Command to use when deplibs_check_method == file_magic.
+-file_magic_cmd=$lt_file_magic_cmd
+
+-# Flag that allows shared libraries with undefined symbols to be built.
+-allow_undefined_flag=$lt_allow_undefined_flag_CXX
+
+-# Flag that forces no undefined symbols.
+-no_undefined_flag=$lt_no_undefined_flag_CXX
+
+-# Commands used to finish a libtool library installation in a directory.
+-finish_cmds=$lt_finish_cmds
+
+-# Same as above, but a single script fragment to be evaled but not shown.
+-finish_eval=$lt_finish_eval
+
+-# Take the output of nm and produce a listing of raw symbols and C names.
+-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+-# Transform the output of nm in a proper C declaration
+-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+-# Transform the output of nm in a C name address pair
+-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+-# This is the shared library runtime path variable.
+-runpath_var=$runpath_var
+
+-# This is the shared library path variable.
+-shlibpath_var=$shlibpath_var
+
+-# Is shlibpath searched before the hard-coded library search path?
+-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+-# How to hardcode a shared library path into an executable.
+-hardcode_action=$hardcode_action_CXX
+
+-# Whether we should hardcode library paths into libraries.
+-hardcode_into_libs=$hardcode_into_libs
+
+-# Flag to hardcode \$libdir into a binary during linking.
+-# This must work even if \$libdir does not exist.
+-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
+
+-# If ld is used when linking, flag to hardcode \$libdir into
+-# a binary during linking. This must work even if \$libdir does
+-# not exist.
+-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
+-
+-# Whether we need a single -rpath flag with a separated argument.
+-hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
+-
+-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+-# resulting binary.
+-hardcode_direct=$hardcode_direct_CXX
+-
+-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+-# resulting binary.
+-hardcode_minus_L=$hardcode_minus_L_CXX
+-
+-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+-# the resulting binary.
+-hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
+-
+-# Set to yes if building a shared library automatically hardcodes DIR into the library
+-# and all subsequent libraries and executables linked against it.
+-hardcode_automatic=$hardcode_automatic_CXX
+
+-# Variables whose values should be saved in libtool wrapper scripts and
+-# restored at relink time.
+-variables_saved_for_relink="$variables_saved_for_relink"
+
+-# Whether libtool must link a program against all its dependency libraries.
+-link_all_deplibs=$link_all_deplibs_CXX
+
+-# Compile-time system search path for libraries
+-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+-# Run-time system search path for libraries
+-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+-# Fix the shell variable \$srcfile for the compiler.
+-fix_srcfile_path="$fix_srcfile_path_CXX"
+
+-# Set to yes if exported symbols are required.
+-always_export_symbols=$always_export_symbols_CXX
+
+-# The commands to list exported symbols.
+-export_symbols_cmds=$lt_export_symbols_cmds_CXX
+
+-# The commands to extract the exported symbol list from a shared archive.
+-extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+-# Symbols that should not be listed in the preloaded symbols.
+-exclude_expsyms=$lt_exclude_expsyms_CXX
+
+-# Symbols that must always be exported.
+-include_expsyms=$lt_include_expsyms_CXX
+
+-# ### END LIBTOOL TAG CONFIG: $tagname
+
+-__EOF__
+
++ { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
++echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
++hardcode_action=
++if test -n "$hardcode_libdir_flag_spec" ||
++ test -n "$runpath_var" ||
++ test "X$hardcode_automatic" = "Xyes" ; then
+
+-else
+- # If there is no Makefile yet, we rely on a make rule to execute
+- # `config.status --recheck' to rerun these tests and create the
+- # libtool script then.
+- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+- if test -f "$ltmain_in"; then
+- test -f Makefile && make "$ltmain"
++ # We can hardcode non-existent directories.
++ if test "$hardcode_direct" != no &&
++ # If the only mechanism to avoid hardcoding is shlibpath_var, we
++ # have to relink, otherwise we might link with an installed library
++ # when we should be linking with a yet-to-be-installed one
++ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
++ test "$hardcode_minus_L" != no; then
++ # Linking always hardcodes the temporary library directory.
++ hardcode_action=relink
++ else
++ # We can link without hardcoding, and we can hardcode nonexisting dirs.
++ hardcode_action=immediate
+ fi
++else
++ # We cannot hardcode anything, or else we can only hardcode existing
++ # directories.
++ hardcode_action=unsupported
+ fi
++{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
++echo "${ECHO_T}$hardcode_action" >&6; }
+
++if test "$hardcode_action" = relink ||
++ test "$inherit_rpath" = yes; then
++ # Fast installation is not supported
++ enable_fast_install=no
++elif test "$shlibpath_overrides_runpath" = yes ||
++ test "$enable_shared" = no; then
++ # Fast installation is not necessary
++ enable_fast_install=needless
++fi
+
+-ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+-CC=$lt_save_CC
+-LDCXX=$LD
+-LD=$lt_save_LD
+-GCC=$lt_save_GCC
+-with_gnu_ldcxx=$with_gnu_ld
+-with_gnu_ld=$lt_save_with_gnu_ld
+-lt_cv_path_LDCXX=$lt_cv_path_LD
+-lt_cv_path_LD=$lt_save_path_LD
+-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+
+- else
+- tagname=""
+- fi
+- ;;
+
+- F77)
+- if test -n "$F77" && test "X$F77" != "Xno"; then
+
+-ac_ext=f
+-ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
+-ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_f77_compiler_gnu
+-
+-
+-archive_cmds_need_lc_F77=no
+-allow_undefined_flag_F77=
+-always_export_symbols_F77=no
+-archive_expsym_cmds_F77=
+-export_dynamic_flag_spec_F77=
+-hardcode_direct_F77=no
+-hardcode_libdir_flag_spec_F77=
+-hardcode_libdir_flag_spec_ld_F77=
+-hardcode_libdir_separator_F77=
+-hardcode_minus_L_F77=no
+-hardcode_automatic_F77=no
+-module_cmds_F77=
+-module_expsym_cmds_F77=
+-link_all_deplibs_F77=unknown
+-old_archive_cmds_F77=$old_archive_cmds
+-no_undefined_flag_F77=
+-whole_archive_flag_spec_F77=
+-enable_shared_with_static_runtimes_F77=no
+
+-# Source file extension for f77 test sources.
+-ac_ext=f
++ if test "x$enable_dlopen" != xyes; then
++ enable_dlopen=unknown
++ enable_dlopen_self=unknown
++ enable_dlopen_self_static=unknown
++else
++ lt_cv_dlopen=no
++ lt_cv_dlopen_libs=
+
+-# Object file extension for compiled f77 test sources.
+-objext=o
+-objext_F77=$objext
++ case $host_os in
++ beos*)
++ lt_cv_dlopen="load_add_on"
++ lt_cv_dlopen_libs=
++ lt_cv_dlopen_self=yes
++ ;;
+
+-# Code to be used in simple compile tests
+-lt_simple_compile_test_code=" subroutine t\n return\n end\n"
++ mingw* | pw32*)
++ lt_cv_dlopen="LoadLibrary"
++ lt_cv_dlopen_libs=
++ ;;
+
+-# Code to be used in simple link tests
+-lt_simple_link_test_code=" program t\n end\n"
++ cygwin*)
++ lt_cv_dlopen="dlopen"
++ lt_cv_dlopen_libs=
++ ;;
+
+-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
++ darwin*)
++ # if libdl is installed we need to link against it
++ { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
++echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_dl_dlopen+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
+-# If no C compiler was specified, use CC.
+-LTCC=${LTCC-"$CC"}
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++int
++main ()
++{
++return dlopen ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_dl_dlopen=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+-# If no C compiler flags were specified, use CFLAGS.
+-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
++ ac_cv_lib_dl_dlopen=no
++fi
+
+-# Allow CC to be a program name with arguments.
+-compiler=$CC
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
++echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
++if test $ac_cv_lib_dl_dlopen = yes; then
++ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
++else
+
++ lt_cv_dlopen="dyld"
++ lt_cv_dlopen_libs=
++ lt_cv_dlopen_self=yes
+
+-# save warnings/boilerplate of simple test code
+-ac_outfile=conftest.$ac_objext
+-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+-_lt_compiler_boilerplate=`cat conftest.err`
+-$rm conftest*
++fi
+
+-ac_outfile=conftest.$ac_objext
+-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+-_lt_linker_boilerplate=`cat conftest.err`
+-$rm conftest*
++ ;;
+
++ *)
++ { echo "$as_me:$LINENO: checking for shl_load" >&5
++echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
++if test "${ac_cv_func_shl_load+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define shl_load innocuous_shl_load
+
+-# Allow CC to be a program name with arguments.
+-lt_save_CC="$CC"
+-CC=${F77-"f77"}
+-compiler=$CC
+-compiler_F77=$CC
+-for cc_temp in $compiler""; do
+- case $cc_temp in
+- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+- \-*) ;;
+- *) break;;
+- esac
+-done
+-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char shl_load (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
+
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
+
+-echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
+-echo "$as_me:$LINENO: result: $can_build_shared" >&5
+-echo "${ECHO_T}$can_build_shared" >&6
++#undef shl_load
+
+-echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+-test "$can_build_shared" = "no" && enable_shared=no
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char shl_load ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_shl_load || defined __stub___shl_load
++choke me
++#endif
+
+-# On AIX, shared libraries and static libraries use the same namespace, and
+-# are all built from PIC.
+-case $host_os in
+-aix3*)
+- test "$enable_shared" = yes && enable_static=no
+- if test -n "$RANLIB"; then
+- archive_cmds="$archive_cmds~\$RANLIB \$lib"
+- postinstall_cmds='$RANLIB $lib'
+- fi
+- ;;
+-aix4* | aix5*)
+- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+- test "$enable_shared" = yes && enable_static=no
+- fi
+- ;;
++int
++main ()
++{
++return shl_load ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
+ esac
+-echo "$as_me:$LINENO: result: $enable_shared" >&5
+-echo "${ECHO_T}$enable_shared" >&6
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func_shl_load=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+-echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+-# Make sure either enable_shared or enable_static is yes.
+-test "$enable_shared" = yes || enable_static=yes
+-echo "$as_me:$LINENO: result: $enable_static" >&5
+-echo "${ECHO_T}$enable_static" >&6
+-
+-GCC_F77="$G77"
+-LD_F77="$LD"
+-
+-lt_prog_compiler_wl_F77=
+-lt_prog_compiler_pic_F77=
+-lt_prog_compiler_static_F77=
++ ac_cv_func_shl_load=no
++fi
+
+-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
++echo "${ECHO_T}$ac_cv_func_shl_load" >&6; }
++if test $ac_cv_func_shl_load = yes; then
++ lt_cv_dlopen="shl_load"
++else
++ { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
++echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
++if test "${ac_cv_lib_dld_shl_load+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldld $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
+- if test "$GCC" = yes; then
+- lt_prog_compiler_wl_F77='-Wl,'
+- lt_prog_compiler_static_F77='-static'
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char shl_load ();
++int
++main ()
++{
++return shl_load ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_dld_shl_load=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+- case $host_os in
+- aix*)
+- # All AIX code is PIC.
+- if test "$host_cpu" = ia64; then
+- # AIX 5 now supports IA64 processor
+- lt_prog_compiler_static_F77='-Bstatic'
+- fi
+- ;;
++ ac_cv_lib_dld_shl_load=no
++fi
+
+- amigaos*)
+- # FIXME: we need at least 68020 code to build shared libraries, but
+- # adding the `-m68020' flag to GCC prevents building anything better,
+- # like `-m68040'.
+- lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
+- ;;
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
++echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
++if test $ac_cv_lib_dld_shl_load = yes; then
++ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
++else
++ { echo "$as_me:$LINENO: checking for dlopen" >&5
++echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
++if test "${ac_cv_func_dlopen+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define dlopen innocuous_dlopen
+
+- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+- # PIC is the default for these OSes.
+- ;;
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char dlopen (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
+
+- mingw* | pw32* | os2*)
+- # This hack is so that the source file can tell whether it is being
+- # built for inclusion in a dll (and should export symbols for example).
+- lt_prog_compiler_pic_F77='-DDLL_EXPORT'
+- ;;
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
+
+- darwin* | rhapsody*)
+- # PIC is the default on this platform
+- # Common symbols not allowed in MH_DYLIB files
+- lt_prog_compiler_pic_F77='-fno-common'
+- ;;
++#undef dlopen
+
+- interix3*)
+- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+- # Instead, we relocate shared libraries at runtime.
+- ;;
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_dlopen || defined __stub___dlopen
++choke me
++#endif
+
+- msdosdjgpp*)
+- # Just because we use GCC doesn't mean we suddenly get shared libraries
+- # on systems that don't support them.
+- lt_prog_compiler_can_build_shared_F77=no
+- enable_shared=no
+- ;;
++int
++main ()
++{
++return dlopen ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func_dlopen=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+- sysv4*MP*)
+- if test -d /usr/nec; then
+- lt_prog_compiler_pic_F77=-Kconform_pic
+- fi
+- ;;
++ ac_cv_func_dlopen=no
++fi
+
+- hpux*)
+- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+- # not for PA HP-UX.
+- case $host_cpu in
+- hppa*64*|ia64*)
+- # +Z the default
+- ;;
+- *)
+- lt_prog_compiler_pic_F77='-fPIC'
+- ;;
+- esac
+- ;;
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
++echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
++if test $ac_cv_func_dlopen = yes; then
++ lt_cv_dlopen="dlopen"
++else
++ { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
++echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_dl_dlopen+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
+- *)
+- lt_prog_compiler_pic_F77='-fPIC'
+- ;;
+- esac
+- else
+- # PORTME Check for flag to pass linker flags through the system compiler.
+- case $host_os in
+- aix*)
+- lt_prog_compiler_wl_F77='-Wl,'
+- if test "$host_cpu" = ia64; then
+- # AIX 5 now supports IA64 processor
+- lt_prog_compiler_static_F77='-Bstatic'
+- else
+- lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp'
+- fi
+- ;;
+- darwin*)
+- # PIC is the default on this platform
+- # Common symbols not allowed in MH_DYLIB files
+- case $cc_basename in
+- xlc*)
+- lt_prog_compiler_pic_F77='-qnocommon'
+- lt_prog_compiler_wl_F77='-Wl,'
+- ;;
+- esac
+- ;;
+-
+- mingw* | pw32* | os2*)
+- # This hack is so that the source file can tell whether it is being
+- # built for inclusion in a dll (and should export symbols for example).
+- lt_prog_compiler_pic_F77='-DDLL_EXPORT'
+- ;;
+-
+- hpux9* | hpux10* | hpux11*)
+- lt_prog_compiler_wl_F77='-Wl,'
+- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+- # not for PA HP-UX.
+- case $host_cpu in
+- hppa*64*|ia64*)
+- # +Z the default
+- ;;
+- *)
+- lt_prog_compiler_pic_F77='+Z'
+- ;;
+- esac
+- # Is there a better lt_prog_compiler_static that works with the bundled CC?
+- lt_prog_compiler_static_F77='${wl}-a ${wl}archive'
+- ;;
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++int
++main ()
++{
++return dlopen ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_dl_dlopen=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+- irix5* | irix6* | nonstopux*)
+- lt_prog_compiler_wl_F77='-Wl,'
+- # PIC (with -KPIC) is the default.
+- lt_prog_compiler_static_F77='-non_shared'
+- ;;
++ ac_cv_lib_dl_dlopen=no
++fi
+
+- newsos6)
+- lt_prog_compiler_pic_F77='-KPIC'
+- lt_prog_compiler_static_F77='-Bstatic'
+- ;;
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
++echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
++if test $ac_cv_lib_dl_dlopen = yes; then
++ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
++else
++ { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
++echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
++if test "${ac_cv_lib_svld_dlopen+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lsvld $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
+- linux*)
+- case $cc_basename in
+- icc* | ecc*)
+- lt_prog_compiler_wl_F77='-Wl,'
+- lt_prog_compiler_pic_F77='-KPIC'
+- lt_prog_compiler_static_F77='-static'
+- ;;
+- pgcc* | pgf77* | pgf90* | pgf95*)
+- # Portland Group compilers (*not* the Pentium gcc compiler,
+- # which looks to be a dead project)
+- lt_prog_compiler_wl_F77='-Wl,'
+- lt_prog_compiler_pic_F77='-fpic'
+- lt_prog_compiler_static_F77='-Bstatic'
+- ;;
+- ccc*)
+- lt_prog_compiler_wl_F77='-Wl,'
+- # All Alpha code is PIC.
+- lt_prog_compiler_static_F77='-non_shared'
+- ;;
+- esac
+- ;;
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dlopen ();
++int
++main ()
++{
++return dlopen ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_svld_dlopen=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+- osf3* | osf4* | osf5*)
+- lt_prog_compiler_wl_F77='-Wl,'
+- # All OSF/1 code is PIC.
+- lt_prog_compiler_static_F77='-non_shared'
+- ;;
++ ac_cv_lib_svld_dlopen=no
++fi
+
+- solaris*)
+- lt_prog_compiler_pic_F77='-KPIC'
+- lt_prog_compiler_static_F77='-Bstatic'
+- case $cc_basename in
+- f77* | f90* | f95*)
+- lt_prog_compiler_wl_F77='-Qoption ld ';;
+- *)
+- lt_prog_compiler_wl_F77='-Wl,';;
+- esac
+- ;;
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
++echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; }
++if test $ac_cv_lib_svld_dlopen = yes; then
++ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
++else
++ { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
++echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; }
++if test "${ac_cv_lib_dld_dld_link+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldld $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
+- sunos4*)
+- lt_prog_compiler_wl_F77='-Qoption ld '
+- lt_prog_compiler_pic_F77='-PIC'
+- lt_prog_compiler_static_F77='-Bstatic'
+- ;;
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dld_link ();
++int
++main ()
++{
++return dld_link ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_dld_dld_link=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+- sysv4 | sysv4.2uw2* | sysv4.3*)
+- lt_prog_compiler_wl_F77='-Wl,'
+- lt_prog_compiler_pic_F77='-KPIC'
+- lt_prog_compiler_static_F77='-Bstatic'
+- ;;
++ ac_cv_lib_dld_dld_link=no
++fi
+
+- sysv4*MP*)
+- if test -d /usr/nec ;then
+- lt_prog_compiler_pic_F77='-Kconform_pic'
+- lt_prog_compiler_static_F77='-Bstatic'
+- fi
+- ;;
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
++echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
++if test $ac_cv_lib_dld_dld_link = yes; then
++ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
++fi
+
+- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+- lt_prog_compiler_wl_F77='-Wl,'
+- lt_prog_compiler_pic_F77='-KPIC'
+- lt_prog_compiler_static_F77='-Bstatic'
+- ;;
+
+- unicos*)
+- lt_prog_compiler_wl_F77='-Wl,'
+- lt_prog_compiler_can_build_shared_F77=no
+- ;;
++fi
+
+- uts4*)
+- lt_prog_compiler_pic_F77='-pic'
+- lt_prog_compiler_static_F77='-Bstatic'
+- ;;
+
+- *)
+- lt_prog_compiler_can_build_shared_F77=no
+- ;;
+- esac
+- fi
++fi
+
+-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
+-echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6
+
+-#
+-# Check to make sure the PIC flag actually works.
+-#
+-if test -n "$lt_prog_compiler_pic_F77"; then
++fi
+
+-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
+-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6
+-if test "${lt_prog_compiler_pic_works_F77+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- lt_prog_compiler_pic_works_F77=no
+- ac_outfile=conftest.$ac_objext
+- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+- lt_compiler_flag="$lt_prog_compiler_pic_F77"
+- # Insert the option either (1) after the last *FLAGS variable, or
+- # (2) before a word containing "conftest.", or (3) at the end.
+- # Note that $ac_compile itself does not contain backslashes and begins
+- # with a dollar sign (not a hyphen), so the echo should work correctly.
+- # The option is referenced via a variable to avoid confusing sed.
+- lt_compile=`echo "$ac_compile" | $SED \
+- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+- -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:13252: $lt_compile\"" >&5)
+- (eval "$lt_compile" 2>conftest.err)
+- ac_status=$?
+- cat conftest.err >&5
+- echo "$as_me:13256: \$? = $ac_status" >&5
+- if (exit $ac_status) && test -s "$ac_outfile"; then
+- # The compiler can only warn and ignore the option if not recognized
+- # So say no if there are warnings other than the usual output.
+- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+- lt_prog_compiler_pic_works_F77=yes
+- fi
+- fi
+- $rm conftest*
+
+ fi
+-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5
+-echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6
+
+-if test x"$lt_prog_compiler_pic_works_F77" = xyes; then
+- case $lt_prog_compiler_pic_F77 in
+- "" | " "*) ;;
+- *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
+- esac
+-else
+- lt_prog_compiler_pic_F77=
+- lt_prog_compiler_can_build_shared_F77=no
+-fi
+
+ fi
+-case $host_os in
+- # For platforms which do not support PIC, -DPIC is meaningless:
+- *djgpp*)
+- lt_prog_compiler_pic_F77=
+- ;;
+- *)
+- lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77"
++
+ ;;
+-esac
++ esac
+
+-#
+-# Check to make sure the static flag actually works.
+-#
+-wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
+-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+-if test "${lt_prog_compiler_static_works_F77+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- lt_prog_compiler_static_works_F77=no
+- save_LDFLAGS="$LDFLAGS"
+- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+- printf "$lt_simple_link_test_code" > conftest.$ac_ext
+- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+- # The linker can only warn and ignore the option if not recognized
+- # So say no if there are warnings
+- if test -s conftest.err; then
+- # Append any errors to the config.log.
+- cat conftest.err 1>&5
+- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+- if diff conftest.exp conftest.er2 >/dev/null; then
+- lt_prog_compiler_static_works_F77=yes
+- fi
+- else
+- lt_prog_compiler_static_works_F77=yes
+- fi
+- fi
+- $rm conftest*
+- LDFLAGS="$save_LDFLAGS"
++ if test "x$lt_cv_dlopen" != xno; then
++ enable_dlopen=yes
++ else
++ enable_dlopen=no
++ fi
+
+-fi
+-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5
+-echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6
++ case $lt_cv_dlopen in
++ dlopen)
++ save_CPPFLAGS="$CPPFLAGS"
++ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+-if test x"$lt_prog_compiler_static_works_F77" = xyes; then
+- :
+-else
+- lt_prog_compiler_static_F77=
+-fi
++ save_LDFLAGS="$LDFLAGS"
++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
++ save_LIBS="$LIBS"
++ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+-if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
++ { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
++echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; }
++if test "${lt_cv_dlopen_self+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- lt_cv_prog_compiler_c_o_F77=no
+- $rm -r conftest 2>/dev/null
+- mkdir conftest
+- cd conftest
+- mkdir out
+- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+-
+- lt_compiler_flag="-o out/conftest2.$ac_objext"
+- # Insert the option either (1) after the last *FLAGS variable, or
+- # (2) before a word containing "conftest.", or (3) at the end.
+- # Note that $ac_compile itself does not contain backslashes and begins
+- # with a dollar sign (not a hyphen), so the echo should work correctly.
+- lt_compile=`echo "$ac_compile" | $SED \
+- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+- -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:13356: $lt_compile\"" >&5)
+- (eval "$lt_compile" 2>out/conftest.err)
+- ac_status=$?
+- cat out/conftest.err >&5
+- echo "$as_me:13360: \$? = $ac_status" >&5
+- if (exit $ac_status) && test -s out/conftest2.$ac_objext
+- then
+- # The compiler can only warn and ignore the option if not recognized
+- # So say no if there are warnings
+- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+- lt_cv_prog_compiler_c_o_F77=yes
+- fi
+- fi
+- chmod u+w . 2>&5
+- $rm conftest*
+- # SGI C++ compiler will create directory out/ii_files/ for
+- # template instantiation
+- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+- $rm out/* && rmdir out
+- cd ..
+- rmdir conftest
+- $rm conftest*
++ if test "$cross_compiling" = yes; then :
++ lt_cv_dlopen_self=cross
++else
++ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
++ lt_status=$lt_dlunknown
++ cat > conftest.$ac_ext <<_LT_EOF
++#line 10568 "configure"
++#include "confdefs.h"
+
+-fi
+-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
+-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6
++#if HAVE_DLFCN_H
++#include <dlfcn.h>
++#endif
+
++#include <stdio.h>
+
+-hard_links="nottested"
+-if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
+- # do not overwrite the value of need_locks provided by the user
+- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+- hard_links=yes
+- $rm conftest*
+- ln conftest.a conftest.b 2>/dev/null && hard_links=no
+- touch conftest.a
+- ln conftest.a conftest.b 2>&5 || hard_links=no
+- ln conftest.a conftest.b 2>/dev/null && hard_links=no
+- echo "$as_me:$LINENO: result: $hard_links" >&5
+-echo "${ECHO_T}$hard_links" >&6
+- if test "$hard_links" = no; then
+- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+- need_locks=warn
+- fi
+-else
+- need_locks=no
+-fi
++#ifdef RTLD_GLOBAL
++# define LT_DLGLOBAL RTLD_GLOBAL
++#else
++# ifdef DL_GLOBAL
++# define LT_DLGLOBAL DL_GLOBAL
++# else
++# define LT_DLGLOBAL 0
++# endif
++#endif
+
+-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
++/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
++ find out it does not work in some platform. */
++#ifndef LT_DLLAZY_OR_NOW
++# ifdef RTLD_LAZY
++# define LT_DLLAZY_OR_NOW RTLD_LAZY
++# else
++# ifdef DL_LAZY
++# define LT_DLLAZY_OR_NOW DL_LAZY
++# else
++# ifdef RTLD_NOW
++# define LT_DLLAZY_OR_NOW RTLD_NOW
++# else
++# ifdef DL_NOW
++# define LT_DLLAZY_OR_NOW DL_NOW
++# else
++# define LT_DLLAZY_OR_NOW 0
++# endif
++# endif
++# endif
++# endif
++#endif
+
+- runpath_var=
+- allow_undefined_flag_F77=
+- enable_shared_with_static_runtimes_F77=no
+- archive_cmds_F77=
+- archive_expsym_cmds_F77=
+- old_archive_From_new_cmds_F77=
+- old_archive_from_expsyms_cmds_F77=
+- export_dynamic_flag_spec_F77=
+- whole_archive_flag_spec_F77=
+- thread_safe_flag_spec_F77=
+- hardcode_libdir_flag_spec_F77=
+- hardcode_libdir_flag_spec_ld_F77=
+- hardcode_libdir_separator_F77=
+- hardcode_direct_F77=no
+- hardcode_minus_L_F77=no
+- hardcode_shlibpath_var_F77=unsupported
+- link_all_deplibs_F77=unknown
+- hardcode_automatic_F77=no
+- module_cmds_F77=
+- module_expsym_cmds_F77=
+- always_export_symbols_F77=no
+- export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+- # include_expsyms should be a list of space-separated symbols to be *always*
+- # included in the symbol list
+- include_expsyms_F77=
+- # exclude_expsyms can be an extended regexp of symbols to exclude
+- # it will be wrapped by ` (' and `)$', so one must not match beginning or
+- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+- # as well as any symbol that contains `d'.
+- exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_"
+- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+- # platforms (ab)use it in PIC code, but their linkers get confused if
+- # the symbol is explicitly referenced. Since portable code cannot
+- # rely on this symbol name, it's probably fine to never include it in
+- # preloaded symbol tables.
+- extract_expsyms_cmds=
+- # Just being paranoid about ensuring that cc_basename is set.
+- for cc_temp in $compiler""; do
+- case $cc_temp in
+- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+- \-*) ;;
+- *) break;;
+- esac
+-done
+-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
++#ifdef __cplusplus
++extern "C" void exit (int);
++#endif
+
+- case $host_os in
+- cygwin* | mingw* | pw32*)
+- # FIXME: the MSVC++ port hasn't been tested in a loooong time
+- # When not using gcc, we currently assume that we are using
+- # Microsoft Visual C++.
+- if test "$GCC" != yes; then
+- with_gnu_ld=no
+- fi
+- ;;
+- interix*)
+- # we just hope/assume this is gcc and not c89 (= MSVC++)
+- with_gnu_ld=yes
+- ;;
+- openbsd*)
+- with_gnu_ld=no
+- ;;
+- esac
++void fnord() { int i=42;}
++int main ()
++{
++ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
++ int status = $lt_dlunknown;
+
+- ld_shlibs_F77=yes
+- if test "$with_gnu_ld" = yes; then
+- # If archive_cmds runs LD, not CC, wlarc should be empty
+- wlarc='${wl}'
++ if (self)
++ {
++ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
++ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
++ /* dlclose (self); */
++ }
++ else
++ puts (dlerror ());
+
+- # Set some defaults for GNU ld with shared library support. These
+- # are reset later if shared libraries are not supported. Putting them
+- # here allows them to be overridden if necessary.
+- runpath_var=LD_RUN_PATH
+- hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir'
+- export_dynamic_flag_spec_F77='${wl}--export-dynamic'
+- # ancient GNU ld didn't support --whole-archive et. al.
+- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+- whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+- else
+- whole_archive_flag_spec_F77=
+- fi
+- supports_anon_versioning=no
+- case `$LD -v 2>/dev/null` in
+- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+- *\ 2.11.*) ;; # other 2.11 versions
+- *) supports_anon_versioning=yes ;;
++ exit (status);
++}
++_LT_EOF
++ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
++ (./conftest; exit; ) >&5 2>/dev/null
++ lt_status=$?
++ case x$lt_status in
++ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
++ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
++ x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+ esac
++ else :
++ # compilation failed
++ lt_cv_dlopen_self=no
++ fi
++fi
++rm -fr conftest*
+
+- # See if GNU ld supports shared libraries.
+- case $host_os in
+- aix3* | aix4* | aix5*)
+- # On AIX/PPC, the GNU linker is very broken
+- if test "$host_cpu" != ia64; then
+- ld_shlibs_F77=no
+- cat <<EOF 1>&2
+-
+-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+-*** to be unable to reliably create shared libraries on AIX.
+-*** Therefore, libtool is disabling shared libraries support. If you
+-*** really care for shared libraries, you may want to modify your PATH
+-*** so that a non-GNU linker is found, and then restart.
+
+-EOF
+- fi
+- ;;
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
++echo "${ECHO_T}$lt_cv_dlopen_self" >&6; }
+
+- amigaos*)
+- archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+- hardcode_libdir_flag_spec_F77='-L$libdir'
+- hardcode_minus_L_F77=yes
+-
+- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
+- # that the semantics of dynamic libraries on AmigaOS, at least up
+- # to version 4, is to share data among multiple programs linked
+- # with the same dynamic library. Since this doesn't match the
+- # behavior of shared libraries on other platforms, we can't use
+- # them.
+- ld_shlibs_F77=no
+- ;;
++ if test "x$lt_cv_dlopen_self" = xyes; then
++ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
++ { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
++echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; }
++if test "${lt_cv_dlopen_self_static+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test "$cross_compiling" = yes; then :
++ lt_cv_dlopen_self_static=cross
++else
++ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
++ lt_status=$lt_dlunknown
++ cat > conftest.$ac_ext <<_LT_EOF
++#line 10668 "configure"
++#include "confdefs.h"
+
+- beos*)
+- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- allow_undefined_flag_F77=unsupported
+- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+- # support --undefined. This deserves some investigation. FIXME
+- archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- else
+- ld_shlibs_F77=no
+- fi
+- ;;
++#if HAVE_DLFCN_H
++#include <dlfcn.h>
++#endif
+
+- cygwin* | mingw* | pw32*)
+- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless,
+- # as there is no search path for DLLs.
+- hardcode_libdir_flag_spec_F77='-L$libdir'
+- allow_undefined_flag_F77=unsupported
+- always_export_symbols_F77=no
+- enable_shared_with_static_runtimes_F77=yes
+- export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
++#include <stdio.h>
+
+- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+- # If the export-symbols file already is a .def file (1st line
+- # is EXPORTS), use it as is; otherwise, prepend...
+- archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+- cp $export_symbols $output_objdir/$soname.def;
+- else
+- echo EXPORTS > $output_objdir/$soname.def;
+- cat $export_symbols >> $output_objdir/$soname.def;
+- fi~
+- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+- else
+- ld_shlibs_F77=no
+- fi
+- ;;
++#ifdef RTLD_GLOBAL
++# define LT_DLGLOBAL RTLD_GLOBAL
++#else
++# ifdef DL_GLOBAL
++# define LT_DLGLOBAL DL_GLOBAL
++# else
++# define LT_DLGLOBAL 0
++# endif
++#endif
+
+- interix3*)
+- hardcode_direct_F77=no
+- hardcode_shlibpath_var_F77=no
+- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+- export_dynamic_flag_spec_F77='${wl}-E'
+- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+- # Instead, shared libraries are loaded at an image base (0x10000000 by
+- # default) and relocated if they conflict, which is a slow very memory
+- # consuming and fragmenting process. To avoid this, we pick a random,
+- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+- archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+- archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+- ;;
++/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
++ find out it does not work in some platform. */
++#ifndef LT_DLLAZY_OR_NOW
++# ifdef RTLD_LAZY
++# define LT_DLLAZY_OR_NOW RTLD_LAZY
++# else
++# ifdef DL_LAZY
++# define LT_DLLAZY_OR_NOW DL_LAZY
++# else
++# ifdef RTLD_NOW
++# define LT_DLLAZY_OR_NOW RTLD_NOW
++# else
++# ifdef DL_NOW
++# define LT_DLLAZY_OR_NOW DL_NOW
++# else
++# define LT_DLLAZY_OR_NOW 0
++# endif
++# endif
++# endif
++# endif
++#endif
+
+- linux*)
+- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- tmp_addflag=
+- case $cc_basename,$host_cpu in
+- pgcc*) # Portland Group C compiler
+- whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+- tmp_addflag=' $pic_flag'
+- ;;
+- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
+- whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+- tmp_addflag=' $pic_flag -Mnomain' ;;
+- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+- tmp_addflag=' -i_dynamic' ;;
+- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+- tmp_addflag=' -i_dynamic -nofor_main' ;;
+- ifc* | ifort*) # Intel Fortran compiler
+- tmp_addflag=' -nofor_main' ;;
+- esac
+- archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
++#ifdef __cplusplus
++extern "C" void exit (int);
++#endif
+
+- if test $supports_anon_versioning = yes; then
+- archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
+- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+- $echo "local: *; };" >> $output_objdir/$libname.ver~
+- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+- fi
+- else
+- ld_shlibs_F77=no
+- fi
+- ;;
++void fnord() { int i=42;}
++int main ()
++{
++ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
++ int status = $lt_dlunknown;
+
+- netbsd*)
+- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+- archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+- wlarc=
+- else
+- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+- fi
+- ;;
++ if (self)
++ {
++ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
++ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
++ /* dlclose (self); */
++ }
++ else
++ puts (dlerror ());
+
+- solaris*)
+- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+- ld_shlibs_F77=no
+- cat <<EOF 1>&2
++ exit (status);
++}
++_LT_EOF
++ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
++ (./conftest; exit; ) >&5 2>/dev/null
++ lt_status=$?
++ case x$lt_status in
++ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
++ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
++ x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
++ esac
++ else :
++ # compilation failed
++ lt_cv_dlopen_self_static=no
++ fi
++fi
++rm -fr conftest*
+
+-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+-*** create shared libraries on Solaris systems. Therefore, libtool
+-*** is disabling shared libraries support. We urge you to upgrade GNU
+-*** binutils to release 2.9.1 or newer. Another option is to modify
+-*** your PATH or compiler configuration so that the native linker is
+-*** used, and then restart.
+
+-EOF
+- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+- else
+- ld_shlibs_F77=no
+- fi
+- ;;
++fi
++{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
++echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
++ fi
+
+- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+- case `$LD -v 2>&1` in
+- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+- ld_shlibs_F77=no
+- cat <<_LT_EOF 1>&2
++ CPPFLAGS="$save_CPPFLAGS"
++ LDFLAGS="$save_LDFLAGS"
++ LIBS="$save_LIBS"
++ ;;
++ esac
+
+-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+-*** reliably create shared libraries on SCO systems. Therefore, libtool
+-*** is disabling shared libraries support. We urge you to upgrade GNU
+-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+-*** your PATH or compiler configuration so that the native linker is
+-*** used, and then restart.
++ case $lt_cv_dlopen_self in
++ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
++ *) enable_dlopen_self=unknown ;;
++ esac
+
+-_LT_EOF
+- ;;
+- *)
+- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+- else
+- ld_shlibs_F77=no
+- fi
+- ;;
+- esac
+- ;;
++ case $lt_cv_dlopen_self_static in
++ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
++ *) enable_dlopen_self_static=unknown ;;
++ esac
++fi
+
+- sunos4*)
+- archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+- wlarc=
+- hardcode_direct_F77=yes
+- hardcode_shlibpath_var_F77=no
+- ;;
+
+- *)
+- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+- else
+- ld_shlibs_F77=no
+- fi
+- ;;
+- esac
+
+- if test "$ld_shlibs_F77" = no; then
+- runpath_var=
+- hardcode_libdir_flag_spec_F77=
+- export_dynamic_flag_spec_F77=
+- whole_archive_flag_spec_F77=
+- fi
+- else
+- # PORTME fill in a description of your system's linker (not GNU ld)
+- case $host_os in
+- aix3*)
+- allow_undefined_flag_F77=unsupported
+- always_export_symbols_F77=yes
+- archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+- # Note: this linker hardcodes the directories in LIBPATH if there
+- # are no directories specified by -L.
+- hardcode_minus_L_F77=yes
+- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+- # Neither direct hardcoding nor static linking is supported with a
+- # broken collect2.
+- hardcode_direct_F77=unsupported
+- fi
+- ;;
+
+- aix4* | aix5*)
+- if test "$host_cpu" = ia64; then
+- # On IA64, the linker does run time linking by default, so we don't
+- # have to do anything special.
+- aix_use_runtimelinking=no
+- exp_sym_flag='-Bexport'
+- no_entry_flag=""
+- else
+- # If we're using GNU nm, then we don't want the "-C" option.
+- # -C means demangle to AIX nm, but means don't demangle with GNU nm
+- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+- export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+- else
+- export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+- fi
+- aix_use_runtimelinking=no
+
+- # Test if we are trying to use run time linking or normal
+- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+- # need to do runtime linking.
+- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+- for ld_flag in $LDFLAGS; do
+- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+- aix_use_runtimelinking=yes
+- break
+- fi
+- done
+- ;;
+- esac
+
+- exp_sym_flag='-bexport'
+- no_entry_flag='-bnoentry'
+- fi
+
+- # When large executables or shared objects are built, AIX ld can
+- # have problems creating the table of contents. If linking a library
+- # or program results in "error TOC overflow" add -mminimal-toc to
+- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+- archive_cmds_F77=''
+- hardcode_direct_F77=yes
+- hardcode_libdir_separator_F77=':'
+- link_all_deplibs_F77=yes
+
+- if test "$GCC" = yes; then
+- case $host_os in aix4.[012]|aix4.[012].*)
+- # We only want to do this on AIX 4.2 and lower, the check
+- # below for broken collect2 doesn't work under 4.3+
+- collect2name=`${CC} -print-prog-name=collect2`
+- if test -f "$collect2name" && \
+- strings "$collect2name" | grep resolve_lib_name >/dev/null
+- then
+- # We have reworked collect2
+- hardcode_direct_F77=yes
+- else
+- # We have old collect2
+- hardcode_direct_F77=unsupported
+- # It fails to find uninstalled libraries when the uninstalled
+- # path is not listed in the libpath. Setting hardcode_minus_L
+- # to unsupported forces relinking
+- hardcode_minus_L_F77=yes
+- hardcode_libdir_flag_spec_F77='-L$libdir'
+- hardcode_libdir_separator_F77=
+- fi
+- ;;
+- esac
+- shared_flag='-shared'
+- if test "$aix_use_runtimelinking" = yes; then
+- shared_flag="$shared_flag "'${wl}-G'
+- fi
+- else
+- # not using gcc
+- if test "$host_cpu" = ia64; then
+- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+- # chokes on -Wl,-G. The following line is correct:
+- shared_flag='-G'
+- else
+- if test "$aix_use_runtimelinking" = yes; then
+- shared_flag='${wl}-G'
+- else
+- shared_flag='${wl}-bM:SRE'
+- fi
+- fi
+- fi
+
+- # It seems that -bexpall does not export symbols beginning with
+- # underscore (_), so it is better to generate a list of symbols to export.
+- always_export_symbols_F77=yes
+- if test "$aix_use_runtimelinking" = yes; then
+- # Warning - without using the other runtime loading flags (-brtl),
+- # -berok will link without error, but may produce a broken library.
+- allow_undefined_flag_F77='-berok'
+- # Determine the default libpath from the value encoded in an empty executable.
+- cat >conftest.$ac_ext <<_ACEOF
+- program main
+
+- end
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_f77_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+-}'`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+-}'`; fi
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+- hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
+- archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+- else
+- if test "$host_cpu" = ia64; then
+- hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib'
+- allow_undefined_flag_F77="-z nodefs"
+- archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+- else
+- # Determine the default libpath from the value encoded in an empty executable.
+- cat >conftest.$ac_ext <<_ACEOF
+- program main
+
+- end
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_f77_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+-}'`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+-}'`; fi
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
++striplib=
++old_striplib=
++{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
++echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
++if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
++ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
++ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
++ { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++else
++# FIXME - insert some real tests, host_os isn't really good enough
++ case $host_os in
++ darwin*)
++ if test -n "$STRIP" ; then
++ striplib="$STRIP -x"
++ old_striplib="$STRIP -S"
++ { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++ else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++ fi
++ ;;
++ *)
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++ ;;
++ esac
+ fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+- hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
+- # Warning - without using the other run time loading flags,
+- # -berok will link without error, but may produce a broken library.
+- no_undefined_flag_F77=' ${wl}-bernotok'
+- allow_undefined_flag_F77=' ${wl}-berok'
+- # Exported symbols can be pulled into shared objects from archives
+- whole_archive_flag_spec_F77='$convenience'
+- archive_cmds_need_lc_F77=yes
+- # This is similar to how AIX traditionally builds its shared libraries.
+- archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+- fi
+- fi
+- ;;
+
+- amigaos*)
+- archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+- hardcode_libdir_flag_spec_F77='-L$libdir'
+- hardcode_minus_L_F77=yes
+- # see comment about different semantics on the GNU ld section
+- ld_shlibs_F77=no
+- ;;
+
+- bsdi[45]*)
+- export_dynamic_flag_spec_F77=-rdynamic
+- ;;
+
+- cygwin* | mingw* | pw32*)
+- # When not using gcc, we currently assume that we are using
+- # Microsoft Visual C++.
+- # hardcode_libdir_flag_spec is actually meaningless, as there is
+- # no search path for DLLs.
+- hardcode_libdir_flag_spec_F77=' '
+- allow_undefined_flag_F77=unsupported
+- # Tell ltmain to make .lib files, not .a files.
+- libext=lib
+- # Tell ltmain to make .dll files, not .so files.
+- shrext_cmds=".dll"
+- # FIXME: Setting linknames here is a bad hack.
+- archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+- # The linker will automatically build a .lib file if we build a DLL.
+- old_archive_From_new_cmds_F77='true'
+- # FIXME: Should let the user specify the lib program.
+- old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs'
+- fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
+- enable_shared_with_static_runtimes_F77=yes
+- ;;
+-
+- darwin* | rhapsody*)
+- case $host_os in
+- rhapsody* | darwin1.[012])
+- allow_undefined_flag_F77='${wl}-undefined ${wl}suppress'
+- ;;
+- *) # Darwin 1.3 on
+- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+- allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+- else
+- case ${MACOSX_DEPLOYMENT_TARGET} in
+- 10.[012])
+- allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+- ;;
+- 10.*)
+- allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup'
+- ;;
+- esac
+- fi
+- ;;
+- esac
+- archive_cmds_need_lc_F77=no
+- hardcode_direct_F77=no
+- hardcode_automatic_F77=yes
+- hardcode_shlibpath_var_F77=unsupported
+- whole_archive_flag_spec_F77=''
+- link_all_deplibs_F77=yes
+- if test "$GCC" = yes ; then
+- output_verbose_link_cmd='echo'
+- archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+- module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+- archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- else
+- case $cc_basename in
+- xlc*)
+- output_verbose_link_cmd='echo'
+- archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+- module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+- archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- ;;
+- *)
+- ld_shlibs_F77=no
+- ;;
+- esac
+- fi
+- ;;
+
+- dgux*)
+- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_libdir_flag_spec_F77='-L$libdir'
+- hardcode_shlibpath_var_F77=no
+- ;;
+
+- freebsd1*)
+- ld_shlibs_F77=no
+- ;;
+
+- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+- # support. Future versions do this automatically, but an explicit c++rt0.o
+- # does not break anything, and helps significantly (at the cost of a little
+- # extra space).
+- freebsd2.2*)
+- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+- hardcode_libdir_flag_spec_F77='-R$libdir'
+- hardcode_direct_F77=yes
+- hardcode_shlibpath_var_F77=no
+- ;;
+
+- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+- freebsd2*)
+- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_direct_F77=yes
+- hardcode_minus_L_F77=yes
+- hardcode_shlibpath_var_F77=no
+- ;;
+
+- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+- freebsd* | kfreebsd*-gnu | dragonfly*)
+- archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+- hardcode_libdir_flag_spec_F77='-R$libdir'
+- hardcode_direct_F77=yes
+- hardcode_shlibpath_var_F77=no
+- ;;
+
+- hpux9*)
+- if test "$GCC" = yes; then
+- archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+- else
+- archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+- fi
+- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+- hardcode_libdir_separator_F77=:
+- hardcode_direct_F77=yes
+
+- # hardcode_minus_L: Not really in the search PATH,
+- # but as the default location of the library.
+- hardcode_minus_L_F77=yes
+- export_dynamic_flag_spec_F77='${wl}-E'
+- ;;
+
+- hpux10*)
+- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+- archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+- else
+- archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+- fi
+- if test "$with_gnu_ld" = no; then
+- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+- hardcode_libdir_separator_F77=:
++ # Report which library types will actually be built
++ { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
++echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
++ { echo "$as_me:$LINENO: result: $can_build_shared" >&5
++echo "${ECHO_T}$can_build_shared" >&6; }
+
+- hardcode_direct_F77=yes
+- export_dynamic_flag_spec_F77='${wl}-E'
++ { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
++echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
++ test "$can_build_shared" = "no" && enable_shared=no
+
+- # hardcode_minus_L: Not really in the search PATH,
+- # but as the default location of the library.
+- hardcode_minus_L_F77=yes
+- fi
+- ;;
++ # On AIX, shared libraries and static libraries use the same namespace, and
++ # are all built from PIC.
++ case $host_os in
++ aix3*)
++ test "$enable_shared" = yes && enable_static=no
++ if test -n "$RANLIB"; then
++ archive_cmds="$archive_cmds~\$RANLIB \$lib"
++ postinstall_cmds='$RANLIB $lib'
++ fi
++ ;;
+
+- hpux11*)
+- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+- case $host_cpu in
+- hppa*64*)
+- archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- ia64*)
+- archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- *)
+- archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- esac
+- else
+- case $host_cpu in
+- hppa*64*)
+- archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- ia64*)
+- archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- *)
+- archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- esac
+- fi
+- if test "$with_gnu_ld" = no; then
+- hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
+- hardcode_libdir_separator_F77=:
++ aix[4-9]*)
++ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
++ test "$enable_shared" = yes && enable_static=no
++ fi
++ ;;
++ esac
++ { echo "$as_me:$LINENO: result: $enable_shared" >&5
++echo "${ECHO_T}$enable_shared" >&6; }
+
+- case $host_cpu in
+- hppa*64*|ia64*)
+- hardcode_libdir_flag_spec_ld_F77='+b $libdir'
+- hardcode_direct_F77=no
+- hardcode_shlibpath_var_F77=no
+- ;;
+- *)
+- hardcode_direct_F77=yes
+- export_dynamic_flag_spec_F77='${wl}-E'
++ { echo "$as_me:$LINENO: checking whether to build static libraries" >&5
++echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
++ # Make sure either enable_shared or enable_static is yes.
++ test "$enable_shared" = yes || enable_static=yes
++ { echo "$as_me:$LINENO: result: $enable_static" >&5
++echo "${ECHO_T}$enable_static" >&6; }
+
+- # hardcode_minus_L: Not really in the search PATH,
+- # but as the default location of the library.
+- hardcode_minus_L_F77=yes
+- ;;
+- esac
+- fi
+- ;;
+
+- irix5* | irix6* | nonstopux*)
+- if test "$GCC" = yes; then
+- archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+- else
+- archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+- hardcode_libdir_flag_spec_ld_F77='-rpath $libdir'
+- fi
+- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+- hardcode_libdir_separator_F77=:
+- link_all_deplibs_F77=yes
+- ;;
+
+- netbsd*)
+- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+- else
+- archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+- fi
+- hardcode_libdir_flag_spec_F77='-R$libdir'
+- hardcode_direct_F77=yes
+- hardcode_shlibpath_var_F77=no
+- ;;
+
+- newsos6)
+- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_direct_F77=yes
+- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+- hardcode_libdir_separator_F77=:
+- hardcode_shlibpath_var_F77=no
+- ;;
++fi
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+- openbsd*)
+- hardcode_direct_F77=yes
+- hardcode_shlibpath_var_F77=no
+- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+- export_dynamic_flag_spec_F77='${wl}-E'
+- else
+- case $host_os in
+- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+- archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_libdir_flag_spec_F77='-R$libdir'
+- ;;
+- *)
+- archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+- hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
+- ;;
+- esac
+- fi
+- ;;
++CC="$lt_save_CC"
+
+- os2*)
+- hardcode_libdir_flag_spec_F77='-L$libdir'
+- hardcode_minus_L_F77=yes
+- allow_undefined_flag_F77=unsupported
+- archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+- old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+- ;;
+
+- osf3*)
+- if test "$GCC" = yes; then
+- allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+- else
+- allow_undefined_flag_F77=' -expect_unresolved \*'
+- archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+- fi
+- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+- hardcode_libdir_separator_F77=:
+- ;;
+
+- osf4* | osf5*) # as osf3* with the addition of -msym flag
+- if test "$GCC" = yes; then
+- allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+- hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
+- else
+- allow_undefined_flag_F77=' -expect_unresolved \*'
+- archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+- archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+
+- # Both c and cxx compiler support -rpath directly
+- hardcode_libdir_flag_spec_F77='-rpath $libdir'
+- fi
+- hardcode_libdir_separator_F77=:
+- ;;
+
+- solaris*)
+- no_undefined_flag_F77=' -z text'
+- if test "$GCC" = yes; then
+- wlarc='${wl}'
+- archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+- else
+- wlarc=''
+- archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+- fi
+- hardcode_libdir_flag_spec_F77='-R$libdir'
+- hardcode_shlibpath_var_F77=no
+- case $host_os in
+- solaris2.[0-5] | solaris2.[0-5].*) ;;
+- *)
+- # The compiler driver will combine linker options so we
+- # cannot just pass the convience library names through
+- # without $wl, iff we do not link with $LD.
+- # Luckily, gcc supports the same syntax we need for Sun Studio.
+- # Supported since Solaris 2.6 (maybe 2.5.1?)
+- case $wlarc in
+- '')
+- whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;;
+- *)
+- whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+- esac ;;
+- esac
+- link_all_deplibs_F77=yes
+- ;;
+
+- sunos4*)
+- if test "x$host_vendor" = xsequent; then
+- # Use $CC to link under sequent, because it throws in some extra .o
+- # files that make .init and .fini sections work.
+- archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+- else
+- archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+- fi
+- hardcode_libdir_flag_spec_F77='-L$libdir'
+- hardcode_direct_F77=yes
+- hardcode_minus_L_F77=yes
+- hardcode_shlibpath_var_F77=no
+- ;;
+
+- sysv4)
+- case $host_vendor in
+- sni)
+- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_direct_F77=yes # is this really true???
+- ;;
+- siemens)
+- ## LD is ld it makes a PLAMLIB
+- ## CC just makes a GrossModule.
+- archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+- reload_cmds_F77='$CC -r -o $output$reload_objs'
+- hardcode_direct_F77=no
+- ;;
+- motorola)
+- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie
+- ;;
+- esac
+- runpath_var='LD_RUN_PATH'
+- hardcode_shlibpath_var_F77=no
+- ;;
+
+- sysv4.3*)
+- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_shlibpath_var_F77=no
+- export_dynamic_flag_spec_F77='-Bexport'
+- ;;
+
+- sysv4*MP*)
+- if test -d /usr/nec; then
+- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_shlibpath_var_F77=no
+- runpath_var=LD_RUN_PATH
+- hardcode_runpath_var=yes
+- ld_shlibs_F77=yes
+- fi
+- ;;
+
+- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+- no_undefined_flag_F77='${wl}-z,text'
+- archive_cmds_need_lc_F77=no
+- hardcode_shlibpath_var_F77=no
+- runpath_var='LD_RUN_PATH'
+
+- if test "$GCC" = yes; then
+- archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- else
+- archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- fi
+- ;;
+
+- sysv5* | sco3.2v5* | sco5v6*)
+- # Note: We can NOT use -z defs as we might desire, because we do not
+- # link with -lc, and that would cause any symbols used from libc to
+- # always be unresolved, which means just about no library would
+- # ever link correctly. If we're not using GNU ld we use -z text
+- # though, which does catch some bad symbols but isn't as heavy-handed
+- # as -z defs.
+- no_undefined_flag_F77='${wl}-z,text'
+- allow_undefined_flag_F77='${wl}-z,nodefs'
+- archive_cmds_need_lc_F77=no
+- hardcode_shlibpath_var_F77=no
+- hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+- hardcode_libdir_separator_F77=':'
+- link_all_deplibs_F77=yes
+- export_dynamic_flag_spec_F77='${wl}-Bexport'
+- runpath_var='LD_RUN_PATH'
+
+- if test "$GCC" = yes; then
+- archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- else
+- archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- fi
+- ;;
++ ac_config_commands="$ac_config_commands libtool"
+
+- uts4*)
+- archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_libdir_flag_spec_F77='-L$libdir'
+- hardcode_shlibpath_var_F77=no
+- ;;
+
+- *)
+- ld_shlibs_F77=no
+- ;;
+- esac
+- fi
+
+-echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
+-echo "${ECHO_T}$ld_shlibs_F77" >&6
+-test "$ld_shlibs_F77" = no && can_build_shared=no
+
+-#
+-# Do we need to explicitly link libc?
+-#
+-case "x$archive_cmds_need_lc_F77" in
+-x|xyes)
+- # Assume -lc should be added
+- archive_cmds_need_lc_F77=yes
++# Only expand once:
+
+- if test "$enable_shared" = yes && test "$GCC" = yes; then
+- case $archive_cmds_F77 in
+- *'~'*)
+- # FIXME: we may have to deal with multi-command sequences.
+- ;;
+- '$CC '*)
+- # Test whether the compiler implicitly links with -lc since on some
+- # systems, -lgcc has to come before -lc. If gcc already passes -lc
+- # to ld, don't add -lc before -lgcc.
+- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+- $rm conftest*
+- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } 2>conftest.err; then
+- soname=conftest
+- lib=conftest
+- libobjs=conftest.$ac_objext
+- deplibs=
+- wl=$lt_prog_compiler_wl_F77
+- pic_flag=$lt_prog_compiler_pic_F77
+- compiler_flags=-v
+- linker_flags=-v
+- verstring=
+- output_objdir=.
+- libname=conftest
+- lt_save_allow_undefined_flag=$allow_undefined_flag_F77
+- allow_undefined_flag_F77=
+- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+- (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }
+- then
+- archive_cmds_need_lc_F77=no
+- else
+- archive_cmds_need_lc_F77=yes
+- fi
+- allow_undefined_flag_F77=$lt_save_allow_undefined_flag
+- else
+- cat conftest.err 1>&5
+- fi
+- $rm conftest*
+- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
+-echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6
+- ;;
+- esac
++# Extract the first word of "ar", so it can be a program name with args.
++set dummy ar; ac_word=$2
++{ echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
++if test "${ac_cv_path_AR+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ case $AR in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_AR="$AR" # Let the user override the test with a path.
++ ;;
++ *)
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++as_dummy="$PATH:/usr/ccs/bin"
++for as_dir in $as_dummy
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++ ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
+ fi
++done
++done
++IFS=$as_save_IFS
++
++ test -z "$ac_cv_path_AR" && ac_cv_path_AR="/usr/bin/ar"
+ ;;
+ esac
++fi
++AR=$ac_cv_path_AR
++if test -n "$AR"; then
++ { echo "$as_me:$LINENO: result: $AR" >&5
++echo "${ECHO_T}$AR" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++fi
+
+-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+-library_names_spec=
+-libname_spec='lib$name'
+-soname_spec=
+-shrext_cmds=".so"
+-postinstall_cmds=
+-postuninstall_cmds=
+-finish_cmds=
+-finish_eval=
+-shlibpath_var=
+-shlibpath_overrides_runpath=unknown
+-version_type=none
+-dynamic_linker="$host_os ld.so"
+-sys_lib_dlsearch_path_spec="/lib /usr/lib"
+-if test "$GCC" = yes; then
+- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+- # if the path contains ";" then we assume it to be the separator
+- # otherwise default to the standard path separator (i.e. ":") - it is
+- # assumed that no part of a normal pathname contains ";" but that should
+- # okay in the real world where ";" in dirpaths is itself problematic.
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+- else
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+- fi
+-else
+- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+-fi
+-need_lib_prefix=unknown
+-hardcode_into_libs=no
+
+-# when you set need_version to no, make sure it does not cause -set_version
+-# flags to be left without arguments
+-need_version=unknown
+
+-case $host_os in
+-aix3*)
+- version_type=linux
+- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+- shlibpath_var=LIBPATH
++# Options
+
+- # AIX 3 has no versioning support, so we append a major version to the name.
+- soname_spec='${libname}${release}${shared_ext}$major'
+- ;;
+
+-aix4* | aix5*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- hardcode_into_libs=yes
+- if test "$host_cpu" = ia64; then
+- # AIX 5 supports IA64
+- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+- shlibpath_var=LD_LIBRARY_PATH
+- else
+- # With GCC up to 2.95.x, collect2 would create an import file
+- # for dependence libraries. The import file would start with
+- # the line `#! .'. This would cause the generated library to
+- # depend on `.', always an invalid library. This was fixed in
+- # development snapshots of GCC prior to 3.0.
+- case $host_os in
+- aix4 | aix4.[01] | aix4.[01].*)
+- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+- echo ' yes '
+- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+- :
+- else
+- can_build_shared=no
+- fi
+- ;;
+- esac
+- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+- # soname into executable. Probably we can add versioning support to
+- # collect2, so additional links can be useful in future.
+- if test "$aix_use_runtimelinking" = yes; then
+- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+- # instead of lib<name>.a to let people know that these are not
+- # typical AIX shared libraries.
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- else
+- # We preserve .a as extension for shared libraries through AIX4.2
+- # and later when we are not doing run time linking.
+- library_names_spec='${libname}${release}.a $libname.a'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- fi
+- shlibpath_var=LIBPATH
+- fi
+- ;;
+
+-amigaos*)
+- library_names_spec='$libname.ixlibrary $libname.a'
+- # Create ${libname}_ixlibrary.a entries in /sys/libs.
+- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+- ;;
++# Check whether --with-tightvnc-filetransfer was given.
++if test "${with_tightvnc_filetransfer+set}" = set; then
++ withval=$with_tightvnc_filetransfer;
++else
++ with_tightvnc_filetransfer=yes
++fi
+
+-beos*)
+- library_names_spec='${libname}${shared_ext}'
+- dynamic_linker="$host_os ld.so"
+- shlibpath_var=LIBRARY_PATH
+- ;;
++# AC_DEFINE moved to after libpthread check.
+
+-bsdi[45]*)
+- version_type=linux
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+- shlibpath_var=LD_LIBRARY_PATH
+- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+- # the default ld.so.conf also contains /usr/contrib/lib and
+- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+- # libtool to hard-code these into programs
+- ;;
+
+-cygwin* | mingw* | pw32*)
+- version_type=windows
+- shrext_cmds=".dll"
+- need_version=no
+- need_lib_prefix=no
+
+- case $GCC,$host_os in
+- yes,cygwin* | yes,mingw* | yes,pw32*)
+- library_names_spec='$libname.dll.a'
+- # DLL is installed to $(libdir)/../bin by postinstall_cmds
+- postinstall_cmds='base_file=`basename \${file}`~
+- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+- dldir=$destdir/`dirname \$dlpath`~
+- test -d \$dldir || mkdir -p \$dldir~
+- $install_prog $dir/$dlname \$dldir/$dlname~
+- chmod a+x \$dldir/$dlname'
+- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+- dlpath=$dir/\$dldll~
+- $rm \$dlpath'
+- shlibpath_overrides_runpath=yes
+
+- case $host_os in
+- cygwin*)
+- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+- ;;
+- mingw*)
+- # MinGW DLLs use traditional 'lib' prefix
+- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+- # It is most probably a Windows format PATH printed by
+- # mingw gcc, but we are running on Cygwin. Gcc prints its search
+- # path with ; separators, and with drive letters. We can handle the
+- # drive letters (cygwin fileutils understands them), so leave them,
+- # especially as we might pass files found there to a mingw objdump,
+- # which wouldn't understand a cygwinified path. Ahh.
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+- else
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+- fi
+- ;;
+- pw32*)
+- # pw32 DLLs use 'pw' prefix rather than 'lib'
+- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+- ;;
+- esac
+- ;;
++# Check whether --with-24bpp was given.
++if test "${with_24bpp+set}" = set; then
++ withval=$with_24bpp;
++else
++ with_24bpp=yes
++fi
+
+- *)
+- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+- ;;
+- esac
+- dynamic_linker='Win32 ld.exe'
+- # FIXME: first we should search . and the directory the executable is in
+- shlibpath_var=PATH
+- ;;
++if test "x$with_24bpp" = "xyes"; then
++ cat >>confdefs.h <<\_ACEOF
++#define ALLOW24BPP 1
++_ACEOF
+
+-darwin* | rhapsody*)
+- dynamic_linker="$host_os dyld"
+- version_type=darwin
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+- soname_spec='${libname}${release}${major}$shared_ext'
+- shlibpath_overrides_runpath=yes
+- shlibpath_var=DYLD_LIBRARY_PATH
+- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+- if test "$GCC" = yes; then
+- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+- else
+- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+- fi
+- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+- ;;
++fi
+
+-dgux*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- ;;
+
+-freebsd1*)
+- dynamic_linker=no
+- ;;
+
+-kfreebsd*-gnu)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=no
+- hardcode_into_libs=yes
+- dynamic_linker='GNU ld.so'
+- ;;
++# Check whether --with-ffmpeg was given.
++if test "${with_ffmpeg+set}" = set; then
++ withval=$with_ffmpeg;
++fi
+
+-freebsd* | dragonfly*)
+- # DragonFly does not have aout. When/if they implement a new
+- # versioning mechanism, adjust this.
+- if test -x /usr/bin/objformat; then
+- objformat=`/usr/bin/objformat`
+- else
+- case $host_os in
+- freebsd[123]*) objformat=aout ;;
+- *) objformat=elf ;;
+- esac
+- fi
+- version_type=freebsd-$objformat
+- case $version_type in
+- freebsd-elf*)
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+- need_version=no
+- need_lib_prefix=no
+- ;;
+- freebsd-*)
+- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+- need_version=yes
+- ;;
+- esac
+- shlibpath_var=LD_LIBRARY_PATH
+- case $host_os in
+- freebsd2*)
+- shlibpath_overrides_runpath=yes
+- ;;
+- freebsd3.[01]* | freebsdelf3.[01]*)
+- shlibpath_overrides_runpath=yes
+- hardcode_into_libs=yes
+- ;;
+- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+- shlibpath_overrides_runpath=no
+- hardcode_into_libs=yes
+- ;;
+- freebsd*) # from 4.6 on
+- shlibpath_overrides_runpath=yes
+- hardcode_into_libs=yes
+- ;;
+- esac
+- ;;
+-
+-gnu*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- hardcode_into_libs=yes
+- ;;
+-
+-hpux9* | hpux10* | hpux11*)
+- # Give a soname corresponding to the major version so that dld.sl refuses to
+- # link against other versions.
+- version_type=sunos
+- need_lib_prefix=no
+- need_version=no
+- case $host_cpu in
+- ia64*)
+- shrext_cmds='.so'
+- hardcode_into_libs=yes
+- dynamic_linker="$host_os dld.so"
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- if test "X$HPUX_IA64_MODE" = X32; then
+- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+- else
+- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+- fi
+- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+- ;;
+- hppa*64*)
+- shrext_cmds='.sl'
+- hardcode_into_libs=yes
+- dynamic_linker="$host_os dld.sl"
+- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+- ;;
+- *)
+- shrext_cmds='.sl'
+- dynamic_linker="$host_os dld.sl"
+- shlibpath_var=SHLIB_PATH
+- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- ;;
+- esac
+- # HP-UX runs *really* slowly unless shared libraries are mode 555.
+- postinstall_cmds='chmod 555 $lib'
+- ;;
+-
+-interix3*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=no
+- hardcode_into_libs=yes
+- ;;
+-
+-irix5* | irix6* | nonstopux*)
+- case $host_os in
+- nonstopux*) version_type=nonstopux ;;
+- *)
+- if test "$lt_cv_prog_gnu_ld" = yes; then
+- version_type=linux
+- else
+- version_type=irix
+- fi ;;
+- esac
+- need_lib_prefix=no
+- need_version=no
+- soname_spec='${libname}${release}${shared_ext}$major'
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+- case $host_os in
+- irix5* | nonstopux*)
+- libsuff= shlibsuff=
+- ;;
+- *)
+- case $LD in # libtool.m4 will add one of these switches to LD
+- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+- libsuff= shlibsuff= libmagic=32-bit;;
+- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+- libsuff=32 shlibsuff=N32 libmagic=N32;;
+- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+- libsuff=64 shlibsuff=64 libmagic=64-bit;;
+- *) libsuff= shlibsuff= libmagic=never-match;;
+- esac
+- ;;
+- esac
+- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+- shlibpath_overrides_runpath=no
+- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+- hardcode_into_libs=yes
+- ;;
+-
+-# No shared lib support for Linux oldld, aout, or coff.
+-linux*oldld* | linux*aout* | linux*coff*)
+- dynamic_linker=no
+- ;;
+-
+-# This must be Linux ELF.
+-linux*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=no
+- # This implies no fast_install, which is unacceptable.
+- # Some rework will be needed to allow for fast_install
+- # before this can be enabled.
+- hardcode_into_libs=yes
+-
+- # Append ld.so.conf contents to the search path
+- if test -f /etc/ld.so.conf; then
+- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+- fi
+-
+- # We used to test for /lib/ld.so.1 and disable shared libraries on
+- # powerpc, because MkLinux only supported shared libraries with the
+- # GNU dynamic linker. Since this was broken with cross compilers,
+- # most powerpc-linux boxes support dynamic linking these days and
+- # people can always --disable-shared, the test was removed, and we
+- # assume the GNU/Linux dynamic linker is in use.
+- dynamic_linker='GNU/Linux ld.so'
+- ;;
+-
+-knetbsd*-gnu)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=no
+- hardcode_into_libs=yes
+- dynamic_linker='GNU ld.so'
+- ;;
+-
+-netbsd*)
+- version_type=sunos
+- need_lib_prefix=no
+- need_version=no
+- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+- dynamic_linker='NetBSD (a.out) ld.so'
+- else
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- dynamic_linker='NetBSD ld.elf_so'
+- fi
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- hardcode_into_libs=yes
+- ;;
+-
+-newsos6)
+- version_type=linux
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- ;;
+-
+-nto-qnx*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- ;;
+-
+-openbsd*)
+- version_type=sunos
+- sys_lib_dlsearch_path_spec="/usr/lib"
+- need_lib_prefix=no
+- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+- case $host_os in
+- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+- *) need_version=no ;;
+- esac
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+- shlibpath_var=LD_LIBRARY_PATH
+- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+- case $host_os in
+- openbsd2.[89] | openbsd2.[89].*)
+- shlibpath_overrides_runpath=no
+- ;;
+- *)
+- shlibpath_overrides_runpath=yes
+- ;;
+- esac
+- else
+- shlibpath_overrides_runpath=yes
+- fi
+- ;;
+-
+-os2*)
+- libname_spec='$name'
+- shrext_cmds=".dll"
+- need_lib_prefix=no
+- library_names_spec='$libname${shared_ext} $libname.a'
+- dynamic_linker='OS/2 ld.exe'
+- shlibpath_var=LIBPATH
+- ;;
+-
+-osf3* | osf4* | osf5*)
+- version_type=osf
+- need_lib_prefix=no
+- need_version=no
+- soname_spec='${libname}${release}${shared_ext}$major'
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- shlibpath_var=LD_LIBRARY_PATH
+- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+- ;;
+-
+-solaris*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- hardcode_into_libs=yes
+- # ldd complains unless libraries are executable
+- postinstall_cmds='chmod +x $lib'
+- ;;
+-
+-sunos4*)
+- version_type=sunos
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- if test "$with_gnu_ld" = yes; then
+- need_lib_prefix=no
+- fi
+- need_version=yes
+- ;;
+-
+-sysv4 | sysv4.3*)
+- version_type=linux
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- case $host_vendor in
+- sni)
+- shlibpath_overrides_runpath=no
+- need_lib_prefix=no
+- export_dynamic_flag_spec='${wl}-Blargedynsym'
+- runpath_var=LD_RUN_PATH
+- ;;
+- siemens)
+- need_lib_prefix=no
+- ;;
+- motorola)
+- need_lib_prefix=no
+- need_version=no
+- shlibpath_overrides_runpath=no
+- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+- ;;
+- esac
+- ;;
+-
+-sysv4*MP*)
+- if test -d /usr/nec ;then
+- version_type=linux
+- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+- soname_spec='$libname${shared_ext}.$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- fi
+- ;;
+-
+-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+- version_type=freebsd-elf
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- hardcode_into_libs=yes
+- if test "$with_gnu_ld" = yes; then
+- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+- shlibpath_overrides_runpath=no
+- else
+- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+- shlibpath_overrides_runpath=yes
+- case $host_os in
+- sco3.2v5*)
+- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+- ;;
+- esac
+- fi
+- sys_lib_dlsearch_path_spec='/usr/lib'
+- ;;
+-
+-uts4*)
+- version_type=linux
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- ;;
+-
+-*)
+- dynamic_linker=no
+- ;;
+-esac
+-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+-echo "${ECHO_T}$dynamic_linker" >&6
+-test "$dynamic_linker" = no && can_build_shared=no
+-
+-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+-if test "$GCC" = yes; then
+- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+-fi
+-
+-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+-hardcode_action_F77=
+-if test -n "$hardcode_libdir_flag_spec_F77" || \
+- test -n "$runpath_var_F77" || \
+- test "X$hardcode_automatic_F77" = "Xyes" ; then
+-
+- # We can hardcode non-existant directories.
+- if test "$hardcode_direct_F77" != no &&
+- # If the only mechanism to avoid hardcoding is shlibpath_var, we
+- # have to relink, otherwise we might link with an installed library
+- # when we should be linking with a yet-to-be-installed one
+- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no &&
+- test "$hardcode_minus_L_F77" != no; then
+- # Linking always hardcodes the temporary library directory.
+- hardcode_action_F77=relink
+- else
+- # We can link without hardcoding, and we can hardcode nonexisting dirs.
+- hardcode_action_F77=immediate
+- fi
+-else
+- # We cannot hardcode anything, or else we can only hardcode existing
+- # directories.
+- hardcode_action_F77=unsupported
+-fi
+-echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
+-echo "${ECHO_T}$hardcode_action_F77" >&6
+-
+-if test "$hardcode_action_F77" = relink; then
+- # Fast installation is not supported
+- enable_fast_install=no
+-elif test "$shlibpath_overrides_runpath" = yes ||
+- test "$enable_shared" = no; then
+- # Fast installation is not necessary
+- enable_fast_install=needless
+-fi
+-
+-
+-# The else clause should only fire when bootstrapping the
+-# libtool distribution, otherwise you forgot to ship ltmain.sh
+-# with your package, and you will get complaints that there are
+-# no rules to generate ltmain.sh.
+-if test -f "$ltmain"; then
+- # See if we are running on zsh, and set the options which allow our commands through
+- # without removal of \ escapes.
+- if test -n "${ZSH_VERSION+set}" ; then
+- setopt NO_GLOB_SUBST
+- fi
+- # Now quote all the things that may contain metacharacters while being
+- # careful not to overquote the AC_SUBSTed values. We take copies of the
+- # variables and quote the copies for generation of the libtool script.
+- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+- SED SHELL STRIP \
+- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+- deplibs_check_method reload_flag reload_cmds need_locks \
+- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+- lt_cv_sys_global_symbol_to_c_name_address \
+- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+- old_postinstall_cmds old_postuninstall_cmds \
+- compiler_F77 \
+- CC_F77 \
+- LD_F77 \
+- lt_prog_compiler_wl_F77 \
+- lt_prog_compiler_pic_F77 \
+- lt_prog_compiler_static_F77 \
+- lt_prog_compiler_no_builtin_flag_F77 \
+- export_dynamic_flag_spec_F77 \
+- thread_safe_flag_spec_F77 \
+- whole_archive_flag_spec_F77 \
+- enable_shared_with_static_runtimes_F77 \
+- old_archive_cmds_F77 \
+- old_archive_from_new_cmds_F77 \
+- predep_objects_F77 \
+- postdep_objects_F77 \
+- predeps_F77 \
+- postdeps_F77 \
+- compiler_lib_search_path_F77 \
+- archive_cmds_F77 \
+- archive_expsym_cmds_F77 \
+- postinstall_cmds_F77 \
+- postuninstall_cmds_F77 \
+- old_archive_from_expsyms_cmds_F77 \
+- allow_undefined_flag_F77 \
+- no_undefined_flag_F77 \
+- export_symbols_cmds_F77 \
+- hardcode_libdir_flag_spec_F77 \
+- hardcode_libdir_flag_spec_ld_F77 \
+- hardcode_libdir_separator_F77 \
+- hardcode_automatic_F77 \
+- module_cmds_F77 \
+- module_expsym_cmds_F77 \
+- lt_cv_prog_compiler_c_o_F77 \
+- exclude_expsyms_F77 \
+- include_expsyms_F77; do
+-
+- case $var in
+- old_archive_cmds_F77 | \
+- old_archive_from_new_cmds_F77 | \
+- archive_cmds_F77 | \
+- archive_expsym_cmds_F77 | \
+- module_cmds_F77 | \
+- module_expsym_cmds_F77 | \
+- old_archive_from_expsyms_cmds_F77 | \
+- export_symbols_cmds_F77 | \
+- extract_expsyms_cmds | reload_cmds | finish_cmds | \
+- postinstall_cmds | postuninstall_cmds | \
+- old_postinstall_cmds | old_postuninstall_cmds | \
+- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+- # Double-quote double-evaled strings.
+- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+- ;;
+- *)
+- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+- ;;
+- esac
+- done
+-
+- case $lt_echo in
+- *'\$0 --fallback-echo"')
+- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+- ;;
+- esac
+-
+-cfgfile="$ofile"
+-
+- cat <<__EOF__ >> "$cfgfile"
+-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+-
+-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+-
+-# Shell to use when invoking shell scripts.
+-SHELL=$lt_SHELL
+-
+-# Whether or not to build shared libraries.
+-build_libtool_libs=$enable_shared
+-
+-# Whether or not to build static libraries.
+-build_old_libs=$enable_static
+-
+-# Whether or not to add -lc for building shared libraries.
+-build_libtool_need_lc=$archive_cmds_need_lc_F77
+-
+-# Whether or not to disallow shared libs when runtime libs are static
+-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77
+-
+-# Whether or not to optimize for fast installation.
+-fast_install=$enable_fast_install
+-
+-# The host system.
+-host_alias=$host_alias
+-host=$host
+-host_os=$host_os
+-
+-# The build system.
+-build_alias=$build_alias
+-build=$build
+-build_os=$build_os
+-
+-# An echo program that does not interpret backslashes.
+-echo=$lt_echo
+-
+-# The archiver.
+-AR=$lt_AR
+-AR_FLAGS=$lt_AR_FLAGS
+-
+-# A C compiler.
+-LTCC=$lt_LTCC
+-
+-# LTCC compiler flags.
+-LTCFLAGS=$lt_LTCFLAGS
+-
+-# A language-specific compiler.
+-CC=$lt_compiler_F77
+-
+-# Is the compiler the GNU C compiler?
+-with_gcc=$GCC_F77
+-
+-# An ERE matcher.
+-EGREP=$lt_EGREP
+-
+-# The linker used to build libraries.
+-LD=$lt_LD_F77
+-
+-# Whether we need hard or soft links.
+-LN_S=$lt_LN_S
+-
+-# A BSD-compatible nm program.
+-NM=$lt_NM
+-
+-# A symbol stripping program
+-STRIP=$lt_STRIP
+-
+-# Used to examine libraries when file_magic_cmd begins "file"
+-MAGIC_CMD=$MAGIC_CMD
+-
+-# Used on cygwin: DLL creation program.
+-DLLTOOL="$DLLTOOL"
+-
+-# Used on cygwin: object dumper.
+-OBJDUMP="$OBJDUMP"
+-
+-# Used on cygwin: assembler.
+-AS="$AS"
+-
+-# The name of the directory that contains temporary libtool files.
+-objdir=$objdir
+-
+-# How to create reloadable object files.
+-reload_flag=$lt_reload_flag
+-reload_cmds=$lt_reload_cmds
+-
+-# How to pass a linker flag through the compiler.
+-wl=$lt_lt_prog_compiler_wl_F77
+-
+-# Object file suffix (normally "o").
+-objext="$ac_objext"
+-
+-# Old archive suffix (normally "a").
+-libext="$libext"
+-
+-# Shared library suffix (normally ".so").
+-shrext_cmds='$shrext_cmds'
+-
+-# Executable file suffix (normally "").
+-exeext="$exeext"
+-
+-# Additional compiler flags for building library objects.
+-pic_flag=$lt_lt_prog_compiler_pic_F77
+-pic_mode=$pic_mode
+-
+-# What is the maximum length of a command?
+-max_cmd_len=$lt_cv_sys_max_cmd_len
+-
+-# Does compiler simultaneously support -c and -o options?
+-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77
+-
+-# Must we lock files when doing compilation?
+-need_locks=$lt_need_locks
+-
+-# Do we need the lib prefix for modules?
+-need_lib_prefix=$need_lib_prefix
+-
+-# Do we need a version for libraries?
+-need_version=$need_version
+-
+-# Whether dlopen is supported.
+-dlopen_support=$enable_dlopen
+-
+-# Whether dlopen of programs is supported.
+-dlopen_self=$enable_dlopen_self
+-
+-# Whether dlopen of statically linked programs is supported.
+-dlopen_self_static=$enable_dlopen_self_static
+-
+-# Compiler flag to prevent dynamic linking.
+-link_static_flag=$lt_lt_prog_compiler_static_F77
+-
+-# Compiler flag to turn off builtin functions.
+-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77
+-
+-# Compiler flag to allow reflexive dlopens.
+-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77
+-
+-# Compiler flag to generate shared objects directly from archives.
+-whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77
+-
+-# Compiler flag to generate thread-safe objects.
+-thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77
+-
+-# Library versioning type.
+-version_type=$version_type
+-
+-# Format of library name prefix.
+-libname_spec=$lt_libname_spec
+-
+-# List of archive names. First name is the real one, the rest are links.
+-# The last name is the one that the linker finds with -lNAME.
+-library_names_spec=$lt_library_names_spec
+-
+-# The coded name of the library, if different from the real name.
+-soname_spec=$lt_soname_spec
+-
+-# Commands used to build and install an old-style archive.
+-RANLIB=$lt_RANLIB
+-old_archive_cmds=$lt_old_archive_cmds_F77
+-old_postinstall_cmds=$lt_old_postinstall_cmds
+-old_postuninstall_cmds=$lt_old_postuninstall_cmds
+-
+-# Create an old-style archive from a shared archive.
+-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77
+-
+-# Create a temporary old-style archive to link instead of a shared archive.
+-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77
+-
+-# Commands used to build and install a shared archive.
+-archive_cmds=$lt_archive_cmds_F77
+-archive_expsym_cmds=$lt_archive_expsym_cmds_F77
+-postinstall_cmds=$lt_postinstall_cmds
+-postuninstall_cmds=$lt_postuninstall_cmds
+-
+-# Commands used to build a loadable module (assumed same as above if empty)
+-module_cmds=$lt_module_cmds_F77
+-module_expsym_cmds=$lt_module_expsym_cmds_F77
+-
+-# Commands to strip libraries.
+-old_striplib=$lt_old_striplib
+-striplib=$lt_striplib
+-
+-# Dependencies to place before the objects being linked to create a
+-# shared library.
+-predep_objects=$lt_predep_objects_F77
+-
+-# Dependencies to place after the objects being linked to create a
+-# shared library.
+-postdep_objects=$lt_postdep_objects_F77
+-
+-# Dependencies to place before the objects being linked to create a
+-# shared library.
+-predeps=$lt_predeps_F77
+-
+-# Dependencies to place after the objects being linked to create a
+-# shared library.
+-postdeps=$lt_postdeps_F77
+-
+-# The library search path used internally by the compiler when linking
+-# a shared library.
+-compiler_lib_search_path=$lt_compiler_lib_search_path_F77
+-
+-# Method to check whether dependent libraries are shared objects.
+-deplibs_check_method=$lt_deplibs_check_method
+-
+-# Command to use when deplibs_check_method == file_magic.
+-file_magic_cmd=$lt_file_magic_cmd
+-
+-# Flag that allows shared libraries with undefined symbols to be built.
+-allow_undefined_flag=$lt_allow_undefined_flag_F77
+-
+-# Flag that forces no undefined symbols.
+-no_undefined_flag=$lt_no_undefined_flag_F77
+-
+-# Commands used to finish a libtool library installation in a directory.
+-finish_cmds=$lt_finish_cmds
+-
+-# Same as above, but a single script fragment to be evaled but not shown.
+-finish_eval=$lt_finish_eval
+-
+-# Take the output of nm and produce a listing of raw symbols and C names.
+-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+-
+-# Transform the output of nm in a proper C declaration
+-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+-
+-# Transform the output of nm in a C name address pair
+-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+-
+-# This is the shared library runtime path variable.
+-runpath_var=$runpath_var
+-
+-# This is the shared library path variable.
+-shlibpath_var=$shlibpath_var
+-
+-# Is shlibpath searched before the hard-coded library search path?
+-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+-
+-# How to hardcode a shared library path into an executable.
+-hardcode_action=$hardcode_action_F77
+-
+-# Whether we should hardcode library paths into libraries.
+-hardcode_into_libs=$hardcode_into_libs
+-
+-# Flag to hardcode \$libdir into a binary during linking.
+-# This must work even if \$libdir does not exist.
+-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77
+-
+-# If ld is used when linking, flag to hardcode \$libdir into
+-# a binary during linking. This must work even if \$libdir does
+-# not exist.
+-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77
+-
+-# Whether we need a single -rpath flag with a separated argument.
+-hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77
+-
+-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+-# resulting binary.
+-hardcode_direct=$hardcode_direct_F77
+-
+-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+-# resulting binary.
+-hardcode_minus_L=$hardcode_minus_L_F77
+-
+-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+-# the resulting binary.
+-hardcode_shlibpath_var=$hardcode_shlibpath_var_F77
+-
+-# Set to yes if building a shared library automatically hardcodes DIR into the library
+-# and all subsequent libraries and executables linked against it.
+-hardcode_automatic=$hardcode_automatic_F77
+-
+-# Variables whose values should be saved in libtool wrapper scripts and
+-# restored at relink time.
+-variables_saved_for_relink="$variables_saved_for_relink"
+-
+-# Whether libtool must link a program against all its dependency libraries.
+-link_all_deplibs=$link_all_deplibs_F77
+-
+-# Compile-time system search path for libraries
+-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+-
+-# Run-time system search path for libraries
+-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+-
+-# Fix the shell variable \$srcfile for the compiler.
+-fix_srcfile_path="$fix_srcfile_path_F77"
+-
+-# Set to yes if exported symbols are required.
+-always_export_symbols=$always_export_symbols_F77
+-
+-# The commands to list exported symbols.
+-export_symbols_cmds=$lt_export_symbols_cmds_F77
+-
+-# The commands to extract the exported symbol list from a shared archive.
+-extract_expsyms_cmds=$lt_extract_expsyms_cmds
+-
+-# Symbols that should not be listed in the preloaded symbols.
+-exclude_expsyms=$lt_exclude_expsyms_F77
+-
+-# Symbols that must always be exported.
+-include_expsyms=$lt_include_expsyms_F77
+-
+-# ### END LIBTOOL TAG CONFIG: $tagname
+-
+-__EOF__
+-
+-
+-else
+- # If there is no Makefile yet, we rely on a make rule to execute
+- # `config.status --recheck' to rerun these tests and create the
+- # libtool script then.
+- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+- if test -f "$ltmain_in"; then
+- test -f Makefile && make "$ltmain"
+- fi
+-fi
+-
+-
+-ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+-
+-CC="$lt_save_CC"
+-
+- else
+- tagname=""
+- fi
+- ;;
+-
+- GCJ)
+- if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
+-
+-
+-
+-# Source file extension for Java test sources.
+-ac_ext=java
+-
+-# Object file extension for compiled Java test sources.
+-objext=o
+-objext_GCJ=$objext
+-
+-# Code to be used in simple compile tests
+-lt_simple_compile_test_code="class foo {}\n"
+-
+-# Code to be used in simple link tests
+-lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n'
+-
+-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+-
+-# If no C compiler was specified, use CC.
+-LTCC=${LTCC-"$CC"}
+-
+-# If no C compiler flags were specified, use CFLAGS.
+-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+-
+-# Allow CC to be a program name with arguments.
+-compiler=$CC
+-
+-
+-# save warnings/boilerplate of simple test code
+-ac_outfile=conftest.$ac_objext
+-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+-_lt_compiler_boilerplate=`cat conftest.err`
+-$rm conftest*
+-
+-ac_outfile=conftest.$ac_objext
+-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+-_lt_linker_boilerplate=`cat conftest.err`
+-$rm conftest*
+-
+-
+-# Allow CC to be a program name with arguments.
+-lt_save_CC="$CC"
+-CC=${GCJ-"gcj"}
+-compiler=$CC
+-compiler_GCJ=$CC
+-for cc_temp in $compiler""; do
+- case $cc_temp in
+- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+- \-*) ;;
+- *) break;;
+- esac
+-done
+-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+-
+-
+-# GCJ did not exist at the time GCC didn't implicitly link libc in.
+-archive_cmds_need_lc_GCJ=no
+-
+-old_archive_cmds_GCJ=$old_archive_cmds
+-
+-## CAVEAT EMPTOR:
+-## There is no encapsulation within the following macros, do not change
+-## the running order or otherwise move them around unless you know exactly
+-## what you are doing...
+-
+-lt_prog_compiler_no_builtin_flag_GCJ=
+-
+-if test "$GCC" = yes; then
+- lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
+-
+-
+-echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
+-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- lt_cv_prog_compiler_rtti_exceptions=no
+- ac_outfile=conftest.$ac_objext
+- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+- lt_compiler_flag="-fno-rtti -fno-exceptions"
+- # Insert the option either (1) after the last *FLAGS variable, or
+- # (2) before a word containing "conftest.", or (3) at the end.
+- # Note that $ac_compile itself does not contain backslashes and begins
+- # with a dollar sign (not a hyphen), so the echo should work correctly.
+- # The option is referenced via a variable to avoid confusing sed.
+- lt_compile=`echo "$ac_compile" | $SED \
+- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+- -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:15563: $lt_compile\"" >&5)
+- (eval "$lt_compile" 2>conftest.err)
+- ac_status=$?
+- cat conftest.err >&5
+- echo "$as_me:15567: \$? = $ac_status" >&5
+- if (exit $ac_status) && test -s "$ac_outfile"; then
+- # The compiler can only warn and ignore the option if not recognized
+- # So say no if there are warnings other than the usual output.
+- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+- lt_cv_prog_compiler_rtti_exceptions=yes
+- fi
+- fi
+- $rm conftest*
+-
+-fi
+-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6
+-
+-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+- lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
+-else
+- :
+-fi
+-
+-fi
+-
+-lt_prog_compiler_wl_GCJ=
+-lt_prog_compiler_pic_GCJ=
+-lt_prog_compiler_static_GCJ=
+-
+-echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+-
+- if test "$GCC" = yes; then
+- lt_prog_compiler_wl_GCJ='-Wl,'
+- lt_prog_compiler_static_GCJ='-static'
+-
+- case $host_os in
+- aix*)
+- # All AIX code is PIC.
+- if test "$host_cpu" = ia64; then
+- # AIX 5 now supports IA64 processor
+- lt_prog_compiler_static_GCJ='-Bstatic'
+- fi
+- ;;
+-
+- amigaos*)
+- # FIXME: we need at least 68020 code to build shared libraries, but
+- # adding the `-m68020' flag to GCC prevents building anything better,
+- # like `-m68040'.
+- lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
+- ;;
+-
+- beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+- # PIC is the default for these OSes.
+- ;;
+-
+- mingw* | pw32* | os2*)
+- # This hack is so that the source file can tell whether it is being
+- # built for inclusion in a dll (and should export symbols for example).
+- lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+- ;;
+-
+- darwin* | rhapsody*)
+- # PIC is the default on this platform
+- # Common symbols not allowed in MH_DYLIB files
+- lt_prog_compiler_pic_GCJ='-fno-common'
+- ;;
+-
+- interix3*)
+- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+- # Instead, we relocate shared libraries at runtime.
+- ;;
+-
+- msdosdjgpp*)
+- # Just because we use GCC doesn't mean we suddenly get shared libraries
+- # on systems that don't support them.
+- lt_prog_compiler_can_build_shared_GCJ=no
+- enable_shared=no
+- ;;
+-
+- sysv4*MP*)
+- if test -d /usr/nec; then
+- lt_prog_compiler_pic_GCJ=-Kconform_pic
+- fi
+- ;;
+-
+- hpux*)
+- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+- # not for PA HP-UX.
+- case $host_cpu in
+- hppa*64*|ia64*)
+- # +Z the default
+- ;;
+- *)
+- lt_prog_compiler_pic_GCJ='-fPIC'
+- ;;
+- esac
+- ;;
+-
+- *)
+- lt_prog_compiler_pic_GCJ='-fPIC'
+- ;;
+- esac
+- else
+- # PORTME Check for flag to pass linker flags through the system compiler.
+- case $host_os in
+- aix*)
+- lt_prog_compiler_wl_GCJ='-Wl,'
+- if test "$host_cpu" = ia64; then
+- # AIX 5 now supports IA64 processor
+- lt_prog_compiler_static_GCJ='-Bstatic'
+- else
+- lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp'
+- fi
+- ;;
+- darwin*)
+- # PIC is the default on this platform
+- # Common symbols not allowed in MH_DYLIB files
+- case $cc_basename in
+- xlc*)
+- lt_prog_compiler_pic_GCJ='-qnocommon'
+- lt_prog_compiler_wl_GCJ='-Wl,'
+- ;;
+- esac
+- ;;
+-
+- mingw* | pw32* | os2*)
+- # This hack is so that the source file can tell whether it is being
+- # built for inclusion in a dll (and should export symbols for example).
+- lt_prog_compiler_pic_GCJ='-DDLL_EXPORT'
+- ;;
+-
+- hpux9* | hpux10* | hpux11*)
+- lt_prog_compiler_wl_GCJ='-Wl,'
+- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+- # not for PA HP-UX.
+- case $host_cpu in
+- hppa*64*|ia64*)
+- # +Z the default
+- ;;
+- *)
+- lt_prog_compiler_pic_GCJ='+Z'
+- ;;
+- esac
+- # Is there a better lt_prog_compiler_static that works with the bundled CC?
+- lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive'
+- ;;
+-
+- irix5* | irix6* | nonstopux*)
+- lt_prog_compiler_wl_GCJ='-Wl,'
+- # PIC (with -KPIC) is the default.
+- lt_prog_compiler_static_GCJ='-non_shared'
+- ;;
+-
+- newsos6)
+- lt_prog_compiler_pic_GCJ='-KPIC'
+- lt_prog_compiler_static_GCJ='-Bstatic'
+- ;;
+-
+- linux*)
+- case $cc_basename in
+- icc* | ecc*)
+- lt_prog_compiler_wl_GCJ='-Wl,'
+- lt_prog_compiler_pic_GCJ='-KPIC'
+- lt_prog_compiler_static_GCJ='-static'
+- ;;
+- pgcc* | pgf77* | pgf90* | pgf95*)
+- # Portland Group compilers (*not* the Pentium gcc compiler,
+- # which looks to be a dead project)
+- lt_prog_compiler_wl_GCJ='-Wl,'
+- lt_prog_compiler_pic_GCJ='-fpic'
+- lt_prog_compiler_static_GCJ='-Bstatic'
+- ;;
+- ccc*)
+- lt_prog_compiler_wl_GCJ='-Wl,'
+- # All Alpha code is PIC.
+- lt_prog_compiler_static_GCJ='-non_shared'
+- ;;
+- esac
+- ;;
+-
+- osf3* | osf4* | osf5*)
+- lt_prog_compiler_wl_GCJ='-Wl,'
+- # All OSF/1 code is PIC.
+- lt_prog_compiler_static_GCJ='-non_shared'
+- ;;
+-
+- solaris*)
+- lt_prog_compiler_pic_GCJ='-KPIC'
+- lt_prog_compiler_static_GCJ='-Bstatic'
+- case $cc_basename in
+- f77* | f90* | f95*)
+- lt_prog_compiler_wl_GCJ='-Qoption ld ';;
+- *)
+- lt_prog_compiler_wl_GCJ='-Wl,';;
+- esac
+- ;;
+-
+- sunos4*)
+- lt_prog_compiler_wl_GCJ='-Qoption ld '
+- lt_prog_compiler_pic_GCJ='-PIC'
+- lt_prog_compiler_static_GCJ='-Bstatic'
+- ;;
+-
+- sysv4 | sysv4.2uw2* | sysv4.3*)
+- lt_prog_compiler_wl_GCJ='-Wl,'
+- lt_prog_compiler_pic_GCJ='-KPIC'
+- lt_prog_compiler_static_GCJ='-Bstatic'
+- ;;
+-
+- sysv4*MP*)
+- if test -d /usr/nec ;then
+- lt_prog_compiler_pic_GCJ='-Kconform_pic'
+- lt_prog_compiler_static_GCJ='-Bstatic'
+- fi
+- ;;
+-
+- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+- lt_prog_compiler_wl_GCJ='-Wl,'
+- lt_prog_compiler_pic_GCJ='-KPIC'
+- lt_prog_compiler_static_GCJ='-Bstatic'
+- ;;
+-
+- unicos*)
+- lt_prog_compiler_wl_GCJ='-Wl,'
+- lt_prog_compiler_can_build_shared_GCJ=no
+- ;;
+-
+- uts4*)
+- lt_prog_compiler_pic_GCJ='-pic'
+- lt_prog_compiler_static_GCJ='-Bstatic'
+- ;;
+-
+- *)
+- lt_prog_compiler_can_build_shared_GCJ=no
+- ;;
+- esac
+- fi
+-
+-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
+-echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6
+-
+-#
+-# Check to make sure the PIC flag actually works.
+-#
+-if test -n "$lt_prog_compiler_pic_GCJ"; then
+-
+-echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
+-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6
+-if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- lt_prog_compiler_pic_works_GCJ=no
+- ac_outfile=conftest.$ac_objext
+- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+- lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
+- # Insert the option either (1) after the last *FLAGS variable, or
+- # (2) before a word containing "conftest.", or (3) at the end.
+- # Note that $ac_compile itself does not contain backslashes and begins
+- # with a dollar sign (not a hyphen), so the echo should work correctly.
+- # The option is referenced via a variable to avoid confusing sed.
+- lt_compile=`echo "$ac_compile" | $SED \
+- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+- -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:15831: $lt_compile\"" >&5)
+- (eval "$lt_compile" 2>conftest.err)
+- ac_status=$?
+- cat conftest.err >&5
+- echo "$as_me:15835: \$? = $ac_status" >&5
+- if (exit $ac_status) && test -s "$ac_outfile"; then
+- # The compiler can only warn and ignore the option if not recognized
+- # So say no if there are warnings other than the usual output.
+- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+- lt_prog_compiler_pic_works_GCJ=yes
+- fi
+- fi
+- $rm conftest*
+-
+-fi
+-echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5
+-echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6
+-
+-if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then
+- case $lt_prog_compiler_pic_GCJ in
+- "" | " "*) ;;
+- *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
+- esac
+-else
+- lt_prog_compiler_pic_GCJ=
+- lt_prog_compiler_can_build_shared_GCJ=no
+-fi
+-
+-fi
+-case $host_os in
+- # For platforms which do not support PIC, -DPIC is meaningless:
+- *djgpp*)
+- lt_prog_compiler_pic_GCJ=
+- ;;
+- *)
+- lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ"
+- ;;
+-esac
+-
+-#
+-# Check to make sure the static flag actually works.
+-#
+-wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
+-echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6
+-if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- lt_prog_compiler_static_works_GCJ=no
+- save_LDFLAGS="$LDFLAGS"
+- LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+- printf "$lt_simple_link_test_code" > conftest.$ac_ext
+- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+- # The linker can only warn and ignore the option if not recognized
+- # So say no if there are warnings
+- if test -s conftest.err; then
+- # Append any errors to the config.log.
+- cat conftest.err 1>&5
+- $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+- if diff conftest.exp conftest.er2 >/dev/null; then
+- lt_prog_compiler_static_works_GCJ=yes
+- fi
+- else
+- lt_prog_compiler_static_works_GCJ=yes
+- fi
+- fi
+- $rm conftest*
+- LDFLAGS="$save_LDFLAGS"
+-
+-fi
+-echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5
+-echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6
+-
+-if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then
+- :
+-else
+- lt_prog_compiler_static_GCJ=
+-fi
+-
+-
+-echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+-if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- lt_cv_prog_compiler_c_o_GCJ=no
+- $rm -r conftest 2>/dev/null
+- mkdir conftest
+- cd conftest
+- mkdir out
+- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+-
+- lt_compiler_flag="-o out/conftest2.$ac_objext"
+- # Insert the option either (1) after the last *FLAGS variable, or
+- # (2) before a word containing "conftest.", or (3) at the end.
+- # Note that $ac_compile itself does not contain backslashes and begins
+- # with a dollar sign (not a hyphen), so the echo should work correctly.
+- lt_compile=`echo "$ac_compile" | $SED \
+- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+- -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:15935: $lt_compile\"" >&5)
+- (eval "$lt_compile" 2>out/conftest.err)
+- ac_status=$?
+- cat out/conftest.err >&5
+- echo "$as_me:15939: \$? = $ac_status" >&5
+- if (exit $ac_status) && test -s out/conftest2.$ac_objext
+- then
+- # The compiler can only warn and ignore the option if not recognized
+- # So say no if there are warnings
+- $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+- lt_cv_prog_compiler_c_o_GCJ=yes
+- fi
+- fi
+- chmod u+w . 2>&5
+- $rm conftest*
+- # SGI C++ compiler will create directory out/ii_files/ for
+- # template instantiation
+- test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+- $rm out/* && rmdir out
+- cd ..
+- rmdir conftest
+- $rm conftest*
+-
+-fi
+-echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
+-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6
+-
+-
+-hard_links="nottested"
+-if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
+- # do not overwrite the value of need_locks provided by the user
+- echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
+- hard_links=yes
+- $rm conftest*
+- ln conftest.a conftest.b 2>/dev/null && hard_links=no
+- touch conftest.a
+- ln conftest.a conftest.b 2>&5 || hard_links=no
+- ln conftest.a conftest.b 2>/dev/null && hard_links=no
+- echo "$as_me:$LINENO: result: $hard_links" >&5
+-echo "${ECHO_T}$hard_links" >&6
+- if test "$hard_links" = no; then
+- { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+- need_locks=warn
+- fi
+-else
+- need_locks=no
+-fi
+-
+-echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6
+-
+- runpath_var=
+- allow_undefined_flag_GCJ=
+- enable_shared_with_static_runtimes_GCJ=no
+- archive_cmds_GCJ=
+- archive_expsym_cmds_GCJ=
+- old_archive_From_new_cmds_GCJ=
+- old_archive_from_expsyms_cmds_GCJ=
+- export_dynamic_flag_spec_GCJ=
+- whole_archive_flag_spec_GCJ=
+- thread_safe_flag_spec_GCJ=
+- hardcode_libdir_flag_spec_GCJ=
+- hardcode_libdir_flag_spec_ld_GCJ=
+- hardcode_libdir_separator_GCJ=
+- hardcode_direct_GCJ=no
+- hardcode_minus_L_GCJ=no
+- hardcode_shlibpath_var_GCJ=unsupported
+- link_all_deplibs_GCJ=unknown
+- hardcode_automatic_GCJ=no
+- module_cmds_GCJ=
+- module_expsym_cmds_GCJ=
+- always_export_symbols_GCJ=no
+- export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+- # include_expsyms should be a list of space-separated symbols to be *always*
+- # included in the symbol list
+- include_expsyms_GCJ=
+- # exclude_expsyms can be an extended regexp of symbols to exclude
+- # it will be wrapped by ` (' and `)$', so one must not match beginning or
+- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+- # as well as any symbol that contains `d'.
+- exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_"
+- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+- # platforms (ab)use it in PIC code, but their linkers get confused if
+- # the symbol is explicitly referenced. Since portable code cannot
+- # rely on this symbol name, it's probably fine to never include it in
+- # preloaded symbol tables.
+- extract_expsyms_cmds=
+- # Just being paranoid about ensuring that cc_basename is set.
+- for cc_temp in $compiler""; do
+- case $cc_temp in
+- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+- \-*) ;;
+- *) break;;
+- esac
+-done
+-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+-
+- case $host_os in
+- cygwin* | mingw* | pw32*)
+- # FIXME: the MSVC++ port hasn't been tested in a loooong time
+- # When not using gcc, we currently assume that we are using
+- # Microsoft Visual C++.
+- if test "$GCC" != yes; then
+- with_gnu_ld=no
+- fi
+- ;;
+- interix*)
+- # we just hope/assume this is gcc and not c89 (= MSVC++)
+- with_gnu_ld=yes
+- ;;
+- openbsd*)
+- with_gnu_ld=no
+- ;;
+- esac
+-
+- ld_shlibs_GCJ=yes
+- if test "$with_gnu_ld" = yes; then
+- # If archive_cmds runs LD, not CC, wlarc should be empty
+- wlarc='${wl}'
+-
+- # Set some defaults for GNU ld with shared library support. These
+- # are reset later if shared libraries are not supported. Putting them
+- # here allows them to be overridden if necessary.
+- runpath_var=LD_RUN_PATH
+- hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
+- export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
+- # ancient GNU ld didn't support --whole-archive et. al.
+- if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+- whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+- else
+- whole_archive_flag_spec_GCJ=
+- fi
+- supports_anon_versioning=no
+- case `$LD -v 2>/dev/null` in
+- *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+- *\ 2.11.*) ;; # other 2.11 versions
+- *) supports_anon_versioning=yes ;;
+- esac
+-
+- # See if GNU ld supports shared libraries.
+- case $host_os in
+- aix3* | aix4* | aix5*)
+- # On AIX/PPC, the GNU linker is very broken
+- if test "$host_cpu" != ia64; then
+- ld_shlibs_GCJ=no
+- cat <<EOF 1>&2
+-
+-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+-*** to be unable to reliably create shared libraries on AIX.
+-*** Therefore, libtool is disabling shared libraries support. If you
+-*** really care for shared libraries, you may want to modify your PATH
+-*** so that a non-GNU linker is found, and then restart.
+-
+-EOF
+- fi
+- ;;
+-
+- amigaos*)
+- archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+- hardcode_libdir_flag_spec_GCJ='-L$libdir'
+- hardcode_minus_L_GCJ=yes
+-
+- # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
+- # that the semantics of dynamic libraries on AmigaOS, at least up
+- # to version 4, is to share data among multiple programs linked
+- # with the same dynamic library. Since this doesn't match the
+- # behavior of shared libraries on other platforms, we can't use
+- # them.
+- ld_shlibs_GCJ=no
+- ;;
+-
+- beos*)
+- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- allow_undefined_flag_GCJ=unsupported
+- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+- # support --undefined. This deserves some investigation. FIXME
+- archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- else
+- ld_shlibs_GCJ=no
+- fi
+- ;;
+-
+- cygwin* | mingw* | pw32*)
+- # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless,
+- # as there is no search path for DLLs.
+- hardcode_libdir_flag_spec_GCJ='-L$libdir'
+- allow_undefined_flag_GCJ=unsupported
+- always_export_symbols_GCJ=no
+- enable_shared_with_static_runtimes_GCJ=yes
+- export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols'
+-
+- if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+- # If the export-symbols file already is a .def file (1st line
+- # is EXPORTS), use it as is; otherwise, prepend...
+- archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+- cp $export_symbols $output_objdir/$soname.def;
+- else
+- echo EXPORTS > $output_objdir/$soname.def;
+- cat $export_symbols >> $output_objdir/$soname.def;
+- fi~
+- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+- else
+- ld_shlibs_GCJ=no
+- fi
+- ;;
+-
+- interix3*)
+- hardcode_direct_GCJ=no
+- hardcode_shlibpath_var_GCJ=no
+- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+- export_dynamic_flag_spec_GCJ='${wl}-E'
+- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+- # Instead, shared libraries are loaded at an image base (0x10000000 by
+- # default) and relocated if they conflict, which is a slow very memory
+- # consuming and fragmenting process. To avoid this, we pick a random,
+- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+- archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+- archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+- ;;
+-
+- linux*)
+- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- tmp_addflag=
+- case $cc_basename,$host_cpu in
+- pgcc*) # Portland Group C compiler
+- whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+- tmp_addflag=' $pic_flag'
+- ;;
+- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
+- whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+- tmp_addflag=' $pic_flag -Mnomain' ;;
+- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+- tmp_addflag=' -i_dynamic' ;;
+- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+- tmp_addflag=' -i_dynamic -nofor_main' ;;
+- ifc* | ifort*) # Intel Fortran compiler
+- tmp_addflag=' -nofor_main' ;;
+- esac
+- archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+-
+- if test $supports_anon_versioning = yes; then
+- archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
+- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+- $echo "local: *; };" >> $output_objdir/$libname.ver~
+- $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+- fi
+- else
+- ld_shlibs_GCJ=no
+- fi
+- ;;
+-
+- netbsd*)
+- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+- archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+- wlarc=
+- else
+- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+- fi
+- ;;
+-
+- solaris*)
+- if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+- ld_shlibs_GCJ=no
+- cat <<EOF 1>&2
+-
+-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+-*** create shared libraries on Solaris systems. Therefore, libtool
+-*** is disabling shared libraries support. We urge you to upgrade GNU
+-*** binutils to release 2.9.1 or newer. Another option is to modify
+-*** your PATH or compiler configuration so that the native linker is
+-*** used, and then restart.
+-
+-EOF
+- elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+- else
+- ld_shlibs_GCJ=no
+- fi
+- ;;
+-
+- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+- case `$LD -v 2>&1` in
+- *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+- ld_shlibs_GCJ=no
+- cat <<_LT_EOF 1>&2
+-
+-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+-*** reliably create shared libraries on SCO systems. Therefore, libtool
+-*** is disabling shared libraries support. We urge you to upgrade GNU
+-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+-*** your PATH or compiler configuration so that the native linker is
+-*** used, and then restart.
+-
+-_LT_EOF
+- ;;
+- *)
+- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+- else
+- ld_shlibs_GCJ=no
+- fi
+- ;;
+- esac
+- ;;
+-
+- sunos4*)
+- archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+- wlarc=
+- hardcode_direct_GCJ=yes
+- hardcode_shlibpath_var_GCJ=no
+- ;;
+-
+- *)
+- if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+- else
+- ld_shlibs_GCJ=no
+- fi
+- ;;
+- esac
+-
+- if test "$ld_shlibs_GCJ" = no; then
+- runpath_var=
+- hardcode_libdir_flag_spec_GCJ=
+- export_dynamic_flag_spec_GCJ=
+- whole_archive_flag_spec_GCJ=
+- fi
+- else
+- # PORTME fill in a description of your system's linker (not GNU ld)
+- case $host_os in
+- aix3*)
+- allow_undefined_flag_GCJ=unsupported
+- always_export_symbols_GCJ=yes
+- archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+- # Note: this linker hardcodes the directories in LIBPATH if there
+- # are no directories specified by -L.
+- hardcode_minus_L_GCJ=yes
+- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+- # Neither direct hardcoding nor static linking is supported with a
+- # broken collect2.
+- hardcode_direct_GCJ=unsupported
+- fi
+- ;;
+-
+- aix4* | aix5*)
+- if test "$host_cpu" = ia64; then
+- # On IA64, the linker does run time linking by default, so we don't
+- # have to do anything special.
+- aix_use_runtimelinking=no
+- exp_sym_flag='-Bexport'
+- no_entry_flag=""
+- else
+- # If we're using GNU nm, then we don't want the "-C" option.
+- # -C means demangle to AIX nm, but means don't demangle with GNU nm
+- if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+- export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+- else
+- export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+- fi
+- aix_use_runtimelinking=no
+-
+- # Test if we are trying to use run time linking or normal
+- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+- # need to do runtime linking.
+- case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+- for ld_flag in $LDFLAGS; do
+- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+- aix_use_runtimelinking=yes
+- break
+- fi
+- done
+- ;;
+- esac
+-
+- exp_sym_flag='-bexport'
+- no_entry_flag='-bnoentry'
+- fi
+-
+- # When large executables or shared objects are built, AIX ld can
+- # have problems creating the table of contents. If linking a library
+- # or program results in "error TOC overflow" add -mminimal-toc to
+- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+-
+- archive_cmds_GCJ=''
+- hardcode_direct_GCJ=yes
+- hardcode_libdir_separator_GCJ=':'
+- link_all_deplibs_GCJ=yes
+-
+- if test "$GCC" = yes; then
+- case $host_os in aix4.[012]|aix4.[012].*)
+- # We only want to do this on AIX 4.2 and lower, the check
+- # below for broken collect2 doesn't work under 4.3+
+- collect2name=`${CC} -print-prog-name=collect2`
+- if test -f "$collect2name" && \
+- strings "$collect2name" | grep resolve_lib_name >/dev/null
+- then
+- # We have reworked collect2
+- hardcode_direct_GCJ=yes
+- else
+- # We have old collect2
+- hardcode_direct_GCJ=unsupported
+- # It fails to find uninstalled libraries when the uninstalled
+- # path is not listed in the libpath. Setting hardcode_minus_L
+- # to unsupported forces relinking
+- hardcode_minus_L_GCJ=yes
+- hardcode_libdir_flag_spec_GCJ='-L$libdir'
+- hardcode_libdir_separator_GCJ=
+- fi
+- ;;
+- esac
+- shared_flag='-shared'
+- if test "$aix_use_runtimelinking" = yes; then
+- shared_flag="$shared_flag "'${wl}-G'
+- fi
+- else
+- # not using gcc
+- if test "$host_cpu" = ia64; then
+- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+- # chokes on -Wl,-G. The following line is correct:
+- shared_flag='-G'
+- else
+- if test "$aix_use_runtimelinking" = yes; then
+- shared_flag='${wl}-G'
+- else
+- shared_flag='${wl}-bM:SRE'
+- fi
+- fi
+- fi
+-
+- # It seems that -bexpall does not export symbols beginning with
+- # underscore (_), so it is better to generate a list of symbols to export.
+- always_export_symbols_GCJ=yes
+- if test "$aix_use_runtimelinking" = yes; then
+- # Warning - without using the other runtime loading flags (-brtl),
+- # -berok will link without error, but may produce a broken library.
+- allow_undefined_flag_GCJ='-berok'
+- # Determine the default libpath from the value encoded in an empty executable.
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-
+-int
+-main ()
+-{
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+-
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+-}'`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+-}'`; fi
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+-
+- hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
+- archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+- else
+- if test "$host_cpu" = ia64; then
+- hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
+- allow_undefined_flag_GCJ="-z nodefs"
+- archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+- else
+- # Determine the default libpath from the value encoded in an empty executable.
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-
+-int
+-main ()
+-{
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+-
+-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+-}'`
+-# Check for a 64-bit object if we didn't find anything.
+-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+-}'`; fi
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+-
+- hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
+- # Warning - without using the other run time loading flags,
+- # -berok will link without error, but may produce a broken library.
+- no_undefined_flag_GCJ=' ${wl}-bernotok'
+- allow_undefined_flag_GCJ=' ${wl}-berok'
+- # Exported symbols can be pulled into shared objects from archives
+- whole_archive_flag_spec_GCJ='$convenience'
+- archive_cmds_need_lc_GCJ=yes
+- # This is similar to how AIX traditionally builds its shared libraries.
+- archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+- fi
+- fi
+- ;;
+-
+- amigaos*)
+- archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+- hardcode_libdir_flag_spec_GCJ='-L$libdir'
+- hardcode_minus_L_GCJ=yes
+- # see comment about different semantics on the GNU ld section
+- ld_shlibs_GCJ=no
+- ;;
+-
+- bsdi[45]*)
+- export_dynamic_flag_spec_GCJ=-rdynamic
+- ;;
+-
+- cygwin* | mingw* | pw32*)
+- # When not using gcc, we currently assume that we are using
+- # Microsoft Visual C++.
+- # hardcode_libdir_flag_spec is actually meaningless, as there is
+- # no search path for DLLs.
+- hardcode_libdir_flag_spec_GCJ=' '
+- allow_undefined_flag_GCJ=unsupported
+- # Tell ltmain to make .lib files, not .a files.
+- libext=lib
+- # Tell ltmain to make .dll files, not .so files.
+- shrext_cmds=".dll"
+- # FIXME: Setting linknames here is a bad hack.
+- archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+- # The linker will automatically build a .lib file if we build a DLL.
+- old_archive_From_new_cmds_GCJ='true'
+- # FIXME: Should let the user specify the lib program.
+- old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs'
+- fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
+- enable_shared_with_static_runtimes_GCJ=yes
+- ;;
+-
+- darwin* | rhapsody*)
+- case $host_os in
+- rhapsody* | darwin1.[012])
+- allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress'
+- ;;
+- *) # Darwin 1.3 on
+- if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+- allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+- else
+- case ${MACOSX_DEPLOYMENT_TARGET} in
+- 10.[012])
+- allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+- ;;
+- 10.*)
+- allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup'
+- ;;
+- esac
+- fi
+- ;;
+- esac
+- archive_cmds_need_lc_GCJ=no
+- hardcode_direct_GCJ=no
+- hardcode_automatic_GCJ=yes
+- hardcode_shlibpath_var_GCJ=unsupported
+- whole_archive_flag_spec_GCJ=''
+- link_all_deplibs_GCJ=yes
+- if test "$GCC" = yes ; then
+- output_verbose_link_cmd='echo'
+- archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+- module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+- archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- else
+- case $cc_basename in
+- xlc*)
+- output_verbose_link_cmd='echo'
+- archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+- module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+- # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+- archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+- ;;
+- *)
+- ld_shlibs_GCJ=no
+- ;;
+- esac
+- fi
+- ;;
+-
+- dgux*)
+- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_libdir_flag_spec_GCJ='-L$libdir'
+- hardcode_shlibpath_var_GCJ=no
+- ;;
+-
+- freebsd1*)
+- ld_shlibs_GCJ=no
+- ;;
+-
+- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+- # support. Future versions do this automatically, but an explicit c++rt0.o
+- # does not break anything, and helps significantly (at the cost of a little
+- # extra space).
+- freebsd2.2*)
+- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+- hardcode_libdir_flag_spec_GCJ='-R$libdir'
+- hardcode_direct_GCJ=yes
+- hardcode_shlibpath_var_GCJ=no
+- ;;
+-
+- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+- freebsd2*)
+- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_direct_GCJ=yes
+- hardcode_minus_L_GCJ=yes
+- hardcode_shlibpath_var_GCJ=no
+- ;;
+-
+- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+- freebsd* | kfreebsd*-gnu | dragonfly*)
+- archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+- hardcode_libdir_flag_spec_GCJ='-R$libdir'
+- hardcode_direct_GCJ=yes
+- hardcode_shlibpath_var_GCJ=no
+- ;;
+-
+- hpux9*)
+- if test "$GCC" = yes; then
+- archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+- else
+- archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+- fi
+- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+- hardcode_libdir_separator_GCJ=:
+- hardcode_direct_GCJ=yes
+-
+- # hardcode_minus_L: Not really in the search PATH,
+- # but as the default location of the library.
+- hardcode_minus_L_GCJ=yes
+- export_dynamic_flag_spec_GCJ='${wl}-E'
+- ;;
+-
+- hpux10*)
+- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+- archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+- else
+- archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+- fi
+- if test "$with_gnu_ld" = no; then
+- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+- hardcode_libdir_separator_GCJ=:
+-
+- hardcode_direct_GCJ=yes
+- export_dynamic_flag_spec_GCJ='${wl}-E'
+-
+- # hardcode_minus_L: Not really in the search PATH,
+- # but as the default location of the library.
+- hardcode_minus_L_GCJ=yes
+- fi
+- ;;
+-
+- hpux11*)
+- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+- case $host_cpu in
+- hppa*64*)
+- archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- ia64*)
+- archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- *)
+- archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- esac
+- else
+- case $host_cpu in
+- hppa*64*)
+- archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- ia64*)
+- archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- *)
+- archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+- ;;
+- esac
+- fi
+- if test "$with_gnu_ld" = no; then
+- hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
+- hardcode_libdir_separator_GCJ=:
+-
+- case $host_cpu in
+- hppa*64*|ia64*)
+- hardcode_libdir_flag_spec_ld_GCJ='+b $libdir'
+- hardcode_direct_GCJ=no
+- hardcode_shlibpath_var_GCJ=no
+- ;;
+- *)
+- hardcode_direct_GCJ=yes
+- export_dynamic_flag_spec_GCJ='${wl}-E'
+-
+- # hardcode_minus_L: Not really in the search PATH,
+- # but as the default location of the library.
+- hardcode_minus_L_GCJ=yes
+- ;;
+- esac
+- fi
+- ;;
+-
+- irix5* | irix6* | nonstopux*)
+- if test "$GCC" = yes; then
+- archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+- else
+- archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+- hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir'
+- fi
+- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+- hardcode_libdir_separator_GCJ=:
+- link_all_deplibs_GCJ=yes
+- ;;
+-
+- netbsd*)
+- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+- else
+- archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+- fi
+- hardcode_libdir_flag_spec_GCJ='-R$libdir'
+- hardcode_direct_GCJ=yes
+- hardcode_shlibpath_var_GCJ=no
+- ;;
+-
+- newsos6)
+- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_direct_GCJ=yes
+- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+- hardcode_libdir_separator_GCJ=:
+- hardcode_shlibpath_var_GCJ=no
+- ;;
+-
+- openbsd*)
+- hardcode_direct_GCJ=yes
+- hardcode_shlibpath_var_GCJ=no
+- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+- export_dynamic_flag_spec_GCJ='${wl}-E'
+- else
+- case $host_os in
+- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+- archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_libdir_flag_spec_GCJ='-R$libdir'
+- ;;
+- *)
+- archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+- hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
+- ;;
+- esac
+- fi
+- ;;
+-
+- os2*)
+- hardcode_libdir_flag_spec_GCJ='-L$libdir'
+- hardcode_minus_L_GCJ=yes
+- allow_undefined_flag_GCJ=unsupported
+- archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+- old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+- ;;
+-
+- osf3*)
+- if test "$GCC" = yes; then
+- allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+- else
+- allow_undefined_flag_GCJ=' -expect_unresolved \*'
+- archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+- fi
+- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+- hardcode_libdir_separator_GCJ=:
+- ;;
+-
+- osf4* | osf5*) # as osf3* with the addition of -msym flag
+- if test "$GCC" = yes; then
+- allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
+- archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+- hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
+- else
+- allow_undefined_flag_GCJ=' -expect_unresolved \*'
+- archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+- archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+- $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+-
+- # Both c and cxx compiler support -rpath directly
+- hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
+- fi
+- hardcode_libdir_separator_GCJ=:
+- ;;
+-
+- solaris*)
+- no_undefined_flag_GCJ=' -z text'
+- if test "$GCC" = yes; then
+- wlarc='${wl}'
+- archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+- $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+- else
+- wlarc=''
+- archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+- fi
+- hardcode_libdir_flag_spec_GCJ='-R$libdir'
+- hardcode_shlibpath_var_GCJ=no
+- case $host_os in
+- solaris2.[0-5] | solaris2.[0-5].*) ;;
+- *)
+- # The compiler driver will combine linker options so we
+- # cannot just pass the convience library names through
+- # without $wl, iff we do not link with $LD.
+- # Luckily, gcc supports the same syntax we need for Sun Studio.
+- # Supported since Solaris 2.6 (maybe 2.5.1?)
+- case $wlarc in
+- '')
+- whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;;
+- *)
+- whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;;
+- esac ;;
+- esac
+- link_all_deplibs_GCJ=yes
+- ;;
+-
+- sunos4*)
+- if test "x$host_vendor" = xsequent; then
+- # Use $CC to link under sequent, because it throws in some extra .o
+- # files that make .init and .fini sections work.
+- archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+- else
+- archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+- fi
+- hardcode_libdir_flag_spec_GCJ='-L$libdir'
+- hardcode_direct_GCJ=yes
+- hardcode_minus_L_GCJ=yes
+- hardcode_shlibpath_var_GCJ=no
+- ;;
+-
+- sysv4)
+- case $host_vendor in
+- sni)
+- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_direct_GCJ=yes # is this really true???
+- ;;
+- siemens)
+- ## LD is ld it makes a PLAMLIB
+- ## CC just makes a GrossModule.
+- archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+- reload_cmds_GCJ='$CC -r -o $output$reload_objs'
+- hardcode_direct_GCJ=no
+- ;;
+- motorola)
+- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie
+- ;;
+- esac
+- runpath_var='LD_RUN_PATH'
+- hardcode_shlibpath_var_GCJ=no
+- ;;
+-
+- sysv4.3*)
+- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_shlibpath_var_GCJ=no
+- export_dynamic_flag_spec_GCJ='-Bexport'
+- ;;
+-
+- sysv4*MP*)
+- if test -d /usr/nec; then
+- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_shlibpath_var_GCJ=no
+- runpath_var=LD_RUN_PATH
+- hardcode_runpath_var=yes
+- ld_shlibs_GCJ=yes
+- fi
+- ;;
+-
+- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+- no_undefined_flag_GCJ='${wl}-z,text'
+- archive_cmds_need_lc_GCJ=no
+- hardcode_shlibpath_var_GCJ=no
+- runpath_var='LD_RUN_PATH'
+-
+- if test "$GCC" = yes; then
+- archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- else
+- archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+- fi
+- ;;
+-
+- sysv5* | sco3.2v5* | sco5v6*)
+- # Note: We can NOT use -z defs as we might desire, because we do not
+- # link with -lc, and that would cause any symbols used from libc to
+- # always be unresolved, which means just about no library would
+- # ever link correctly. If we're not using GNU ld we use -z text
+- # though, which does catch some bad symbols but isn't as heavy-handed
+- # as -z defs.
+- no_undefined_flag_GCJ='${wl}-z,text'
+- allow_undefined_flag_GCJ='${wl}-z,nodefs'
+- archive_cmds_need_lc_GCJ=no
+- hardcode_shlibpath_var_GCJ=no
+- hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+- hardcode_libdir_separator_GCJ=':'
+- link_all_deplibs_GCJ=yes
+- export_dynamic_flag_spec_GCJ='${wl}-Bexport'
+- runpath_var='LD_RUN_PATH'
+-
+- if test "$GCC" = yes; then
+- archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- else
+- archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+- fi
+- ;;
+-
+- uts4*)
+- archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+- hardcode_libdir_flag_spec_GCJ='-L$libdir'
+- hardcode_shlibpath_var_GCJ=no
+- ;;
+-
+- *)
+- ld_shlibs_GCJ=no
+- ;;
+- esac
+- fi
+-
+-echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
+-echo "${ECHO_T}$ld_shlibs_GCJ" >&6
+-test "$ld_shlibs_GCJ" = no && can_build_shared=no
+-
+-#
+-# Do we need to explicitly link libc?
+-#
+-case "x$archive_cmds_need_lc_GCJ" in
+-x|xyes)
+- # Assume -lc should be added
+- archive_cmds_need_lc_GCJ=yes
+-
+- if test "$enable_shared" = yes && test "$GCC" = yes; then
+- case $archive_cmds_GCJ in
+- *'~'*)
+- # FIXME: we may have to deal with multi-command sequences.
+- ;;
+- '$CC '*)
+- # Test whether the compiler implicitly links with -lc since on some
+- # systems, -lgcc has to come before -lc. If gcc already passes -lc
+- # to ld, don't add -lc before -lgcc.
+- echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+- $rm conftest*
+- printf "$lt_simple_compile_test_code" > conftest.$ac_ext
+-
+- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } 2>conftest.err; then
+- soname=conftest
+- lib=conftest
+- libobjs=conftest.$ac_objext
+- deplibs=
+- wl=$lt_prog_compiler_wl_GCJ
+- pic_flag=$lt_prog_compiler_pic_GCJ
+- compiler_flags=-v
+- linker_flags=-v
+- verstring=
+- output_objdir=.
+- libname=conftest
+- lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ
+- allow_undefined_flag_GCJ=
+- if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+- (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }
+- then
+- archive_cmds_need_lc_GCJ=no
+- else
+- archive_cmds_need_lc_GCJ=yes
+- fi
+- allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag
+- else
+- cat conftest.err 1>&5
+- fi
+- $rm conftest*
+- echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
+-echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6
+- ;;
+- esac
+- fi
+- ;;
+-esac
+-
+-echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
+-library_names_spec=
+-libname_spec='lib$name'
+-soname_spec=
+-shrext_cmds=".so"
+-postinstall_cmds=
+-postuninstall_cmds=
+-finish_cmds=
+-finish_eval=
+-shlibpath_var=
+-shlibpath_overrides_runpath=unknown
+-version_type=none
+-dynamic_linker="$host_os ld.so"
+-sys_lib_dlsearch_path_spec="/lib /usr/lib"
+-if test "$GCC" = yes; then
+- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+- if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then
+- # if the path contains ";" then we assume it to be the separator
+- # otherwise default to the standard path separator (i.e. ":") - it is
+- # assumed that no part of a normal pathname contains ";" but that should
+- # okay in the real world where ";" in dirpaths is itself problematic.
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+- else
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+- fi
+-else
+- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+-fi
+-need_lib_prefix=unknown
+-hardcode_into_libs=no
+-
+-# when you set need_version to no, make sure it does not cause -set_version
+-# flags to be left without arguments
+-need_version=unknown
+-
+-case $host_os in
+-aix3*)
+- version_type=linux
+- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+- shlibpath_var=LIBPATH
+-
+- # AIX 3 has no versioning support, so we append a major version to the name.
+- soname_spec='${libname}${release}${shared_ext}$major'
+- ;;
+-
+-aix4* | aix5*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- hardcode_into_libs=yes
+- if test "$host_cpu" = ia64; then
+- # AIX 5 supports IA64
+- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+- shlibpath_var=LD_LIBRARY_PATH
+- else
+- # With GCC up to 2.95.x, collect2 would create an import file
+- # for dependence libraries. The import file would start with
+- # the line `#! .'. This would cause the generated library to
+- # depend on `.', always an invalid library. This was fixed in
+- # development snapshots of GCC prior to 3.0.
+- case $host_os in
+- aix4 | aix4.[01] | aix4.[01].*)
+- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+- echo ' yes '
+- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+- :
+- else
+- can_build_shared=no
+- fi
+- ;;
+- esac
+- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+- # soname into executable. Probably we can add versioning support to
+- # collect2, so additional links can be useful in future.
+- if test "$aix_use_runtimelinking" = yes; then
+- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+- # instead of lib<name>.a to let people know that these are not
+- # typical AIX shared libraries.
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- else
+- # We preserve .a as extension for shared libraries through AIX4.2
+- # and later when we are not doing run time linking.
+- library_names_spec='${libname}${release}.a $libname.a'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- fi
+- shlibpath_var=LIBPATH
+- fi
+- ;;
+-
+-amigaos*)
+- library_names_spec='$libname.ixlibrary $libname.a'
+- # Create ${libname}_ixlibrary.a entries in /sys/libs.
+- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+- ;;
+-
+-beos*)
+- library_names_spec='${libname}${shared_ext}'
+- dynamic_linker="$host_os ld.so"
+- shlibpath_var=LIBRARY_PATH
+- ;;
+-
+-bsdi[45]*)
+- version_type=linux
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+- shlibpath_var=LD_LIBRARY_PATH
+- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+- # the default ld.so.conf also contains /usr/contrib/lib and
+- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+- # libtool to hard-code these into programs
+- ;;
+-
+-cygwin* | mingw* | pw32*)
+- version_type=windows
+- shrext_cmds=".dll"
+- need_version=no
+- need_lib_prefix=no
+-
+- case $GCC,$host_os in
+- yes,cygwin* | yes,mingw* | yes,pw32*)
+- library_names_spec='$libname.dll.a'
+- # DLL is installed to $(libdir)/../bin by postinstall_cmds
+- postinstall_cmds='base_file=`basename \${file}`~
+- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+- dldir=$destdir/`dirname \$dlpath`~
+- test -d \$dldir || mkdir -p \$dldir~
+- $install_prog $dir/$dlname \$dldir/$dlname~
+- chmod a+x \$dldir/$dlname'
+- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+- dlpath=$dir/\$dldll~
+- $rm \$dlpath'
+- shlibpath_overrides_runpath=yes
+-
+- case $host_os in
+- cygwin*)
+- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+- ;;
+- mingw*)
+- # MinGW DLLs use traditional 'lib' prefix
+- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+- sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+- if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+- # It is most probably a Windows format PATH printed by
+- # mingw gcc, but we are running on Cygwin. Gcc prints its search
+- # path with ; separators, and with drive letters. We can handle the
+- # drive letters (cygwin fileutils understands them), so leave them,
+- # especially as we might pass files found there to a mingw objdump,
+- # which wouldn't understand a cygwinified path. Ahh.
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+- else
+- sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+- fi
+- ;;
+- pw32*)
+- # pw32 DLLs use 'pw' prefix rather than 'lib'
+- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+- ;;
+- esac
+- ;;
+-
+- *)
+- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+- ;;
+- esac
+- dynamic_linker='Win32 ld.exe'
+- # FIXME: first we should search . and the directory the executable is in
+- shlibpath_var=PATH
+- ;;
+-
+-darwin* | rhapsody*)
+- dynamic_linker="$host_os dyld"
+- version_type=darwin
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+- soname_spec='${libname}${release}${major}$shared_ext'
+- shlibpath_overrides_runpath=yes
+- shlibpath_var=DYLD_LIBRARY_PATH
+- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+- # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
+- if test "$GCC" = yes; then
+- sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
+- else
+- sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
+- fi
+- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+- ;;
+-
+-dgux*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- ;;
+-
+-freebsd1*)
+- dynamic_linker=no
+- ;;
+-
+-kfreebsd*-gnu)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=no
+- hardcode_into_libs=yes
+- dynamic_linker='GNU ld.so'
+- ;;
+-
+-freebsd* | dragonfly*)
+- # DragonFly does not have aout. When/if they implement a new
+- # versioning mechanism, adjust this.
+- if test -x /usr/bin/objformat; then
+- objformat=`/usr/bin/objformat`
+- else
+- case $host_os in
+- freebsd[123]*) objformat=aout ;;
+- *) objformat=elf ;;
+- esac
+- fi
+- version_type=freebsd-$objformat
+- case $version_type in
+- freebsd-elf*)
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+- need_version=no
+- need_lib_prefix=no
+- ;;
+- freebsd-*)
+- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+- need_version=yes
+- ;;
+- esac
+- shlibpath_var=LD_LIBRARY_PATH
+- case $host_os in
+- freebsd2*)
+- shlibpath_overrides_runpath=yes
+- ;;
+- freebsd3.[01]* | freebsdelf3.[01]*)
+- shlibpath_overrides_runpath=yes
+- hardcode_into_libs=yes
+- ;;
+- freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+- freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+- shlibpath_overrides_runpath=no
+- hardcode_into_libs=yes
+- ;;
+- freebsd*) # from 4.6 on
+- shlibpath_overrides_runpath=yes
+- hardcode_into_libs=yes
+- ;;
+- esac
+- ;;
+-
+-gnu*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- hardcode_into_libs=yes
+- ;;
+-
+-hpux9* | hpux10* | hpux11*)
+- # Give a soname corresponding to the major version so that dld.sl refuses to
+- # link against other versions.
+- version_type=sunos
+- need_lib_prefix=no
+- need_version=no
+- case $host_cpu in
+- ia64*)
+- shrext_cmds='.so'
+- hardcode_into_libs=yes
+- dynamic_linker="$host_os dld.so"
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- if test "X$HPUX_IA64_MODE" = X32; then
+- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+- else
+- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+- fi
+- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+- ;;
+- hppa*64*)
+- shrext_cmds='.sl'
+- hardcode_into_libs=yes
+- dynamic_linker="$host_os dld.sl"
+- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+- ;;
+- *)
+- shrext_cmds='.sl'
+- dynamic_linker="$host_os dld.sl"
+- shlibpath_var=SHLIB_PATH
+- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- ;;
+- esac
+- # HP-UX runs *really* slowly unless shared libraries are mode 555.
+- postinstall_cmds='chmod 555 $lib'
+- ;;
+-
+-interix3*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=no
+- hardcode_into_libs=yes
+- ;;
+-
+-irix5* | irix6* | nonstopux*)
+- case $host_os in
+- nonstopux*) version_type=nonstopux ;;
+- *)
+- if test "$lt_cv_prog_gnu_ld" = yes; then
+- version_type=linux
+- else
+- version_type=irix
+- fi ;;
+- esac
+- need_lib_prefix=no
+- need_version=no
+- soname_spec='${libname}${release}${shared_ext}$major'
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+- case $host_os in
+- irix5* | nonstopux*)
+- libsuff= shlibsuff=
+- ;;
+- *)
+- case $LD in # libtool.m4 will add one of these switches to LD
+- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+- libsuff= shlibsuff= libmagic=32-bit;;
+- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+- libsuff=32 shlibsuff=N32 libmagic=N32;;
+- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+- libsuff=64 shlibsuff=64 libmagic=64-bit;;
+- *) libsuff= shlibsuff= libmagic=never-match;;
+- esac
+- ;;
+- esac
+- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+- shlibpath_overrides_runpath=no
+- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+- hardcode_into_libs=yes
+- ;;
+-
+-# No shared lib support for Linux oldld, aout, or coff.
+-linux*oldld* | linux*aout* | linux*coff*)
+- dynamic_linker=no
+- ;;
+-
+-# This must be Linux ELF.
+-linux*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=no
+- # This implies no fast_install, which is unacceptable.
+- # Some rework will be needed to allow for fast_install
+- # before this can be enabled.
+- hardcode_into_libs=yes
+-
+- # Append ld.so.conf contents to the search path
+- if test -f /etc/ld.so.conf; then
+- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+- fi
+-
+- # We used to test for /lib/ld.so.1 and disable shared libraries on
+- # powerpc, because MkLinux only supported shared libraries with the
+- # GNU dynamic linker. Since this was broken with cross compilers,
+- # most powerpc-linux boxes support dynamic linking these days and
+- # people can always --disable-shared, the test was removed, and we
+- # assume the GNU/Linux dynamic linker is in use.
+- dynamic_linker='GNU/Linux ld.so'
+- ;;
+-
+-knetbsd*-gnu)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=no
+- hardcode_into_libs=yes
+- dynamic_linker='GNU ld.so'
+- ;;
+-
+-netbsd*)
+- version_type=sunos
+- need_lib_prefix=no
+- need_version=no
+- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+- dynamic_linker='NetBSD (a.out) ld.so'
+- else
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- dynamic_linker='NetBSD ld.elf_so'
+- fi
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- hardcode_into_libs=yes
+- ;;
+-
+-newsos6)
+- version_type=linux
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- ;;
+-
+-nto-qnx*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- ;;
+-
+-openbsd*)
+- version_type=sunos
+- sys_lib_dlsearch_path_spec="/usr/lib"
+- need_lib_prefix=no
+- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+- case $host_os in
+- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+- *) need_version=no ;;
+- esac
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+- shlibpath_var=LD_LIBRARY_PATH
+- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+- case $host_os in
+- openbsd2.[89] | openbsd2.[89].*)
+- shlibpath_overrides_runpath=no
+- ;;
+- *)
+- shlibpath_overrides_runpath=yes
+- ;;
+- esac
+- else
+- shlibpath_overrides_runpath=yes
+- fi
+- ;;
+-
+-os2*)
+- libname_spec='$name'
+- shrext_cmds=".dll"
+- need_lib_prefix=no
+- library_names_spec='$libname${shared_ext} $libname.a'
+- dynamic_linker='OS/2 ld.exe'
+- shlibpath_var=LIBPATH
+- ;;
+-
+-osf3* | osf4* | osf5*)
+- version_type=osf
+- need_lib_prefix=no
+- need_version=no
+- soname_spec='${libname}${release}${shared_ext}$major'
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- shlibpath_var=LD_LIBRARY_PATH
+- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+- ;;
+-
+-solaris*)
+- version_type=linux
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- hardcode_into_libs=yes
+- # ldd complains unless libraries are executable
+- postinstall_cmds='chmod +x $lib'
+- ;;
+-
+-sunos4*)
+- version_type=sunos
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+- shlibpath_var=LD_LIBRARY_PATH
+- shlibpath_overrides_runpath=yes
+- if test "$with_gnu_ld" = yes; then
+- need_lib_prefix=no
+- fi
+- need_version=yes
+- ;;
+-
+-sysv4 | sysv4.3*)
+- version_type=linux
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- case $host_vendor in
+- sni)
+- shlibpath_overrides_runpath=no
+- need_lib_prefix=no
+- export_dynamic_flag_spec='${wl}-Blargedynsym'
+- runpath_var=LD_RUN_PATH
+- ;;
+- siemens)
+- need_lib_prefix=no
+- ;;
+- motorola)
+- need_lib_prefix=no
+- need_version=no
+- shlibpath_overrides_runpath=no
+- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+- ;;
+- esac
+- ;;
+-
+-sysv4*MP*)
+- if test -d /usr/nec ;then
+- version_type=linux
+- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+- soname_spec='$libname${shared_ext}.$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- fi
+- ;;
+-
+-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+- version_type=freebsd-elf
+- need_lib_prefix=no
+- need_version=no
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- hardcode_into_libs=yes
+- if test "$with_gnu_ld" = yes; then
+- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+- shlibpath_overrides_runpath=no
+- else
+- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+- shlibpath_overrides_runpath=yes
+- case $host_os in
+- sco3.2v5*)
+- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+- ;;
+- esac
+- fi
+- sys_lib_dlsearch_path_spec='/usr/lib'
+- ;;
+-
+-uts4*)
+- version_type=linux
+- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+- soname_spec='${libname}${release}${shared_ext}$major'
+- shlibpath_var=LD_LIBRARY_PATH
+- ;;
+-
+-*)
+- dynamic_linker=no
+- ;;
+-esac
+-echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+-echo "${ECHO_T}$dynamic_linker" >&6
+-test "$dynamic_linker" = no && can_build_shared=no
+-
+-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+-if test "$GCC" = yes; then
+- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+-fi
+-
+-echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
+-hardcode_action_GCJ=
+-if test -n "$hardcode_libdir_flag_spec_GCJ" || \
+- test -n "$runpath_var_GCJ" || \
+- test "X$hardcode_automatic_GCJ" = "Xyes" ; then
+-
+- # We can hardcode non-existant directories.
+- if test "$hardcode_direct_GCJ" != no &&
+- # If the only mechanism to avoid hardcoding is shlibpath_var, we
+- # have to relink, otherwise we might link with an installed library
+- # when we should be linking with a yet-to-be-installed one
+- ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
+- test "$hardcode_minus_L_GCJ" != no; then
+- # Linking always hardcodes the temporary library directory.
+- hardcode_action_GCJ=relink
+- else
+- # We can link without hardcoding, and we can hardcode nonexisting dirs.
+- hardcode_action_GCJ=immediate
+- fi
+-else
+- # We cannot hardcode anything, or else we can only hardcode existing
+- # directories.
+- hardcode_action_GCJ=unsupported
+-fi
+-echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
+-echo "${ECHO_T}$hardcode_action_GCJ" >&6
+-
+-if test "$hardcode_action_GCJ" = relink; then
+- # Fast installation is not supported
+- enable_fast_install=no
+-elif test "$shlibpath_overrides_runpath" = yes ||
+- test "$enable_shared" = no; then
+- # Fast installation is not necessary
+- enable_fast_install=needless
+-fi
+-
+-
+-# The else clause should only fire when bootstrapping the
+-# libtool distribution, otherwise you forgot to ship ltmain.sh
+-# with your package, and you will get complaints that there are
+-# no rules to generate ltmain.sh.
+-if test -f "$ltmain"; then
+- # See if we are running on zsh, and set the options which allow our commands through
+- # without removal of \ escapes.
+- if test -n "${ZSH_VERSION+set}" ; then
+- setopt NO_GLOB_SUBST
+- fi
+- # Now quote all the things that may contain metacharacters while being
+- # careful not to overquote the AC_SUBSTed values. We take copies of the
+- # variables and quote the copies for generation of the libtool script.
+- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+- SED SHELL STRIP \
+- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+- deplibs_check_method reload_flag reload_cmds need_locks \
+- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+- lt_cv_sys_global_symbol_to_c_name_address \
+- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+- old_postinstall_cmds old_postuninstall_cmds \
+- compiler_GCJ \
+- CC_GCJ \
+- LD_GCJ \
+- lt_prog_compiler_wl_GCJ \
+- lt_prog_compiler_pic_GCJ \
+- lt_prog_compiler_static_GCJ \
+- lt_prog_compiler_no_builtin_flag_GCJ \
+- export_dynamic_flag_spec_GCJ \
+- thread_safe_flag_spec_GCJ \
+- whole_archive_flag_spec_GCJ \
+- enable_shared_with_static_runtimes_GCJ \
+- old_archive_cmds_GCJ \
+- old_archive_from_new_cmds_GCJ \
+- predep_objects_GCJ \
+- postdep_objects_GCJ \
+- predeps_GCJ \
+- postdeps_GCJ \
+- compiler_lib_search_path_GCJ \
+- archive_cmds_GCJ \
+- archive_expsym_cmds_GCJ \
+- postinstall_cmds_GCJ \
+- postuninstall_cmds_GCJ \
+- old_archive_from_expsyms_cmds_GCJ \
+- allow_undefined_flag_GCJ \
+- no_undefined_flag_GCJ \
+- export_symbols_cmds_GCJ \
+- hardcode_libdir_flag_spec_GCJ \
+- hardcode_libdir_flag_spec_ld_GCJ \
+- hardcode_libdir_separator_GCJ \
+- hardcode_automatic_GCJ \
+- module_cmds_GCJ \
+- module_expsym_cmds_GCJ \
+- lt_cv_prog_compiler_c_o_GCJ \
+- exclude_expsyms_GCJ \
+- include_expsyms_GCJ; do
+-
+- case $var in
+- old_archive_cmds_GCJ | \
+- old_archive_from_new_cmds_GCJ | \
+- archive_cmds_GCJ | \
+- archive_expsym_cmds_GCJ | \
+- module_cmds_GCJ | \
+- module_expsym_cmds_GCJ | \
+- old_archive_from_expsyms_cmds_GCJ | \
+- export_symbols_cmds_GCJ | \
+- extract_expsyms_cmds | reload_cmds | finish_cmds | \
+- postinstall_cmds | postuninstall_cmds | \
+- old_postinstall_cmds | old_postuninstall_cmds | \
+- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+- # Double-quote double-evaled strings.
+- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+- ;;
+- *)
+- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+- ;;
+- esac
+- done
+-
+- case $lt_echo in
+- *'\$0 --fallback-echo"')
+- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+- ;;
+- esac
+-
+-cfgfile="$ofile"
+-
+- cat <<__EOF__ >> "$cfgfile"
+-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+-
+-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+-
+-# Shell to use when invoking shell scripts.
+-SHELL=$lt_SHELL
+-
+-# Whether or not to build shared libraries.
+-build_libtool_libs=$enable_shared
+-
+-# Whether or not to build static libraries.
+-build_old_libs=$enable_static
+-
+-# Whether or not to add -lc for building shared libraries.
+-build_libtool_need_lc=$archive_cmds_need_lc_GCJ
+-
+-# Whether or not to disallow shared libs when runtime libs are static
+-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ
+-
+-# Whether or not to optimize for fast installation.
+-fast_install=$enable_fast_install
+-
+-# The host system.
+-host_alias=$host_alias
+-host=$host
+-host_os=$host_os
+-
+-# The build system.
+-build_alias=$build_alias
+-build=$build
+-build_os=$build_os
+-
+-# An echo program that does not interpret backslashes.
+-echo=$lt_echo
+-
+-# The archiver.
+-AR=$lt_AR
+-AR_FLAGS=$lt_AR_FLAGS
+-
+-# A C compiler.
+-LTCC=$lt_LTCC
+-
+-# LTCC compiler flags.
+-LTCFLAGS=$lt_LTCFLAGS
+-
+-# A language-specific compiler.
+-CC=$lt_compiler_GCJ
+-
+-# Is the compiler the GNU C compiler?
+-with_gcc=$GCC_GCJ
+-
+-# An ERE matcher.
+-EGREP=$lt_EGREP
+-
+-# The linker used to build libraries.
+-LD=$lt_LD_GCJ
+-
+-# Whether we need hard or soft links.
+-LN_S=$lt_LN_S
+-
+-# A BSD-compatible nm program.
+-NM=$lt_NM
+-
+-# A symbol stripping program
+-STRIP=$lt_STRIP
+-
+-# Used to examine libraries when file_magic_cmd begins "file"
+-MAGIC_CMD=$MAGIC_CMD
+-
+-# Used on cygwin: DLL creation program.
+-DLLTOOL="$DLLTOOL"
+-
+-# Used on cygwin: object dumper.
+-OBJDUMP="$OBJDUMP"
+-
+-# Used on cygwin: assembler.
+-AS="$AS"
+-
+-# The name of the directory that contains temporary libtool files.
+-objdir=$objdir
+-
+-# How to create reloadable object files.
+-reload_flag=$lt_reload_flag
+-reload_cmds=$lt_reload_cmds
+-
+-# How to pass a linker flag through the compiler.
+-wl=$lt_lt_prog_compiler_wl_GCJ
+-
+-# Object file suffix (normally "o").
+-objext="$ac_objext"
+-
+-# Old archive suffix (normally "a").
+-libext="$libext"
+-
+-# Shared library suffix (normally ".so").
+-shrext_cmds='$shrext_cmds'
+-
+-# Executable file suffix (normally "").
+-exeext="$exeext"
+-
+-# Additional compiler flags for building library objects.
+-pic_flag=$lt_lt_prog_compiler_pic_GCJ
+-pic_mode=$pic_mode
+-
+-# What is the maximum length of a command?
+-max_cmd_len=$lt_cv_sys_max_cmd_len
+-
+-# Does compiler simultaneously support -c and -o options?
+-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ
+-
+-# Must we lock files when doing compilation?
+-need_locks=$lt_need_locks
+-
+-# Do we need the lib prefix for modules?
+-need_lib_prefix=$need_lib_prefix
+-
+-# Do we need a version for libraries?
+-need_version=$need_version
+-
+-# Whether dlopen is supported.
+-dlopen_support=$enable_dlopen
+-
+-# Whether dlopen of programs is supported.
+-dlopen_self=$enable_dlopen_self
+-
+-# Whether dlopen of statically linked programs is supported.
+-dlopen_self_static=$enable_dlopen_self_static
+-
+-# Compiler flag to prevent dynamic linking.
+-link_static_flag=$lt_lt_prog_compiler_static_GCJ
+-
+-# Compiler flag to turn off builtin functions.
+-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ
+-
+-# Compiler flag to allow reflexive dlopens.
+-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ
+-
+-# Compiler flag to generate shared objects directly from archives.
+-whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ
+-
+-# Compiler flag to generate thread-safe objects.
+-thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ
+-
+-# Library versioning type.
+-version_type=$version_type
+-
+-# Format of library name prefix.
+-libname_spec=$lt_libname_spec
+-
+-# List of archive names. First name is the real one, the rest are links.
+-# The last name is the one that the linker finds with -lNAME.
+-library_names_spec=$lt_library_names_spec
+-
+-# The coded name of the library, if different from the real name.
+-soname_spec=$lt_soname_spec
+-
+-# Commands used to build and install an old-style archive.
+-RANLIB=$lt_RANLIB
+-old_archive_cmds=$lt_old_archive_cmds_GCJ
+-old_postinstall_cmds=$lt_old_postinstall_cmds
+-old_postuninstall_cmds=$lt_old_postuninstall_cmds
+-
+-# Create an old-style archive from a shared archive.
+-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ
+-
+-# Create a temporary old-style archive to link instead of a shared archive.
+-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ
+-
+-# Commands used to build and install a shared archive.
+-archive_cmds=$lt_archive_cmds_GCJ
+-archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ
+-postinstall_cmds=$lt_postinstall_cmds
+-postuninstall_cmds=$lt_postuninstall_cmds
+-
+-# Commands used to build a loadable module (assumed same as above if empty)
+-module_cmds=$lt_module_cmds_GCJ
+-module_expsym_cmds=$lt_module_expsym_cmds_GCJ
+-
+-# Commands to strip libraries.
+-old_striplib=$lt_old_striplib
+-striplib=$lt_striplib
+-
+-# Dependencies to place before the objects being linked to create a
+-# shared library.
+-predep_objects=$lt_predep_objects_GCJ
+-
+-# Dependencies to place after the objects being linked to create a
+-# shared library.
+-postdep_objects=$lt_postdep_objects_GCJ
+-
+-# Dependencies to place before the objects being linked to create a
+-# shared library.
+-predeps=$lt_predeps_GCJ
+-
+-# Dependencies to place after the objects being linked to create a
+-# shared library.
+-postdeps=$lt_postdeps_GCJ
+-
+-# The library search path used internally by the compiler when linking
+-# a shared library.
+-compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
+-
+-# Method to check whether dependent libraries are shared objects.
+-deplibs_check_method=$lt_deplibs_check_method
+-
+-# Command to use when deplibs_check_method == file_magic.
+-file_magic_cmd=$lt_file_magic_cmd
+-
+-# Flag that allows shared libraries with undefined symbols to be built.
+-allow_undefined_flag=$lt_allow_undefined_flag_GCJ
+-
+-# Flag that forces no undefined symbols.
+-no_undefined_flag=$lt_no_undefined_flag_GCJ
+-
+-# Commands used to finish a libtool library installation in a directory.
+-finish_cmds=$lt_finish_cmds
+-
+-# Same as above, but a single script fragment to be evaled but not shown.
+-finish_eval=$lt_finish_eval
+-
+-# Take the output of nm and produce a listing of raw symbols and C names.
+-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+-
+-# Transform the output of nm in a proper C declaration
+-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+-
+-# Transform the output of nm in a C name address pair
+-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+-
+-# This is the shared library runtime path variable.
+-runpath_var=$runpath_var
+-
+-# This is the shared library path variable.
+-shlibpath_var=$shlibpath_var
+-
+-# Is shlibpath searched before the hard-coded library search path?
+-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+-
+-# How to hardcode a shared library path into an executable.
+-hardcode_action=$hardcode_action_GCJ
+-
+-# Whether we should hardcode library paths into libraries.
+-hardcode_into_libs=$hardcode_into_libs
+-
+-# Flag to hardcode \$libdir into a binary during linking.
+-# This must work even if \$libdir does not exist.
+-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ
+-
+-# If ld is used when linking, flag to hardcode \$libdir into
+-# a binary during linking. This must work even if \$libdir does
+-# not exist.
+-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ
+-
+-# Whether we need a single -rpath flag with a separated argument.
+-hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ
+-
+-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+-# resulting binary.
+-hardcode_direct=$hardcode_direct_GCJ
+-
+-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+-# resulting binary.
+-hardcode_minus_L=$hardcode_minus_L_GCJ
+-
+-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+-# the resulting binary.
+-hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ
+-
+-# Set to yes if building a shared library automatically hardcodes DIR into the library
+-# and all subsequent libraries and executables linked against it.
+-hardcode_automatic=$hardcode_automatic_GCJ
+-
+-# Variables whose values should be saved in libtool wrapper scripts and
+-# restored at relink time.
+-variables_saved_for_relink="$variables_saved_for_relink"
+-
+-# Whether libtool must link a program against all its dependency libraries.
+-link_all_deplibs=$link_all_deplibs_GCJ
+-
+-# Compile-time system search path for libraries
+-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+-
+-# Run-time system search path for libraries
+-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+-
+-# Fix the shell variable \$srcfile for the compiler.
+-fix_srcfile_path="$fix_srcfile_path_GCJ"
+-
+-# Set to yes if exported symbols are required.
+-always_export_symbols=$always_export_symbols_GCJ
+-
+-# The commands to list exported symbols.
+-export_symbols_cmds=$lt_export_symbols_cmds_GCJ
+-
+-# The commands to extract the exported symbol list from a shared archive.
+-extract_expsyms_cmds=$lt_extract_expsyms_cmds
+-
+-# Symbols that should not be listed in the preloaded symbols.
+-exclude_expsyms=$lt_exclude_expsyms_GCJ
+-
+-# Symbols that must always be exported.
+-include_expsyms=$lt_include_expsyms_GCJ
+-
+-# ### END LIBTOOL TAG CONFIG: $tagname
+-
+-__EOF__
+
++ if test ! -z "$with_ffmpeg"; then
++ WITH_FFMPEG_TRUE=
++ WITH_FFMPEG_FALSE='#'
++else
++ WITH_FFMPEG_TRUE='#'
++ WITH_FFMPEG_FALSE=
++fi
+
++if test ! -z "$with_ffmpeg"; then
++ { echo "$as_me:$LINENO: checking for lame_init in -lmp3lame" >&5
++echo $ECHO_N "checking for lame_init in -lmp3lame... $ECHO_C" >&6; }
++if test "${ac_cv_lib_mp3lame_lame_init+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- # If there is no Makefile yet, we rely on a make rule to execute
+- # `config.status --recheck' to rerun these tests and create the
+- # libtool script then.
+- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+- if test -f "$ltmain_in"; then
+- test -f Makefile && make "$ltmain"
+- fi
+-fi
+-
+-
+-ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+-
+-CC="$lt_save_CC"
+-
+- else
+- tagname=""
+- fi
+- ;;
+-
+- RC)
+-
+-
+-
+-# Source file extension for RC test sources.
+-ac_ext=rc
+-
+-# Object file extension for compiled RC test sources.
+-objext=o
+-objext_RC=$objext
+-
+-# Code to be used in simple compile tests
+-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n'
+-
+-# Code to be used in simple link tests
+-lt_simple_link_test_code="$lt_simple_compile_test_code"
+-
+-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+-
+-# If no C compiler was specified, use CC.
+-LTCC=${LTCC-"$CC"}
+-
+-# If no C compiler flags were specified, use CFLAGS.
+-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+-
+-# Allow CC to be a program name with arguments.
+-compiler=$CC
+-
+-
+-# save warnings/boilerplate of simple test code
+-ac_outfile=conftest.$ac_objext
+-printf "$lt_simple_compile_test_code" >conftest.$ac_ext
+-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+-_lt_compiler_boilerplate=`cat conftest.err`
+-$rm conftest*
+-
+-ac_outfile=conftest.$ac_objext
+-printf "$lt_simple_link_test_code" >conftest.$ac_ext
+-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+-_lt_linker_boilerplate=`cat conftest.err`
+-$rm conftest*
+-
+-
+-# Allow CC to be a program name with arguments.
+-lt_save_CC="$CC"
+-CC=${RC-"windres"}
+-compiler=$CC
+-compiler_RC=$CC
+-for cc_temp in $compiler""; do
+- case $cc_temp in
+- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+- \-*) ;;
+- *) break;;
+- esac
+-done
+-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+-
+-lt_cv_prog_compiler_c_o_RC=yes
+-
+-# The else clause should only fire when bootstrapping the
+-# libtool distribution, otherwise you forgot to ship ltmain.sh
+-# with your package, and you will get complaints that there are
+-# no rules to generate ltmain.sh.
+-if test -f "$ltmain"; then
+- # See if we are running on zsh, and set the options which allow our commands through
+- # without removal of \ escapes.
+- if test -n "${ZSH_VERSION+set}" ; then
+- setopt NO_GLOB_SUBST
+- fi
+- # Now quote all the things that may contain metacharacters while being
+- # careful not to overquote the AC_SUBSTed values. We take copies of the
+- # variables and quote the copies for generation of the libtool script.
+- for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+- SED SHELL STRIP \
+- libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+- old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+- deplibs_check_method reload_flag reload_cmds need_locks \
+- lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+- lt_cv_sys_global_symbol_to_c_name_address \
+- sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+- old_postinstall_cmds old_postuninstall_cmds \
+- compiler_RC \
+- CC_RC \
+- LD_RC \
+- lt_prog_compiler_wl_RC \
+- lt_prog_compiler_pic_RC \
+- lt_prog_compiler_static_RC \
+- lt_prog_compiler_no_builtin_flag_RC \
+- export_dynamic_flag_spec_RC \
+- thread_safe_flag_spec_RC \
+- whole_archive_flag_spec_RC \
+- enable_shared_with_static_runtimes_RC \
+- old_archive_cmds_RC \
+- old_archive_from_new_cmds_RC \
+- predep_objects_RC \
+- postdep_objects_RC \
+- predeps_RC \
+- postdeps_RC \
+- compiler_lib_search_path_RC \
+- archive_cmds_RC \
+- archive_expsym_cmds_RC \
+- postinstall_cmds_RC \
+- postuninstall_cmds_RC \
+- old_archive_from_expsyms_cmds_RC \
+- allow_undefined_flag_RC \
+- no_undefined_flag_RC \
+- export_symbols_cmds_RC \
+- hardcode_libdir_flag_spec_RC \
+- hardcode_libdir_flag_spec_ld_RC \
+- hardcode_libdir_separator_RC \
+- hardcode_automatic_RC \
+- module_cmds_RC \
+- module_expsym_cmds_RC \
+- lt_cv_prog_compiler_c_o_RC \
+- exclude_expsyms_RC \
+- include_expsyms_RC; do
+-
+- case $var in
+- old_archive_cmds_RC | \
+- old_archive_from_new_cmds_RC | \
+- archive_cmds_RC | \
+- archive_expsym_cmds_RC | \
+- module_cmds_RC | \
+- module_expsym_cmds_RC | \
+- old_archive_from_expsyms_cmds_RC | \
+- export_symbols_cmds_RC | \
+- extract_expsyms_cmds | reload_cmds | finish_cmds | \
+- postinstall_cmds | postuninstall_cmds | \
+- old_postinstall_cmds | old_postuninstall_cmds | \
+- sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+- # Double-quote double-evaled strings.
+- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+- ;;
+- *)
+- eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+- ;;
+- esac
+- done
+-
+- case $lt_echo in
+- *'\$0 --fallback-echo"')
+- lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+- ;;
+- esac
+-
+-cfgfile="$ofile"
+-
+- cat <<__EOF__ >> "$cfgfile"
+-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
+-
+-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+-
+-# Shell to use when invoking shell scripts.
+-SHELL=$lt_SHELL
+-
+-# Whether or not to build shared libraries.
+-build_libtool_libs=$enable_shared
+-
+-# Whether or not to build static libraries.
+-build_old_libs=$enable_static
+-
+-# Whether or not to add -lc for building shared libraries.
+-build_libtool_need_lc=$archive_cmds_need_lc_RC
+-
+-# Whether or not to disallow shared libs when runtime libs are static
+-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC
+-
+-# Whether or not to optimize for fast installation.
+-fast_install=$enable_fast_install
+-
+-# The host system.
+-host_alias=$host_alias
+-host=$host
+-host_os=$host_os
+-
+-# The build system.
+-build_alias=$build_alias
+-build=$build
+-build_os=$build_os
+-
+-# An echo program that does not interpret backslashes.
+-echo=$lt_echo
+-
+-# The archiver.
+-AR=$lt_AR
+-AR_FLAGS=$lt_AR_FLAGS
+-
+-# A C compiler.
+-LTCC=$lt_LTCC
+-
+-# LTCC compiler flags.
+-LTCFLAGS=$lt_LTCFLAGS
+-
+-# A language-specific compiler.
+-CC=$lt_compiler_RC
+-
+-# Is the compiler the GNU C compiler?
+-with_gcc=$GCC_RC
+-
+-# An ERE matcher.
+-EGREP=$lt_EGREP
+-
+-# The linker used to build libraries.
+-LD=$lt_LD_RC
+-
+-# Whether we need hard or soft links.
+-LN_S=$lt_LN_S
+-
+-# A BSD-compatible nm program.
+-NM=$lt_NM
+-
+-# A symbol stripping program
+-STRIP=$lt_STRIP
+-
+-# Used to examine libraries when file_magic_cmd begins "file"
+-MAGIC_CMD=$MAGIC_CMD
+-
+-# Used on cygwin: DLL creation program.
+-DLLTOOL="$DLLTOOL"
+-
+-# Used on cygwin: object dumper.
+-OBJDUMP="$OBJDUMP"
+-
+-# Used on cygwin: assembler.
+-AS="$AS"
+-
+-# The name of the directory that contains temporary libtool files.
+-objdir=$objdir
+-
+-# How to create reloadable object files.
+-reload_flag=$lt_reload_flag
+-reload_cmds=$lt_reload_cmds
+-
+-# How to pass a linker flag through the compiler.
+-wl=$lt_lt_prog_compiler_wl_RC
+-
+-# Object file suffix (normally "o").
+-objext="$ac_objext"
+-
+-# Old archive suffix (normally "a").
+-libext="$libext"
+-
+-# Shared library suffix (normally ".so").
+-shrext_cmds='$shrext_cmds'
+-
+-# Executable file suffix (normally "").
+-exeext="$exeext"
+-
+-# Additional compiler flags for building library objects.
+-pic_flag=$lt_lt_prog_compiler_pic_RC
+-pic_mode=$pic_mode
+-
+-# What is the maximum length of a command?
+-max_cmd_len=$lt_cv_sys_max_cmd_len
+-
+-# Does compiler simultaneously support -c and -o options?
+-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
+-
+-# Must we lock files when doing compilation?
+-need_locks=$lt_need_locks
+-
+-# Do we need the lib prefix for modules?
+-need_lib_prefix=$need_lib_prefix
+-
+-# Do we need a version for libraries?
+-need_version=$need_version
+-
+-# Whether dlopen is supported.
+-dlopen_support=$enable_dlopen
+-
+-# Whether dlopen of programs is supported.
+-dlopen_self=$enable_dlopen_self
+-
+-# Whether dlopen of statically linked programs is supported.
+-dlopen_self_static=$enable_dlopen_self_static
+-
+-# Compiler flag to prevent dynamic linking.
+-link_static_flag=$lt_lt_prog_compiler_static_RC
+-
+-# Compiler flag to turn off builtin functions.
+-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
+-
+-# Compiler flag to allow reflexive dlopens.
+-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC
+-
+-# Compiler flag to generate shared objects directly from archives.
+-whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC
+-
+-# Compiler flag to generate thread-safe objects.
+-thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC
+-
+-# Library versioning type.
+-version_type=$version_type
+-
+-# Format of library name prefix.
+-libname_spec=$lt_libname_spec
+-
+-# List of archive names. First name is the real one, the rest are links.
+-# The last name is the one that the linker finds with -lNAME.
+-library_names_spec=$lt_library_names_spec
+-
+-# The coded name of the library, if different from the real name.
+-soname_spec=$lt_soname_spec
+-
+-# Commands used to build and install an old-style archive.
+-RANLIB=$lt_RANLIB
+-old_archive_cmds=$lt_old_archive_cmds_RC
+-old_postinstall_cmds=$lt_old_postinstall_cmds
+-old_postuninstall_cmds=$lt_old_postuninstall_cmds
+-
+-# Create an old-style archive from a shared archive.
+-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC
+-
+-# Create a temporary old-style archive to link instead of a shared archive.
+-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC
+-
+-# Commands used to build and install a shared archive.
+-archive_cmds=$lt_archive_cmds_RC
+-archive_expsym_cmds=$lt_archive_expsym_cmds_RC
+-postinstall_cmds=$lt_postinstall_cmds
+-postuninstall_cmds=$lt_postuninstall_cmds
+-
+-# Commands used to build a loadable module (assumed same as above if empty)
+-module_cmds=$lt_module_cmds_RC
+-module_expsym_cmds=$lt_module_expsym_cmds_RC
+-
+-# Commands to strip libraries.
+-old_striplib=$lt_old_striplib
+-striplib=$lt_striplib
+-
+-# Dependencies to place before the objects being linked to create a
+-# shared library.
+-predep_objects=$lt_predep_objects_RC
+-
+-# Dependencies to place after the objects being linked to create a
+-# shared library.
+-postdep_objects=$lt_postdep_objects_RC
+-
+-# Dependencies to place before the objects being linked to create a
+-# shared library.
+-predeps=$lt_predeps_RC
+-
+-# Dependencies to place after the objects being linked to create a
+-# shared library.
+-postdeps=$lt_postdeps_RC
+-
+-# The library search path used internally by the compiler when linking
+-# a shared library.
+-compiler_lib_search_path=$lt_compiler_lib_search_path_RC
+-
+-# Method to check whether dependent libraries are shared objects.
+-deplibs_check_method=$lt_deplibs_check_method
+-
+-# Command to use when deplibs_check_method == file_magic.
+-file_magic_cmd=$lt_file_magic_cmd
+-
+-# Flag that allows shared libraries with undefined symbols to be built.
+-allow_undefined_flag=$lt_allow_undefined_flag_RC
+-
+-# Flag that forces no undefined symbols.
+-no_undefined_flag=$lt_no_undefined_flag_RC
+-
+-# Commands used to finish a libtool library installation in a directory.
+-finish_cmds=$lt_finish_cmds
+-
+-# Same as above, but a single script fragment to be evaled but not shown.
+-finish_eval=$lt_finish_eval
+-
+-# Take the output of nm and produce a listing of raw symbols and C names.
+-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+-
+-# Transform the output of nm in a proper C declaration
+-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+-
+-# Transform the output of nm in a C name address pair
+-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+-
+-# This is the shared library runtime path variable.
+-runpath_var=$runpath_var
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lmp3lame $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
+-# This is the shared library path variable.
+-shlibpath_var=$shlibpath_var
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char lame_init ();
++int
++main ()
++{
++return lame_init ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_mp3lame_lame_init=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+-# Is shlibpath searched before the hard-coded library search path?
+-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
++ ac_cv_lib_mp3lame_lame_init=no
++fi
+
+-# How to hardcode a shared library path into an executable.
+-hardcode_action=$hardcode_action_RC
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_mp3lame_lame_init" >&5
++echo "${ECHO_T}$ac_cv_lib_mp3lame_lame_init" >&6; }
++if test $ac_cv_lib_mp3lame_lame_init = yes; then
++ HAVE_MP3LAME="true"
++else
++ HAVE_MP3LAME="false"
++fi
+
+-# Whether we should hardcode library paths into libraries.
+-hardcode_into_libs=$hardcode_into_libs
++fi
++ if test "$HAVE_MP3LAME" = "true"; then
++ HAVE_MP3LAME_TRUE=
++ HAVE_MP3LAME_FALSE='#'
++else
++ HAVE_MP3LAME_TRUE='#'
++ HAVE_MP3LAME_FALSE=
++fi
+
+-# Flag to hardcode \$libdir into a binary during linking.
+-# This must work even if \$libdir does not exist.
+-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC
+
+-# If ld is used when linking, flag to hardcode \$libdir into
+-# a binary during linking. This must work even if \$libdir does
+-# not exist.
+-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC
+-
+-# Whether we need a single -rpath flag with a separated argument.
+-hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC
+-
+-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+-# resulting binary.
+-hardcode_direct=$hardcode_direct_RC
+-
+-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+-# resulting binary.
+-hardcode_minus_L=$hardcode_minus_L_RC
+-
+-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+-# the resulting binary.
+-hardcode_shlibpath_var=$hardcode_shlibpath_var_RC
+-
+-# Set to yes if building a shared library automatically hardcodes DIR into the library
+-# and all subsequent libraries and executables linked against it.
+-hardcode_automatic=$hardcode_automatic_RC
++# Seem to need this dummy here to induce the 'checking for egrep... grep -E', etc.
++# before it seemed to be inside the with_jpeg conditional.
++if test "${ac_cv_header_thenonexistentheader_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for thenonexistentheader.h" >&5
++echo $ECHO_N "checking for thenonexistentheader.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_thenonexistentheader_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_thenonexistentheader_h" >&5
++echo "${ECHO_T}$ac_cv_header_thenonexistentheader_h" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking thenonexistentheader.h usability" >&5
++echo $ECHO_N "checking thenonexistentheader.h usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++#include <thenonexistentheader.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+-# Variables whose values should be saved in libtool wrapper scripts and
+-# restored at relink time.
+-variables_saved_for_relink="$variables_saved_for_relink"
++ ac_header_compiler=no
++fi
+
+-# Whether libtool must link a program against all its dependency libraries.
+-link_all_deplibs=$link_all_deplibs_RC
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+-# Compile-time system search path for libraries
+-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
++# Is the header present?
++{ echo "$as_me:$LINENO: checking thenonexistentheader.h presence" >&5
++echo $ECHO_N "checking thenonexistentheader.h presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <thenonexistentheader.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+-# Run-time system search path for libraries
+-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
++ ac_header_preproc=no
++fi
+
+-# Fix the shell variable \$srcfile for the compiler.
+-fix_srcfile_path="$fix_srcfile_path_RC"
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+-# Set to yes if exported symbols are required.
+-always_export_symbols=$always_export_symbols_RC
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: thenonexistentheader.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++## ----------------------------------------------------------- ##
++## Report this to http://sourceforge.net/projects/libvncserver ##
++## ----------------------------------------------------------- ##
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for thenonexistentheader.h" >&5
++echo $ECHO_N "checking for thenonexistentheader.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_thenonexistentheader_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_thenonexistentheader_h=$ac_header_preproc
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_thenonexistentheader_h" >&5
++echo "${ECHO_T}$ac_cv_header_thenonexistentheader_h" >&6; }
+
+-# The commands to list exported symbols.
+-export_symbols_cmds=$lt_export_symbols_cmds_RC
++fi
++if test $ac_cv_header_thenonexistentheader_h = yes; then
++ HAVE_THENONEXISTENTHEADER_H="true"
++fi
+
+-# The commands to extract the exported symbol list from a shared archive.
+-extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+-# Symbols that should not be listed in the preloaded symbols.
+-exclude_expsyms=$lt_exclude_expsyms_RC
+
+-# Symbols that must always be exported.
+-include_expsyms=$lt_include_expsyms_RC
++# Checks for X libraries
++HAVE_X="false"
++{ echo "$as_me:$LINENO: checking for X" >&5
++echo $ECHO_N "checking for X... $ECHO_C" >&6; }
+
+-# ### END LIBTOOL TAG CONFIG: $tagname
+
+-__EOF__
++# Check whether --with-x was given.
++if test "${with_x+set}" = set; then
++ withval=$with_x;
++fi
+
++# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
++if test "x$with_x" = xno; then
++ # The user explicitly disabled X.
++ have_x=disabled
++else
++ case $x_includes,$x_libraries in #(
++ *\'*) { { echo "$as_me:$LINENO: error: Cannot use X directory names containing '" >&5
++echo "$as_me: error: Cannot use X directory names containing '" >&2;}
++ { (exit 1); exit 1; }; };; #(
++ *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ # One or both of the vars are not set, and there is no cached value.
++ac_x_includes=no ac_x_libraries=no
++# Standard set of common directories for X headers.
++# Check X11 before X11Rn because it is often a symlink to the current release.
++ac_x_header_dirs=''
+
++if test "$ac_x_includes" = no; then
++ # Guess where to find include files, by looking for Xlib.h.
++ # First, try using that file with no special directory specified.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <X11/Xlib.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ # We can compile using X headers with no special include directory.
++ac_x_includes=
+ else
+- # If there is no Makefile yet, we rely on a make rule to execute
+- # `config.status --recheck' to rerun these tests and create the
+- # libtool script then.
+- ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+- if test -f "$ltmain_in"; then
+- test -f Makefile && make "$ltmain"
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ for ac_dir in $ac_x_header_dirs; do
++ if test -r "$ac_dir/X11/Xlib.h"; then
++ ac_x_includes=$ac_dir
++ break
+ fi
++done
+ fi
+
++rm -f conftest.err conftest.$ac_ext
++fi # $ac_x_includes = no
+
+-ac_ext=c
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+-
+-CC="$lt_save_CC"
+-
+- ;;
+-
+- *)
+- { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
+-echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
+- { (exit 1); exit 1; }; }
+- ;;
+- esac
++if test "$ac_x_libraries" = no; then
++ # Check for the libraries.
++ # See if we find them without any special options.
++ # Don't add to $LIBS permanently.
++ ac_save_LIBS=$LIBS
++ LIBS="-lX11 $LIBS"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <X11/Xlib.h>
++int
++main ()
++{
++XrmInitialize ()
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ LIBS=$ac_save_LIBS
++# We can link X programs with no special library path.
++ac_x_libraries=
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+- # Append the new tag name to the list of available tags.
+- if test -n "$tagname" ; then
+- available_tags="$available_tags $tagname"
+- fi
++ LIBS=$ac_save_LIBS
++for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
++do
++ # Don't even attempt the hair of trying to link an X program!
++ for ac_extension in a so sl; do
++ if test -r "$ac_dir/libX11.$ac_extension"; then
++ ac_x_libraries=$ac_dir
++ break 2
+ fi
+ done
+- IFS="$lt_save_ifs"
+-
+- # Now substitute the updated list of available tags.
+- if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
+- mv "${ofile}T" "$ofile"
+- chmod +x "$ofile"
+- else
+- rm -f "${ofile}T"
+- { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
+-echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
+- { (exit 1); exit 1; }; }
+- fi
++done
+ fi
+
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi # $ac_x_libraries = no
+
++case $ac_x_includes,$ac_x_libraries in #(
++ no,* | *,no | *\'*)
++ # Didn't find X, or a directory has "'" in its name.
++ ac_cv_have_x="have_x=no";; #(
++ *)
++ # Record where we found X for the cache.
++ ac_cv_have_x="have_x=yes\
++ ac_x_includes='$ac_x_includes'\
++ ac_x_libraries='$ac_x_libraries'"
++esac
++fi
++;; #(
++ *) have_x=yes;;
++ esac
++ eval "$ac_cv_have_x"
++fi # $with_x != no
+
+-# This can be used to rebuild libtool when needed
+-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+-
+-# Always use our own libtool.
+-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+-
+-# Prevent multiple expansion
+-
+-
+-
+-
++if test "$have_x" != yes; then
++ { echo "$as_me:$LINENO: result: $have_x" >&5
++echo "${ECHO_T}$have_x" >&6; }
++ no_x=yes
++else
++ # If each of the values was on the command line, it overrides each guess.
++ test "x$x_includes" = xNONE && x_includes=$ac_x_includes
++ test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
++ # Update the cache value to reflect the command line values.
++ ac_cv_have_x="have_x=yes\
++ ac_x_includes='$x_includes'\
++ ac_x_libraries='$x_libraries'"
++ { echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5
++echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6; }
++fi
+
++if test "$no_x" = yes; then
++ # Not all programs may use this symbol, but it does not hurt to define it.
+
++cat >>confdefs.h <<\_ACEOF
++#define X_DISPLAY_MISSING 1
++_ACEOF
+
++ X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
++else
++ if test -n "$x_includes"; then
++ X_CFLAGS="$X_CFLAGS -I$x_includes"
++ fi
+
++ # It would also be nice to do this for all -L options, not just this one.
++ if test -n "$x_libraries"; then
++ X_LIBS="$X_LIBS -L$x_libraries"
++ # For Solaris; some versions of Sun CC require a space after -R and
++ # others require no space. Words are not sufficient . . . .
++ { echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5
++echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6; }
++ ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
++ ac_xsave_c_werror_flag=$ac_c_werror_flag
++ ac_c_werror_flag=yes
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
++int
++main ()
++{
+
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ { echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; }
++ X_LIBS="$X_LIBS -R$x_libraries"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
++ LIBS="$ac_xsave_LIBS -R $x_libraries"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
++int
++main ()
++{
+
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++ X_LIBS="$X_LIBS -R $x_libraries"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
++ { echo "$as_me:$LINENO: result: neither works" >&5
++echo "${ECHO_T}neither works" >&6; }
++fi
+
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
+
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ ac_c_werror_flag=$ac_xsave_c_werror_flag
++ LIBS=$ac_xsave_LIBS
++ fi
+
++ # Check for system-dependent libraries X programs must link with.
++ # Do this before checking for the system-independent R6 libraries
++ # (-lICE), since we may need -lsocket or whatever for X linking.
+
++ if test "$ISC" = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
++ else
++ # Martyn Johnson says this is needed for Ultrix, if the X
++ # libraries were built with DECnet support. And Karl Berry says
++ # the Alpha needs dnet_stub (dnet does not exist).
++ ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XOpenDisplay ();
++int
++main ()
++{
++return XOpenDisplay ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ :
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+-# Extract the first word of "ar", so it can be a program name with args.
+-set dummy ar; ac_word=$2
+-echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_path_AR+set}" = set; then
++ { echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5
++echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6; }
++if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- case $AR in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_AR="$AR" # Let the user override the test with a path.
+- ;;
+- *)
+- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-as_dummy="$PATH:/usr/ccs/bin"
+-for as_dir in $as_dummy
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+- ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext"
+- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
+- fi
+-done
+-done
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldnet $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
+- test -z "$ac_cv_path_AR" && ac_cv_path_AR="/usr/bin/ar"
+- ;;
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dnet_ntoa ();
++int
++main ()
++{
++return dnet_ntoa ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
+ esac
+-fi
+-AR=$ac_cv_path_AR
+-
+-if test -n "$AR"; then
+- echo "$as_me:$LINENO: result: $AR" >&5
+-echo "${ECHO_T}$AR" >&6
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_dnet_dnet_ntoa=yes
+ else
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+-
+-# Options
+-
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
++ ac_cv_lib_dnet_dnet_ntoa=no
++fi
+
+-# Check whether --with-tightvnc-filetransfer or --without-tightvnc-filetransfer was given.
+-if test "${with_tightvnc_filetransfer+set}" = set; then
+- withval="$with_tightvnc_filetransfer"
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
++echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6; }
++if test $ac_cv_lib_dnet_dnet_ntoa = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
++fi
+
++ if test $ac_cv_lib_dnet_dnet_ntoa = no; then
++ { echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5
++echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6; }
++if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- with_tightvnc_filetransfer=yes
+-fi;
+-# AC_DEFINE moved to after libpthread check.
+-
+-
+-
+-
+-# Check whether --with-24bpp or --without-24bpp was given.
+-if test "${with_24bpp+set}" = set; then
+- withval="$with_24bpp"
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldnet_stub $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
+-else
+- with_24bpp=yes
+-fi;
+-if test "x$with_24bpp" = "xyes"; then
+- cat >>confdefs.h <<\_ACEOF
+-#define ALLOW24BPP 1
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char dnet_ntoa ();
++int
++main ()
++{
++return dnet_ntoa ();
++ ;
++ return 0;
++}
+ _ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_dnet_stub_dnet_ntoa=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
++ ac_cv_lib_dnet_stub_dnet_ntoa=no
+ fi
+
+-
+-
+-# Check whether --with-ffmpeg or --without-ffmpeg was given.
+-if test "${with_ffmpeg+set}" = set; then
+- withval="$with_ffmpeg"
+-
+-fi;
+-
+-
+-
+-if test ! -z "$with_ffmpeg"; then
+- WITH_FFMPEG_TRUE=
+- WITH_FFMPEG_FALSE='#'
+-else
+- WITH_FFMPEG_TRUE='#'
+- WITH_FFMPEG_FALSE=
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
++echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
++if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
+ fi
+
+-if test ! -z "$with_ffmpeg"; then
+- echo "$as_me:$LINENO: checking for lame_init in -lmp3lame" >&5
+-echo $ECHO_N "checking for lame_init in -lmp3lame... $ECHO_C" >&6
+-if test "${ac_cv_lib_mp3lame_lame_init+set}" = set; then
++ fi
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++ LIBS="$ac_xsave_LIBS"
++
++ # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
++ # to get the SysV transport functions.
++ # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
++ # needs -lnsl.
++ # The nsl library prevents programs from opening the X display
++ # on Irix 5.2, according to T.E. Dickey.
++ # The functions gethostbyname, getservbyname, and inet_addr are
++ # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
++ { echo "$as_me:$LINENO: checking for gethostbyname" >&5
++echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6; }
++if test "${ac_cv_func_gethostbyname+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lmp3lame $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
++/* Define gethostbyname to an innocuous variant, in case <limits.h> declares gethostbyname.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define gethostbyname innocuous_gethostbyname
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char gethostbyname (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef gethostbyname
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char lame_init ();
++char gethostbyname ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_gethostbyname || defined __stub___gethostbyname
++choke me
++#endif
++
+ int
+ main ()
+ {
+-lame_init ();
++return gethostbyname ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_mp3lame_lame_init=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func_gethostbyname=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_mp3lame_lame_init=no
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_mp3lame_lame_init" >&5
+-echo "${ECHO_T}$ac_cv_lib_mp3lame_lame_init" >&6
+-if test $ac_cv_lib_mp3lame_lame_init = yes; then
+- HAVE_MP3LAME="true"
+-else
+- HAVE_MP3LAME="false"
+-fi
+-
++ ac_cv_func_gethostbyname=no
+ fi
+
+-
+-if test "$HAVE_MP3LAME" = "true"; then
+- HAVE_MP3LAME_TRUE=
+- HAVE_MP3LAME_FALSE='#'
+-else
+- HAVE_MP3LAME_TRUE='#'
+- HAVE_MP3LAME_FALSE=
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
+ fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6; }
+
+-
+-# Seem to need this dummy here to induce the 'checking for egrep... grep -E', etc.
+-# before it seemed to be inside the with_jpeg conditional.
+-if test "${ac_cv_header_thenonexistentheader_h+set}" = set; then
+- echo "$as_me:$LINENO: checking for thenonexistentheader.h" >&5
+-echo $ECHO_N "checking for thenonexistentheader.h... $ECHO_C" >&6
+-if test "${ac_cv_header_thenonexistentheader_h+set}" = set; then
++ if test $ac_cv_func_gethostbyname = no; then
++ { echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
++echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_thenonexistentheader_h" >&5
+-echo "${ECHO_T}$ac_cv_header_thenonexistentheader_h" >&6
+ else
+- # Is the header compilable?
+-echo "$as_me:$LINENO: checking thenonexistentheader.h usability" >&5
+-echo $ECHO_N "checking thenonexistentheader.h usability... $ECHO_C" >&6
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lnsl $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-$ac_includes_default
+-#include <thenonexistentheader.h>
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char gethostbyname ();
++int
++main ()
++{
++return gethostbyname ();
++ ;
++ return 0;
++}
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_header_compiler=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_nsl_gethostbyname=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_header_compiler=no
++ ac_cv_lib_nsl_gethostbyname=no
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+-echo "${ECHO_T}$ac_header_compiler" >&6
+
+-# Is the header present?
+-echo "$as_me:$LINENO: checking thenonexistentheader.h presence" >&5
+-echo $ECHO_N "checking thenonexistentheader.h presence... $ECHO_C" >&6
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6; }
++if test $ac_cv_lib_nsl_gethostbyname = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
++fi
++
++ if test $ac_cv_lib_nsl_gethostbyname = no; then
++ { echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5
++echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6; }
++if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lbsd $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <thenonexistentheader.h>
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char gethostbyname ();
++int
++main ()
++{
++return gethostbyname ();
++ ;
++ return 0;
++}
+ _ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- ac_header_preproc=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_bsd_gethostbyname=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+- ac_header_preproc=no
+-fi
+-rm -f conftest.err conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+-echo "${ECHO_T}$ac_header_preproc" >&6
+-
+-# So? What about this header?
+-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+- yes:no: )
+- { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: accepted by the compiler, rejected by the preprocessor!" >&5
+-echo "$as_me: WARNING: thenonexistentheader.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+- { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: proceeding with the compiler's result" >&5
+-echo "$as_me: WARNING: thenonexistentheader.h: proceeding with the compiler's result" >&2;}
+- ac_header_preproc=yes
+- ;;
+- no:yes:* )
+- { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: present but cannot be compiled" >&5
+-echo "$as_me: WARNING: thenonexistentheader.h: present but cannot be compiled" >&2;}
+- { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: check for missing prerequisite headers?" >&5
+-echo "$as_me: WARNING: thenonexistentheader.h: check for missing prerequisite headers?" >&2;}
+- { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: see the Autoconf documentation" >&5
+-echo "$as_me: WARNING: thenonexistentheader.h: see the Autoconf documentation" >&2;}
+- { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: section \"Present But Cannot Be Compiled\"" >&5
+-echo "$as_me: WARNING: thenonexistentheader.h: section \"Present But Cannot Be Compiled\"" >&2;}
+- { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: proceeding with the preprocessor's result" >&5
+-echo "$as_me: WARNING: thenonexistentheader.h: proceeding with the preprocessor's result" >&2;}
+- { echo "$as_me:$LINENO: WARNING: thenonexistentheader.h: in the future, the compiler will take precedence" >&5
+-echo "$as_me: WARNING: thenonexistentheader.h: in the future, the compiler will take precedence" >&2;}
+- (
+- cat <<\_ASBOX
+-## ----------------------------------------------------------- ##
+-## Report this to http://sourceforge.net/projects/libvncserver ##
+-## ----------------------------------------------------------- ##
+-_ASBOX
+- ) |
+- sed "s/^/$as_me: WARNING: /" >&2
+- ;;
+-esac
+-echo "$as_me:$LINENO: checking for thenonexistentheader.h" >&5
+-echo $ECHO_N "checking for thenonexistentheader.h... $ECHO_C" >&6
+-if test "${ac_cv_header_thenonexistentheader_h+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_cv_header_thenonexistentheader_h=$ac_header_preproc
++ ac_cv_lib_bsd_gethostbyname=no
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_thenonexistentheader_h" >&5
+-echo "${ECHO_T}$ac_cv_header_thenonexistentheader_h" >&6
+
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
+ fi
+-if test $ac_cv_header_thenonexistentheader_h = yes; then
+- HAVE_THENONEXISTENTHEADER_H="true"
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6; }
++if test $ac_cv_lib_bsd_gethostbyname = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
+ fi
+
++ fi
++ fi
+
+-
+-# Checks for X libraries
+-HAVE_X="false"
+-echo "$as_me:$LINENO: checking for X" >&5
+-echo $ECHO_N "checking for X... $ECHO_C" >&6
+-
+-
+-# Check whether --with-x or --without-x was given.
+-if test "${with_x+set}" = set; then
+- withval="$with_x"
+-
+-fi;
+-# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
+-if test "x$with_x" = xno; then
+- # The user explicitly disabled X.
+- have_x=disabled
+-else
+- if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then
+- # Both variables are already set.
+- have_x=yes
+- else
+- if test "${ac_cv_have_x+set}" = set; then
++ # lieder@skyler.mavd.honeywell.com says without -lsocket,
++ # socket/setsockopt and other routines are undefined under SCO ODT
++ # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary
++ # on later versions), says Simon Leinen: it contains gethostby*
++ # variants that don't use the name server (or something). -lsocket
++ # must be given before -lnsl if both are needed. We assume that
++ # if connect needs -lnsl, so does gethostbyname.
++ { echo "$as_me:$LINENO: checking for connect" >&5
++echo $ECHO_N "checking for connect... $ECHO_C" >&6; }
++if test "${ac_cv_func_connect+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- # One or both of the vars are not set, and there is no cached value.
+-ac_x_includes=no ac_x_libraries=no
+-rm -fr conftest.dir
+-if mkdir conftest.dir; then
+- cd conftest.dir
+- # Make sure to not put "make" in the Imakefile rules, since we grep it out.
+- cat >Imakefile <<'_ACEOF'
+-acfindx:
+- @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"'
+-_ACEOF
+- if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
+- # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+- eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
+- # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
+- for ac_extension in a so sl; do
+- if test ! -f $ac_im_usrlibdir/libX11.$ac_extension &&
+- test -f $ac_im_libdir/libX11.$ac_extension; then
+- ac_im_usrlibdir=$ac_im_libdir; break
+- fi
+- done
+- # Screen out bogus values from the imake configuration. They are
+- # bogus both because they are the default anyway, and because
+- # using them would break gcc on systems where it needs fixed includes.
+- case $ac_im_incroot in
+- /usr/include) ;;
+- *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;;
+- esac
+- case $ac_im_usrlibdir in
+- /usr/lib | /lib) ;;
+- *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;;
+- esac
+- fi
+- cd ..
+- rm -fr conftest.dir
+-fi
+-
+-# Standard set of common directories for X headers.
+-# Check X11 before X11Rn because it is often a symlink to the current release.
+-ac_x_header_dirs='
+-/usr/X11/include
+-/usr/X11R6/include
+-/usr/X11R5/include
+-/usr/X11R4/include
+-
+-/usr/include/X11
+-/usr/include/X11R6
+-/usr/include/X11R5
+-/usr/include/X11R4
+-
+-/usr/local/X11/include
+-/usr/local/X11R6/include
+-/usr/local/X11R5/include
+-/usr/local/X11R4/include
+-
+-/usr/local/include/X11
+-/usr/local/include/X11R6
+-/usr/local/include/X11R5
+-/usr/local/include/X11R4
+-
+-/usr/X386/include
+-/usr/x386/include
+-/usr/XFree86/include/X11
+-
+-/usr/include
+-/usr/local/include
+-/usr/unsupported/include
+-/usr/athena/include
+-/usr/local/x11r5/include
+-/usr/lpp/Xamples/include
+-
+-/usr/openwin/include
+-/usr/openwin/share/include'
+-
+-if test "$ac_x_includes" = no; then
+- # Guess where to find include files, by looking for Intrinsic.h.
+- # First, try using that file with no special directory specified.
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <X11/Intrinsic.h>
++/* Define connect to an innocuous variant, in case <limits.h> declares connect.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define connect innocuous_connect
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char connect (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef connect
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char connect ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_connect || defined __stub___connect
++choke me
++#endif
++
++int
++main ()
++{
++return connect ();
++ ;
++ return 0;
++}
+ _ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- # We can compile using X headers with no special include directory.
+-ac_x_includes=
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func_connect=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+- for ac_dir in $ac_x_header_dirs; do
+- if test -r "$ac_dir/X11/Intrinsic.h"; then
+- ac_x_includes=$ac_dir
+- break
+- fi
+-done
++ ac_cv_func_connect=no
+ fi
+-rm -f conftest.err conftest.$ac_ext
+-fi # $ac_x_includes = no
+
+-if test "$ac_x_libraries" = no; then
+- # Check for the libraries.
+- # See if we find them without any special options.
+- # Don't add to $LIBS permanently.
+- ac_save_LIBS=$LIBS
+- LIBS="-lXt $LIBS"
+- cat >conftest.$ac_ext <<_ACEOF
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5
++echo "${ECHO_T}$ac_cv_func_connect" >&6; }
++
++ if test $ac_cv_func_connect = no; then
++ { echo "$as_me:$LINENO: checking for connect in -lsocket" >&5
++echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6; }
++if test "${ac_cv_lib_socket_connect+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <X11/Intrinsic.h>
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char connect ();
+ int
+ main ()
+ {
+-XtMalloc (0)
++return connect ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- LIBS=$ac_save_LIBS
+-# We can link X programs with no special library path.
+-ac_x_libraries=
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_socket_connect=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-LIBS=$ac_save_LIBS
+-for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
+-do
+- # Don't even attempt the hair of trying to link an X program!
+- for ac_extension in a so sl; do
+- if test -r $ac_dir/libXt.$ac_extension; then
+- ac_x_libraries=$ac_dir
+- break 2
+- fi
+- done
+-done
++ ac_cv_lib_socket_connect=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-fi # $ac_x_libraries = no
+
+-if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then
+- # Didn't find X anywhere. Cache the known absence of X.
+- ac_cv_have_x="have_x=no"
+-else
+- # Record where we found X for the cache.
+- ac_cv_have_x="have_x=yes \
+- ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries"
+-fi
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
+ fi
+-
+- fi
+- eval "$ac_cv_have_x"
+-fi # $with_x != no
+-
+-if test "$have_x" != yes; then
+- echo "$as_me:$LINENO: result: $have_x" >&5
+-echo "${ECHO_T}$have_x" >&6
+- no_x=yes
+-else
+- # If each of the values was on the command line, it overrides each guess.
+- test "x$x_includes" = xNONE && x_includes=$ac_x_includes
+- test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
+- # Update the cache value to reflect the command line values.
+- ac_cv_have_x="have_x=yes \
+- ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
+- echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5
+-echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5
++echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6; }
++if test $ac_cv_lib_socket_connect = yes; then
++ X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
+ fi
+
+-if test "$no_x" = yes; then
+- # Not all programs may use this symbol, but it does not hurt to define it.
+-
+-cat >>confdefs.h <<\_ACEOF
+-#define X_DISPLAY_MISSING 1
+-_ACEOF
++ fi
+
+- X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
++ # Guillermo Gomez says -lposix is necessary on A/UX.
++ { echo "$as_me:$LINENO: checking for remove" >&5
++echo $ECHO_N "checking for remove... $ECHO_C" >&6; }
++if test "${ac_cv_func_remove+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- if test -n "$x_includes"; then
+- X_CFLAGS="$X_CFLAGS -I$x_includes"
+- fi
+-
+- # It would also be nice to do this for all -L options, not just this one.
+- if test -n "$x_libraries"; then
+- X_LIBS="$X_LIBS -L$x_libraries"
+- # For Solaris; some versions of Sun CC require a space after -R and
+- # others require no space. Words are not sufficient . . . .
+- case `(uname -sr) 2>/dev/null` in
+- "SunOS 5"*)
+- echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5
+-echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6
+- ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
+- cat >conftest.$ac_ext <<_ACEOF
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
++/* Define remove to an innocuous variant, in case <limits.h> declares remove.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define remove innocuous_remove
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char remove (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef remove
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char remove ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_remove || defined __stub___remove
++choke me
++#endif
+
+ int
+ main ()
+ {
+-
++return remove ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_R_nospace=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func_remove=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_R_nospace=no
++ ac_cv_func_remove=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+- if test $ac_R_nospace = yes; then
+- echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
+- X_LIBS="$X_LIBS -R$x_libraries"
+- else
+- LIBS="$ac_xsave_LIBS -R $x_libraries"
+- cat >conftest.$ac_ext <<_ACEOF
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5
++echo "${ECHO_T}$ac_cv_func_remove" >&6; }
++
++ if test $ac_cv_func_remove = no; then
++ { echo "$as_me:$LINENO: checking for remove in -lposix" >&5
++echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6; }
++if test "${ac_cv_lib_posix_remove+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lposix $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char remove ();
+ int
+ main ()
+ {
+-
++return remove ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_R_space=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_posix_remove=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_R_space=no
++ ac_cv_lib_posix_remove=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+- if test $ac_R_space = yes; then
+- echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6
+- X_LIBS="$X_LIBS -R $x_libraries"
+- else
+- echo "$as_me:$LINENO: result: neither works" >&5
+-echo "${ECHO_T}neither works" >&6
+- fi
+- fi
+- LIBS=$ac_xsave_LIBS
+- esac
+- fi
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5
++echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6; }
++if test $ac_cv_lib_posix_remove = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
++fi
+
+- # Check for system-dependent libraries X programs must link with.
+- # Do this before checking for the system-independent R6 libraries
+- # (-lICE), since we may need -lsocket or whatever for X linking.
++ fi
+
+- if test "$ISC" = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
+- else
+- # Martyn Johnson says this is needed for Ultrix, if the X
+- # libraries were built with DECnet support. And Karl Berry says
+- # the Alpha needs dnet_stub (dnet does not exist).
+- ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
+- cat >conftest.$ac_ext <<_ACEOF
++ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
++ { echo "$as_me:$LINENO: checking for shmat" >&5
++echo $ECHO_N "checking for shmat... $ECHO_C" >&6; }
++if test "${ac_cv_func_shmat+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
++/* Define shmat to an innocuous variant, in case <limits.h> declares shmat.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define shmat innocuous_shmat
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char shmat (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++#undef shmat
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char XOpenDisplay ();
++char shmat ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_shmat || defined __stub___shmat
++choke me
++#endif
++
+ int
+ main ()
+ {
+-XOpenDisplay ();
++return shmat ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- :
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func_shmat=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5
+-echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6
+-if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then
++ ac_cv_func_shmat=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5
++echo "${ECHO_T}$ac_cv_func_shmat" >&6; }
++
++ if test $ac_cv_func_shmat = no; then
++ { echo "$as_me:$LINENO: checking for shmat in -lipc" >&5
++echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6; }
++if test "${ac_cv_lib_ipc_shmat+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-ldnet $LIBS"
++LIBS="-lipc $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -19361,68 +12313,76 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char dnet_ntoa ();
++char shmat ();
+ int
+ main ()
+ {
+-dnet_ntoa ();
++return shmat ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_dnet_dnet_ntoa=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_ipc_shmat=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_dnet_dnet_ntoa=no
++ ac_cv_lib_ipc_shmat=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
+-echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6
+-if test $ac_cv_lib_dnet_dnet_ntoa = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5
++echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6; }
++if test $ac_cv_lib_ipc_shmat = yes; then
++ X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
+ fi
+
+- if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+- echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5
+-echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6
+-if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then
++ fi
++ fi
++
++ # Check for libraries that X11R6 Xt/Xaw programs need.
++ ac_save_LDFLAGS=$LDFLAGS
++ test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
++ # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
++ # check for ICE first), but we must link in the order -lSM -lICE or
++ # we get undefined symbols. So assume we have SM if we have ICE.
++ # These have to be linked with before -lX11, unlike the other
++ # libraries we check for below, so use a different variable.
++ # John Interrante, Karl Berry
++ { echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5
++echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6; }
++if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-ldnet_stub $LIBS"
++LIBS="-lICE $X_EXTRA_LIBS $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -19430,173 +12390,297 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char dnet_ntoa ();
++char IceConnectionNumber ();
+ int
+ main ()
+ {
+-dnet_ntoa ();
++return IceConnectionNumber ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_dnet_stub_dnet_ntoa=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_ICE_IceConnectionNumber=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_dnet_stub_dnet_ntoa=no
++ ac_cv_lib_ICE_IceConnectionNumber=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
+-echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6
+-if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
++echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
++if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then
++ X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
+ fi
+
+- fi
++ LDFLAGS=$ac_save_LDFLAGS
++
+ fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+- LIBS="$ac_xsave_LIBS"
+
+- # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
+- # to get the SysV transport functions.
+- # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
+- # needs -lnsl.
+- # The nsl library prevents programs from opening the X display
+- # on Irix 5.2, according to T.E. Dickey.
+- # The functions gethostbyname, getservbyname, and inet_addr are
+- # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
+- echo "$as_me:$LINENO: checking for gethostbyname" >&5
+-echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6
+-if test "${ac_cv_func_gethostbyname+set}" = set; then
++
++
++
++# See if we are to build x11vnc:
++
++
++
++# Check whether --with-system-libvncserver was given.
++if test "${with_system_libvncserver+set}" = set; then
++ withval=$with_system_libvncserver;
++fi
++
++
++# Check whether --with-x11vnc was given.
++if test "${with_x11vnc+set}" = set; then
++ withval=$with_x11vnc;
++fi
++
++
++if test ! -z "$with_x11vnc" -a "$with_x11vnc" = "yes"; then
++ build_x11vnc="yes"
++elif test "$PACKAGE_NAME" = "x11vnc"; then
++ build_x11vnc="yes"
++else
++ build_x11vnc="no"
++fi
++
++# x11vnc only:
++if test "$build_x11vnc" = "yes"; then
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++# Check whether --with-xkeyboard was given.
++if test "${with_xkeyboard+set}" = set; then
++ withval=$with_xkeyboard;
++fi
++
++
++# Check whether --with-xinerama was given.
++if test "${with_xinerama+set}" = set; then
++ withval=$with_xinerama;
++fi
++
++
++# Check whether --with-xrandr was given.
++if test "${with_xrandr+set}" = set; then
++ withval=$with_xrandr;
++fi
++
++
++# Check whether --with-xfixes was given.
++if test "${with_xfixes+set}" = set; then
++ withval=$with_xfixes;
++fi
++
++
++# Check whether --with-xdamage was given.
++if test "${with_xdamage+set}" = set; then
++ withval=$with_xdamage;
++fi
++
++
++# Check whether --with-xtrap was given.
++if test "${with_xtrap+set}" = set; then
++ withval=$with_xtrap;
++fi
++
++
++# Check whether --with-xrecord was given.
++if test "${with_xrecord+set}" = set; then
++ withval=$with_xrecord;
++fi
++
++
++# Check whether --with-fbpm was given.
++if test "${with_fbpm+set}" = set; then
++ withval=$with_fbpm;
++fi
++
++
++# Check whether --with-dpms was given.
++if test "${with_dpms+set}" = set; then
++ withval=$with_dpms;
++fi
++
++
++# Check whether --with-v4l was given.
++if test "${with_v4l+set}" = set; then
++ withval=$with_v4l;
++fi
++
++
++# Check whether --with-fbdev was given.
++if test "${with_fbdev+set}" = set; then
++ withval=$with_fbdev;
++fi
++
++
++# Check whether --with-uinput was given.
++if test "${with_uinput+set}" = set; then
++ withval=$with_uinput;
++fi
++
++
++# Check whether --with-macosx-native was given.
++if test "${with_macosx_native+set}" = set; then
++ withval=$with_macosx_native;
++fi
++
++
++fi
++# end x11vnc only.
++
++if test "x$with_x" = "xno"; then
++ HAVE_X="false"
++elif test "$X_CFLAGS" != "-DX_DISPLAY_MISSING"; then
++ { echo "$as_me:$LINENO: checking for XGetImage in -lX11" >&5
++echo $ECHO_N "checking for XGetImage in -lX11... $ECHO_C" >&6; }
++if test "${ac_cv_lib_X11_XGetImage+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lX11 $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-/* Define gethostbyname to an innocuous variant, in case <limits.h> declares gethostbyname.
+- For example, HP-UX 11i <limits.h> declares gettimeofday. */
+-#define gethostbyname innocuous_gethostbyname
+-
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char gethostbyname (); below.
+- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+- <limits.h> exists even on freestanding compilers. */
+-
+-#ifdef __STDC__
+-# include <limits.h>
+-#else
+-# include <assert.h>
+-#endif
+-
+-#undef gethostbyname
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-{
+-#endif
+-/* We use char because int might match the return type of a gcc2
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+-char gethostbyname ();
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname)
+-choke me
+-#else
+-char (*f) () = gethostbyname;
+-#endif
+ #ifdef __cplusplus
+-}
++extern "C"
+ #endif
+-
++char XGetImage ();
+ int
+ main ()
+ {
+-return f != gethostbyname;
++return XGetImage ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_gethostbyname=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_X11_XGetImage=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_func_gethostbyname=no
++ ac_cv_lib_X11_XGetImage=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XGetImage" >&5
++echo "${ECHO_T}$ac_cv_lib_X11_XGetImage" >&6; }
++if test $ac_cv_lib_X11_XGetImage = yes; then
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_X11 1
++_ACEOF
++ HAVE_X="true"
++else
++ HAVE_X="false"
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5
+-echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6
+
+- if test $ac_cv_func_gethostbyname = no; then
+- echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
+-echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6
+-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
++
++ # x11vnc only:
++ if test $HAVE_X = "true" -a "$build_x11vnc" = "yes"; then
++ X_PRELIBS="$X_PRELIBS -lXext"
++
++ { echo "$as_me:$LINENO: checking for XShmGetImage in -lXext" >&5
++echo $ECHO_N "checking for XShmGetImage in -lXext... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xext_XShmGetImage+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lnsl $LIBS"
++LIBS="-lXext $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -19604,68 +12688,68 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char gethostbyname ();
++char XShmGetImage ();
+ int
+ main ()
+ {
+-gethostbyname ();
++return XShmGetImage ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_nsl_gethostbyname=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xext_XShmGetImage=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_nsl_gethostbyname=no
++ ac_cv_lib_Xext_XShmGetImage=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
+-echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6
+-if test $ac_cv_lib_nsl_gethostbyname = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XShmGetImage" >&5
++echo "${ECHO_T}$ac_cv_lib_Xext_XShmGetImage" >&6; }
++if test $ac_cv_lib_Xext_XShmGetImage = yes; then
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_XSHM 1
++_ACEOF
++
+ fi
+
+- if test $ac_cv_lib_nsl_gethostbyname = no; then
+- echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5
+-echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6
+-if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then
++
++ { echo "$as_me:$LINENO: checking for XReadScreen in -lXext" >&5
++echo $ECHO_N "checking for XReadScreen in -lXext... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xext_XReadScreen+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lbsd $LIBS"
++LIBS="-lXext $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -19673,73 +12757,64 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char gethostbyname ();
++char XReadScreen ();
+ int
+ main ()
+ {
+-gethostbyname ();
++return XReadScreen ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_bsd_gethostbyname=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xext_XReadScreen=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_bsd_gethostbyname=no
++ ac_cv_lib_Xext_XReadScreen=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5
+-echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6
+-if test $ac_cv_lib_bsd_gethostbyname = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XReadScreen" >&5
++echo "${ECHO_T}$ac_cv_lib_Xext_XReadScreen" >&6; }
++if test $ac_cv_lib_Xext_XReadScreen = yes; then
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_SOLARIS_XREADSCREEN 1
++_ACEOF
++
+ fi
+
+- fi
+- fi
+
+- # lieder@skyler.mavd.honeywell.com says without -lsocket,
+- # socket/setsockopt and other routines are undefined under SCO ODT
+- # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary
+- # on later versions), says Simon Leinen: it contains gethostby*
+- # variants that don't use the name server (or something). -lsocket
+- # must be given before -lnsl if both are needed. We assume that
+- # if connect needs -lnsl, so does gethostbyname.
+- echo "$as_me:$LINENO: checking for connect" >&5
+-echo $ECHO_N "checking for connect... $ECHO_C" >&6
+-if test "${ac_cv_func_connect+set}" = set; then
++ { echo "$as_me:$LINENO: checking for X11/extensions/readdisplay.h" >&5
++echo $ECHO_N "checking for X11/extensions/readdisplay.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_X11_extensions_readdisplay_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+@@ -19748,94 +12823,127 @@
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-/* Define connect to an innocuous variant, in case <limits.h> declares connect.
+- For example, HP-UX 11i <limits.h> declares gettimeofday. */
+-#define connect innocuous_connect
++#include <X11/Xlib.h>
+
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char connect (); below.
+- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+- <limits.h> exists even on freestanding compilers. */
++#include <X11/extensions/readdisplay.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_X11_extensions_readdisplay_h=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+-#ifdef __STDC__
+-# include <limits.h>
+-#else
+-# include <assert.h>
+-#endif
++ ac_cv_header_X11_extensions_readdisplay_h=no
++fi
+
+-#undef connect
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_readdisplay_h" >&5
++echo "${ECHO_T}$ac_cv_header_X11_extensions_readdisplay_h" >&6; }
++if test $ac_cv_header_X11_extensions_readdisplay_h = yes; then
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_IRIX_XREADDISPLAY 1
++_ACEOF
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-{
+-#endif
+-/* We use char because int might match the return type of a gcc2
++fi
++
++
++
++ if test "x$with_fbpm" != "xno"; then
++ { echo "$as_me:$LINENO: checking for FBPMForceLevel in -lXext" >&5
++echo $ECHO_N "checking for FBPMForceLevel in -lXext... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xext_FBPMForceLevel+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXext $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+-char connect ();
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_connect) || defined (__stub___connect)
+-choke me
+-#else
+-char (*f) () = connect;
+-#endif
+ #ifdef __cplusplus
+-}
++extern "C"
+ #endif
+-
++char FBPMForceLevel ();
+ int
+ main ()
+ {
+-return f != connect;
++return FBPMForceLevel ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_connect=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xext_FBPMForceLevel=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_func_connect=no
++ ac_cv_lib_Xext_FBPMForceLevel=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_FBPMForceLevel" >&5
++echo "${ECHO_T}$ac_cv_lib_Xext_FBPMForceLevel" >&6; }
++if test $ac_cv_lib_Xext_FBPMForceLevel = yes; then
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_FBPM 1
++_ACEOF
++
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5
+-echo "${ECHO_T}$ac_cv_func_connect" >&6
+
+- if test $ac_cv_func_connect = no; then
+- echo "$as_me:$LINENO: checking for connect in -lsocket" >&5
+-echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6
+-if test "${ac_cv_lib_socket_connect+set}" = set; then
++ fi
++
++ if test "x$with_dpms" != "xno"; then
++ { echo "$as_me:$LINENO: checking for DPMSForceLevel in -lXext" >&5
++echo $ECHO_N "checking for DPMSForceLevel in -lXext... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xext_DPMSForceLevel+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
++LIBS="-lXext $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -19843,162 +12951,139 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char connect ();
++char DPMSForceLevel ();
+ int
+ main ()
+ {
+-connect ();
++return DPMSForceLevel ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_socket_connect=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xext_DPMSForceLevel=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_socket_connect=no
++ ac_cv_lib_Xext_DPMSForceLevel=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5
+-echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6
+-if test $ac_cv_lib_socket_connect = yes; then
+- X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_DPMSForceLevel" >&5
++echo "${ECHO_T}$ac_cv_lib_Xext_DPMSForceLevel" >&6; }
++if test $ac_cv_lib_Xext_DPMSForceLevel = yes; then
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_DPMS 1
++_ACEOF
++
+ fi
+
+- fi
++ fi
+
+- # Guillermo Gomez says -lposix is necessary on A/UX.
+- echo "$as_me:$LINENO: checking for remove" >&5
+-echo $ECHO_N "checking for remove... $ECHO_C" >&6
+-if test "${ac_cv_func_remove+set}" = set; then
++ { echo "$as_me:$LINENO: checking for XTestGrabControl in -lXtst" >&5
++echo $ECHO_N "checking for XTestGrabControl in -lXtst... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xtst_XTestGrabControl+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXtst $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-/* Define remove to an innocuous variant, in case <limits.h> declares remove.
+- For example, HP-UX 11i <limits.h> declares gettimeofday. */
+-#define remove innocuous_remove
+-
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char remove (); below.
+- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+- <limits.h> exists even on freestanding compilers. */
+-
+-#ifdef __STDC__
+-# include <limits.h>
+-#else
+-# include <assert.h>
+-#endif
+
+-#undef remove
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-{
+-#endif
+-/* We use char because int might match the return type of a gcc2
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+-char remove ();
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_remove) || defined (__stub___remove)
+-choke me
+-#else
+-char (*f) () = remove;
+-#endif
+ #ifdef __cplusplus
+-}
++extern "C"
+ #endif
+-
++char XTestGrabControl ();
+ int
+ main ()
+ {
+-return f != remove;
++return XTestGrabControl ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_remove=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xtst_XTestGrabControl=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_func_remove=no
++ ac_cv_lib_Xtst_XTestGrabControl=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xtst_XTestGrabControl" >&5
++echo "${ECHO_T}$ac_cv_lib_Xtst_XTestGrabControl" >&6; }
++if test $ac_cv_lib_Xtst_XTestGrabControl = yes; then
++ X_PRELIBS="-lXtst $X_PRELIBS"
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_XTESTGRABCONTROL 1
++_ACEOF
++ HAVE_XTESTGRABCONTROL="true"
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5
+-echo "${ECHO_T}$ac_cv_func_remove" >&6
+
+- if test $ac_cv_func_remove = no; then
+- echo "$as_me:$LINENO: checking for remove in -lposix" >&5
+-echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6
+-if test "${ac_cv_lib_posix_remove+set}" = set; then
++
++ { echo "$as_me:$LINENO: checking for XTestFakeKeyEvent in -lXtst" >&5
++echo $ECHO_N "checking for XTestFakeKeyEvent in -lXtst... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xtst_XTestFakeKeyEvent+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lposix $LIBS"
++LIBS="-lXtst $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -20006,162 +13091,144 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char remove ();
++char XTestFakeKeyEvent ();
+ int
+ main ()
+ {
+-remove ();
++return XTestFakeKeyEvent ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_posix_remove=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xtst_XTestFakeKeyEvent=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_posix_remove=no
++ ac_cv_lib_Xtst_XTestFakeKeyEvent=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5
+-echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6
+-if test $ac_cv_lib_posix_remove = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
+-fi
+-
+- fi
+-
+- # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+- echo "$as_me:$LINENO: checking for shmat" >&5
+-echo $ECHO_N "checking for shmat... $ECHO_C" >&6
+-if test "${ac_cv_func_shmat+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xtst_XTestFakeKeyEvent" >&5
++echo "${ECHO_T}$ac_cv_lib_Xtst_XTestFakeKeyEvent" >&6; }
++if test $ac_cv_lib_Xtst_XTestFakeKeyEvent = yes; then
++ X_PRELIBS="-lXtst $X_PRELIBS"
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_XTEST 1
+ _ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-/* Define shmat to an innocuous variant, in case <limits.h> declares shmat.
+- For example, HP-UX 11i <limits.h> declares gettimeofday. */
+-#define shmat innocuous_shmat
+-
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char shmat (); below.
+- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+- <limits.h> exists even on freestanding compilers. */
++ HAVE_XTEST="true"
++fi
+
+-#ifdef __STDC__
+-# include <limits.h>
+-#else
+-# include <assert.h>
+-#endif
+
+-#undef shmat
++ if test "x$with_xrecord" != "xno"; then
++ { echo "$as_me:$LINENO: checking for XRecordEnableContextAsync in -lXtst" >&5
++echo $ECHO_N "checking for XRecordEnableContextAsync in -lXtst... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xtst_XRecordEnableContextAsync+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXtst $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-{
+-#endif
+-/* We use char because int might match the return type of a gcc2
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+-char shmat ();
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_shmat) || defined (__stub___shmat)
+-choke me
+-#else
+-char (*f) () = shmat;
+-#endif
+ #ifdef __cplusplus
+-}
++extern "C"
+ #endif
+-
++char XRecordEnableContextAsync ();
+ int
+ main ()
+ {
+-return f != shmat;
++return XRecordEnableContextAsync ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_shmat=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xtst_XRecordEnableContextAsync=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_func_shmat=no
++ ac_cv_lib_Xtst_XRecordEnableContextAsync=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xtst_XRecordEnableContextAsync" >&5
++echo "${ECHO_T}$ac_cv_lib_Xtst_XRecordEnableContextAsync" >&6; }
++if test $ac_cv_lib_Xtst_XRecordEnableContextAsync = yes; then
++ X_PRELIBS="-lXtst $X_PRELIBS"
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_RECORD 1
++_ACEOF
++
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5
+-echo "${ECHO_T}$ac_cv_func_shmat" >&6
+
+- if test $ac_cv_func_shmat = no; then
+- echo "$as_me:$LINENO: checking for shmat in -lipc" >&5
+-echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6
+-if test "${ac_cv_lib_ipc_shmat+set}" = set; then
++ fi
++
++ # we use XTRAP on X11R5, or user can set X11VNC_USE_XTRAP
++ if test "x$with_xtrap" != "xno"; then
++ if test ! -z "$X11VNC_USE_XTRAP" -o -z "$HAVE_XTESTGRABCONTROL"; then
++ { echo "$as_me:$LINENO: checking for XETrapSetGrabServer in -lXTrap" >&5
++echo $ECHO_N "checking for XETrapSetGrabServer in -lXTrap... $ECHO_C" >&6; }
++if test "${ac_cv_lib_XTrap_XETrapSetGrabServer+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lipc $LIBS"
++LIBS="-lXTrap $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -20169,79 +13236,69 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char shmat ();
++char XETrapSetGrabServer ();
+ int
+ main ()
+ {
+-shmat ();
++return XETrapSetGrabServer ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_ipc_shmat=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_XTrap_XETrapSetGrabServer=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_ipc_shmat=no
++ ac_cv_lib_XTrap_XETrapSetGrabServer=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5
+-echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6
+-if test $ac_cv_lib_ipc_shmat = yes; then
+- X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
+-fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_XTrap_XETrapSetGrabServer" >&5
++echo "${ECHO_T}$ac_cv_lib_XTrap_XETrapSetGrabServer" >&6; }
++if test $ac_cv_lib_XTrap_XETrapSetGrabServer = yes; then
++ X_PRELIBS="$X_PRELIBS -lXTrap"
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_LIBXTRAP 1
++_ACEOF
+
+- fi
+- fi
++fi
+
+- # Check for libraries that X11R6 Xt/Xaw programs need.
+- ac_save_LDFLAGS=$LDFLAGS
+- test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
+- # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+- # check for ICE first), but we must link in the order -lSM -lICE or
+- # we get undefined symbols. So assume we have SM if we have ICE.
+- # These have to be linked with before -lX11, unlike the other
+- # libraries we check for below, so use a different variable.
+- # John Interrante, Karl Berry
+- echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5
+-echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6
+-if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then
++ # tru64 uses libXETrap.so
++ { echo "$as_me:$LINENO: checking for XETrapSetGrabServer in -lXETrap" >&5
++echo $ECHO_N "checking for XETrapSetGrabServer in -lXETrap... $ECHO_C" >&6; }
++if test "${ac_cv_lib_XETrap_XETrapSetGrabServer+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lICE $X_EXTRA_LIBS $LIBS"
++LIBS="-lXETrap $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -20249,225 +13306,271 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char IceConnectionNumber ();
++char XETrapSetGrabServer ();
+ int
+ main ()
+ {
+-IceConnectionNumber ();
++return XETrapSetGrabServer ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_ICE_IceConnectionNumber=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_XETrap_XETrapSetGrabServer=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_ICE_IceConnectionNumber=no
++ ac_cv_lib_XETrap_XETrapSetGrabServer=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
+-echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6
+-if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then
+- X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
+-fi
+-
+- LDFLAGS=$ac_save_LDFLAGS
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_XETrap_XETrapSetGrabServer" >&5
++echo "${ECHO_T}$ac_cv_lib_XETrap_XETrapSetGrabServer" >&6; }
++if test $ac_cv_lib_XETrap_XETrapSetGrabServer = yes; then
++ X_PRELIBS="$X_PRELIBS -lXETrap"
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_LIBXTRAP 1
++_ACEOF
+
+ fi
+
++ fi
++ fi
+
++ if test "x$with_xkeyboard" != "xno"; then
++ saved_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
++ { echo "$as_me:$LINENO: checking for X11/XKBlib.h" >&5
++echo $ECHO_N "checking for X11/XKBlib.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_X11_XKBlib_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <X11/Xlib.h>
+
++#include <X11/XKBlib.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_X11_XKBlib_h=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+-# See if we are to build x11vnc:
+-
+-
+-
+-# Check whether --with-system-libvncserver or --without-system-libvncserver was given.
+-if test "${with_system_libvncserver+set}" = set; then
+- withval="$with_system_libvncserver"
+-
+-fi;
+-
+-# Check whether --with-x11vnc or --without-x11vnc was given.
+-if test "${with_x11vnc+set}" = set; then
+- withval="$with_x11vnc"
+-
+-fi;
++ ac_cv_header_X11_XKBlib_h=no
++fi
+
+-if test ! -z "$with_x11vnc" -a "$with_x11vnc" = "yes"; then
+- build_x11vnc="yes"
+-elif test "$PACKAGE_NAME" = "x11vnc"; then
+- build_x11vnc="yes"
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_XKBlib_h" >&5
++echo "${ECHO_T}$ac_cv_header_X11_XKBlib_h" >&6; }
++if test $ac_cv_header_X11_XKBlib_h = yes; then
++ HAVE_XKBLIB_H="true"
+ else
+- build_x11vnc="no"
++ HAVE_XKBLIB_H="false"
+ fi
+
+-# x11vnc only:
+-if test "$build_x11vnc" = "yes"; then
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+
++ CPPFLAGS="$saved_CPPFLAGS"
++ if test $HAVE_XKBLIB_H = "true"; then
++ { echo "$as_me:$LINENO: checking for XkbSelectEvents in -lX11" >&5
++echo $ECHO_N "checking for XkbSelectEvents in -lX11... $ECHO_C" >&6; }
++if test "${ac_cv_lib_X11_XkbSelectEvents+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lX11 $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XkbSelectEvents ();
++int
++main ()
++{
++return XkbSelectEvents ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_X11_XkbSelectEvents=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
++ ac_cv_lib_X11_XkbSelectEvents=no
++fi
+
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XkbSelectEvents" >&5
++echo "${ECHO_T}$ac_cv_lib_X11_XkbSelectEvents" >&6; }
++if test $ac_cv_lib_X11_XkbSelectEvents = yes; then
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_XKEYBOARD 1
++_ACEOF
+
++fi
+
++ fi
++ fi
+
++ if test "x$with_xinerama" != "xno"; then
++ { echo "$as_me:$LINENO: checking for XineramaQueryScreens in -lXinerama" >&5
++echo $ECHO_N "checking for XineramaQueryScreens in -lXinerama... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xinerama_XineramaQueryScreens+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXinerama $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
+
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char XineramaQueryScreens ();
++int
++main ()
++{
++return XineramaQueryScreens ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xinerama_XineramaQueryScreens=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
++ ac_cv_lib_Xinerama_XineramaQueryScreens=no
++fi
+
+-
+-
+-
+-
+-
+-# Check whether --with-xkeyboard or --without-xkeyboard was given.
+-if test "${with_xkeyboard+set}" = set; then
+- withval="$with_xkeyboard"
+-
+-fi;
+-
+-# Check whether --with-xinerama or --without-xinerama was given.
+-if test "${with_xinerama+set}" = set; then
+- withval="$with_xinerama"
+-
+-fi;
+-
+-# Check whether --with-xrandr or --without-xrandr was given.
+-if test "${with_xrandr+set}" = set; then
+- withval="$with_xrandr"
+-
+-fi;
+-
+-# Check whether --with-xfixes or --without-xfixes was given.
+-if test "${with_xfixes+set}" = set; then
+- withval="$with_xfixes"
+-
+-fi;
+-
+-# Check whether --with-xdamage or --without-xdamage was given.
+-if test "${with_xdamage+set}" = set; then
+- withval="$with_xdamage"
+-
+-fi;
+-
+-# Check whether --with-xtrap or --without-xtrap was given.
+-if test "${with_xtrap+set}" = set; then
+- withval="$with_xtrap"
+-
+-fi;
+-
+-# Check whether --with-xrecord or --without-xrecord was given.
+-if test "${with_xrecord+set}" = set; then
+- withval="$with_xrecord"
+-
+-fi;
+-
+-# Check whether --with-fbpm or --without-fbpm was given.
+-if test "${with_fbpm+set}" = set; then
+- withval="$with_fbpm"
+-
+-fi;
+-
+-# Check whether --with-dpms or --without-dpms was given.
+-if test "${with_dpms+set}" = set; then
+- withval="$with_dpms"
+-
+-fi;
+-
+-# Check whether --with-v4l or --without-v4l was given.
+-if test "${with_v4l+set}" = set; then
+- withval="$with_v4l"
+-
+-fi;
+-
+-# Check whether --with-fbdev or --without-fbdev was given.
+-if test "${with_fbdev+set}" = set; then
+- withval="$with_fbdev"
+-
+-fi;
+-
+-# Check whether --with-uinput or --without-uinput was given.
+-if test "${with_uinput+set}" = set; then
+- withval="$with_uinput"
+-
+-fi;
+-
+-# Check whether --with-macosx-native or --without-macosx-native was given.
+-if test "${with_macosx_native+set}" = set; then
+- withval="$with_macosx_native"
+-
+-fi;
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xinerama_XineramaQueryScreens" >&5
++echo "${ECHO_T}$ac_cv_lib_Xinerama_XineramaQueryScreens" >&6; }
++if test $ac_cv_lib_Xinerama_XineramaQueryScreens = yes; then
++ X_PRELIBS="$X_PRELIBS -lXinerama"
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_LIBXINERAMA 1
++_ACEOF
+
+ fi
+-# end x11vnc only.
+
+-if test "x$with_x" = "xno"; then
+- HAVE_X="false"
+-elif test "$X_CFLAGS" != "-DX_DISPLAY_MISSING"; then
+- echo "$as_me:$LINENO: checking for XGetImage in -lX11" >&5
+-echo $ECHO_N "checking for XGetImage in -lX11... $ECHO_C" >&6
+-if test "${ac_cv_lib_X11_XGetImage+set}" = set; then
++ fi
++
++ if test "x$with_xrandr" != "xno"; then
++ { echo "$as_me:$LINENO: checking for XRRSelectInput in -lXrandr" >&5
++echo $ECHO_N "checking for XRRSelectInput in -lXrandr... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xrandr_XRRSelectInput+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lX11 $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++LIBS="-lXrandr $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -20475,77 +13578,71 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char XGetImage ();
++char XRRSelectInput ();
+ int
+ main ()
+ {
+-XGetImage ();
++return XRRSelectInput ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_X11_XGetImage=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xrandr_XRRSelectInput=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_X11_XGetImage=no
++ ac_cv_lib_Xrandr_XRRSelectInput=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XGetImage" >&5
+-echo "${ECHO_T}$ac_cv_lib_X11_XGetImage" >&6
+-if test $ac_cv_lib_X11_XGetImage = yes; then
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_X11 1
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xrandr_XRRSelectInput" >&5
++echo "${ECHO_T}$ac_cv_lib_Xrandr_XRRSelectInput" >&6; }
++if test $ac_cv_lib_Xrandr_XRRSelectInput = yes; then
++ X_PRELIBS="$X_PRELIBS -lXrandr"
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_LIBXRANDR 1
+ _ACEOF
+- HAVE_X="true"
+-else
+- HAVE_X="false"
+-fi
+
++fi
+
+- # x11vnc only:
+- if test $HAVE_X = "true" -a "$build_x11vnc" = "yes"; then
+- X_PRELIBS="$X_PRELIBS -lXext"
++ fi
+
+- echo "$as_me:$LINENO: checking for XShmGetImage in -lXext" >&5
+-echo $ECHO_N "checking for XShmGetImage in -lXext... $ECHO_C" >&6
+-if test "${ac_cv_lib_Xext_XShmGetImage+set}" = set; then
++ if test "x$with_xfixes" != "xno"; then
++ { echo "$as_me:$LINENO: checking for XFixesGetCursorImage in -lXfixes" >&5
++echo $ECHO_N "checking for XFixesGetCursorImage in -lXfixes... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xfixes_XFixesGetCursorImage+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lXext $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++LIBS="-lXfixes $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -20553,71 +13650,71 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char XShmGetImage ();
++char XFixesGetCursorImage ();
+ int
+ main ()
+ {
+-XShmGetImage ();
++return XFixesGetCursorImage ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_Xext_XShmGetImage=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xfixes_XFixesGetCursorImage=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_Xext_XShmGetImage=no
++ ac_cv_lib_Xfixes_XFixesGetCursorImage=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XShmGetImage" >&5
+-echo "${ECHO_T}$ac_cv_lib_Xext_XShmGetImage" >&6
+-if test $ac_cv_lib_Xext_XShmGetImage = yes; then
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_XSHM 1
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xfixes_XFixesGetCursorImage" >&5
++echo "${ECHO_T}$ac_cv_lib_Xfixes_XFixesGetCursorImage" >&6; }
++if test $ac_cv_lib_Xfixes_XFixesGetCursorImage = yes; then
++ X_PRELIBS="$X_PRELIBS -lXfixes"
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_LIBXFIXES 1
+ _ACEOF
+-
++ HAVE_LIBXFIXES="true"
+ fi
+
++ fi
+
+- echo "$as_me:$LINENO: checking for XReadScreen in -lXext" >&5
+-echo $ECHO_N "checking for XReadScreen in -lXext... $ECHO_C" >&6
+-if test "${ac_cv_lib_Xext_XReadScreen+set}" = set; then
++ if test "x$with_xdamage" != "xno"; then
++ { echo "$as_me:$LINENO: checking for XDamageQueryExtension in -lXdamage" >&5
++echo $ECHO_N "checking for XDamageQueryExtension in -lXdamage... $ECHO_C" >&6; }
++if test "${ac_cv_lib_Xdamage_XDamageQueryExtension+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lXext $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++LIBS="-lXdamage $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -20625,67 +13722,163 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char XReadScreen ();
++char XDamageQueryExtension ();
+ int
+ main ()
+ {
+-XReadScreen ();
++return XDamageQueryExtension ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_Xext_XReadScreen=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_Xdamage_XDamageQueryExtension=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_Xext_XReadScreen=no
++ ac_cv_lib_Xdamage_XDamageQueryExtension=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XReadScreen" >&5
+-echo "${ECHO_T}$ac_cv_lib_Xext_XReadScreen" >&6
+-if test $ac_cv_lib_Xext_XReadScreen = yes; then
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_SOLARIS_XREADSCREEN 1
+-_ACEOF
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xdamage_XDamageQueryExtension" >&5
++echo "${ECHO_T}$ac_cv_lib_Xdamage_XDamageQueryExtension" >&6; }
++if test $ac_cv_lib_Xdamage_XDamageQueryExtension = yes; then
++ X_PRELIBS="$X_PRELIBS -lXdamage"
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_LIBXDAMAGE 1
++_ACEOF
++ HAVE_LIBXDAMAGE="true"
++fi
++
++ fi
++
++ if test ! -z "$HAVE_LIBXFIXES" -o ! -z "$HAVE_LIBXDAMAGE"; then
++ # need /usr/sfw/lib in RPATH for Solaris 10 and later
++ case `(uname -sr) 2>/dev/null` in
++ "SunOS 5"*) X_EXTRA_LIBS="$X_EXTRA_LIBS -R/usr/sfw/lib" ;;
++ esac
++ fi
++
++ X_LIBS="$X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS"
++ fi
++ # end x11vnc only.
++fi
++
++
++ if test $HAVE_X != "false"; then
++ HAVE_X_TRUE=
++ HAVE_X_FALSE='#'
++else
++ HAVE_X_TRUE='#'
++ HAVE_X_FALSE=
++fi
++
++
++# x11vnc only:
++if test "$build_x11vnc" = "yes"; then
++
++if test "x$HAVE_X" = "xfalse" -a "x$with_x" != "xno"; then
++ { { echo "$as_me:$LINENO: error:
++==========================================================================
++A working X window system build environment is required to build x11vnc.
++Make sure any required X development packages are installed. If they are
++installed in non-standard locations, one can use the --x-includes=DIR
++and --x-libraries=DIR configure options or set the CPPFLAGS and LDFLAGS
++environment variables to indicate where the X window system header files
++and libraries may be found. On 64+32 bit machines you may need to point
++to lib64 or lib32 directories to pick up the correct word size.
++
++If you want to build x11vnc without X support (e.g. for -rawfb use only
++or for native Mac OS X), specify the --without-x configure option.
++==========================================================================
++" >&5
++echo "$as_me: error:
++==========================================================================
++A working X window system build environment is required to build x11vnc.
++Make sure any required X development packages are installed. If they are
++installed in non-standard locations, one can use the --x-includes=DIR
++and --x-libraries=DIR configure options or set the CPPFLAGS and LDFLAGS
++environment variables to indicate where the X window system header files
++and libraries may be found. On 64+32 bit machines you may need to point
++to lib64 or lib32 directories to pick up the correct word size.
++
++If you want to build x11vnc without X support (e.g. for -rawfb use only
++or for native Mac OS X), specify the --without-x configure option.
++==========================================================================
++" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++if test "x$HAVE_X" = "xtrue" -a "x$HAVE_XTEST" != "xtrue"; then
++ { echo "$as_me:$LINENO: WARNING:
++==========================================================================
++A working build environment for the XTEST extension was not found (libXtst).
++An x11vnc built this way will be only barely usable. You will be able to
++move the mouse but not click or type. There can also be deadlocks if an
++application grabs the X server.
++
++It is recommended that you install the necessary development packages
++for XTEST (perhaps it is named something like libxtst-dev) and run
++configure again.
++==========================================================================
++" >&5
++echo "$as_me: WARNING:
++==========================================================================
++A working build environment for the XTEST extension was not found (libXtst).
++An x11vnc built this way will be only barely usable. You will be able to
++move the mouse but not click or type. There can also be deadlocks if an
++application grabs the X server.
++
++It is recommended that you install the necessary development packages
++for XTEST (perhaps it is named something like libxtst-dev) and run
++configure again.
++==========================================================================
++" >&2;}
++fi
++
++
++
+
++# Check whether --with-crypt was given.
++if test "${with_crypt+set}" = set; then
++ withval=$with_crypt;
+ fi
+
++if test "x$with_crypt" != "xno"; then
+
+- echo "$as_me:$LINENO: checking for X11/extensions/readdisplay.h" >&5
+-echo $ECHO_N "checking for X11/extensions/readdisplay.h... $ECHO_C" >&6
+-if test "${ac_cv_header_X11_extensions_readdisplay_h+set}" = set; then
++for ac_func in crypt
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+@@ -20694,60 +13887,93 @@
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <X11/Xlib.h>
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
+
+-#include <X11/extensions/readdisplay.h>
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
++
++int
++main ()
++{
++return $ac_func ();
++ ;
++ return 0;
++}
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_header_X11_extensions_readdisplay_h=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ eval "$as_ac_var=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_header_X11_extensions_readdisplay_h=no
++ eval "$as_ac_var=no"
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_readdisplay_h" >&5
+-echo "${ECHO_T}$ac_cv_header_X11_extensions_readdisplay_h" >&6
+-if test $ac_cv_header_X11_extensions_readdisplay_h = yes; then
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_IRIX_XREADDISPLAY 1
++ac_res=`eval echo '${'$as_ac_var'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+ _ACEOF
+-
++ HAVE_LIBC_CRYPT="true"
+ fi
++done
+
+-
+-
+- if test "x$with_fbpm" != "xno"; then
+- echo "$as_me:$LINENO: checking for FBPMForceLevel in -lXext" >&5
+-echo $ECHO_N "checking for FBPMForceLevel in -lXext... $ECHO_C" >&6
+-if test "${ac_cv_lib_Xext_FBPMForceLevel+set}" = set; then
++ if test -z "$HAVE_LIBC_CRYPT"; then
++ { echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5
++echo $ECHO_N "checking for crypt in -lcrypt... $ECHO_C" >&6; }
++if test "${ac_cv_lib_crypt_crypt+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lXext $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++LIBS="-lcrypt $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -20755,73 +13981,92 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char FBPMForceLevel ();
++char crypt ();
+ int
+ main ()
+ {
+-FBPMForceLevel ();
++return crypt ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_Xext_FBPMForceLevel=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_crypt_crypt=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_Xext_FBPMForceLevel=no
++ ac_cv_lib_crypt_crypt=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_FBPMForceLevel" >&5
+-echo "${ECHO_T}$ac_cv_lib_Xext_FBPMForceLevel" >&6
+-if test $ac_cv_lib_Xext_FBPMForceLevel = yes; then
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_FBPM 1
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_crypt_crypt" >&5
++echo "${ECHO_T}$ac_cv_lib_crypt_crypt" >&6; }
++if test $ac_cv_lib_crypt_crypt = yes; then
++ CRYPT_LIBS="-lcrypt"
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_LIBCRYPT 1
+ _ACEOF
+
+ fi
+
+- fi
++ fi
++fi
+
+- if test "x$with_dpms" != "xno"; then
+- echo "$as_me:$LINENO: checking for DPMSForceLevel in -lXext" >&5
+-echo $ECHO_N "checking for DPMSForceLevel in -lXext... $ECHO_C" >&6
+-if test "${ac_cv_lib_Xext_DPMSForceLevel+set}" = set; then
++
++# some OS's need both -lssl and -lcrypto on link line:
++
++
++
++# Check whether --with-crypto was given.
++if test "${with_crypto+set}" = set; then
++ withval=$with_crypto;
++fi
++
++
++
++
++
++# Check whether --with-ssl was given.
++if test "${with_ssl+set}" = set; then
++ withval=$with_ssl;
++fi
++
++
++if test "x$with_crypto" != "xno" -a "x$with_ssl" != "xno"; then
++ { echo "$as_me:$LINENO: checking for RAND_file_name in -lcrypto" >&5
++echo $ECHO_N "checking for RAND_file_name in -lcrypto... $ECHO_C" >&6; }
++if test "${ac_cv_lib_crypto_RAND_file_name+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lXext $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++LIBS="-lcrypto $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -20829,72 +14074,71 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char DPMSForceLevel ();
++char RAND_file_name ();
+ int
+ main ()
+ {
+-DPMSForceLevel ();
++return RAND_file_name ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_Xext_DPMSForceLevel=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_crypto_RAND_file_name=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_Xext_DPMSForceLevel=no
++ ac_cv_lib_crypto_RAND_file_name=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_DPMSForceLevel" >&5
+-echo "${ECHO_T}$ac_cv_lib_Xext_DPMSForceLevel" >&6
+-if test $ac_cv_lib_Xext_DPMSForceLevel = yes; then
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_crypto_RAND_file_name" >&5
++echo "${ECHO_T}$ac_cv_lib_crypto_RAND_file_name" >&6; }
++if test $ac_cv_lib_crypto_RAND_file_name = yes; then
+ cat >>confdefs.h <<\_ACEOF
+-#define HAVE_DPMS 1
++#define HAVE_LIBCRYPTO 1
+ _ACEOF
+-
++ HAVE_LIBCRYPTO="true"
+ fi
+
+- fi
++fi
+
+- echo "$as_me:$LINENO: checking for XTestGrabControl in -lXtst" >&5
+-echo $ECHO_N "checking for XTestGrabControl in -lXtst... $ECHO_C" >&6
+-if test "${ac_cv_lib_Xtst_XTestGrabControl+set}" = set; then
++if test "x$with_ssl" != "xno"; then
++ if test "x$HAVE_LIBCRYPTO" = "xtrue"; then
++ { echo "$as_me:$LINENO: checking for SSL_library_init in -lssl" >&5
++echo $ECHO_N "checking for SSL_library_init in -lssl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_ssl_SSL_library_init+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lXtst $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++LIBS="-lssl -lcrypto $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -20902,72 +14146,69 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char XTestGrabControl ();
++char SSL_library_init ();
+ int
+ main ()
+ {
+-XTestGrabControl ();
++return SSL_library_init ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_Xtst_XTestGrabControl=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_ssl_SSL_library_init=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_Xtst_XTestGrabControl=no
++ ac_cv_lib_ssl_SSL_library_init=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_Xtst_XTestGrabControl" >&5
+-echo "${ECHO_T}$ac_cv_lib_Xtst_XTestGrabControl" >&6
+-if test $ac_cv_lib_Xtst_XTestGrabControl = yes; then
+- X_PRELIBS="-lXtst $X_PRELIBS"
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_library_init" >&5
++echo "${ECHO_T}$ac_cv_lib_ssl_SSL_library_init" >&6; }
++if test $ac_cv_lib_ssl_SSL_library_init = yes; then
++ SSL_LIBS="-lssl -lcrypto"
+ cat >>confdefs.h <<\_ACEOF
+-#define HAVE_XTESTGRABCONTROL 1
++#define HAVE_LIBSSL 1
+ _ACEOF
+- HAVE_XTESTGRABCONTROL="true"
++ HAVE_LIBSSL="true"
+ fi
+
+-
+- echo "$as_me:$LINENO: checking for XTestFakeKeyEvent in -lXtst" >&5
+-echo $ECHO_N "checking for XTestFakeKeyEvent in -lXtst... $ECHO_C" >&6
+-if test "${ac_cv_lib_Xtst_XTestFakeKeyEvent+set}" = set; then
++ else
++ { echo "$as_me:$LINENO: checking for SSL_library_init in -lssl" >&5
++echo $ECHO_N "checking for SSL_library_init in -lssl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_ssl_SSL_library_init+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lXtst $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++LIBS="-lssl $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -20975,930 +14216,841 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char XTestFakeKeyEvent ();
++char SSL_library_init ();
+ int
+ main ()
+ {
+-XTestFakeKeyEvent ();
++return SSL_library_init ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_Xtst_XTestFakeKeyEvent=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_ssl_SSL_library_init=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_Xtst_XTestFakeKeyEvent=no
++ ac_cv_lib_ssl_SSL_library_init=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_Xtst_XTestFakeKeyEvent" >&5
+-echo "${ECHO_T}$ac_cv_lib_Xtst_XTestFakeKeyEvent" >&6
+-if test $ac_cv_lib_Xtst_XTestFakeKeyEvent = yes; then
+- X_PRELIBS="-lXtst $X_PRELIBS"
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_library_init" >&5
++echo "${ECHO_T}$ac_cv_lib_ssl_SSL_library_init" >&6; }
++if test $ac_cv_lib_ssl_SSL_library_init = yes; then
++ SSL_LIBS="-lssl"
+ cat >>confdefs.h <<\_ACEOF
+-#define HAVE_XTEST 1
++#define HAVE_LIBSSL 1
+ _ACEOF
+- HAVE_XTEST="true"
++ HAVE_LIBSSL="true"
++fi
++
++ fi
+ fi
+
+
+- if test "x$with_xrecord" != "xno"; then
+- echo "$as_me:$LINENO: checking for XRecordEnableContextAsync in -lXtst" >&5
+-echo $ECHO_N "checking for XRecordEnableContextAsync in -lXtst... $ECHO_C" >&6
+-if test "${ac_cv_lib_Xtst_XRecordEnableContextAsync+set}" = set; then
++ if test "x$HAVE_LIBSSL" != "xtrue"; then
++ { echo "$as_me:$LINENO: WARNING:
++==========================================================================
++The openssl encryption library libssl.so was not found. An x11vnc built
++this way will not support SSL encryption. To enable SSL install the
++necessary development packages (perhaps it is named something like
++libssl-dev) and run configure again.
++==========================================================================
++" >&5
++echo "$as_me: WARNING:
++==========================================================================
++The openssl encryption library libssl.so was not found. An x11vnc built
++this way will not support SSL encryption. To enable SSL install the
++necessary development packages (perhaps it is named something like
++libssl-dev) and run configure again.
++==========================================================================
++" >&2;}
++ fi
++
++if test "x$with_v4l" != "xno"; then
++ if test "${ac_cv_header_linux_videodev_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for linux/videodev.h" >&5
++echo $ECHO_N "checking for linux/videodev.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_videodev_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_videodev_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_videodev_h" >&6; }
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lXtst $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking linux/videodev.h usability" >&5
++echo $ECHO_N "checking linux/videodev.h usability... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char XRecordEnableContextAsync ();
+-int
+-main ()
+-{
+-XRecordEnableContextAsync ();
+- ;
+- return 0;
+-}
++$ac_includes_default
++#include <linux/videodev.h>
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
++ rm -f conftest.er1
++ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_Xtst_XRecordEnableContextAsync=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_Xtst_XRecordEnableContextAsync=no
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_Xtst_XRecordEnableContextAsync" >&5
+-echo "${ECHO_T}$ac_cv_lib_Xtst_XRecordEnableContextAsync" >&6
+-if test $ac_cv_lib_Xtst_XRecordEnableContextAsync = yes; then
+- X_PRELIBS="-lXtst $X_PRELIBS"
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_RECORD 1
+-_ACEOF
+-
++ ac_header_compiler=no
+ fi
+
+- fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+- # we use XTRAP on X11R5, or user can set X11VNC_USE_XTRAP
+- if test "x$with_xtrap" != "xno"; then
+- if test ! -z "$X11VNC_USE_XTRAP" -o -z "$HAVE_XTESTGRABCONTROL"; then
+- echo "$as_me:$LINENO: checking for XETrapSetGrabServer in -lXTrap" >&5
+-echo $ECHO_N "checking for XETrapSetGrabServer in -lXTrap... $ECHO_C" >&6
+-if test "${ac_cv_lib_XTrap_XETrapSetGrabServer+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lXTrap $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++# Is the header present?
++{ echo "$as_me:$LINENO: checking linux/videodev.h presence" >&5
++echo $ECHO_N "checking linux/videodev.h presence... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char XETrapSetGrabServer ();
+-int
+-main ()
+-{
+-XETrapSetGrabServer ();
+- ;
+- return 0;
+-}
++#include <linux/videodev.h>
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_XTrap_XETrapSetGrabServer=yes
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_XTrap_XETrapSetGrabServer=no
++ ac_header_preproc=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: linux/videodev.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: linux/videodev.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: linux/videodev.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: linux/videodev.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: linux/videodev.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: linux/videodev.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: linux/videodev.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/videodev.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: linux/videodev.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++## ----------------------------------------------------------- ##
++## Report this to http://sourceforge.net/projects/libvncserver ##
++## ----------------------------------------------------------- ##
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for linux/videodev.h" >&5
++echo $ECHO_N "checking for linux/videodev.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_videodev_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_linux_videodev_h=$ac_header_preproc
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_XTrap_XETrapSetGrabServer" >&5
+-echo "${ECHO_T}$ac_cv_lib_XTrap_XETrapSetGrabServer" >&6
+-if test $ac_cv_lib_XTrap_XETrapSetGrabServer = yes; then
+- X_PRELIBS="$X_PRELIBS -lXTrap"
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_LIBXTRAP 1
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_videodev_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_videodev_h" >&6; }
++
++fi
++if test $ac_cv_header_linux_videodev_h = yes; then
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_LINUX_VIDEODEV_H 1
+ _ACEOF
+
+ fi
+
+- # tru64 uses libXETrap.so
+- echo "$as_me:$LINENO: checking for XETrapSetGrabServer in -lXETrap" >&5
+-echo $ECHO_N "checking for XETrapSetGrabServer in -lXETrap... $ECHO_C" >&6
+-if test "${ac_cv_lib_XETrap_XETrapSetGrabServer+set}" = set; then
++
++fi
++if test "x$with_fbdev" != "xno"; then
++ if test "${ac_cv_header_linux_fb_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for linux/fb.h" >&5
++echo $ECHO_N "checking for linux/fb.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_fb_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_fb_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_fb_h" >&6; }
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lXETrap $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking linux/fb.h usability" >&5
++echo $ECHO_N "checking linux/fb.h usability... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char XETrapSetGrabServer ();
+-int
+-main ()
+-{
+-XETrapSetGrabServer ();
+- ;
+- return 0;
+-}
++$ac_includes_default
++#include <linux/fb.h>
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_XETrap_XETrapSetGrabServer=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_XETrap_XETrapSetGrabServer=no
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_XETrap_XETrapSetGrabServer" >&5
+-echo "${ECHO_T}$ac_cv_lib_XETrap_XETrapSetGrabServer" >&6
+-if test $ac_cv_lib_XETrap_XETrapSetGrabServer = yes; then
+- X_PRELIBS="$X_PRELIBS -lXETrap"
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_LIBXTRAP 1
+-_ACEOF
+-
++ ac_header_compiler=no
+ fi
+
+- fi
+- fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+- if test "x$with_xkeyboard" != "xno"; then
+- saved_CPPFLAGS="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+- echo "$as_me:$LINENO: checking for X11/XKBlib.h" >&5
+-echo $ECHO_N "checking for X11/XKBlib.h... $ECHO_C" >&6
+-if test "${ac_cv_header_X11_XKBlib_h+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
++# Is the header present?
++{ echo "$as_me:$LINENO: checking linux/fb.h presence" >&5
++echo $ECHO_N "checking linux/fb.h presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <X11/Xlib.h>
+-
+-#include <X11/XKBlib.h>
++#include <linux/fb.h>
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_header_X11_XKBlib_h=yes
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_header_X11_XKBlib_h=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++ ac_header_preproc=no
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_X11_XKBlib_h" >&5
+-echo "${ECHO_T}$ac_cv_header_X11_XKBlib_h" >&6
+-if test $ac_cv_header_X11_XKBlib_h = yes; then
+- HAVE_XKBLIB_H="true"
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: linux/fb.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: linux/fb.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: linux/fb.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: linux/fb.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: linux/fb.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: linux/fb.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: linux/fb.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/fb.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: linux/fb.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++## ----------------------------------------------------------- ##
++## Report this to http://sourceforge.net/projects/libvncserver ##
++## ----------------------------------------------------------- ##
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for linux/fb.h" >&5
++echo $ECHO_N "checking for linux/fb.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_fb_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- HAVE_XKBLIB_H="false"
++ ac_cv_header_linux_fb_h=$ac_header_preproc
+ fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_fb_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_fb_h" >&6; }
+
++fi
++if test $ac_cv_header_linux_fb_h = yes; then
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_LINUX_FB_H 1
++_ACEOF
+
+- CPPFLAGS="$saved_CPPFLAGS"
+- if test $HAVE_XKBLIB_H = "true"; then
+- echo "$as_me:$LINENO: checking for XkbSelectEvents in -lX11" >&5
+-echo $ECHO_N "checking for XkbSelectEvents in -lX11... $ECHO_C" >&6
+-if test "${ac_cv_lib_X11_XkbSelectEvents+set}" = set; then
++fi
++
++
++fi
++if test "x$with_uinput" != "xno"; then
++ if test "${ac_cv_header_linux_input_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for linux/input.h" >&5
++echo $ECHO_N "checking for linux/input.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_input_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_input_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_input_h" >&6; }
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lX11 $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking linux/input.h usability" >&5
++echo $ECHO_N "checking linux/input.h usability... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char XkbSelectEvents ();
+-int
+-main ()
+-{
+-XkbSelectEvents ();
+- ;
+- return 0;
+-}
++$ac_includes_default
++#include <linux/input.h>
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_X11_XkbSelectEvents=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_X11_XkbSelectEvents=no
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XkbSelectEvents" >&5
+-echo "${ECHO_T}$ac_cv_lib_X11_XkbSelectEvents" >&6
+-if test $ac_cv_lib_X11_XkbSelectEvents = yes; then
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_XKEYBOARD 1
+-_ACEOF
+-
++ ac_header_compiler=no
+ fi
+
+- fi
+- fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+- if test "x$with_xinerama" != "xno"; then
+- echo "$as_me:$LINENO: checking for XineramaQueryScreens in -lXinerama" >&5
+-echo $ECHO_N "checking for XineramaQueryScreens in -lXinerama... $ECHO_C" >&6
+-if test "${ac_cv_lib_Xinerama_XineramaQueryScreens+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lXinerama $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++# Is the header present?
++{ echo "$as_me:$LINENO: checking linux/input.h presence" >&5
++echo $ECHO_N "checking linux/input.h presence... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char XineramaQueryScreens ();
+-int
+-main ()
+-{
+-XineramaQueryScreens ();
+- ;
+- return 0;
+-}
++#include <linux/input.h>
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_Xinerama_XineramaQueryScreens=yes
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_Xinerama_XineramaQueryScreens=no
++ ac_header_preproc=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: linux/input.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: linux/input.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: linux/input.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: linux/input.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: linux/input.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: linux/input.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: linux/input.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: linux/input.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: linux/input.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++## ----------------------------------------------------------- ##
++## Report this to http://sourceforge.net/projects/libvncserver ##
++## ----------------------------------------------------------- ##
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for linux/input.h" >&5
++echo $ECHO_N "checking for linux/input.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_input_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_linux_input_h=$ac_header_preproc
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_Xinerama_XineramaQueryScreens" >&5
+-echo "${ECHO_T}$ac_cv_lib_Xinerama_XineramaQueryScreens" >&6
+-if test $ac_cv_lib_Xinerama_XineramaQueryScreens = yes; then
+- X_PRELIBS="$X_PRELIBS -lXinerama"
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_LIBXINERAMA 1
+-_ACEOF
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_input_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_input_h" >&6; }
+
+ fi
++if test $ac_cv_header_linux_input_h = yes; then
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_LINUX_INPUT_H 1
++_ACEOF
++ HAVE_LINUX_INPUT_H="true"
++fi
+
+- fi
+
+- if test "x$with_xrandr" != "xno"; then
+- echo "$as_me:$LINENO: checking for XRRSelectInput in -lXrandr" >&5
+-echo $ECHO_N "checking for XRRSelectInput in -lXrandr... $ECHO_C" >&6
+-if test "${ac_cv_lib_Xrandr_XRRSelectInput+set}" = set; then
++ if test "x$HAVE_LINUX_INPUT_H" = "xtrue"; then
++ { echo "$as_me:$LINENO: checking for linux/uinput.h" >&5
++echo $ECHO_N "checking for linux/uinput.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_linux_uinput_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lXrandr $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
++#include <linux/input.h>
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char XRRSelectInput ();
+-int
+-main ()
+-{
+-XRRSelectInput ();
+- ;
+- return 0;
+-}
++#include <linux/uinput.h>
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_Xrandr_XRRSelectInput=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_linux_uinput_h=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_Xrandr_XRRSelectInput=no
++ ac_cv_header_linux_uinput_h=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_Xrandr_XRRSelectInput" >&5
+-echo "${ECHO_T}$ac_cv_lib_Xrandr_XRRSelectInput" >&6
+-if test $ac_cv_lib_Xrandr_XRRSelectInput = yes; then
+- X_PRELIBS="$X_PRELIBS -lXrandr"
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_LIBXRANDR 1
++{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_uinput_h" >&5
++echo "${ECHO_T}$ac_cv_header_linux_uinput_h" >&6; }
++if test $ac_cv_header_linux_uinput_h = yes; then
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_LINUX_UINPUT_H 1
++_ACEOF
++
++fi
++
++
++ fi
++fi
++
++if test "x$with_macosx_native" != "xno"; then
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_MACOSX_NATIVE_DISPLAY 1
++_ACEOF
++
++fi
++
++
++
++
++# Check whether --with-avahi was given.
++if test "${with_avahi+set}" = set; then
++ withval=$with_avahi;
++fi
++
++if test "x$with_avahi" != "xno"; then
++ printf "checking for avahi... "
++ if test ! -z "$with_avahi" -a "x$with_avahi" != "xyes"; then
++ AVAHI_CFLAGS="-I$with_avahi/include"
++ AVAHI_LIBS="-L$with_avahi/lib -lavahi-common -lavahi-client"
++ echo "using $with_avahi"
++ with_avahi=yes
++ elif pkg-config --atleast-version=0.6.4 avahi-client >/dev/null 2>&1; then
++ AVAHI_CFLAGS=`pkg-config --cflags avahi-client`
++ AVAHI_LIBS=`pkg-config --libs avahi-client`
++ with_avahi=yes
++ echo yes
++ else
++ with_avahi=no
++ echo no
++ fi
++fi
++if test "x$with_avahi" = "xyes"; then
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_AVAHI 1
+ _ACEOF
+
++
++
++fi
++
++fi
++# end x11vnc only.
++
++# Checks for libraries.
++
++uname_s=`(uname -s) 2>/dev/null`
++ld_minus_R="yes"
++if test "x$uname_s" = "xHP-UX"; then
++ ld_minus_R="no"
++elif test "x$uname_s" = "xOSF1"; then
++ ld_minus_R="no"
++elif test "x$uname_s" = "xDarwin"; then
++ ld_minus_R="no"
+ fi
+
++if test ! -z "$with_system_libvncserver" -a "x$with_system_libvncserver" != "xno"; then
++ printf "checking for system libvncserver... "
++ if test "x$with_system_libvncserver" != "xyes"; then
++ rflag=""
++ if test "x$ld_minus_R" = "xno"; then
++ :
++ elif test "x$GCC" = "xyes"; then
++ rflag="-Xlinker -R$with_system_libvncserver/lib"
++ else
++ rflag="-R$with_system_libvncserver/lib"
++ fi
++ SYSTEM_LIBVNCSERVER_CFLAGS="-I$with_system_libvncserver/include"
++ SYSTEM_LIBVNCSERVER_LIBS="-L$with_system_libvncserver/lib $rflag -lvncserver -lvncclient"
++ echo "using $with_system_libvncserver"
++ with_system_libvncserver=yes
++ elif libvncserver-config --version >/dev/null 2>&1; then
++ rflag=""
++ rprefix=`libvncserver-config --prefix`
++ if test "x$ld_minus_R" = "xno"; then
++ :
++ elif test "x$GCC" = "xyes"; then
++ rflag=" -Xlinker -R$rprefix/lib "
++ else
++ rflag=" -R$rprefix/lib "
+ fi
++ SYSTEM_LIBVNCSERVER_CFLAGS=`libvncserver-config --cflags`
++ SYSTEM_LIBVNCSERVER_LIBS="$rflag"`libvncserver-config --libs`
++ with_system_libvncserver=yes
++ echo yes
++ else
++ with_system_libvncserver=no
++ echo no
++ fi
++fi
+
+- if test "x$with_xfixes" != "xno"; then
+- echo "$as_me:$LINENO: checking for XFixesGetCursorImage in -lXfixes" >&5
+-echo $ECHO_N "checking for XFixesGetCursorImage in -lXfixes... $ECHO_C" >&6
+-if test "${ac_cv_lib_Xfixes_XFixesGetCursorImage+set}" = set; then
++if test "x$with_system_libvncserver" = "xyes"; then
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_SYSTEM_LIBVNCSERVER 1
++_ACEOF
++
++
++
++fi
++ if test "x$with_system_libvncserver" = "xyes"; then
++ HAVE_SYSTEM_LIBVNCSERVER_TRUE=
++ HAVE_SYSTEM_LIBVNCSERVER_FALSE='#'
++else
++ HAVE_SYSTEM_LIBVNCSERVER_TRUE='#'
++ HAVE_SYSTEM_LIBVNCSERVER_FALSE=
++fi
++
++
++
++
++# Check whether --with-jpeg was given.
++if test "${with_jpeg+set}" = set; then
++ withval=$with_jpeg;
++fi
++
++
++# At this point:
++# no jpeg on command line with_jpeg=""
++# -with-jpeg with_jpeg="yes"
++# -without-jpeg with_jpeg="no"
++# -with-jpeg=/foo/dir with_jpeg="/foo/dir"
++
++if test "x$with_jpeg" != "xno"; then
++ if test ! -z "$with_jpeg" -a "x$with_jpeg" != "xyes"; then
++ # add user supplied directory to flags:
++ saved_CPPFLAGS="$CPPFLAGS"
++ saved_LDFLAGS="$LDFLAGS"
++ CPPFLAGS="$CPPFLAGS -I$with_jpeg/include"
++ LDFLAGS="$LDFLAGS -L$with_jpeg/lib"
++ if test "x$ld_minus_R" = "xno"; then
++ :
++ elif test "x$GCC" = "xyes"; then
++ # this is not complete... in general a rat's nest.
++ LDFLAGS="$LDFLAGS -Xlinker -R$with_jpeg/lib"
++ else
++ LDFLAGS="$LDFLAGS -R$with_jpeg/lib"
++ fi
++ fi
++ if test "${ac_cv_header_jpeglib_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for jpeglib.h" >&5
++echo $ECHO_N "checking for jpeglib.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_jpeglib_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5
++echo "${ECHO_T}$ac_cv_header_jpeglib_h" >&6; }
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lXfixes $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking jpeglib.h usability" >&5
++echo $ECHO_N "checking jpeglib.h usability... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char XFixesGetCursorImage ();
+-int
+-main ()
+-{
+-XFixesGetCursorImage ();
+- ;
+- return 0;
+-}
++$ac_includes_default
++#include <jpeglib.h>
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_Xfixes_XFixesGetCursorImage=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_Xfixes_XFixesGetCursorImage=no
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_Xfixes_XFixesGetCursorImage" >&5
+-echo "${ECHO_T}$ac_cv_lib_Xfixes_XFixesGetCursorImage" >&6
+-if test $ac_cv_lib_Xfixes_XFixesGetCursorImage = yes; then
+- X_PRELIBS="$X_PRELIBS -lXfixes"
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_LIBXFIXES 1
+-_ACEOF
+- HAVE_LIBXFIXES="true"
++ ac_header_compiler=no
+ fi
+
+- fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+- if test "x$with_xdamage" != "xno"; then
+- echo "$as_me:$LINENO: checking for XDamageQueryExtension in -lXdamage" >&5
+-echo $ECHO_N "checking for XDamageQueryExtension in -lXdamage... $ECHO_C" >&6
+-if test "${ac_cv_lib_Xdamage_XDamageQueryExtension+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lXdamage $X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS $LIBS"
++# Is the header present?
++{ echo "$as_me:$LINENO: checking jpeglib.h presence" >&5
++echo $ECHO_N "checking jpeglib.h presence... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char XDamageQueryExtension ();
+-int
+-main ()
+-{
+-XDamageQueryExtension ();
+- ;
+- return 0;
+-}
++#include <jpeglib.h>
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_Xdamage_XDamageQueryExtension=yes
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_Xdamage_XDamageQueryExtension=no
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_Xdamage_XDamageQueryExtension" >&5
+-echo "${ECHO_T}$ac_cv_lib_Xdamage_XDamageQueryExtension" >&6
+-if test $ac_cv_lib_Xdamage_XDamageQueryExtension = yes; then
+- X_PRELIBS="$X_PRELIBS -lXdamage"
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_LIBXDAMAGE 1
+-_ACEOF
+- HAVE_LIBXDAMAGE="true"
+-fi
+-
+- fi
+-
+- if test ! -z "$HAVE_LIBXFIXES" -o ! -z "$HAVE_LIBXDAMAGE"; then
+- # need /usr/sfw/lib in RPATH for Solaris 10 and later
+- case `(uname -sr) 2>/dev/null` in
+- "SunOS 5"*) X_EXTRA_LIBS="$X_EXTRA_LIBS -R/usr/sfw/lib" ;;
+- esac
+- fi
+-
+- X_LIBS="$X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS"
+- fi
+- # end x11vnc only.
+-fi
+-
+-
+-
+-
+-if test $HAVE_X != "false"; then
+- HAVE_X_TRUE=
+- HAVE_X_FALSE='#'
+-else
+- HAVE_X_TRUE='#'
+- HAVE_X_FALSE=
+-fi
+-
+-
+-# x11vnc only:
+-if test "$build_x11vnc" = "yes"; then
+-
+-if test "x$HAVE_X" = "xfalse" -a "x$with_x" != "xno"; then
+- { { echo "$as_me:$LINENO: error:
+-==========================================================================
+-A working X window system build environment is required to build x11vnc.
+-Make sure any required X development packages are installed. If they are
+-installed in non-standard locations, one can use the --x-includes=DIR
+-and --x-libraries=DIR configure options or set the CPPFLAGS and LDFLAGS
+-environment variables to indicate where the X window system header files
+-and libraries may be found. On 64+32 bit machines you may need to point
+-to lib64 or lib32 directories to pick up the correct word size.
+-
+-If you want to build x11vnc without X support (e.g. for -rawfb use only
+-or for native Mac OS X), specify the --without-x configure option.
+-==========================================================================
+-" >&5
+-echo "$as_me: error:
+-==========================================================================
+-A working X window system build environment is required to build x11vnc.
+-Make sure any required X development packages are installed. If they are
+-installed in non-standard locations, one can use the --x-includes=DIR
+-and --x-libraries=DIR configure options or set the CPPFLAGS and LDFLAGS
+-environment variables to indicate where the X window system header files
+-and libraries may be found. On 64+32 bit machines you may need to point
+-to lib64 or lib32 directories to pick up the correct word size.
+-
+-If you want to build x11vnc without X support (e.g. for -rawfb use only
+-or for native Mac OS X), specify the --without-x configure option.
+-==========================================================================
+-" >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-
+-if test "x$HAVE_X" = "xtrue" -a "x$HAVE_XTEST" != "xtrue"; then
+- { echo "$as_me:$LINENO: WARNING:
+-==========================================================================
+-A working build environment for the XTEST extension was not found (libXtst).
+-An x11vnc built this way will be only barely usable. You will be able to
+-move the mouse but not click or type. There can also be deadlocks if an
+-application grabs the X server.
+-
+-It is recommended that you install the necessary development packages
+-for XTEST (perhaps it is named something like libxtst-dev) and run
+-configure again.
+-==========================================================================
+-" >&5
+-echo "$as_me: WARNING:
+-==========================================================================
+-A working build environment for the XTEST extension was not found (libXtst).
+-An x11vnc built this way will be only barely usable. You will be able to
+-move the mouse but not click or type. There can also be deadlocks if an
+-application grabs the X server.
+-
+-It is recommended that you install the necessary development packages
+-for XTEST (perhaps it is named something like libxtst-dev) and run
+-configure again.
+-==========================================================================
+-" >&2;}
++ ac_header_preproc=no
+ fi
+
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+-
+-
+-# Check whether --with-crypt or --without-crypt was given.
+-if test "${with_crypt+set}" = set; then
+- withval="$with_crypt"
+-
+-fi;
+-if test "x$with_crypt" != "xno"; then
+-
+-for ac_func in crypt
+-do
+-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:$LINENO: checking for $ac_func" >&5
+-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_var+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+- For example, HP-UX 11i <limits.h> declares gettimeofday. */
+-#define $ac_func innocuous_$ac_func
+-
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char $ac_func (); below.
+- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+- <limits.h> exists even on freestanding compilers. */
+-
+-#ifdef __STDC__
+-# include <limits.h>
+-#else
+-# include <assert.h>
+-#endif
+-
+-#undef $ac_func
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-{
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char $ac_func ();
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+-choke me
+-#else
+-char (*f) () = $ac_func;
+-#endif
+-#ifdef __cplusplus
+-}
+-#endif
+-
+-int
+-main ()
+-{
+-return f != $ac_func;
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- eval "$as_ac_var=yes"
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: jpeglib.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: jpeglib.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: jpeglib.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: jpeglib.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++## ----------------------------------------------------------- ##
++## Report this to http://sourceforge.net/projects/libvncserver ##
++## ----------------------------------------------------------- ##
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for jpeglib.h" >&5
++echo $ECHO_N "checking for jpeglib.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_jpeglib_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-eval "$as_ac_var=no"
++ ac_cv_header_jpeglib_h=$ac_header_preproc
+ fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5
++echo "${ECHO_T}$ac_cv_header_jpeglib_h" >&6; }
++
+ fi
+-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+-if test `eval echo '${'$as_ac_var'}'` = yes; then
+- cat >>confdefs.h <<_ACEOF
+-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+-_ACEOF
+- HAVE_LIBC_CRYPT="true"
++if test $ac_cv_header_jpeglib_h = yes; then
++ HAVE_JPEGLIB_H="true"
+ fi
+-done
+
+- if test -z "$HAVE_LIBC_CRYPT"; then
+- echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5
+-echo $ECHO_N "checking for crypt in -lcrypt... $ECHO_C" >&6
+-if test "${ac_cv_lib_crypt_crypt+set}" = set; then
++
++ if test "x$HAVE_JPEGLIB_H" = "xtrue"; then
++
++{ echo "$as_me:$LINENO: checking for jpeg_CreateCompress in -ljpeg" >&5
++echo $ECHO_N "checking for jpeg_CreateCompress in -ljpeg... $ECHO_C" >&6; }
++if test "${ac_cv_lib_jpeg_jpeg_CreateCompress+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lcrypt $LIBS"
++LIBS="-ljpeg $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -21906,243 +15058,267 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char crypt ();
++char jpeg_CreateCompress ();
+ int
+ main ()
+ {
+-crypt ();
++return jpeg_CreateCompress ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_crypt_crypt=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_jpeg_jpeg_CreateCompress=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_crypt_crypt=no
++ ac_cv_lib_jpeg_jpeg_CreateCompress=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_crypt_crypt" >&5
+-echo "${ECHO_T}$ac_cv_lib_crypt_crypt" >&6
+-if test $ac_cv_lib_crypt_crypt = yes; then
+- CRYPT_LIBS="-lcrypt"
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_LIBCRYPT 1
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_jpeg_jpeg_CreateCompress" >&5
++echo "${ECHO_T}$ac_cv_lib_jpeg_jpeg_CreateCompress" >&6; }
++if test $ac_cv_lib_jpeg_jpeg_CreateCompress = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define HAVE_LIBJPEG 1
+ _ACEOF
+
++ LIBS="-ljpeg $LIBS"
++
++else
++ HAVE_JPEGLIB_H=""
+ fi
+
+ fi
++ if test ! -z "$with_jpeg" -a "x$with_jpeg" != "xyes"; then
++ if test "x$HAVE_JPEGLIB_H" != "xtrue"; then
++ # restore old flags on failure:
++ CPPFLAGS="$saved_CPPFLAGS"
++ LDFLAGS="$saved_LDFLAGS"
++ fi
++ fi
++ if test "$build" = "yes"; then
++ if test "x$HAVE_JPEGLIB_H" != "xtrue"; then
++ { echo "$as_me:$LINENO: WARNING:
++==========================================================================
++The libjpeg compression library was not found: this may lead to reduced
++performance, especially over slow links. If libjpeg is in a non-standard
++location use --with-jpeg=DIR to indicate the header file is in
++DIR/include/jpeglib.h and the library in DIR/lib/libjpeg.a. A copy of
++libjpeg may be obtained from: ftp://ftp.uu.net/graphics/jpeg/
++==========================================================================
++" >&5
++echo "$as_me: WARNING:
++==========================================================================
++The libjpeg compression library was not found: this may lead to reduced
++performance, especially over slow links. If libjpeg is in a non-standard
++location use --with-jpeg=DIR to indicate the header file is in
++DIR/include/jpeglib.h and the library in DIR/lib/libjpeg.a. A copy of
++libjpeg may be obtained from: ftp://ftp.uu.net/graphics/jpeg/
++==========================================================================
++" >&2;}
++ fi
++ fi
+ fi
+
+
+-# some OS's need both -lssl and -lcrypto on link line:
+-
+-
+-
+-# Check whether --with-crypto or --without-crypto was given.
+-if test "${with_crypto+set}" = set; then
+- withval="$with_crypto"
+-
+-fi;
+-
+-
++# Check whether --with-libz was given.
++if test "${with_libz+set}" = set; then
++ withval=$with_libz;
++fi
+
+
+-# Check whether --with-ssl or --without-ssl was given.
+-if test "${with_ssl+set}" = set; then
+- withval="$with_ssl"
++# Check whether --with-zlib was given.
++if test "${with_zlib+set}" = set; then
++ withval=$with_zlib;
++fi
+
+-fi;
+
+-if test "x$with_crypto" != "xno" -a "x$with_ssl" != "xno"; then
+- echo "$as_me:$LINENO: checking for RAND_file_name in -lcrypto" >&5
+-echo $ECHO_N "checking for RAND_file_name in -lcrypto... $ECHO_C" >&6
+-if test "${ac_cv_lib_crypto_RAND_file_name+set}" = set; then
++if test "x$with_zlib" != "xno" -a "x$with_libz" != "xno"; then
++ if test ! -z "$with_zlib" -a "x$with_zlib" != "xyes"; then
++ saved_CPPFLAGS="$CPPFLAGS"
++ saved_LDFLAGS="$LDFLAGS"
++ CPPFLAGS="$CPPFLAGS -I$with_zlib/include"
++ LDFLAGS="$LDFLAGS -L$with_zlib/lib"
++ if test "x$ld_minus_R" = "xno"; then
++ :
++ elif test "x$GCC" = "xyes"; then
++ LDFLAGS="$LDFLAGS -Xlinker -R$with_zlib/lib"
++ else
++ LDFLAGS="$LDFLAGS -R$with_zlib/lib"
++ fi
++ fi
++ if test "${ac_cv_header_zlib_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for zlib.h" >&5
++echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_zlib_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5
++echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; }
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lcrypto $LIBS"
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking zlib.h usability" >&5
++echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char RAND_file_name ();
+-int
+-main ()
+-{
+-RAND_file_name ();
+- ;
+- return 0;
+-}
++$ac_includes_default
++#include <zlib.h>
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_crypto_RAND_file_name=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_crypto_RAND_file_name=no
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_crypto_RAND_file_name" >&5
+-echo "${ECHO_T}$ac_cv_lib_crypto_RAND_file_name" >&6
+-if test $ac_cv_lib_crypto_RAND_file_name = yes; then
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_LIBCRYPTO 1
+-_ACEOF
+- HAVE_LIBCRYPTO="true"
++ ac_header_compiler=no
+ fi
+
+-fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+-if test "x$with_ssl" != "xno"; then
+- if test "x$HAVE_LIBCRYPTO" = "xtrue"; then
+- echo "$as_me:$LINENO: checking for SSL_library_init in -lssl" >&5
+-echo $ECHO_N "checking for SSL_library_init in -lssl... $ECHO_C" >&6
+-if test "${ac_cv_lib_ssl_SSL_library_init+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lssl -lcrypto $LIBS"
++# Is the header present?
++{ echo "$as_me:$LINENO: checking zlib.h presence" >&5
++echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char SSL_library_init ();
+-int
+-main ()
+-{
+-SSL_library_init ();
+- ;
+- return 0;
+-}
++#include <zlib.h>
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_ssl_SSL_library_init=yes
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_ssl_SSL_library_init=no
++ ac_header_preproc=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++## ----------------------------------------------------------- ##
++## Report this to http://sourceforge.net/projects/libvncserver ##
++## ----------------------------------------------------------- ##
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for zlib.h" >&5
++echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_zlib_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_zlib_h=$ac_header_preproc
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_library_init" >&5
+-echo "${ECHO_T}$ac_cv_lib_ssl_SSL_library_init" >&6
+-if test $ac_cv_lib_ssl_SSL_library_init = yes; then
+- SSL_LIBS="-lssl -lcrypto"
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_LIBSSL 1
+-_ACEOF
+- HAVE_LIBSSL="true"
++{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5
++echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; }
++
++fi
++if test $ac_cv_header_zlib_h = yes; then
++ HAVE_ZLIB_H="true"
+ fi
+
+- else
+- echo "$as_me:$LINENO: checking for SSL_library_init in -lssl" >&5
+-echo $ECHO_N "checking for SSL_library_init in -lssl... $ECHO_C" >&6
+-if test "${ac_cv_lib_ssl_SSL_library_init+set}" = set; then
++
++ if test "x$HAVE_ZLIB_H" = "xtrue"; then
++
++{ echo "$as_me:$LINENO: checking for deflate in -lz" >&5
++echo $ECHO_N "checking for deflate in -lz... $ECHO_C" >&6; }
++if test "${ac_cv_lib_z_deflate+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lssl $LIBS"
++LIBS="-lz $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -22150,100 +15326,115 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char SSL_library_init ();
++char deflate ();
+ int
+ main ()
+ {
+-SSL_library_init ();
++return deflate ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
++ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_ssl_SSL_library_init=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_z_deflate=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_ssl_SSL_library_init=no
++ ac_cv_lib_z_deflate=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_ssl_SSL_library_init" >&5
+-echo "${ECHO_T}$ac_cv_lib_ssl_SSL_library_init" >&6
+-if test $ac_cv_lib_ssl_SSL_library_init = yes; then
+- SSL_LIBS="-lssl"
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_LIBSSL 1
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_deflate" >&5
++echo "${ECHO_T}$ac_cv_lib_z_deflate" >&6; }
++if test $ac_cv_lib_z_deflate = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define HAVE_LIBZ 1
+ _ACEOF
+- HAVE_LIBSSL="true"
+-fi
+
+- fi
+-fi
++ LIBS="-lz $LIBS"
+
++else
++ HAVE_ZLIB_H=""
++fi
+
+- if test "x$HAVE_LIBSSL" != "xtrue"; then
+- { echo "$as_me:$LINENO: WARNING:
++ fi
++ if test ! -z "$with_zlib" -a "x$with_zlib" != "xyes"; then
++ if test "x$HAVE_ZLIB_H" != "xtrue"; then
++ CPPFLAGS="$saved_CPPFLAGS"
++ LDFLAGS="$saved_LDFLAGS"
++ fi
++ fi
++ if test "$build_x11vnc" = "yes"; then
++ if test "x$HAVE_ZLIB_H" != "xtrue"; then
++ { echo "$as_me:$LINENO: WARNING:
+ ==========================================================================
+-The openssl encryption library libssl.so was not found. An x11vnc built
+-this way will not support SSL encryption. To enable SSL install the
+-necessary development packages (perhaps it is named something like
+-libssl-dev) and run configure again.
++The libz compression library was not found: this may lead to reduced
++performance, especially over slow links. If libz is in a non-standard
++location use --with-zlib=DIR to indicate the header file is in
++DIR/include/zlib.h and the library in DIR/lib/libz.a. A copy of
++libz may be obtained from: http://www.gzip.org/zlib/
+ ==========================================================================
+ " >&5
+ echo "$as_me: WARNING:
+ ==========================================================================
+-The openssl encryption library libssl.so was not found. An x11vnc built
+-this way will not support SSL encryption. To enable SSL install the
+-necessary development packages (perhaps it is named something like
+-libssl-dev) and run configure again.
++The libz compression library was not found: this may lead to reduced
++performance, especially over slow links. If libz is in a non-standard
++location use --with-zlib=DIR to indicate the header file is in
++DIR/include/zlib.h and the library in DIR/lib/libz.a. A copy of
++libz may be obtained from: http://www.gzip.org/zlib/
+ ==========================================================================
+ " >&2;}
++ fi
+ fi
++fi
+
+-if test "x$with_v4l" != "xno"; then
+- if test "${ac_cv_header_linux_videodev_h+set}" = set; then
+- echo "$as_me:$LINENO: checking for linux/videodev.h" >&5
+-echo $ECHO_N "checking for linux/videodev.h... $ECHO_C" >&6
+-if test "${ac_cv_header_linux_videodev_h+set}" = set; then
++
++# Check whether --with-pthread was given.
++if test "${with_pthread+set}" = set; then
++ withval=$with_pthread;
++fi
++
++
++if test "x$with_pthread" != "xno"; then
++ if test "${ac_cv_header_pthread_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for pthread.h" >&5
++echo $ECHO_N "checking for pthread.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_pthread_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_linux_videodev_h" >&5
+-echo "${ECHO_T}$ac_cv_header_linux_videodev_h" >&6
++{ echo "$as_me:$LINENO: result: $ac_cv_header_pthread_h" >&5
++echo "${ECHO_T}$ac_cv_header_pthread_h" >&6; }
+ else
+ # Is the header compilable?
+-echo "$as_me:$LINENO: checking linux/videodev.h usability" >&5
+-echo $ECHO_N "checking linux/videodev.h usability... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking pthread.h usability" >&5
++echo $ECHO_N "checking pthread.h usability... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -22251,70 +15442,64 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+ $ac_includes_default
+-#include <linux/videodev.h>
++#include <pthread.h>
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_header_compiler=no
++ ac_header_compiler=no
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+-echo "${ECHO_T}$ac_header_compiler" >&6
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+ # Is the header present?
+-echo "$as_me:$LINENO: checking linux/videodev.h presence" >&5
+-echo $ECHO_N "checking linux/videodev.h presence... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking pthread.h presence" >&5
++echo $ECHO_N "checking pthread.h presence... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <linux/videodev.h>
++#include <pthread.h>
+ _ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
+ ac_header_preproc=yes
+ else
+ echo "$as_me: failed program was:" >&5
+@@ -22322,359 +15507,279 @@
+
+ ac_header_preproc=no
+ fi
++
+ rm -f conftest.err conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+-echo "${ECHO_T}$ac_header_preproc" >&6
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+ # So? What about this header?
+ case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+- { echo "$as_me:$LINENO: WARNING: linux/videodev.h: accepted by the compiler, rejected by the preprocessor!" >&5
+-echo "$as_me: WARNING: linux/videodev.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/videodev.h: proceeding with the compiler's result" >&5
+-echo "$as_me: WARNING: linux/videodev.h: proceeding with the compiler's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: pthread.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: pthread.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: pthread.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: pthread.h: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+- { echo "$as_me:$LINENO: WARNING: linux/videodev.h: present but cannot be compiled" >&5
+-echo "$as_me: WARNING: linux/videodev.h: present but cannot be compiled" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/videodev.h: check for missing prerequisite headers?" >&5
+-echo "$as_me: WARNING: linux/videodev.h: check for missing prerequisite headers?" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/videodev.h: see the Autoconf documentation" >&5
+-echo "$as_me: WARNING: linux/videodev.h: see the Autoconf documentation" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/videodev.h: section \"Present But Cannot Be Compiled\"" >&5
+-echo "$as_me: WARNING: linux/videodev.h: section \"Present But Cannot Be Compiled\"" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/videodev.h: proceeding with the preprocessor's result" >&5
+-echo "$as_me: WARNING: linux/videodev.h: proceeding with the preprocessor's result" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/videodev.h: in the future, the compiler will take precedence" >&5
+-echo "$as_me: WARNING: linux/videodev.h: in the future, the compiler will take precedence" >&2;}
+- (
+- cat <<\_ASBOX
++ { echo "$as_me:$LINENO: WARNING: pthread.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: pthread.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: pthread.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: pthread.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: pthread.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: pthread.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: pthread.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: pthread.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: pthread.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: pthread.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: pthread.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: pthread.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
+ ## ----------------------------------------------------------- ##
+ ## Report this to http://sourceforge.net/projects/libvncserver ##
+ ## ----------------------------------------------------------- ##
+ _ASBOX
+- ) |
+- sed "s/^/$as_me: WARNING: /" >&2
++ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+ esac
+-echo "$as_me:$LINENO: checking for linux/videodev.h" >&5
+-echo $ECHO_N "checking for linux/videodev.h... $ECHO_C" >&6
+-if test "${ac_cv_header_linux_videodev_h+set}" = set; then
++{ echo "$as_me:$LINENO: checking for pthread.h" >&5
++echo $ECHO_N "checking for pthread.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_pthread_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_cv_header_linux_videodev_h=$ac_header_preproc
++ ac_cv_header_pthread_h=$ac_header_preproc
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_linux_videodev_h" >&5
+-echo "${ECHO_T}$ac_cv_header_linux_videodev_h" >&6
++{ echo "$as_me:$LINENO: result: $ac_cv_header_pthread_h" >&5
++echo "${ECHO_T}$ac_cv_header_pthread_h" >&6; }
+
+ fi
+-if test $ac_cv_header_linux_videodev_h = yes; then
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_LINUX_VIDEODEV_H 1
+-_ACEOF
+-
++if test $ac_cv_header_pthread_h = yes; then
++ HAVE_PTHREAD_H="true"
+ fi
+
+
+-fi
+-if test "x$with_fbdev" != "xno"; then
+- if test "${ac_cv_header_linux_fb_h+set}" = set; then
+- echo "$as_me:$LINENO: checking for linux/fb.h" >&5
+-echo $ECHO_N "checking for linux/fb.h... $ECHO_C" >&6
+-if test "${ac_cv_header_linux_fb_h+set}" = set; then
++ if test ! -z "$HAVE_PTHREAD_H"; then
++
++{ echo "$as_me:$LINENO: checking for pthread_mutex_lock in -lpthread" >&5
++echo $ECHO_N "checking for pthread_mutex_lock in -lpthread... $ECHO_C" >&6; }
++if test "${ac_cv_lib_pthread_pthread_mutex_lock+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_linux_fb_h" >&5
+-echo "${ECHO_T}$ac_cv_header_linux_fb_h" >&6
+ else
+- # Is the header compilable?
+-echo "$as_me:$LINENO: checking linux/fb.h usability" >&5
+-echo $ECHO_N "checking linux/fb.h usability... $ECHO_C" >&6
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lpthread $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-$ac_includes_default
+-#include <linux/fb.h>
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_header_compiler=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-ac_header_compiler=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+-echo "${ECHO_T}$ac_header_compiler" >&6
+
+-# Is the header present?
+-echo "$as_me:$LINENO: checking linux/fb.h presence" >&5
+-echo $ECHO_N "checking linux/fb.h presence... $ECHO_C" >&6
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <linux/fb.h>
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char pthread_mutex_lock ();
++int
++main ()
++{
++return pthread_mutex_lock ();
++ ;
++ return 0;
++}
+ _ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- ac_header_preproc=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_pthread_pthread_mutex_lock=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+- ac_header_preproc=no
+-fi
+-rm -f conftest.err conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+-echo "${ECHO_T}$ac_header_preproc" >&6
+-
+-# So? What about this header?
+-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+- yes:no: )
+- { echo "$as_me:$LINENO: WARNING: linux/fb.h: accepted by the compiler, rejected by the preprocessor!" >&5
+-echo "$as_me: WARNING: linux/fb.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/fb.h: proceeding with the compiler's result" >&5
+-echo "$as_me: WARNING: linux/fb.h: proceeding with the compiler's result" >&2;}
+- ac_header_preproc=yes
+- ;;
+- no:yes:* )
+- { echo "$as_me:$LINENO: WARNING: linux/fb.h: present but cannot be compiled" >&5
+-echo "$as_me: WARNING: linux/fb.h: present but cannot be compiled" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/fb.h: check for missing prerequisite headers?" >&5
+-echo "$as_me: WARNING: linux/fb.h: check for missing prerequisite headers?" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/fb.h: see the Autoconf documentation" >&5
+-echo "$as_me: WARNING: linux/fb.h: see the Autoconf documentation" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/fb.h: section \"Present But Cannot Be Compiled\"" >&5
+-echo "$as_me: WARNING: linux/fb.h: section \"Present But Cannot Be Compiled\"" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/fb.h: proceeding with the preprocessor's result" >&5
+-echo "$as_me: WARNING: linux/fb.h: proceeding with the preprocessor's result" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/fb.h: in the future, the compiler will take precedence" >&5
+-echo "$as_me: WARNING: linux/fb.h: in the future, the compiler will take precedence" >&2;}
+- (
+- cat <<\_ASBOX
+-## ----------------------------------------------------------- ##
+-## Report this to http://sourceforge.net/projects/libvncserver ##
+-## ----------------------------------------------------------- ##
+-_ASBOX
+- ) |
+- sed "s/^/$as_me: WARNING: /" >&2
+- ;;
+-esac
+-echo "$as_me:$LINENO: checking for linux/fb.h" >&5
+-echo $ECHO_N "checking for linux/fb.h... $ECHO_C" >&6
+-if test "${ac_cv_header_linux_fb_h+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_cv_header_linux_fb_h=$ac_header_preproc
++ ac_cv_lib_pthread_pthread_mutex_lock=no
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_linux_fb_h" >&5
+-echo "${ECHO_T}$ac_cv_header_linux_fb_h" >&6
+
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
+ fi
+-if test $ac_cv_header_linux_fb_h = yes; then
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_LINUX_FB_H 1
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_mutex_lock" >&5
++echo "${ECHO_T}$ac_cv_lib_pthread_pthread_mutex_lock" >&6; }
++if test $ac_cv_lib_pthread_pthread_mutex_lock = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define HAVE_LIBPTHREAD 1
+ _ACEOF
+
+-fi
+-
++ LIBS="-lpthread $LIBS"
+
+ fi
+-if test "x$with_uinput" != "xno"; then
+- if test "${ac_cv_header_linux_input_h+set}" = set; then
+- echo "$as_me:$LINENO: checking for linux/input.h" >&5
+-echo $ECHO_N "checking for linux/input.h... $ECHO_C" >&6
+-if test "${ac_cv_header_linux_input_h+set}" = set; then
++
++ { echo "$as_me:$LINENO: checking for pthread_mutex_lock in -lpthread" >&5
++echo $ECHO_N "checking for pthread_mutex_lock in -lpthread... $ECHO_C" >&6; }
++if test "${ac_cv_lib_pthread_pthread_mutex_lock+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_linux_input_h" >&5
+-echo "${ECHO_T}$ac_cv_header_linux_input_h" >&6
+ else
+- # Is the header compilable?
+-echo "$as_me:$LINENO: checking linux/input.h usability" >&5
+-echo $ECHO_N "checking linux/input.h usability... $ECHO_C" >&6
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lpthread $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-$ac_includes_default
+-#include <linux/input.h>
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char pthread_mutex_lock ();
++int
++main ()
++{
++return pthread_mutex_lock ();
++ ;
++ return 0;
++}
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_header_compiler=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_pthread_pthread_mutex_lock=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_header_compiler=no
++ ac_cv_lib_pthread_pthread_mutex_lock=no
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+-echo "${ECHO_T}$ac_header_compiler" >&6
+
+-# Is the header present?
+-echo "$as_me:$LINENO: checking linux/input.h presence" >&5
+-echo $ECHO_N "checking linux/input.h presence... $ECHO_C" >&6
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <linux/input.h>
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_mutex_lock" >&5
++echo "${ECHO_T}$ac_cv_lib_pthread_pthread_mutex_lock" >&6; }
++if test $ac_cv_lib_pthread_pthread_mutex_lock = yes; then
++ HAVE_LIBPTHREAD="true"
++fi
++
++ fi
++fi
++ if test ! -z "$HAVE_LIBPTHREAD"; then
++ HAVE_LIBPTHREAD_TRUE=
++ HAVE_LIBPTHREAD_FALSE='#'
++else
++ HAVE_LIBPTHREAD_TRUE='#'
++ HAVE_LIBPTHREAD_FALSE=
++fi
++
++
++# tightvnc-filetransfer implemented using threads:
++if test -z "$HAVE_LIBPTHREAD"; then
++ with_tightvnc_filetransfer=""
++fi
++if test "x$with_tightvnc_filetransfer" = "xyes"; then
++ cat >>confdefs.h <<\_ACEOF
++#define WITH_TIGHTVNC_FILETRANSFER 1
+ _ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+- else
+- ac_cpp_err=
+- fi
++
++fi
++ if test "$with_tightvnc_filetransfer" = "yes"; then
++ WITH_TIGHTVNC_FILETRANSFER_TRUE=
++ WITH_TIGHTVNC_FILETRANSFER_FALSE='#'
+ else
+- ac_cpp_err=yes
++ WITH_TIGHTVNC_FILETRANSFER_TRUE='#'
++ WITH_TIGHTVNC_FILETRANSFER_FALSE=
+ fi
+-if test -z "$ac_cpp_err"; then
+- ac_header_preproc=yes
++
++
++ if test ! -z "$HAVE_ZLIB_H"; then
++ HAVE_LIBZ_TRUE=
++ HAVE_LIBZ_FALSE='#'
+ else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++ HAVE_LIBZ_TRUE='#'
++ HAVE_LIBZ_FALSE=
++fi
+
+- ac_header_preproc=no
++ if test ! -z "$HAVE_JPEGLIB_H"; then
++ HAVE_LIBJPEG_TRUE=
++ HAVE_LIBJPEG_FALSE='#'
++else
++ HAVE_LIBJPEG_TRUE='#'
++ HAVE_LIBJPEG_FALSE=
+ fi
+-rm -f conftest.err conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+-echo "${ECHO_T}$ac_header_preproc" >&6
+
+-# So? What about this header?
+-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+- yes:no: )
+- { echo "$as_me:$LINENO: WARNING: linux/input.h: accepted by the compiler, rejected by the preprocessor!" >&5
+-echo "$as_me: WARNING: linux/input.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/input.h: proceeding with the compiler's result" >&5
+-echo "$as_me: WARNING: linux/input.h: proceeding with the compiler's result" >&2;}
+- ac_header_preproc=yes
+- ;;
+- no:yes:* )
+- { echo "$as_me:$LINENO: WARNING: linux/input.h: present but cannot be compiled" >&5
+-echo "$as_me: WARNING: linux/input.h: present but cannot be compiled" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/input.h: check for missing prerequisite headers?" >&5
+-echo "$as_me: WARNING: linux/input.h: check for missing prerequisite headers?" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/input.h: see the Autoconf documentation" >&5
+-echo "$as_me: WARNING: linux/input.h: see the Autoconf documentation" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/input.h: section \"Present But Cannot Be Compiled\"" >&5
+-echo "$as_me: WARNING: linux/input.h: section \"Present But Cannot Be Compiled\"" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/input.h: proceeding with the preprocessor's result" >&5
+-echo "$as_me: WARNING: linux/input.h: proceeding with the preprocessor's result" >&2;}
+- { echo "$as_me:$LINENO: WARNING: linux/input.h: in the future, the compiler will take precedence" >&5
+-echo "$as_me: WARNING: linux/input.h: in the future, the compiler will take precedence" >&2;}
+- (
+- cat <<\_ASBOX
+-## ----------------------------------------------------------- ##
+-## Report this to http://sourceforge.net/projects/libvncserver ##
+-## ----------------------------------------------------------- ##
+-_ASBOX
+- ) |
+- sed "s/^/$as_me: WARNING: /" >&2
+- ;;
+-esac
+-echo "$as_me:$LINENO: checking for linux/input.h" >&5
+-echo $ECHO_N "checking for linux/input.h... $ECHO_C" >&6
+-if test "${ac_cv_header_linux_input_h+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++
++if test -z "$with_sdl"; then
++ if sdl-config --version >/dev/null 2>&1; then
++ with_sdl=yes
++ SDL_CFLAGS=`sdl-config --cflags`
++ SDL_LIBS=`sdl-config --libs`
++ else
++ with_sdl=no
++ fi
++fi
++ if test "x$with_sdl" = "xyes"; then
++ HAVE_LIBSDL_TRUE=
++ HAVE_LIBSDL_FALSE='#'
+ else
+- ac_cv_header_linux_input_h=$ac_header_preproc
++ HAVE_LIBSDL_TRUE='#'
++ HAVE_LIBSDL_FALSE=
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_linux_input_h" >&5
+-echo "${ECHO_T}$ac_cv_header_linux_input_h" >&6
+
++
++
++
++MINGW=`uname -s | grep MINGW 2>/dev/null`
++ if test ! -z "$MINGW" ; then
++ MINGW_TRUE=
++ MINGW_FALSE='#'
++else
++ MINGW_TRUE='#'
++ MINGW_FALSE=
+ fi
+-if test $ac_cv_header_linux_input_h = yes; then
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_LINUX_INPUT_H 1
+-_ACEOF
+- HAVE_LINUX_INPUT_H="true"
++
++if test ! -z "$MINGW"; then
++ WSOCKLIB="-lws2_32"
+ fi
+
+
+- if test "x$HAVE_LINUX_INPUT_H" = "xtrue"; then
+- echo "$as_me:$LINENO: checking for linux/uinput.h" >&5
+-echo $ECHO_N "checking for linux/uinput.h... $ECHO_C" >&6
+-if test "${ac_cv_header_linux_uinput_h+set}" = set; then
++# Checks for header files.
++{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
++echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
++if test "${ac_cv_header_stdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+@@ -22683,206 +15788,196 @@
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <linux/input.h>
++#include <stdlib.h>
++#include <stdarg.h>
++#include <string.h>
++#include <float.h>
+
+-#include <linux/uinput.h>
++int
++main ()
++{
++
++ ;
++ return 0;
++}
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_header_linux_uinput_h=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_stdc=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_header_linux_uinput_h=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++ ac_cv_header_stdc=no
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_linux_uinput_h" >&5
+-echo "${ECHO_T}$ac_cv_header_linux_uinput_h" >&6
+-if test $ac_cv_header_linux_uinput_h = yes; then
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_LINUX_UINPUT_H 1
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++if test $ac_cv_header_stdc = yes; then
++ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
+ _ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <string.h>
+
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++ $EGREP "memchr" >/dev/null 2>&1; then
++ :
++else
++ ac_cv_header_stdc=no
+ fi
++rm -f conftest*
+
+-
+- fi
+ fi
+
+-if test "x$with_macosx_native" != "xno"; then
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_MACOSX_NATIVE_DISPLAY 1
++if test $ac_cv_header_stdc = yes; then
++ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
+ _ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <stdlib.h>
+
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++ $EGREP "free" >/dev/null 2>&1; then
++ :
++else
++ ac_cv_header_stdc=no
+ fi
++rm -f conftest*
+
++fi
+
++if test $ac_cv_header_stdc = yes; then
++ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
++ if test "$cross_compiling" = yes; then
++ :
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <ctype.h>
++#include <stdlib.h>
++#if ((' ' & 0x0FF) == 0x020)
++# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
++# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
++#else
++# define ISLOWER(c) \
++ (('a' <= (c) && (c) <= 'i') \
++ || ('j' <= (c) && (c) <= 'r') \
++ || ('s' <= (c) && (c) <= 'z'))
++# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
++#endif
+
+-
+-# Check whether --with-avahi or --without-avahi was given.
+-if test "${with_avahi+set}" = set; then
+- withval="$with_avahi"
+-
+-fi;
+-if test "x$with_avahi" != "xno"; then
+- printf "checking for avahi... "
+- if test ! -z "$with_avahi" -a "x$with_avahi" != "xyes"; then
+- AVAHI_CFLAGS="-I$with_avahi/include"
+- AVAHI_LIBS="-L$with_avahi/lib -lavahi-common -lavahi-client"
+- echo "using $with_avahi"
+- with_avahi=yes
+- elif pkg-config --atleast-version=0.6.4 avahi-client >/dev/null 2>&1; then
+- AVAHI_CFLAGS=`pkg-config --cflags avahi-client`
+- AVAHI_LIBS=`pkg-config --libs avahi-client`
+- with_avahi=yes
+- echo yes
+- else
+- with_avahi=no
+- echo no
+- fi
+-fi
+-if test "x$with_avahi" = "xyes"; then
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_AVAHI 1
++#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
++int
++main ()
++{
++ int i;
++ for (i = 0; i < 256; i++)
++ if (XOR (islower (i), ISLOWER (i))
++ || toupper (i) != TOUPPER (i))
++ return 2;
++ return 0;
++}
+ _ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ :
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+-
+-
++( exit $ac_status )
++ac_cv_header_stdc=no
+ fi
+-
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+-# end x11vnc only.
+
+-# Checks for libraries.
+
+-uname_s=`(uname -s) 2>/dev/null`
+-ld_minus_R="yes"
+-if test "x$uname_s" = "xHP-UX"; then
+- ld_minus_R="no"
+-elif test "x$uname_s" = "xOSF1"; then
+- ld_minus_R="no"
+-elif test "x$uname_s" = "xDarwin"; then
+- ld_minus_R="no"
+ fi
+-
+-if test ! -z "$with_system_libvncserver" -a "x$with_system_libvncserver" != "xno"; then
+- printf "checking for system libvncserver... "
+- if test "x$with_system_libvncserver" != "xyes"; then
+- rflag=""
+- if test "x$ld_minus_R" = "xno"; then
+- :
+- elif test "x$GCC" = "xyes"; then
+- rflag="-Xlinker -R$with_system_libvncserver/lib"
+- else
+- rflag="-R$with_system_libvncserver/lib"
+- fi
+- SYSTEM_LIBVNCSERVER_CFLAGS="-I$with_system_libvncserver/include"
+- SYSTEM_LIBVNCSERVER_LIBS="-L$with_system_libvncserver/lib $rflag -lvncserver -lvncclient"
+- echo "using $with_system_libvncserver"
+- with_system_libvncserver=yes
+- elif libvncserver-config --version >/dev/null 2>&1; then
+- rflag=""
+- rprefix=`libvncserver-config --prefix`
+- if test "x$ld_minus_R" = "xno"; then
+- :
+- elif test "x$GCC" = "xyes"; then
+- rflag=" -Xlinker -R$rprefix/lib "
+- else
+- rflag=" -R$rprefix/lib "
+- fi
+- SYSTEM_LIBVNCSERVER_CFLAGS=`libvncserver-config --cflags`
+- SYSTEM_LIBVNCSERVER_LIBS="$rflag"`libvncserver-config --libs`
+- with_system_libvncserver=yes
+- echo yes
+- else
+- with_system_libvncserver=no
+- echo no
+- fi
+ fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
++echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
++if test $ac_cv_header_stdc = yes; then
+
+-if test "x$with_system_libvncserver" = "xyes"; then
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_SYSTEM_LIBVNCSERVER 1
++cat >>confdefs.h <<\_ACEOF
++#define STDC_HEADERS 1
+ _ACEOF
+
++fi
+
+
+-fi
+
+
+-if test "x$with_system_libvncserver" = "xyes"; then
+- HAVE_SYSTEM_LIBVNCSERVER_TRUE=
+- HAVE_SYSTEM_LIBVNCSERVER_FALSE='#'
+-else
+- HAVE_SYSTEM_LIBVNCSERVER_TRUE='#'
+- HAVE_SYSTEM_LIBVNCSERVER_FALSE=
+-fi
+
+
+
+
+-# Check whether --with-jpeg or --without-jpeg was given.
+-if test "${with_jpeg+set}" = set; then
+- withval="$with_jpeg"
+
+-fi;
+
+-# At this point:
+-# no jpeg on command line with_jpeg=""
+-# -with-jpeg with_jpeg="yes"
+-# -without-jpeg with_jpeg="no"
+-# -with-jpeg=/foo/dir with_jpeg="/foo/dir"
+
+-if test "x$with_jpeg" != "xno"; then
+- if test ! -z "$with_jpeg" -a "x$with_jpeg" != "xyes"; then
+- # add user supplied directory to flags:
+- saved_CPPFLAGS="$CPPFLAGS"
+- saved_LDFLAGS="$LDFLAGS"
+- CPPFLAGS="$CPPFLAGS -I$with_jpeg/include"
+- LDFLAGS="$LDFLAGS -L$with_jpeg/lib"
+- if test "x$ld_minus_R" = "xno"; then
+- :
+- elif test "x$GCC" = "xyes"; then
+- # this is not complete... in general a rat's nest.
+- LDFLAGS="$LDFLAGS -Xlinker -R$with_jpeg/lib"
+- else
+- LDFLAGS="$LDFLAGS -R$with_jpeg/lib"
+- fi
+- fi
+- if test "${ac_cv_header_jpeglib_h+set}" = set; then
+- echo "$as_me:$LINENO: checking for jpeglib.h" >&5
+-echo $ECHO_N "checking for jpeglib.h... $ECHO_C" >&6
+-if test "${ac_cv_header_jpeglib_h+set}" = set; then
++
++for ac_header in arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h sys/timeb.h syslog.h unistd.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ { echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5
+-echo "${ECHO_T}$ac_cv_header_jpeglib_h" >&6
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
+ else
+ # Is the header compilable?
+-echo "$as_me:$LINENO: checking jpeglib.h usability" >&5
+-echo $ECHO_N "checking jpeglib.h usability... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -22890,70 +15985,64 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+ $ac_includes_default
+-#include <jpeglib.h>
++#include <$ac_header>
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_header_compiler=no
++ ac_header_compiler=no
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+-echo "${ECHO_T}$ac_header_compiler" >&6
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+ # Is the header present?
+-echo "$as_me:$LINENO: checking jpeglib.h presence" >&5
+-echo $ECHO_N "checking jpeglib.h presence... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <jpeglib.h>
++#include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
+ ac_header_preproc=yes
+ else
+ echo "$as_me: failed program was:" >&5
+@@ -22961,206 +16050,87 @@
+
+ ac_header_preproc=no
+ fi
++
+ rm -f conftest.err conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+-echo "${ECHO_T}$ac_header_preproc" >&6
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+ # So? What about this header?
+ case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+- { echo "$as_me:$LINENO: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&5
+-echo "$as_me: WARNING: jpeglib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+- { echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the compiler's result" >&5
+-echo "$as_me: WARNING: jpeglib.h: proceeding with the compiler's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+- { echo "$as_me:$LINENO: WARNING: jpeglib.h: present but cannot be compiled" >&5
+-echo "$as_me: WARNING: jpeglib.h: present but cannot be compiled" >&2;}
+- { echo "$as_me:$LINENO: WARNING: jpeglib.h: check for missing prerequisite headers?" >&5
+-echo "$as_me: WARNING: jpeglib.h: check for missing prerequisite headers?" >&2;}
+- { echo "$as_me:$LINENO: WARNING: jpeglib.h: see the Autoconf documentation" >&5
+-echo "$as_me: WARNING: jpeglib.h: see the Autoconf documentation" >&2;}
+- { echo "$as_me:$LINENO: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&5
+-echo "$as_me: WARNING: jpeglib.h: section \"Present But Cannot Be Compiled\"" >&2;}
+- { echo "$as_me:$LINENO: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&5
+-echo "$as_me: WARNING: jpeglib.h: proceeding with the preprocessor's result" >&2;}
+- { echo "$as_me:$LINENO: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&5
+-echo "$as_me: WARNING: jpeglib.h: in the future, the compiler will take precedence" >&2;}
+- (
+- cat <<\_ASBOX
++ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
+ ## ----------------------------------------------------------- ##
+ ## Report this to http://sourceforge.net/projects/libvncserver ##
+ ## ----------------------------------------------------------- ##
+ _ASBOX
+- ) |
+- sed "s/^/$as_me: WARNING: /" >&2
++ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+ esac
+-echo "$as_me:$LINENO: checking for jpeglib.h" >&5
+-echo $ECHO_N "checking for jpeglib.h... $ECHO_C" >&6
+-if test "${ac_cv_header_jpeglib_h+set}" = set; then
++{ echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_cv_header_jpeglib_h=$ac_header_preproc
++ eval "$as_ac_Header=\$ac_header_preproc"
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_jpeglib_h" >&5
+-echo "${ECHO_T}$ac_cv_header_jpeglib_h" >&6
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
+
+ fi
+-if test $ac_cv_header_jpeglib_h = yes; then
+- HAVE_JPEGLIB_H="true"
+-fi
+-
+-
+- if test "x$HAVE_JPEGLIB_H" = "xtrue"; then
+-
+-echo "$as_me:$LINENO: checking for jpeg_CreateCompress in -ljpeg" >&5
+-echo $ECHO_N "checking for jpeg_CreateCompress in -ljpeg... $ECHO_C" >&6
+-if test "${ac_cv_lib_jpeg_jpeg_CreateCompress+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-ljpeg $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char jpeg_CreateCompress ();
+-int
+-main ()
+-{
+-jpeg_CreateCompress ();
+- ;
+- return 0;
+-}
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_jpeg_jpeg_CreateCompress=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_jpeg_jpeg_CreateCompress=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_jpeg_jpeg_CreateCompress" >&5
+-echo "${ECHO_T}$ac_cv_lib_jpeg_jpeg_CreateCompress" >&6
+-if test $ac_cv_lib_jpeg_jpeg_CreateCompress = yes; then
+- cat >>confdefs.h <<_ACEOF
+-#define HAVE_LIBJPEG 1
+-_ACEOF
+
+- LIBS="-ljpeg $LIBS"
++done
+
+-else
+- HAVE_JPEGLIB_H=""
+-fi
+
+- fi
+- if test ! -z "$with_jpeg" -a "x$with_jpeg" != "xyes"; then
+- if test "x$HAVE_JPEGLIB_H" != "xtrue"; then
+- # restore old flags on failure:
+- CPPFLAGS="$saved_CPPFLAGS"
+- LDFLAGS="$saved_LDFLAGS"
+- fi
+- fi
+- if test "$build" = "yes"; then
+- if test "x$HAVE_JPEGLIB_H" != "xtrue"; then
+- { echo "$as_me:$LINENO: WARNING:
+-==========================================================================
+-The libjpeg compression library was not found: this may lead to reduced
+-performance, especially over slow links. If libjpeg is in a non-standard
+-location use --with-jpeg=DIR to indicate the header file is in
+-DIR/include/jpeglib.h and the library in DIR/lib/libjpeg.a. A copy of
+-libjpeg may be obtained from: ftp://ftp.uu.net/graphics/jpeg/
+-==========================================================================
+-" >&5
+-echo "$as_me: WARNING:
+-==========================================================================
+-The libjpeg compression library was not found: this may lead to reduced
+-performance, especially over slow links. If libjpeg is in a non-standard
+-location use --with-jpeg=DIR to indicate the header file is in
+-DIR/include/jpeglib.h and the library in DIR/lib/libjpeg.a. A copy of
+-libjpeg may be obtained from: ftp://ftp.uu.net/graphics/jpeg/
+-==========================================================================
+-" >&2;}
+- fi
+- fi
+-fi
++# x11vnc only:
++if test "$build_x11vnc" = "yes"; then
+
+
+-# Check whether --with-libz or --without-libz was given.
+-if test "${with_libz+set}" = set; then
+- withval="$with_libz"
+
+-fi;
+
+-# Check whether --with-zlib or --without-zlib was given.
+-if test "${with_zlib+set}" = set; then
+- withval="$with_zlib"
+
+-fi;
+
+-if test "x$with_zlib" != "xno" -a "x$with_libz" != "xno"; then
+- if test ! -z "$with_zlib" -a "x$with_zlib" != "xyes"; then
+- saved_CPPFLAGS="$CPPFLAGS"
+- saved_LDFLAGS="$LDFLAGS"
+- CPPFLAGS="$CPPFLAGS -I$with_zlib/include"
+- LDFLAGS="$LDFLAGS -L$with_zlib/lib"
+- if test "x$ld_minus_R" = "xno"; then
+- :
+- elif test "x$GCC" = "xyes"; then
+- LDFLAGS="$LDFLAGS -Xlinker -R$with_zlib/lib"
+- else
+- LDFLAGS="$LDFLAGS -R$with_zlib/lib"
+- fi
+- fi
+- if test "${ac_cv_header_zlib_h+set}" = set; then
+- echo "$as_me:$LINENO: checking for zlib.h" >&5
+-echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6
+-if test "${ac_cv_header_zlib_h+set}" = set; then
++for ac_header in pwd.h sys/wait.h utmpx.h termios.h sys/ioctl.h sys/stropts.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ { echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5
+-echo "${ECHO_T}$ac_cv_header_zlib_h" >&6
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
+ else
+ # Is the header compilable?
+-echo "$as_me:$LINENO: checking zlib.h usability" >&5
+-echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -23168,70 +16138,64 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+ $ac_includes_default
+-#include <zlib.h>
++#include <$ac_header>
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_header_compiler=no
++ ac_header_compiler=no
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+-echo "${ECHO_T}$ac_header_compiler" >&6
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+ # Is the header present?
+-echo "$as_me:$LINENO: checking zlib.h presence" >&5
+-echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6
++{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <zlib.h>
++#include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
+ ac_header_preproc=yes
+ else
+ echo "$as_me: failed program was:" >&5
+@@ -23239,556 +16203,479 @@
+
+ ac_header_preproc=no
+ fi
++
+ rm -f conftest.err conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+-echo "${ECHO_T}$ac_header_preproc" >&6
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+ # So? What about this header?
+ case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+- { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5
+-echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+- { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5
+-echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+- { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5
+-echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;}
+- { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5
+-echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;}
+- { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5
+-echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;}
+- { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5
+-echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;}
+- { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5
+-echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;}
+- { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5
+-echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;}
+- (
+- cat <<\_ASBOX
++ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
+ ## ----------------------------------------------------------- ##
+ ## Report this to http://sourceforge.net/projects/libvncserver ##
+ ## ----------------------------------------------------------- ##
+ _ASBOX
+- ) |
+- sed "s/^/$as_me: WARNING: /" >&2
++ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+ esac
+-echo "$as_me:$LINENO: checking for zlib.h" >&5
+-echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6
+-if test "${ac_cv_header_zlib_h+set}" = set; then
++{ echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_cv_header_zlib_h=$ac_header_preproc
++ eval "$as_ac_Header=\$ac_header_preproc"
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5
+-echo "${ECHO_T}$ac_cv_header_zlib_h" >&6
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
+
+ fi
+-if test $ac_cv_header_zlib_h = yes; then
+- HAVE_ZLIB_H="true"
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
+ fi
+
++done
+
+- if test "x$HAVE_ZLIB_H" = "xtrue"; then
++fi
+
+-echo "$as_me:$LINENO: checking for deflate in -lz" >&5
+-echo $ECHO_N "checking for deflate in -lz... $ECHO_C" >&6
+-if test "${ac_cv_lib_z_deflate+set}" = set; then
++# Checks for typedefs, structures, and compiler characteristics.
++{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
++echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; }
++if test "${ac_cv_c_const+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lz $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char deflate ();
+ int
+ main ()
+ {
+-deflate ();
++/* FIXME: Include the comments suggested by Paul. */
++#ifndef __cplusplus
++ /* Ultrix mips cc rejects this. */
++ typedef int charset[2];
++ const charset cs;
++ /* SunOS 4.1.1 cc rejects this. */
++ char const *const *pcpcc;
++ char **ppc;
++ /* NEC SVR4.0.2 mips cc rejects this. */
++ struct point {int x, y;};
++ static struct point const zero = {0,0};
++ /* AIX XL C 1.02.0.0 rejects this.
++ It does not let you subtract one const X* pointer from another in
++ an arm of an if-expression whose if-part is not a constant
++ expression */
++ const char *g = "string";
++ pcpcc = &g + (g ? g-g : 0);
++ /* HPUX 7.0 cc rejects these. */
++ ++pcpcc;
++ ppc = (char**) pcpcc;
++ pcpcc = (char const *const *) ppc;
++ { /* SCO 3.2v4 cc rejects this. */
++ char *t;
++ char const *s = 0 ? (char *) 0 : (char const *) 0;
++
++ *t++ = 0;
++ if (s) return 0;
++ }
++ { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
++ int x[] = {25, 17};
++ const int *foo = &x[0];
++ ++foo;
++ }
++ { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
++ typedef const int *iptr;
++ iptr p = 0;
++ ++p;
++ }
++ { /* AIX XL C 1.02.0.0 rejects this saying
++ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
++ struct s { int j; const int *ap[3]; };
++ struct s *b; b->j = 5;
++ }
++ { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
++ const int foo = 10;
++ if (!foo) return 0;
++ }
++ return !cs[0] && !zero.x;
++#endif
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_z_deflate=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_c_const=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_z_deflate=no
++ ac_cv_c_const=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_z_deflate" >&5
+-echo "${ECHO_T}$ac_cv_lib_z_deflate" >&6
+-if test $ac_cv_lib_z_deflate = yes; then
+- cat >>confdefs.h <<_ACEOF
+-#define HAVE_LIBZ 1
++{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
++echo "${ECHO_T}$ac_cv_c_const" >&6; }
++if test $ac_cv_c_const = no; then
++
++cat >>confdefs.h <<\_ACEOF
++#define const
+ _ACEOF
+
+- LIBS="-lz $LIBS"
++fi
+
++{ echo "$as_me:$LINENO: checking for inline" >&5
++echo $ECHO_N "checking for inline... $ECHO_C" >&6; }
++if test "${ac_cv_c_inline+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- HAVE_ZLIB_H=""
+-fi
++ ac_cv_c_inline=no
++for ac_kw in inline __inline__ __inline; do
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#ifndef __cplusplus
++typedef int foo_t;
++static $ac_kw foo_t static_foo () {return 0; }
++$ac_kw foo_t foo () {return 0; }
++#endif
++
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_c_inline=$ac_kw
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
+
+- fi
+- if test ! -z "$with_zlib" -a "x$with_zlib" != "xyes"; then
+- if test "x$HAVE_ZLIB_H" != "xtrue"; then
+- CPPFLAGS="$saved_CPPFLAGS"
+- LDFLAGS="$saved_LDFLAGS"
+- fi
+- fi
+- if test "$build_x11vnc" = "yes"; then
+- if test "x$HAVE_ZLIB_H" != "xtrue"; then
+- { echo "$as_me:$LINENO: WARNING:
+-==========================================================================
+-The libz compression library was not found: this may lead to reduced
+-performance, especially over slow links. If libz is in a non-standard
+-location use --with-zlib=DIR to indicate the header file is in
+-DIR/include/zlib.h and the library in DIR/lib/libz.a. A copy of
+-libz may be obtained from: http://www.gzip.org/zlib/
+-==========================================================================
+-" >&5
+-echo "$as_me: WARNING:
+-==========================================================================
+-The libz compression library was not found: this may lead to reduced
+-performance, especially over slow links. If libz is in a non-standard
+-location use --with-zlib=DIR to indicate the header file is in
+-DIR/include/zlib.h and the library in DIR/lib/libz.a. A copy of
+-libz may be obtained from: http://www.gzip.org/zlib/
+-==========================================================================
+-" >&2;}
+- fi
+- fi
+ fi
+
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ test "$ac_cv_c_inline" != no && break
++done
+
+-# Check whether --with-pthread or --without-pthread was given.
+-if test "${with_pthread+set}" = set; then
+- withval="$with_pthread"
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5
++echo "${ECHO_T}$ac_cv_c_inline" >&6; }
+
+-fi;
+
+-if test "x$with_pthread" != "xno"; then
+- if test "${ac_cv_header_pthread_h+set}" = set; then
+- echo "$as_me:$LINENO: checking for pthread.h" >&5
+-echo $ECHO_N "checking for pthread.h... $ECHO_C" >&6
+-if test "${ac_cv_header_pthread_h+set}" = set; then
++case $ac_cv_c_inline in
++ inline | yes) ;;
++ *)
++ case $ac_cv_c_inline in
++ no) ac_val=;;
++ *) ac_val=$ac_cv_c_inline;;
++ esac
++ cat >>confdefs.h <<_ACEOF
++#ifndef __cplusplus
++#define inline $ac_val
++#endif
++_ACEOF
++ ;;
++esac
++
++{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
++echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; }
++if test "${ac_cv_c_bigendian+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_pthread_h" >&5
+-echo "${ECHO_T}$ac_cv_header_pthread_h" >&6
+ else
+- # Is the header compilable?
+-echo "$as_me:$LINENO: checking pthread.h usability" >&5
+-echo $ECHO_N "checking pthread.h usability... $ECHO_C" >&6
++ # See if sys/param.h defines the BYTE_ORDER macro.
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-$ac_includes_default
+-#include <pthread.h>
++#include <sys/types.h>
++#include <sys/param.h>
++
++int
++main ()
++{
++#if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \
++ && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN)
++ bogus endian macros
++#endif
++
++ ;
++ return 0;
++}
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_header_compiler=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-ac_header_compiler=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+-echo "${ECHO_T}$ac_header_compiler" >&6
+-
+-# Is the header present?
+-echo "$as_me:$LINENO: checking pthread.h presence" >&5
+-echo $ECHO_N "checking pthread.h presence... $ECHO_C" >&6
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ # It does; now see whether it defined to BIG_ENDIAN or not.
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <pthread.h>
++#include <sys/types.h>
++#include <sys/param.h>
++
++int
++main ()
++{
++#if BYTE_ORDER != BIG_ENDIAN
++ not big endian
++#endif
++
++ ;
++ return 0;
++}
+ _ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- ac_header_preproc=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_c_bigendian=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+- ac_header_preproc=no
++ ac_cv_c_bigendian=no
+ fi
+-rm -f conftest.err conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+-echo "${ECHO_T}$ac_header_preproc" >&6
+
+-# So? What about this header?
+-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+- yes:no: )
+- { echo "$as_me:$LINENO: WARNING: pthread.h: accepted by the compiler, rejected by the preprocessor!" >&5
+-echo "$as_me: WARNING: pthread.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+- { echo "$as_me:$LINENO: WARNING: pthread.h: proceeding with the compiler's result" >&5
+-echo "$as_me: WARNING: pthread.h: proceeding with the compiler's result" >&2;}
+- ac_header_preproc=yes
+- ;;
+- no:yes:* )
+- { echo "$as_me:$LINENO: WARNING: pthread.h: present but cannot be compiled" >&5
+-echo "$as_me: WARNING: pthread.h: present but cannot be compiled" >&2;}
+- { echo "$as_me:$LINENO: WARNING: pthread.h: check for missing prerequisite headers?" >&5
+-echo "$as_me: WARNING: pthread.h: check for missing prerequisite headers?" >&2;}
+- { echo "$as_me:$LINENO: WARNING: pthread.h: see the Autoconf documentation" >&5
+-echo "$as_me: WARNING: pthread.h: see the Autoconf documentation" >&2;}
+- { echo "$as_me:$LINENO: WARNING: pthread.h: section \"Present But Cannot Be Compiled\"" >&5
+-echo "$as_me: WARNING: pthread.h: section \"Present But Cannot Be Compiled\"" >&2;}
+- { echo "$as_me:$LINENO: WARNING: pthread.h: proceeding with the preprocessor's result" >&5
+-echo "$as_me: WARNING: pthread.h: proceeding with the preprocessor's result" >&2;}
+- { echo "$as_me:$LINENO: WARNING: pthread.h: in the future, the compiler will take precedence" >&5
+-echo "$as_me: WARNING: pthread.h: in the future, the compiler will take precedence" >&2;}
+- (
+- cat <<\_ASBOX
+-## ----------------------------------------------------------- ##
+-## Report this to http://sourceforge.net/projects/libvncserver ##
+-## ----------------------------------------------------------- ##
+-_ASBOX
+- ) |
+- sed "s/^/$as_me: WARNING: /" >&2
+- ;;
+-esac
+-echo "$as_me:$LINENO: checking for pthread.h" >&5
+-echo $ECHO_N "checking for pthread.h... $ECHO_C" >&6
+-if test "${ac_cv_header_pthread_h+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ else
+- ac_cv_header_pthread_h=$ac_header_preproc
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_pthread_h" >&5
+-echo "${ECHO_T}$ac_cv_header_pthread_h" >&6
+-
+-fi
+-if test $ac_cv_header_pthread_h = yes; then
+- HAVE_PTHREAD_H="true"
+-fi
+-
+-
+- if test ! -z "$HAVE_PTHREAD_H"; then
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+-echo "$as_me:$LINENO: checking for pthread_mutex_lock in -lpthread" >&5
+-echo $ECHO_N "checking for pthread_mutex_lock in -lpthread... $ECHO_C" >&6
+-if test "${ac_cv_lib_pthread_pthread_mutex_lock+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lpthread $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
++ # It does not; compile a test program.
++if test "$cross_compiling" = yes; then
++ # try to guess the endianness by grepping values into an object file
++ ac_cv_c_bigendian=unknown
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char pthread_mutex_lock ();
++short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
++short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
++void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
++short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
++short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
++void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
+ int
+ main ()
+ {
+-pthread_mutex_lock ();
++ _ascii (); _ebcdic ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_pthread_pthread_mutex_lock=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
++ ac_cv_c_bigendian=yes
++fi
++if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
++ if test "$ac_cv_c_bigendian" = unknown; then
++ ac_cv_c_bigendian=no
++ else
++ # finding both strings is unlikely to happen, but who knows?
++ ac_cv_c_bigendian=unknown
++ fi
++fi
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_pthread_pthread_mutex_lock=no
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_mutex_lock" >&5
+-echo "${ECHO_T}$ac_cv_lib_pthread_pthread_mutex_lock" >&6
+-if test $ac_cv_lib_pthread_pthread_mutex_lock = yes; then
+- cat >>confdefs.h <<_ACEOF
+-#define HAVE_LIBPTHREAD 1
+-_ACEOF
+-
+- LIBS="-lpthread $LIBS"
+
+ fi
+
+- echo "$as_me:$LINENO: checking for pthread_mutex_lock in -lpthread" >&5
+-echo $ECHO_N "checking for pthread_mutex_lock in -lpthread... $ECHO_C" >&6
+-if test "${ac_cv_lib_pthread_pthread_mutex_lock+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lpthread $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char pthread_mutex_lock ();
++$ac_includes_default
+ int
+ main ()
+ {
+-pthread_mutex_lock ();
++
++ /* Are we little or big endian? From Harbison&Steele. */
++ union
++ {
++ long int l;
++ char c[sizeof (long int)];
++ } u;
++ u.l = 1;
++ return u.c[sizeof (long int) - 1] == 1;
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_lib_pthread_pthread_mutex_lock=yes
++ ac_cv_c_bigendian=no
+ else
+- echo "$as_me: failed program was:" >&5
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_pthread_pthread_mutex_lock=no
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_mutex_lock" >&5
+-echo "${ECHO_T}$ac_cv_lib_pthread_pthread_mutex_lock" >&6
+-if test $ac_cv_lib_pthread_pthread_mutex_lock = yes; then
+- HAVE_LIBPTHREAD="true"
+-fi
+-
+- fi
+-fi
+-
+-
+-if test ! -z "$HAVE_LIBPTHREAD"; then
+- HAVE_LIBPTHREAD_TRUE=
+- HAVE_LIBPTHREAD_FALSE='#'
+-else
+- HAVE_LIBPTHREAD_TRUE='#'
+- HAVE_LIBPTHREAD_FALSE=
+-fi
+-
+-
+-# tightvnc-filetransfer implemented using threads:
+-if test -z "$HAVE_LIBPTHREAD"; then
+- with_tightvnc_filetransfer=""
+-fi
+-if test "x$with_tightvnc_filetransfer" = "xyes"; then
+- cat >>confdefs.h <<\_ACEOF
+-#define WITH_TIGHTVNC_FILETRANSFER 1
+-_ACEOF
+-
+-fi
+-
+-
+-if test "$with_tightvnc_filetransfer" = "yes"; then
+- WITH_TIGHTVNC_FILETRANSFER_TRUE=
+- WITH_TIGHTVNC_FILETRANSFER_FALSE='#'
+-else
+- WITH_TIGHTVNC_FILETRANSFER_TRUE='#'
+- WITH_TIGHTVNC_FILETRANSFER_FALSE=
+-fi
+-
+-
+-
+-
+-if test ! -z "$HAVE_ZLIB_H"; then
+- HAVE_LIBZ_TRUE=
+- HAVE_LIBZ_FALSE='#'
+-else
+- HAVE_LIBZ_TRUE='#'
+- HAVE_LIBZ_FALSE=
+-fi
+-
+-
+-
+-if test ! -z "$HAVE_JPEGLIB_H"; then
+- HAVE_LIBJPEG_TRUE=
+- HAVE_LIBJPEG_FALSE='#'
+-else
+- HAVE_LIBJPEG_TRUE='#'
+- HAVE_LIBJPEG_FALSE=
+-fi
+-
+-
+-if test -z "$with_sdl"; then
+- if sdl-config --version >/dev/null 2>&1; then
+- with_sdl=yes
+- SDL_CFLAGS=`sdl-config --cflags`
+- SDL_LIBS=`sdl-config --libs`
+- else
+- with_sdl=no
+- fi
++( exit $ac_status )
++ac_cv_c_bigendian=yes
+ fi
+-
+-
+-if test "x$with_sdl" = "xyes"; then
+- HAVE_LIBSDL_TRUE=
+- HAVE_LIBSDL_FALSE='#'
+-else
+- HAVE_LIBSDL_TRUE='#'
+- HAVE_LIBSDL_FALSE=
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+
+
+-
+-
+-MINGW=`uname -s | grep MINGW 2>/dev/null`
+-
+-
+-if test ! -z "$MINGW" ; then
+- MINGW_TRUE=
+- MINGW_FALSE='#'
+-else
+- MINGW_TRUE='#'
+- MINGW_FALSE=
+ fi
+
+-if test ! -z "$MINGW"; then
+- WSOCKLIB="-lws2_32"
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
++{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
++echo "${ECHO_T}$ac_cv_c_bigendian" >&6; }
++case $ac_cv_c_bigendian in
++ yes)
+
++cat >>confdefs.h <<\_ACEOF
++#define WORDS_BIGENDIAN 1
++_ACEOF
++ ;;
++ no)
++ ;;
++ *)
++ { { echo "$as_me:$LINENO: error: unknown endianness
++presetting ac_cv_c_bigendian=no (or yes) will help" >&5
++echo "$as_me: error: unknown endianness
++presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
++ { (exit 1); exit 1; }; } ;;
++esac
+
+-# Checks for header files.
+-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+-if test "${ac_cv_header_stdc+set}" = set; then
++{ echo "$as_me:$LINENO: checking for size_t" >&5
++echo $ECHO_N "checking for size_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_size_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+@@ -23797,96 +16684,62 @@
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <stdlib.h>
+-#include <stdarg.h>
+-#include <string.h>
+-#include <float.h>
+-
++$ac_includes_default
++typedef size_t ac__type_new_;
+ int
+ main ()
+ {
+-
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_header_stdc=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_size_t=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_header_stdc=no
++ ac_cv_type_size_t=no
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-
+-if test $ac_cv_header_stdc = yes; then
+- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <string.h>
+
+-_ACEOF
+-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+- $EGREP "memchr" >/dev/null 2>&1; then
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
++echo "${ECHO_T}$ac_cv_type_size_t" >&6; }
++if test $ac_cv_type_size_t = yes; then
+ :
+ else
+- ac_cv_header_stdc=no
+-fi
+-rm -f conftest*
+-
+-fi
+-
+-if test $ac_cv_header_stdc = yes; then
+- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <stdlib.h>
+
++cat >>confdefs.h <<_ACEOF
++#define size_t unsigned int
+ _ACEOF
+-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+- $EGREP "free" >/dev/null 2>&1; then
+- :
+-else
+- ac_cv_header_stdc=no
+-fi
+-rm -f conftest*
+
+ fi
+
+-if test $ac_cv_header_stdc = yes; then
+- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+- if test "$cross_compiling" = yes; then
+- :
++{ echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
++echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6; }
++if test "${ac_cv_header_time+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+@@ -23894,388 +16747,401 @@
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <ctype.h>
+-#if ((' ' & 0x0FF) == 0x020)
+-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+-#else
+-# define ISLOWER(c) \
+- (('a' <= (c) && (c) <= 'i') \
+- || ('j' <= (c) && (c) <= 'r') \
+- || ('s' <= (c) && (c) <= 'z'))
+-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+-#endif
++#include <sys/types.h>
++#include <sys/time.h>
++#include <time.h>
+
+-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+ int
+ main ()
+ {
+- int i;
+- for (i = 0; i < 256; i++)
+- if (XOR (islower (i), ISLOWER (i))
+- || toupper (i) != TOUPPER (i))
+- exit(2);
+- exit (0);
++if ((struct tm *) 0)
++return 0;
++ ;
++ return 0;
+ }
+ _ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- :
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_time=yes
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
++ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-( exit $ac_status )
+-ac_cv_header_stdc=no
+-fi
+-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+-fi
++ ac_cv_header_time=no
+ fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+-echo "${ECHO_T}$ac_cv_header_stdc" >&6
+-if test $ac_cv_header_stdc = yes; then
++{ echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
++echo "${ECHO_T}$ac_cv_header_time" >&6; }
++if test $ac_cv_header_time = yes; then
+
+ cat >>confdefs.h <<\_ACEOF
+-#define STDC_HEADERS 1
++#define TIME_WITH_SYS_TIME 1
+ _ACEOF
+
+ fi
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-for ac_header in arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h sys/timeb.h syslog.h unistd.h
+-do
+-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo "$as_me:$LINENO: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
++{ echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
++echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6; }
++if test "${ac_cv_header_sys_wait_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+-fi
+-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ else
+- # Is the header compilable?
+-echo "$as_me:$LINENO: checking $ac_header usability" >&5
+-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+-cat >conftest.$ac_ext <<_ACEOF
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-$ac_includes_default
+-#include <$ac_header>
++#include <sys/types.h>
++#include <sys/wait.h>
++#ifndef WEXITSTATUS
++# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8)
++#endif
++#ifndef WIFEXITED
++# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
++#endif
++
++int
++main ()
++{
++ int s;
++ wait (&s);
++ s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
++ ;
++ return 0;
++}
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_header_compiler=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_header_sys_wait_h=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_header_compiler=no
++ ac_cv_header_sys_wait_h=no
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+-echo "${ECHO_T}$ac_header_compiler" >&6
+
+-# Is the header present?
+-echo "$as_me:$LINENO: checking $ac_header presence" >&5
+-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+-cat >conftest.$ac_ext <<_ACEOF
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
++echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6; }
++if test $ac_cv_header_sys_wait_h = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_SYS_WAIT_H 1
++_ACEOF
++
++fi
++
++{ echo "$as_me:$LINENO: checking for socklen_t" >&5
++echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_socklen_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <$ac_header>
++#include <sys/types.h>
++ #include <sys/socket.h>
++int
++main ()
++{
++socklen_t len = 42; return 0;
++ ;
++ return 0;
++}
+ _ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- ac_header_preproc=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_socklen_t=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+- ac_header_preproc=no
+-fi
+-rm -f conftest.err conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+-echo "${ECHO_T}$ac_header_preproc" >&6
+-
+-# So? What about this header?
+-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+- yes:no: )
+- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+- ac_header_preproc=yes
+- ;;
+- no:yes:* )
+- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+- (
+- cat <<\_ASBOX
+-## ----------------------------------------------------------- ##
+-## Report this to http://sourceforge.net/projects/libvncserver ##
+-## ----------------------------------------------------------- ##
+-_ASBOX
+- ) |
+- sed "s/^/$as_me: WARNING: /" >&2
+- ;;
+-esac
+-echo "$as_me:$LINENO: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- eval "$as_ac_Header=\$ac_header_preproc"
+-fi
+-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+-
+-fi
+-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+- cat >>confdefs.h <<_ACEOF
+-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+-_ACEOF
+-
++ ac_cv_type_socklen_t=no
+ fi
+
+-done
+-
+-
+-# x11vnc only:
+-if test "$build_x11vnc" = "yes"; then
+-
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_socklen_t" >&5
++echo "${ECHO_T}$ac_cv_type_socklen_t" >&6; }
++ if test $ac_cv_type_socklen_t != yes; then
++ cat >>confdefs.h <<\_ACEOF
++#define socklen_t int
++_ACEOF
+
++ fi
+
++if test ! -d ./rfb; then
++ echo "creating subdir ./rfb for rfbint.h"
++ mkdir ./rfb
++fi
++# ------ AC CREATE STDINT H -------------------------------------
++{ echo "$as_me:$LINENO: checking for stdint-types...." >&5
++echo $ECHO_N "checking for stdint-types....... $ECHO_C" >&6; }
++ac_stdint_h=`echo rfb/rfbint.h`
++if test "$ac_stdint_h" = "stdint.h" ; then
++ { echo "$as_me:$LINENO: result: \"(are you sure you want them in ./stdint.h?)\"" >&5
++echo "${ECHO_T}\"(are you sure you want them in ./stdint.h?)\"" >&6; }
++elif test "$ac_stdint_h" = "inttypes.h" ; then
++ { echo "$as_me:$LINENO: result: \"(are you sure you want them in ./inttypes.h?)\"" >&5
++echo "${ECHO_T}\"(are you sure you want them in ./inttypes.h?)\"" >&6; }
++else
++ { echo "$as_me:$LINENO: result: \"(putting them into $ac_stdint_h)\"" >&5
++echo "${ECHO_T}\"(putting them into $ac_stdint_h)\"" >&6; }
++fi
+
++inttype_headers=`echo inttypes.h sys/inttypes.h sys/inttypes.h \
++| sed -e 's/,/ /g'`
+
+-for ac_header in pwd.h sys/wait.h utmpx.h termios.h sys/ioctl.h sys/stropts.h
+-do
+-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo "$as_me:$LINENO: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
++ ac_cv_header_stdint_x="no-file"
++ ac_cv_header_stdint_o="no-file"
++ ac_cv_header_stdint_u="no-file"
++ for i in stdint.h $inttype_headers ; do
++ unset ac_cv_type_uintptr_t
++ unset ac_cv_type_uint64_t
++ { echo "$as_me:$LINENO: checking for uintptr_t" >&5
++echo $ECHO_N "checking for uintptr_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_uintptr_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+-fi
+-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ else
+- # Is the header compilable?
+-echo "$as_me:$LINENO: checking $ac_header usability" >&5
+-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+-cat >conftest.$ac_ext <<_ACEOF
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-$ac_includes_default
+-#include <$ac_header>
++#include <$i>
++
++typedef uintptr_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_header_compiler=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_uintptr_t=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_header_compiler=no
++ ac_cv_type_uintptr_t=no
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+-echo "${ECHO_T}$ac_header_compiler" >&6
+
+-# Is the header present?
+-echo "$as_me:$LINENO: checking $ac_header presence" >&5
+-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+-cat >conftest.$ac_ext <<_ACEOF
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_uintptr_t" >&5
++echo "${ECHO_T}$ac_cv_type_uintptr_t" >&6; }
++if test $ac_cv_type_uintptr_t = yes; then
++ ac_cv_header_stdint_x=$i
++else
++ continue
++fi
++
++ { echo "$as_me:$LINENO: checking for uint64_t" >&5
++echo $ECHO_N "checking for uint64_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_uint64_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <$ac_header>
++#include<$i>
++
++typedef uint64_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
+ _ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- ac_header_preproc=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_uint64_t=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+- ac_header_preproc=no
++ ac_cv_type_uint64_t=no
+ fi
+-rm -f conftest.err conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+-echo "${ECHO_T}$ac_header_preproc" >&6
+
+-# So? What about this header?
+-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+- yes:no: )
+- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+- ac_header_preproc=yes
+- ;;
+- no:yes:* )
+- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+- (
+- cat <<\_ASBOX
+-## ----------------------------------------------------------- ##
+-## Report this to http://sourceforge.net/projects/libvncserver ##
+-## ----------------------------------------------------------- ##
+-_ASBOX
+- ) |
+- sed "s/^/$as_me: WARNING: /" >&2
+- ;;
+-esac
+-echo "$as_me:$LINENO: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_uint64_t" >&5
++echo "${ECHO_T}$ac_cv_type_uint64_t" >&6; }
++if test $ac_cv_type_uint64_t = yes; then
++ and64="(uint64_t too)"
+ else
+- eval "$as_ac_Header=\$ac_header_preproc"
++ and64=""
+ fi
+-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+-fi
+-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+- cat >>confdefs.h <<_ACEOF
+-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++ { echo "$as_me:$LINENO: result: ... seen our uintptr_t in $i $and64" >&5
++echo "${ECHO_T}... seen our uintptr_t in $i $and64" >&6; }
++ break;
++ done
++ if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ for i in stdint.h $inttype_headers ; do
++ unset ac_cv_type_uint32_t
++ unset ac_cv_type_uint64_t
++ { echo "$as_me:$LINENO: checking for uint32_t" >&5
++echo $ECHO_N "checking for uint32_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_uint32_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
+ _ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <$i>
+
+-fi
++typedef uint32_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_uint32_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+-done
++ ac_cv_type_uint32_t=no
++fi
+
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_uint32_t" >&5
++echo "${ECHO_T}$ac_cv_type_uint32_t" >&6; }
++if test $ac_cv_type_uint32_t = yes; then
++ ac_cv_header_stdint_o=$i
++else
++ continue
+ fi
+
+-# Checks for typedefs, structures, and compiler characteristics.
+-echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
+-echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
+-if test "${ac_cv_c_const+set}" = set; then
++ { echo "$as_me:$LINENO: checking for uint64_t" >&5
++echo $ECHO_N "checking for uint64_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_uint64_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+@@ -24284,537 +17150,570 @@
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
++#include<$i>
+
++typedef uint64_t ac__type_new_;
+ int
+ main ()
+ {
+-/* FIXME: Include the comments suggested by Paul. */
+-#ifndef __cplusplus
+- /* Ultrix mips cc rejects this. */
+- typedef int charset[2];
+- const charset x;
+- /* SunOS 4.1.1 cc rejects this. */
+- char const *const *ccp;
+- char **p;
+- /* NEC SVR4.0.2 mips cc rejects this. */
+- struct point {int x, y;};
+- static struct point const zero = {0,0};
+- /* AIX XL C 1.02.0.0 rejects this.
+- It does not let you subtract one const X* pointer from another in
+- an arm of an if-expression whose if-part is not a constant
+- expression */
+- const char *g = "string";
+- ccp = &g + (g ? g-g : 0);
+- /* HPUX 7.0 cc rejects these. */
+- ++ccp;
+- p = (char**) ccp;
+- ccp = (char const *const *) p;
+- { /* SCO 3.2v4 cc rejects this. */
+- char *t;
+- char const *s = 0 ? (char *) 0 : (char const *) 0;
+-
+- *t++ = 0;
+- }
+- { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
+- int x[] = {25, 17};
+- const int *foo = &x[0];
+- ++foo;
+- }
+- { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+- typedef const int *iptr;
+- iptr p = 0;
+- ++p;
+- }
+- { /* AIX XL C 1.02.0.0 rejects this saying
+- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+- struct s { int j; const int *ap[3]; };
+- struct s *b; b->j = 5;
+- }
+- { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+- const int foo = 10;
+- }
+-#endif
+-
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_c_const=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_uint64_t=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_c_const=no
++ ac_cv_type_uint64_t=no
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
+-echo "${ECHO_T}$ac_cv_c_const" >&6
+-if test $ac_cv_c_const = no; then
+-
+-cat >>confdefs.h <<\_ACEOF
+-#define const
+-_ACEOF
+
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_uint64_t" >&5
++echo "${ECHO_T}$ac_cv_type_uint64_t" >&6; }
++if test $ac_cv_type_uint64_t = yes; then
++ and64="(uint64_t too)"
++else
++ and64=""
+ fi
+
+-echo "$as_me:$LINENO: checking for inline" >&5
+-echo $ECHO_N "checking for inline... $ECHO_C" >&6
+-if test "${ac_cv_c_inline+set}" = set; then
++ { echo "$as_me:$LINENO: result: ... seen our uint32_t in $i $and64" >&5
++echo "${ECHO_T}... seen our uint32_t in $i $and64" >&6; }
++ break;
++ done
++ if test "$ac_cv_header_stdint_o" = "no-file" ; then
++ for i in sys/types.h $inttype_headers ; do
++ unset ac_cv_type_u_int32_t
++ unset ac_cv_type_u_int64_t
++ { echo "$as_me:$LINENO: checking for u_int32_t" >&5
++echo $ECHO_N "checking for u_int32_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_u_int32_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_cv_c_inline=no
+-for ac_kw in inline __inline__ __inline; do
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#ifndef __cplusplus
+-typedef int foo_t;
+-static $ac_kw foo_t static_foo () {return 0; }
+-$ac_kw foo_t foo () {return 0; }
+-#endif
++#include <$i>
+
++typedef u_int32_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_c_inline=$ac_kw; break
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_u_int32_t=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
++ ac_cv_type_u_int32_t=no
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-done
+
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_u_int32_t" >&5
++echo "${ECHO_T}$ac_cv_type_u_int32_t" >&6; }
++if test $ac_cv_type_u_int32_t = yes; then
++ ac_cv_header_stdint_u=$i
++else
++ continue
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5
+-echo "${ECHO_T}$ac_cv_c_inline" >&6
+-
+-
+-case $ac_cv_c_inline in
+- inline | yes) ;;
+- *)
+- case $ac_cv_c_inline in
+- no) ac_val=;;
+- *) ac_val=$ac_cv_c_inline;;
+- esac
+- cat >>confdefs.h <<_ACEOF
+-#ifndef __cplusplus
+-#define inline $ac_val
+-#endif
+-_ACEOF
+- ;;
+-esac
+
+-echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
+-echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6
+-if test "${ac_cv_c_bigendian+set}" = set; then
++ { echo "$as_me:$LINENO: checking for uint64_t" >&5
++echo $ECHO_N "checking for uint64_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_uint64_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- # See if sys/param.h defines the BYTE_ORDER macro.
+-cat >conftest.$ac_ext <<_ACEOF
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <sys/types.h>
+-#include <sys/param.h>
++#include<$i>
+
++typedef uint64_t ac__type_new_;
+ int
+ main ()
+ {
+-#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
+- bogus endian macros
+-#endif
+-
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- # It does; now see whether it defined to BIG_ENDIAN or not.
+-cat >conftest.$ac_ext <<_ACEOF
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_uint64_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_type_uint64_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_uint64_t" >&5
++echo "${ECHO_T}$ac_cv_type_uint64_t" >&6; }
++if test $ac_cv_type_uint64_t = yes; then
++ and64="(u_int64_t too)"
++else
++ and64=""
++fi
++
++ { echo "$as_me:$LINENO: result: ... seen our u_int32_t in $i $and64" >&5
++echo "${ECHO_T}... seen our u_int32_t in $i $and64" >&6; }
++ break;
++ done
++ fi
++ fi
++
++# ----------------- DONE inttypes.h checks MAYBE C basic types --------
++
++if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ { echo "$as_me:$LINENO: checking size of char" >&5
++echo $ECHO_N "checking size of char... $ECHO_C" >&6; }
++if test "${ac_cv_sizeof_char+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
++#include "confdefs.h"
+ #include <sys/types.h>
+-#include <sys/param.h>
++
+
+ int
+ main ()
+ {
+-#if BYTE_ORDER != BIG_ENDIAN
+- not big endian
+-#endif
+-
++switch (0) case 0: case (sizeof (char) == $ac_size):;
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_c_bigendian=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sizeof_char=$ac_size
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_c_bigendian=no
++
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-# It does not; compile a test program.
+-if test "$cross_compiling" = yes; then
+- # try to guess the endianness by grepping values into an object file
+- ac_cv_c_bigendian=unknown
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ if test x$ac_cv_sizeof_char != x ; then break; fi
++done
++
++fi
++
++if test x$ac_cv_sizeof_char = x ; then
++ { { echo "$as_me:$LINENO: error: cannot determine a size for char" >&5
++echo "$as_me: error: cannot determine a size for char" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5
++echo "${ECHO_T}$ac_cv_sizeof_char" >&6; }
++
++cat >>confdefs.h <<_ACEOF
++#define SIZEOF_CHAR $ac_cv_sizeof_char
++_ACEOF
++
++
++ { echo "$as_me:$LINENO: checking size of short" >&5
++echo $ECHO_N "checking size of short... $ECHO_C" >&6; }
++if test "${ac_cv_sizeof_short+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+-short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+-void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
+-short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+-short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+-void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
++#include "confdefs.h"
++#include <sys/types.h>
++
++
+ int
+ main ()
+ {
+- _ascii (); _ebcdic ();
++switch (0) case 0: case (sizeof (short) == $ac_size):;
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
+- ac_cv_c_bigendian=yes
+-fi
+-if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+- if test "$ac_cv_c_bigendian" = unknown; then
+- ac_cv_c_bigendian=no
+- else
+- # finding both strings is unlikely to happen, but who knows?
+- ac_cv_c_bigendian=unknown
+- fi
+-fi
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sizeof_short=$ac_size
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ if test x$ac_cv_sizeof_short != x ; then break; fi
++done
++
++fi
++
++if test x$ac_cv_sizeof_short = x ; then
++ { { echo "$as_me:$LINENO: error: cannot determine a size for short" >&5
++echo "$as_me: error: cannot determine a size for short" >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5
++echo "${ECHO_T}$ac_cv_sizeof_short" >&6; }
++
++cat >>confdefs.h <<_ACEOF
++#define SIZEOF_SHORT $ac_cv_sizeof_short
++_ACEOF
++
++
++ { echo "$as_me:$LINENO: checking size of int" >&5
++echo $ECHO_N "checking size of int... $ECHO_C" >&6; }
++if test "${ac_cv_sizeof_int+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
++ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
++#include "confdefs.h"
++#include <sys/types.h>
++
++
+ int
+ main ()
+ {
+- /* Are we little or big endian? From Harbison&Steele. */
+- union
+- {
+- long l;
+- char c[sizeof (long)];
+- } u;
+- u.l = 1;
+- exit (u.c[sizeof (long) - 1] == 1);
++switch (0) case 0: case (sizeof (int) == $ac_size):;
++ ;
++ return 0;
+ }
+ _ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_c_bigendian=no
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sizeof_int=$ac_size
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
++ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-( exit $ac_status )
+-ac_cv_c_bigendian=yes
+-fi
+-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++
+ fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ if test x$ac_cv_sizeof_int != x ; then break; fi
++done
++
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++if test x$ac_cv_sizeof_int = x ; then
++ { { echo "$as_me:$LINENO: error: cannot determine a size for int" >&5
++echo "$as_me: error: cannot determine a size for int" >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
+-echo "${ECHO_T}$ac_cv_c_bigendian" >&6
+-case $ac_cv_c_bigendian in
+- yes)
++{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
++echo "${ECHO_T}$ac_cv_sizeof_int" >&6; }
+
+-cat >>confdefs.h <<\_ACEOF
+-#define WORDS_BIGENDIAN 1
++cat >>confdefs.h <<_ACEOF
++#define SIZEOF_INT $ac_cv_sizeof_int
+ _ACEOF
+- ;;
+- no)
+- ;;
+- *)
+- { { echo "$as_me:$LINENO: error: unknown endianness
+-presetting ac_cv_c_bigendian=no (or yes) will help" >&5
+-echo "$as_me: error: unknown endianness
+-presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
+- { (exit 1); exit 1; }; } ;;
+-esac
+
+-echo "$as_me:$LINENO: checking for size_t" >&5
+-echo $ECHO_N "checking for size_t... $ECHO_C" >&6
+-if test "${ac_cv_type_size_t+set}" = set; then
++
++ { echo "$as_me:$LINENO: checking size of long" >&5
++echo $ECHO_N "checking size of long... $ECHO_C" >&6; }
++if test "${ac_cv_sizeof_long+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
++ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-$ac_includes_default
++#include "confdefs.h"
++#include <sys/types.h>
++
++
+ int
+ main ()
+ {
+-if ((size_t *) 0)
+- return 0;
+-if (sizeof (size_t))
+- return 0;
++switch (0) case 0: case (sizeof (long) == $ac_size):;
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_type_size_t=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sizeof_long=$ac_size
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_type_size_t=no
++
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ if test x$ac_cv_sizeof_long != x ; then break; fi
++done
++
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++if test x$ac_cv_sizeof_long = x ; then
++ { { echo "$as_me:$LINENO: error: cannot determine a size for long" >&5
++echo "$as_me: error: cannot determine a size for long" >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
+-echo "${ECHO_T}$ac_cv_type_size_t" >&6
+-if test $ac_cv_type_size_t = yes; then
+- :
+-else
++{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
++echo "${ECHO_T}$ac_cv_sizeof_long" >&6; }
+
+ cat >>confdefs.h <<_ACEOF
+-#define size_t unsigned
++#define SIZEOF_LONG $ac_cv_sizeof_long
+ _ACEOF
+
+-fi
+
+-echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
+-echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
+-if test "${ac_cv_header_time+set}" = set; then
++ { echo "$as_me:$LINENO: checking size of void*" >&5
++echo $ECHO_N "checking size of void*... $ECHO_C" >&6; }
++if test "${ac_cv_sizeof_voidp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
++ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
++#include "confdefs.h"
+ #include <sys/types.h>
+-#include <sys/time.h>
+-#include <time.h>
++
+
+ int
+ main ()
+ {
+-if ((struct tm *) 0)
+-return 0;
++switch (0) case 0: case (sizeof (void*) == $ac_size):;
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_header_time=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_sizeof_voidp=$ac_size
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_header_time=no
++
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ if test x$ac_cv_sizeof_voidp != x ; then break; fi
++done
++
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
+-echo "${ECHO_T}$ac_cv_header_time" >&6
+-if test $ac_cv_header_time = yes; then
+
+-cat >>confdefs.h <<\_ACEOF
+-#define TIME_WITH_SYS_TIME 1
++if test x$ac_cv_sizeof_voidp = x ; then
++ { { echo "$as_me:$LINENO: error: cannot determine a size for void*" >&5
++echo "$as_me: error: cannot determine a size for void*" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_voidp" >&5
++echo "${ECHO_T}$ac_cv_sizeof_voidp" >&6; }
++
++cat >>confdefs.h <<_ACEOF
++#define SIZEOF_VOIDP $ac_cv_sizeof_voidp
+ _ACEOF
+
++
++ ac_cv_header_stdint_test="yes"
++else
++ ac_cv_header_stdint_test="no"
+ fi
+
+-echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
+-echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6
+-if test "${ac_cv_header_sys_wait_h+set}" = set; then
++# ----------------- DONE inttypes.h checks START header -------------
++_ac_stdint_h=`echo "_$ac_stdint_h" | $as_tr_cpp`
++{ echo "$as_me:$LINENO: result: creating $ac_stdint_h : $_ac_stdint_h" >&5
++echo "${ECHO_T}creating $ac_stdint_h : $_ac_stdint_h" >&6; }
++echo "#ifndef" $_ac_stdint_h >$ac_stdint_h
++echo "#define" $_ac_stdint_h "1" >>$ac_stdint_h
++echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint_h
++echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint_h
++if test "$GCC" = "yes" ; then
++ echo "/* generated using a gnu compiler version" `$CC --version` "*/" \
++ >>$ac_stdint_h
++else
++ echo "/* generated using $CC */" >>$ac_stdint_h
++fi
++echo "" >>$ac_stdint_h
++
++if test "$ac_cv_header_stdint_x" != "no-file" ; then
++ ac_cv_header_stdint="$ac_cv_header_stdint_x"
++elif test "$ac_cv_header_stdint_o" != "no-file" ; then
++ ac_cv_header_stdint="$ac_cv_header_stdint_o"
++elif test "$ac_cv_header_stdint_u" != "no-file" ; then
++ ac_cv_header_stdint="$ac_cv_header_stdint_u"
++else
++ ac_cv_header_stdint="stddef.h"
++fi
++
++# ----------------- See if int_least and int_fast types are present
++unset ac_cv_type_int_least32_t
++unset ac_cv_type_int_fast32_t
++{ echo "$as_me:$LINENO: checking for int_least32_t" >&5
++echo $ECHO_N "checking for int_least32_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_int_least32_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+@@ -24823,953 +17722,977 @@
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <sys/types.h>
+-#include <sys/wait.h>
+-#ifndef WEXITSTATUS
+-# define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)
+-#endif
+-#ifndef WIFEXITED
+-# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
+-#endif
++#include <$ac_cv_header_stdint>
+
++typedef int_least32_t ac__type_new_;
+ int
+ main ()
+ {
+- int s;
+- wait (&s);
+- s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_header_sys_wait_h=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_int_least32_t=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_header_sys_wait_h=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++ ac_cv_type_int_least32_t=no
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
+-echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6
+-if test $ac_cv_header_sys_wait_h = yes; then
+-
+-cat >>confdefs.h <<\_ACEOF
+-#define HAVE_SYS_WAIT_H 1
+-_ACEOF
+
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_int_least32_t" >&5
++echo "${ECHO_T}$ac_cv_type_int_least32_t" >&6; }
+
+-echo "$as_me:$LINENO: checking for socklen_t" >&5
+-echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6
+-if test "${ac_cv_type_socklen_t+set}" = set; then
++{ echo "$as_me:$LINENO: checking for int_fast32_t" >&5
++echo $ECHO_N "checking for int_fast32_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_int_fast32_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+-
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <sys/types.h>
+- #include <sys/socket.h>
++#include<$ac_cv_header_stdint>
++
++typedef int_fast32_t ac__type_new_;
+ int
+ main ()
+ {
+-socklen_t len = 42; return 0;
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_type_socklen_t=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_int_fast32_t=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_type_socklen_t=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++ ac_cv_type_int_fast32_t=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_int_fast32_t" >&5
++echo "${ECHO_T}$ac_cv_type_int_fast32_t" >&6; }
++
++
++if test "$ac_cv_header_stdint" != "stddef.h" ; then
++if test "$ac_cv_header_stdint" != "stdint.h" ; then
++{ echo "$as_me:$LINENO: result: ..adding include stddef.h" >&5
++echo "${ECHO_T}..adding include stddef.h" >&6; }
++ echo "#include <stddef.h>" >>$ac_stdint_h
++fi ; fi
++{ echo "$as_me:$LINENO: result: ..adding include $ac_cv_header_stdint" >&5
++echo "${ECHO_T}..adding include $ac_cv_header_stdint" >&6; }
++ echo "#include <$ac_cv_header_stdint>" >>$ac_stdint_h
++echo "" >>$ac_stdint_h
++
++# ----------------- DONE header START basic int types -------------
++if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ { echo "$as_me:$LINENO: result: ... need to look at C basic types" >&5
++echo "${ECHO_T}... need to look at C basic types" >&6; }
++else
++ { echo "$as_me:$LINENO: result: ... seen good stdint.h inttypes" >&5
++echo "${ECHO_T}... seen good stdint.h inttypes" >&6; }
++fi
++
++if test "$ac_cv_header_stdint_u" != "no-file" ; then
++ { echo "$as_me:$LINENO: result: ... seen bsd/sysv typedefs" >&5
++echo "${ECHO_T}... seen bsd/sysv typedefs" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */
++typedef u_int8_t uint8_t;
++typedef u_int16_t uint16_t;
++typedef u_int32_t uint32_t;
++EOF
++ cat >>$ac_stdint_h <<EOF
++
++/* glibc compatibility */
++#ifndef __int8_t_defined
++#define __int8_t_defined
++#endif
++EOF
++fi
++
++ac_cv_sizeof_x="$ac_cv_sizeof_char:$ac_cv_sizeof_short"
++ac_cv_sizeof_X="$ac_cv_sizeof_x:$ac_cv_sizeof_int"
++ac_cv_sizeof_X="$ac_cv_sizeof_X:$ac_cv_sizeof_voidp:$ac_cv_sizeof_long"
++if test "$ac_cv_header_stdint" = "stddef.h" ; then
++# we must guess all the basic types. Apart from byte-adressable system,
++# there a few 32-bit-only dsp-systems. nibble-addressable systems are way off.
++ cat >>$ac_stdint_h <<EOF
++/* ------------ BITSPECIFIC INTTYPES SECTION --------------- */
++EOF
++ t="typedefs for a"
++ case "$ac_cv_sizeof_X" in
++ 1:2:2:2:4) { echo "$as_me:$LINENO: result: ..adding $t normal 16-bit system" >&5
++echo "${ECHO_T}..adding $t normal 16-bit system" >&6; }
++ cat >>$ac_stdint_h <<EOF
++/* a normal 16-bit system */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned long uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef long int32_t;
++#endif
++EOF
++;;
++ 1:2:2:4:4) { echo "$as_me:$LINENO: result: ..adding $t 32-bit system derived from a 16-bit" >&5
++echo "${ECHO_T}..adding $t 32-bit system derived from a 16-bit" >&6; }
++ cat >>$ac_stdint_h <<EOF
++/* a 32-bit system derived from a 16-bit */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ 1:2:4:4:4) { echo "$as_me:$LINENO: result: ..adding $t normal 32-bit system" >&5
++echo "${ECHO_T}..adding $t normal 32-bit system" >&6; }
++ cat >>$ac_stdint_h <<EOF
++/* a normal 32-bit system */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ 1:2:4:4:8) { echo "$as_me:$LINENO: result: ..adding $t 32-bit system prepared for 64-bit" >&5
++echo "${ECHO_T}..adding $t 32-bit system prepared for 64-bit" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* a 32-bit system prepared for 64-bit */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ 1:2:4:8:8) { echo "$as_me:$LINENO: result: ..adding $t normal 64-bit system" >&5
++echo "${ECHO_T}..adding $t normal 64-bit system" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* a normal 64-bit system */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ 1:2:4:8:4) { echo "$as_me:$LINENO: result: ..adding $t 64-bit system derived from a 32-bit" >&5
++echo "${ECHO_T}..adding $t 64-bit system derived from a 32-bit" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* a 64-bit system derived from a 32-bit system */
++typedef unsigned char uint8_t;
++typedef unsigned short uint16_t;
++typedef unsigned int uint32_t;
++#ifndef __int8_t_defined
++#define __int8_t_defined
++typedef char int8_t;
++typedef short int16_t;
++typedef int int32_t;
++#endif
++EOF
++;;
++ *)
++ { { echo "$as_me:$LINENO: error: $ac_cv_sizeof_X what is that a system? contact the author, quick! http://ac-archive.sf.net" >&5
++echo "$as_me: error: $ac_cv_sizeof_X what is that a system? contact the author, quick! http://ac-archive.sf.net" >&2;}
++ { (exit 1); exit 1; }; }
++ exit 1
++;;
++ esac
++fi
++
++# ------------- DONE basic int types START int64_t types ------------
++if test "$ac_cv_type_uint64_t" = "yes"
++then { echo "$as_me:$LINENO: result: ... seen good uint64_t" >&5
++echo "${ECHO_T}... seen good uint64_t" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++/* system headers have good uint64_t */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++#endif
++EOF
+
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_type_socklen_t" >&5
+-echo "${ECHO_T}$ac_cv_type_socklen_t" >&6
+- if test $ac_cv_type_socklen_t != yes; then
+- cat >>confdefs.h <<\_ACEOF
+-#define socklen_t int
+-_ACEOF
++elif test "$ac_cv_type_u_int64_t" = "yes"
++then { echo "$as_me:$LINENO: result: ..adding typedef u_int64_t uint64_t" >&5
++echo "${ECHO_T}..adding typedef u_int64_t uint64_t" >&6; }
++ cat >>$ac_stdint_h <<EOF
+
+- fi
++/* system headers have an u_int64_t */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef u_int64_t uint64_t;
++#endif
++EOF
++else { echo "$as_me:$LINENO: result: ..adding generic uint64_t runtime checks" >&5
++echo "${ECHO_T}..adding generic uint64_t runtime checks" >&6; }
++ cat >>$ac_stdint_h <<EOF
+
+-if test ! -d ./rfb; then
+- echo "creating subdir ./rfb for rfbint.h"
+- mkdir ./rfb
+-fi
+-# ------ AC CREATE STDINT H -------------------------------------
+-echo "$as_me:$LINENO: checking for stdint-types...." >&5
+-echo $ECHO_N "checking for stdint-types....... $ECHO_C" >&6
+-ac_stdint_h=`echo rfb/rfbint.h`
+-if test "$ac_stdint_h" = "stdint.h" ; then
+- echo "$as_me:$LINENO: result: \"(are you sure you want them in ./stdint.h?)\"" >&5
+-echo "${ECHO_T}\"(are you sure you want them in ./stdint.h?)\"" >&6
+-elif test "$ac_stdint_h" = "inttypes.h" ; then
+- echo "$as_me:$LINENO: result: \"(are you sure you want them in ./inttypes.h?)\"" >&5
+-echo "${ECHO_T}\"(are you sure you want them in ./inttypes.h?)\"" >&6
+-else
+- echo "$as_me:$LINENO: result: \"(putting them into $ac_stdint_h)\"" >&5
+-echo "${ECHO_T}\"(putting them into $ac_stdint_h)\"" >&6
+-fi
++/* -------------------- 64 BIT GENERIC SECTION -------------------- */
++/* here are some common heuristics using compiler runtime specifics */
++#if defined __STDC_VERSION__ && defined __STDC_VERSION__ > 199901L
+
+-inttype_headers=`echo inttypes.h sys/inttypes.h sys/inttypes.h \
+-| sed -e 's/,/ /g'`
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long long int64_t;
++typedef unsigned long long uint64_t;
++#endif
+
+- ac_cv_header_stdint_x="no-file"
+- ac_cv_header_stdint_o="no-file"
+- ac_cv_header_stdint_u="no-file"
+- for i in stdint.h $inttype_headers ; do
+- unset ac_cv_type_uintptr_t
+- unset ac_cv_type_uint64_t
+- echo "$as_me:$LINENO: checking for uintptr_t" >&5
+-echo $ECHO_N "checking for uintptr_t... $ECHO_C" >&6
+-if test "${ac_cv_type_uintptr_t+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <$i>
++#elif !defined __STRICT_ANSI__
++#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
+
+-int
+-main ()
+-{
+-if ((uintptr_t *) 0)
+- return 0;
+-if (sizeof (uintptr_t))
+- return 0;
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_type_uintptr_t=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef __int64 int64_t;
++typedef unsigned __int64 uint64_t;
++#endif
+
+-ac_cv_type_uintptr_t=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_type_uintptr_t" >&5
+-echo "${ECHO_T}$ac_cv_type_uintptr_t" >&6
+-if test $ac_cv_type_uintptr_t = yes; then
+- ac_cv_header_stdint_x=$i
+-else
+- continue
+-fi
++#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__
+
+- echo "$as_me:$LINENO: checking for uint64_t" >&5
+-echo $ECHO_N "checking for uint64_t... $ECHO_C" >&6
+-if test "${ac_cv_type_uint64_t+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include<$i>
++#if !defined _NO_LONGLONG
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long long int64_t;
++typedef unsigned long long uint64_t;
++#endif
++#endif
+
+-int
+-main ()
+-{
+-if ((uint64_t *) 0)
+- return 0;
+-if (sizeof (uint64_t))
+- return 0;
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_type_uint64_t=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++#elif defined __alpha || (defined __mips && defined _ABIN32)
+
+-ac_cv_type_uint64_t=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_type_uint64_t" >&5
+-echo "${ECHO_T}$ac_cv_type_uint64_t" >&6
+-if test $ac_cv_type_uint64_t = yes; then
+- and64="(uint64_t too)"
+-else
+- and64=""
++#if !defined _NO_LONGLONG
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long int64_t;
++typedef unsigned long uint64_t;
++#endif
++#endif
++ /* compiler/cpu type ... or just ISO C99 */
++#endif
++#endif
++EOF
++
++# plus a default 64-bit for systems that are likely to be 64-bit ready
++ case "$ac_cv_sizeof_x:$ac_cv_sizeof_voidp:$ac_cv_sizeof_long" in
++ 1:2:8:8) { echo "$as_me:$LINENO: result: ..adding uint64_t default" >&5
++echo "${ECHO_T}..adding uint64_t default" >&6; }
++cat >>$ac_stdint_h <<EOF
++/* DEFAULT: */
++/* seen normal 64-bit system, CC has sizeof(long and void*) == 8 bytes */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long int64_t;
++typedef unsigned long uint64_t;
++#endif
++EOF
++;;
++ 1:2:4:8) { echo "$as_me:$LINENO: result: ..adding uint64_t default" >&5
++echo "${ECHO_T}..adding uint64_t default" >&6; }
++cat >>$ac_stdint_h <<EOF
++/* DEFAULT: */
++/* seen 32-bit system prepared for 64-bit, CC has sizeof(long) == 8 bytes */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long int64_t;
++typedef unsigned long uint64_t;
++#endif
++EOF
++;;
++ 1:2:8:4) { echo "$as_me:$LINENO: result: ..adding uint64_t default" >&5
++echo "${ECHO_T}..adding uint64_t default" >&6; }
++cat >>$ac_stdint_h <<EOF
++/* DEFAULT: */
++/* seen 64-bit derived from a 32-bit, CC has sizeof(long) == 4 bytes */
++#ifndef _HAVE_UINT64_T
++#define _HAVE_UINT64_T
++typedef long long int64_t;
++typedef unsigned long long uint64_t;
++#endif
++EOF
++;;
++ *)
++cat >>$ac_stdint_h <<EOF
++/* NOTE: */
++/* the configure-checks for the basic types did not make us believe */
++/* that we could add a fallback to a 'long long' typedef to int64_t */
++EOF
++ esac
+ fi
+
+- echo "$as_me:$LINENO: result: ... seen our uintptr_t in $i $and64" >&5
+-echo "${ECHO_T}... seen our uintptr_t in $i $and64" >&6
+- break;
+- done
+- if test "$ac_cv_header_stdint_x" = "no-file" ; then
+- for i in stdint.h $inttype_headers ; do
+- unset ac_cv_type_uint32_t
+- unset ac_cv_type_uint64_t
+- echo "$as_me:$LINENO: checking for uint32_t" >&5
+-echo $ECHO_N "checking for uint32_t... $ECHO_C" >&6
+-if test "${ac_cv_type_uint32_t+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <$i>
++# ------------- DONE int64_t types START intptr types ------------
++if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ cat >>$ac_stdint_h <<EOF
+
+-int
+-main ()
+-{
+-if ((uint32_t *) 0)
+- return 0;
+-if (sizeof (uint32_t))
+- return 0;
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_type_uint32_t=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++/* -------------------------- INPTR SECTION --------------------------- */
++EOF
++ case "$ac_cv_sizeof_x:$ac_cv_sizeof_voidp" in
++ 1:2:2)
++ a="int16_t" ; cat >>$ac_stdint_h <<EOF
++/* we tested sizeof(void*) to be of 2 chars, hence we declare it 16-bit */
++
++typedef uint16_t uintptr_t;
++typedef int16_t intptr_t;
++EOF
++;;
++ 1:2:4)
++ a="int32_t" ; cat >>$ac_stdint_h <<EOF
++/* we tested sizeof(void*) to be of 4 chars, hence we declare it 32-bit */
++
++typedef uint32_t uintptr_t;
++typedef int32_t intptr_t;
++EOF
++;;
++ 1:2:8)
++ a="int64_t" ; cat >>$ac_stdint_h <<EOF
++/* we tested sizeof(void*) to be of 8 chars, hence we declare it 64-bit */
+
+-ac_cv_type_uint32_t=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_type_uint32_t" >&5
+-echo "${ECHO_T}$ac_cv_type_uint32_t" >&6
+-if test $ac_cv_type_uint32_t = yes; then
+- ac_cv_header_stdint_o=$i
+-else
+- continue
++typedef uint64_t uintptr_t;
++typedef int64_t intptr_t;
++EOF
++;;
++ *)
++ a="long" ; cat >>$ac_stdint_h <<EOF
++/* we tested sizeof(void*) but got no guess, hence we declare it as if long */
++
++typedef unsigned long uintptr_t;
++typedef long intptr_t;
++EOF
++;;
++ esac
++{ echo "$as_me:$LINENO: result: ..adding typedef $a intptr_t" >&5
++echo "${ECHO_T}..adding typedef $a intptr_t" >&6; }
+ fi
+
+- echo "$as_me:$LINENO: checking for uint64_t" >&5
+-echo $ECHO_N "checking for uint64_t... $ECHO_C" >&6
+-if test "${ac_cv_type_uint64_t+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include<$i>
++# ------------- DONE intptr types START int_least types ------------
++if test "$ac_cv_type_int_least32_t" = "no"; then
++{ echo "$as_me:$LINENO: result: ..adding generic int_least-types" >&5
++echo "${ECHO_T}..adding generic int_least-types" >&6; }
++ cat >>$ac_stdint_h <<EOF
+
+-int
+-main ()
+-{
+-if ((uint64_t *) 0)
+- return 0;
+-if (sizeof (uint64_t))
+- return 0;
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_type_uint64_t=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++/* --------------GENERIC INT_LEAST ------------------ */
+
+-ac_cv_type_uint64_t=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_type_uint64_t" >&5
+-echo "${ECHO_T}$ac_cv_type_uint64_t" >&6
+-if test $ac_cv_type_uint64_t = yes; then
+- and64="(uint64_t too)"
+-else
+- and64=""
++typedef int8_t int_least8_t;
++typedef int16_t int_least16_t;
++typedef int32_t int_least32_t;
++#ifdef _HAVE_INT64_T
++typedef int64_t int_least64_t;
++#endif
++
++typedef uint8_t uint_least8_t;
++typedef uint16_t uint_least16_t;
++typedef uint32_t uint_least32_t;
++#ifdef _HAVE_INT64_T
++typedef uint64_t uint_least64_t;
++#endif
++EOF
+ fi
+
+- echo "$as_me:$LINENO: result: ... seen our uint32_t in $i $and64" >&5
+-echo "${ECHO_T}... seen our uint32_t in $i $and64" >&6
+- break;
+- done
+- if test "$ac_cv_header_stdint_o" = "no-file" ; then
+- for i in sys/types.h $inttype_headers ; do
+- unset ac_cv_type_u_int32_t
+- unset ac_cv_type_u_int64_t
+- echo "$as_me:$LINENO: checking for u_int32_t" >&5
+-echo $ECHO_N "checking for u_int32_t... $ECHO_C" >&6
+-if test "${ac_cv_type_u_int32_t+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <$i>
++# ------------- DONE intptr types START int_least types ------------
++if test "$ac_cv_type_int_fast32_t" = "no"; then
++{ echo "$as_me:$LINENO: result: ..adding generic int_fast-types" >&5
++echo "${ECHO_T}..adding generic int_fast-types" >&6; }
++ cat >>$ac_stdint_h <<EOF
+
+-int
+-main ()
+-{
+-if ((u_int32_t *) 0)
+- return 0;
+-if (sizeof (u_int32_t))
+- return 0;
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_type_u_int32_t=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++/* --------------GENERIC INT_FAST ------------------ */
+
+-ac_cv_type_u_int32_t=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++typedef int8_t int_fast8_t;
++typedef int32_t int_fast16_t;
++typedef int32_t int_fast32_t;
++#ifdef _HAVE_INT64_T
++typedef int64_t int_fast64_t;
++#endif
++
++typedef uint8_t uint_fast8_t;
++typedef uint32_t uint_fast16_t;
++typedef uint32_t uint_fast32_t;
++#ifdef _HAVE_INT64_T
++typedef uint64_t uint_fast64_t;
++#endif
++EOF
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_type_u_int32_t" >&5
+-echo "${ECHO_T}$ac_cv_type_u_int32_t" >&6
+-if test $ac_cv_type_u_int32_t = yes; then
+- ac_cv_header_stdint_u=$i
+-else
+- continue
++
++if test "$ac_cv_header_stdint_x" = "no-file" ; then
++ cat >>$ac_stdint_h <<EOF
++
++#ifdef _HAVE_INT64_T
++typedef int64_t intmax_t;
++typedef uint64_t uintmax_t;
++#else
++typedef long int intmax_t;
++typedef unsigned long uintmax_t;
++#endif
++EOF
+ fi
+
+- echo "$as_me:$LINENO: checking for uint64_t" >&5
+-echo $ECHO_N "checking for uint64_t... $ECHO_C" >&6
+-if test "${ac_cv_type_uint64_t+set}" = set; then
++{ echo "$as_me:$LINENO: result: ... DONE $ac_stdint_h" >&5
++echo "${ECHO_T}... DONE $ac_stdint_h" >&6; }
++ cat >>$ac_stdint_h <<EOF
++
++ /* once */
++#endif
++#endif
++EOF
++
++{ echo "$as_me:$LINENO: checking for in_addr_t" >&5
++echo $ECHO_N "checking for in_addr_t... $ECHO_C" >&6; }
++if test "${inaddrt+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- cat >conftest.$ac_ext <<_ACEOF
++
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include<$i>
+-
++#include <sys/types.h>
++#include <netinet/in.h>
+ int
+ main ()
+ {
+-if ((uint64_t *) 0)
+- return 0;
+-if (sizeof (uint64_t))
+- return 0;
++in_addr_t foo; return 0;
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_type_uint64_t=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ inaddrt=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_type_uint64_t=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++ inaddrt=no
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_type_uint64_t" >&5
+-echo "${ECHO_T}$ac_cv_type_uint64_t" >&6
+-if test $ac_cv_type_uint64_t = yes; then
+- and64="(u_int64_t too)"
+-else
+- and64=""
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext,
++
+ fi
++{ echo "$as_me:$LINENO: result: $inaddrt" >&5
++echo "${ECHO_T}$inaddrt" >&6; }
+
+- echo "$as_me:$LINENO: result: ... seen our u_int32_t in $i $and64" >&5
+-echo "${ECHO_T}... seen our u_int32_t in $i $and64" >&6
+- break;
+- done
+- fi
+- fi
+
+-# ----------------- DONE inttypes.h checks MAYBE C basic types --------
++if test $inaddrt = no ; then
++ cat >>confdefs.h <<\_ACEOF
++#define NEED_INADDR_T 1
++_ACEOF
+
+-if test "$ac_cv_header_stdint_x" = "no-file" ; then
+- echo "$as_me:$LINENO: checking size of char" >&5
+-echo $ECHO_N "checking size of char... $ECHO_C" >&6
+-if test "${ac_cv_sizeof_char+set}" = set; then
++fi
++
++# Checks for library functions.
++{ echo "$as_me:$LINENO: checking for working memcmp" >&5
++echo $ECHO_N "checking for working memcmp... $ECHO_C" >&6; }
++if test "${ac_cv_func_memcmp_working+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
++ if test "$cross_compiling" = yes; then
++ ac_cv_func_memcmp_working=no
++else
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include "confdefs.h"
+-#include <sys/types.h>
+-
+-
++$ac_includes_default
+ int
+ main ()
+ {
+-switch (0) case 0: case (sizeof (char) == $ac_size):;
++
++ /* Some versions of memcmp are not 8-bit clean. */
++ char c0 = '\100', c1 = '\200', c2 = '\201';
++ if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0)
++ return 1;
++
++ /* The Next x86 OpenStep bug shows up only when comparing 16 bytes
++ or more and with at least one buffer not starting on a 4-byte boundary.
++ William Lewis provided this test program. */
++ {
++ char foo[21];
++ char bar[21];
++ int i;
++ for (i = 0; i < 4; i++)
++ {
++ char *a = foo + i;
++ char *b = bar + i;
++ strcpy (a, "--------01111111");
++ strcpy (b, "--------10000000");
++ if (memcmp (a, b, 16) >= 0)
++ return 1;
++ }
++ return 0;
++ }
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_sizeof_char=$ac_size
++ ac_cv_func_memcmp_working=yes
+ else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+- if test x$ac_cv_sizeof_char != x ; then break; fi
+-done
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
++( exit $ac_status )
++ac_cv_func_memcmp_working=no
+ fi
+-
+-if test x$ac_cv_sizeof_char = x ; then
+- { { echo "$as_me:$LINENO: error: cannot determine a size for char" >&5
+-echo "$as_me: error: cannot determine a size for char" >&2;}
+- { (exit 1); exit 1; }; }
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5
+-echo "${ECHO_T}$ac_cv_sizeof_char" >&6
+
+-cat >>confdefs.h <<_ACEOF
+-#define SIZEOF_CHAR $ac_cv_sizeof_char
+-_ACEOF
+
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_memcmp_working" >&5
++echo "${ECHO_T}$ac_cv_func_memcmp_working" >&6; }
++test $ac_cv_func_memcmp_working = no && case " $LIBOBJS " in
++ *" memcmp.$ac_objext "* ) ;;
++ *) LIBOBJS="$LIBOBJS memcmp.$ac_objext"
++ ;;
++esac
+
+- echo "$as_me:$LINENO: checking size of short" >&5
+-echo $ECHO_N "checking size of short... $ECHO_C" >&6
+-if test "${ac_cv_sizeof_short+set}" = set; then
++
++{ echo "$as_me:$LINENO: checking whether lstat dereferences a symlink specified with a trailing slash" >&5
++echo $ECHO_N "checking whether lstat dereferences a symlink specified with a trailing slash... $ECHO_C" >&6; }
++if test "${ac_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
++ rm -f conftest.sym conftest.file
++echo >conftest.file
++if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
++ if test "$cross_compiling" = yes; then
++ ac_cv_func_lstat_dereferences_slashed_symlink=no
++else
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include "confdefs.h"
+-#include <sys/types.h>
+-
+-
++$ac_includes_default
+ int
+ main ()
+ {
+-switch (0) case 0: case (sizeof (short) == $ac_size):;
++struct stat sbuf;
++ /* Linux will dereference the symlink and fail.
++ That is better in the sense that it means we will not
++ have to compile and use the lstat wrapper. */
++ return lstat ("conftest.sym/", &sbuf) == 0;
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_sizeof_short=$ac_size
++ ac_cv_func_lstat_dereferences_slashed_symlink=yes
+ else
+- echo "$as_me: failed program was:" >&5
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
++( exit $ac_status )
++ac_cv_func_lstat_dereferences_slashed_symlink=no
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+- if test x$ac_cv_sizeof_short != x ; then break; fi
+-done
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
+
++else
++ # If the `ln -s' command failed, then we probably don't even
++ # have an lstat function.
++ ac_cv_func_lstat_dereferences_slashed_symlink=no
+ fi
++rm -f conftest.sym conftest.file
+
+-if test x$ac_cv_sizeof_short = x ; then
+- { { echo "$as_me:$LINENO: error: cannot determine a size for short" >&5
+-echo "$as_me: error: cannot determine a size for short" >&2;}
+- { (exit 1); exit 1; }; }
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5
+-echo "${ECHO_T}$ac_cv_sizeof_short" >&6
++{ echo "$as_me:$LINENO: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5
++echo "${ECHO_T}$ac_cv_func_lstat_dereferences_slashed_symlink" >&6; }
++
++test $ac_cv_func_lstat_dereferences_slashed_symlink = yes &&
+
+ cat >>confdefs.h <<_ACEOF
+-#define SIZEOF_SHORT $ac_cv_sizeof_short
++#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
+ _ACEOF
+
+
+- echo "$as_me:$LINENO: checking size of int" >&5
+-echo $ECHO_N "checking size of int... $ECHO_C" >&6
+-if test "${ac_cv_sizeof_int+set}" = set; then
++if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then
++ case " $LIBOBJS " in
++ *" lstat.$ac_objext "* ) ;;
++ *) LIBOBJS="$LIBOBJS lstat.$ac_objext"
++ ;;
++esac
++
++fi
++
++{ echo "$as_me:$LINENO: checking whether stat accepts an empty string" >&5
++echo $ECHO_N "checking whether stat accepts an empty string... $ECHO_C" >&6; }
++if test "${ac_cv_func_stat_empty_string_bug+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
++ if test "$cross_compiling" = yes; then
++ ac_cv_func_stat_empty_string_bug=yes
++else
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include "confdefs.h"
+-#include <sys/types.h>
+-
+-
++$ac_includes_default
+ int
+ main ()
+ {
+-switch (0) case 0: case (sizeof (int) == $ac_size):;
++struct stat sbuf;
++ return stat ("", &sbuf) == 0;
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_sizeof_int=$ac_size
++ ac_cv_func_stat_empty_string_bug=no
+ else
+- echo "$as_me: failed program was:" >&5
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
++( exit $ac_status )
++ac_cv_func_stat_empty_string_bug=yes
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+- if test x$ac_cv_sizeof_int != x ; then break; fi
+-done
+-
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+
+-if test x$ac_cv_sizeof_int = x ; then
+- { { echo "$as_me:$LINENO: error: cannot determine a size for int" >&5
+-echo "$as_me: error: cannot determine a size for int" >&2;}
+- { (exit 1); exit 1; }; }
++
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
+-echo "${ECHO_T}$ac_cv_sizeof_int" >&6
++{ echo "$as_me:$LINENO: result: $ac_cv_func_stat_empty_string_bug" >&5
++echo "${ECHO_T}$ac_cv_func_stat_empty_string_bug" >&6; }
++if test $ac_cv_func_stat_empty_string_bug = yes; then
++ case " $LIBOBJS " in
++ *" stat.$ac_objext "* ) ;;
++ *) LIBOBJS="$LIBOBJS stat.$ac_objext"
++ ;;
++esac
++
+
+ cat >>confdefs.h <<_ACEOF
+-#define SIZEOF_INT $ac_cv_sizeof_int
++#define HAVE_STAT_EMPTY_STRING_BUG 1
+ _ACEOF
+
++fi
++
+
+- echo "$as_me:$LINENO: checking size of long" >&5
+-echo $ECHO_N "checking size of long... $ECHO_C" >&6
+-if test "${ac_cv_sizeof_long+set}" = set; then
++for ac_func in strftime
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include "confdefs.h"
+-#include <sys/types.h>
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
+
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
+
+ int
+ main ()
+ {
+-switch (0) case 0: case (sizeof (long) == $ac_size):;
++return $ac_func ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_sizeof_long=$ac_size
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ eval "$as_ac_var=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+- if test x$ac_cv_sizeof_long != x ; then break; fi
+-done
+-
++ eval "$as_ac_var=no"
+ fi
+
+-if test x$ac_cv_sizeof_long = x ; then
+- { { echo "$as_me:$LINENO: error: cannot determine a size for long" >&5
+-echo "$as_me: error: cannot determine a size for long" >&2;}
+- { (exit 1); exit 1; }; }
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
+-echo "${ECHO_T}$ac_cv_sizeof_long" >&6
+-
+-cat >>confdefs.h <<_ACEOF
+-#define SIZEOF_LONG $ac_cv_sizeof_long
++ac_res=`eval echo '${'$as_ac_var'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+ _ACEOF
+
+-
+- echo "$as_me:$LINENO: checking size of void*" >&5
+-echo $ECHO_N "checking size of void*... $ECHO_C" >&6
+-if test "${ac_cv_sizeof_voidp+set}" = set; then
++else
++ # strftime is in -lintl on SCO UNIX.
++{ echo "$as_me:$LINENO: checking for strftime in -lintl" >&5
++echo $ECHO_N "checking for strftime in -lintl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_intl_strftime+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
+- cat >conftest.$ac_ext <<_ACEOF
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lintl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include "confdefs.h"
+-#include <sys/types.h>
+-
+
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char strftime ();
+ int
+ main ()
+ {
+-switch (0) case 0: case (sizeof (void*) == $ac_size):;
++return strftime ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_sizeof_voidp=$ac_size
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_intl_strftime=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+- if test x$ac_cv_sizeof_voidp != x ; then break; fi
+-done
+-
++ ac_cv_lib_intl_strftime=no
+ fi
+
+-if test x$ac_cv_sizeof_voidp = x ; then
+- { { echo "$as_me:$LINENO: error: cannot determine a size for void*" >&5
+-echo "$as_me: error: cannot determine a size for void*" >&2;}
+- { (exit 1); exit 1; }; }
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_sizeof_voidp" >&5
+-echo "${ECHO_T}$ac_cv_sizeof_voidp" >&6
+-
+-cat >>confdefs.h <<_ACEOF
+-#define SIZEOF_VOIDP $ac_cv_sizeof_voidp
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_intl_strftime" >&5
++echo "${ECHO_T}$ac_cv_lib_intl_strftime" >&6; }
++if test $ac_cv_lib_intl_strftime = yes; then
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_STRFTIME 1
+ _ACEOF
+
+-
+- ac_cv_header_stdint_test="yes"
+-else
+- ac_cv_header_stdint_test="no"
++LIBS="-lintl $LIBS"
+ fi
+
+-# ----------------- DONE inttypes.h checks START header -------------
+-_ac_stdint_h=`echo "_$ac_stdint_h" | $as_tr_cpp`
+-echo "$as_me:$LINENO: result: creating $ac_stdint_h : $_ac_stdint_h" >&5
+-echo "${ECHO_T}creating $ac_stdint_h : $_ac_stdint_h" >&6
+-echo "#ifndef" $_ac_stdint_h >$ac_stdint_h
+-echo "#define" $_ac_stdint_h "1" >>$ac_stdint_h
+-echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint_h
+-echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint_h
+-if test "$GCC" = "yes" ; then
+- echo "/* generated using a gnu compiler version" `$CC --version` "*/" \
+- >>$ac_stdint_h
+-else
+- echo "/* generated using $CC */" >>$ac_stdint_h
+ fi
+-echo "" >>$ac_stdint_h
++done
+
+-if test "$ac_cv_header_stdint_x" != "no-file" ; then
+- ac_cv_header_stdint="$ac_cv_header_stdint_x"
+-elif test "$ac_cv_header_stdint_o" != "no-file" ; then
+- ac_cv_header_stdint="$ac_cv_header_stdint_o"
+-elif test "$ac_cv_header_stdint_u" != "no-file" ; then
+- ac_cv_header_stdint="$ac_cv_header_stdint_u"
+-else
+- ac_cv_header_stdint="stddef.h"
+-fi
+
+-# ----------------- See if int_least and int_fast types are present
+-unset ac_cv_type_int_least32_t
+-unset ac_cv_type_int_fast32_t
+-echo "$as_me:$LINENO: checking for int_least32_t" >&5
+-echo $ECHO_N "checking for int_least32_t... $ECHO_C" >&6
+-if test "${ac_cv_type_int_least32_t+set}" = set; then
++for ac_func in vprintf
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+@@ -25778,56 +18701,85 @@
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <$ac_cv_header_stdint>
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
+
+ int
+ main ()
+ {
+-if ((int_least32_t *) 0)
+- return 0;
+-if (sizeof (int_least32_t))
+- return 0;
++return $ac_func ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_type_int_least32_t=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ eval "$as_ac_var=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_type_int_least32_t=no
++ eval "$as_ac_var=no"
+ fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_type_int_least32_t" >&5
+-echo "${ECHO_T}$ac_cv_type_int_least32_t" >&6
++ac_res=`eval echo '${'$as_ac_var'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
+
+-echo "$as_me:$LINENO: checking for int_fast32_t" >&5
+-echo $ECHO_N "checking for int_fast32_t... $ECHO_C" >&6
+-if test "${ac_cv_type_int_fast32_t+set}" = set; then
++{ echo "$as_me:$LINENO: checking for _doprnt" >&5
++echo $ECHO_N "checking for _doprnt... $ECHO_C" >&6; }
++if test "${ac_cv_func__doprnt+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+@@ -25836,737 +18788,923 @@
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include<$ac_cv_header_stdint>
++/* Define _doprnt to an innocuous variant, in case <limits.h> declares _doprnt.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define _doprnt innocuous__doprnt
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char _doprnt (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef _doprnt
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char _doprnt ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub__doprnt || defined __stub____doprnt
++choke me
++#endif
+
+ int
+ main ()
+ {
+-if ((int_fast32_t *) 0)
+- return 0;
+-if (sizeof (int_fast32_t))
+- return 0;
++return _doprnt ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_type_int_fast32_t=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_func__doprnt=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_type_int_fast32_t=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++ ac_cv_func__doprnt=no
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_type_int_fast32_t" >&5
+-echo "${ECHO_T}$ac_cv_type_int_fast32_t" >&6
+-
+-
+-if test "$ac_cv_header_stdint" != "stddef.h" ; then
+-if test "$ac_cv_header_stdint" != "stdint.h" ; then
+-echo "$as_me:$LINENO: result: ..adding include stddef.h" >&5
+-echo "${ECHO_T}..adding include stddef.h" >&6
+- echo "#include <stddef.h>" >>$ac_stdint_h
+-fi ; fi
+-echo "$as_me:$LINENO: result: ..adding include $ac_cv_header_stdint" >&5
+-echo "${ECHO_T}..adding include $ac_cv_header_stdint" >&6
+- echo "#include <$ac_cv_header_stdint>" >>$ac_stdint_h
+-echo "" >>$ac_stdint_h
+
+-# ----------------- DONE header START basic int types -------------
+-if test "$ac_cv_header_stdint_x" = "no-file" ; then
+- echo "$as_me:$LINENO: result: ... need to look at C basic types" >&5
+-echo "${ECHO_T}... need to look at C basic types" >&6
+-else
+- echo "$as_me:$LINENO: result: ... seen good stdint.h inttypes" >&5
+-echo "${ECHO_T}... seen good stdint.h inttypes" >&6
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
+ fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5
++echo "${ECHO_T}$ac_cv_func__doprnt" >&6; }
++if test $ac_cv_func__doprnt = yes; then
+
+-if test "$ac_cv_header_stdint_u" != "no-file" ; then
+- echo "$as_me:$LINENO: result: ... seen bsd/sysv typedefs" >&5
+-echo "${ECHO_T}... seen bsd/sysv typedefs" >&6
+- cat >>$ac_stdint_h <<EOF
+-
+-/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */
+-typedef u_int8_t uint8_t;
+-typedef u_int16_t uint16_t;
+-typedef u_int32_t uint32_t;
+-EOF
+- cat >>$ac_stdint_h <<EOF
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DOPRNT 1
++_ACEOF
+
+-/* glibc compatibility */
+-#ifndef __int8_t_defined
+-#define __int8_t_defined
+-#endif
+-EOF
+ fi
+
+-ac_cv_sizeof_x="$ac_cv_sizeof_char:$ac_cv_sizeof_short"
+-ac_cv_sizeof_X="$ac_cv_sizeof_x:$ac_cv_sizeof_int"
+-ac_cv_sizeof_X="$ac_cv_sizeof_X:$ac_cv_sizeof_voidp:$ac_cv_sizeof_long"
+-if test "$ac_cv_header_stdint" = "stddef.h" ; then
+-# we must guess all the basic types. Apart from byte-adressable system,
+-# there a few 32-bit-only dsp-systems. nibble-addressable systems are way off.
+- cat >>$ac_stdint_h <<EOF
+-/* ------------ BITSPECIFIC INTTYPES SECTION --------------- */
+-EOF
+- t="typedefs for a"
+- case "$ac_cv_sizeof_X" in
+- 1:2:2:2:4) echo "$as_me:$LINENO: result: ..adding $t normal 16-bit system" >&5
+-echo "${ECHO_T}..adding $t normal 16-bit system" >&6
+- cat >>$ac_stdint_h <<EOF
+-/* a normal 16-bit system */
+-typedef unsigned char uint8_t;
+-typedef unsigned short uint16_t;
+-typedef unsigned long uint32_t;
+-#ifndef __int8_t_defined
+-#define __int8_t_defined
+-typedef char int8_t;
+-typedef short int16_t;
+-typedef long int32_t;
+-#endif
+-EOF
+-;;
+- 1:2:2:4:4) echo "$as_me:$LINENO: result: ..adding $t 32-bit system derived from a 16-bit" >&5
+-echo "${ECHO_T}..adding $t 32-bit system derived from a 16-bit" >&6
+- cat >>$ac_stdint_h <<EOF
+-/* a 32-bit system derived from a 16-bit */
+-typedef unsigned char uint8_t;
+-typedef unsigned short uint16_t;
+-typedef unsigned int uint32_t;
+-#ifndef __int8_t_defined
+-#define __int8_t_defined
+-typedef char int8_t;
+-typedef short int16_t;
+-typedef int int32_t;
+-#endif
+-EOF
+-;;
+- 1:2:4:4:4) echo "$as_me:$LINENO: result: ..adding $t normal 32-bit system" >&5
+-echo "${ECHO_T}..adding $t normal 32-bit system" >&6
+- cat >>$ac_stdint_h <<EOF
+-/* a normal 32-bit system */
+-typedef unsigned char uint8_t;
+-typedef unsigned short uint16_t;
+-typedef unsigned int uint32_t;
+-#ifndef __int8_t_defined
+-#define __int8_t_defined
+-typedef char int8_t;
+-typedef short int16_t;
+-typedef int int32_t;
+-#endif
+-EOF
+-;;
+- 1:2:4:4:8) echo "$as_me:$LINENO: result: ..adding $t 32-bit system prepared for 64-bit" >&5
+-echo "${ECHO_T}..adding $t 32-bit system prepared for 64-bit" >&6
+- cat >>$ac_stdint_h <<EOF
+-
+-/* a 32-bit system prepared for 64-bit */
+-typedef unsigned char uint8_t;
+-typedef unsigned short uint16_t;
+-typedef unsigned int uint32_t;
+-#ifndef __int8_t_defined
+-#define __int8_t_defined
+-typedef char int8_t;
+-typedef short int16_t;
+-typedef int int32_t;
+-#endif
+-EOF
+-;;
+- 1:2:4:8:8) echo "$as_me:$LINENO: result: ..adding $t normal 64-bit system" >&5
+-echo "${ECHO_T}..adding $t normal 64-bit system" >&6
+- cat >>$ac_stdint_h <<EOF
+-
+-/* a normal 64-bit system */
+-typedef unsigned char uint8_t;
+-typedef unsigned short uint16_t;
+-typedef unsigned int uint32_t;
+-#ifndef __int8_t_defined
+-#define __int8_t_defined
+-typedef char int8_t;
+-typedef short int16_t;
+-typedef int int32_t;
+-#endif
+-EOF
+-;;
+- 1:2:4:8:4) echo "$as_me:$LINENO: result: ..adding $t 64-bit system derived from a 32-bit" >&5
+-echo "${ECHO_T}..adding $t 64-bit system derived from a 32-bit" >&6
+- cat >>$ac_stdint_h <<EOF
+-
+-/* a 64-bit system derived from a 32-bit system */
+-typedef unsigned char uint8_t;
+-typedef unsigned short uint16_t;
+-typedef unsigned int uint32_t;
+-#ifndef __int8_t_defined
+-#define __int8_t_defined
+-typedef char int8_t;
+-typedef short int16_t;
+-typedef int int32_t;
+-#endif
+-EOF
+-;;
+- *)
+- { { echo "$as_me:$LINENO: error: $ac_cv_sizeof_X what is that a system? contact the author, quick! http://ac-archive.sf.net" >&5
+-echo "$as_me: error: $ac_cv_sizeof_X what is that a system? contact the author, quick! http://ac-archive.sf.net" >&2;}
+- { (exit 1); exit 1; }; }
+- exit 1
+-;;
+- esac
+ fi
++done
+
+-# ------------- DONE basic int types START int64_t types ------------
+-if test "$ac_cv_type_uint64_t" = "yes"
+-then echo "$as_me:$LINENO: result: ... seen good uint64_t" >&5
+-echo "${ECHO_T}... seen good uint64_t" >&6
+- cat >>$ac_stdint_h <<EOF
+-
+-/* system headers have good uint64_t */
+-#ifndef _HAVE_UINT64_T
+-#define _HAVE_UINT64_T
+-#endif
+-EOF
+-
+-elif test "$ac_cv_type_u_int64_t" = "yes"
+-then echo "$as_me:$LINENO: result: ..adding typedef u_int64_t uint64_t" >&5
+-echo "${ECHO_T}..adding typedef u_int64_t uint64_t" >&6
+- cat >>$ac_stdint_h <<EOF
+-
+-/* system headers have an u_int64_t */
+-#ifndef _HAVE_UINT64_T
+-#define _HAVE_UINT64_T
+-typedef u_int64_t uint64_t;
+-#endif
+-EOF
+-else echo "$as_me:$LINENO: result: ..adding generic uint64_t runtime checks" >&5
+-echo "${ECHO_T}..adding generic uint64_t runtime checks" >&6
+- cat >>$ac_stdint_h <<EOF
+-
+-/* -------------------- 64 BIT GENERIC SECTION -------------------- */
+-/* here are some common heuristics using compiler runtime specifics */
+-#if defined __STDC_VERSION__ && defined __STDC_VERSION__ > 199901L
+
+-#ifndef _HAVE_UINT64_T
+-#define _HAVE_UINT64_T
+-typedef long long int64_t;
+-typedef unsigned long long uint64_t;
+-#endif
++{ echo "$as_me:$LINENO: checking for pid_t" >&5
++echo $ECHO_N "checking for pid_t... $ECHO_C" >&6; }
++if test "${ac_cv_type_pid_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++typedef pid_t ac__type_new_;
++int
++main ()
++{
++if ((ac__type_new_ *) 0)
++ return 0;
++if (sizeof (ac__type_new_))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_type_pid_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+-#elif !defined __STRICT_ANSI__
+-#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
++ ac_cv_type_pid_t=no
++fi
+
+-#ifndef _HAVE_UINT64_T
+-#define _HAVE_UINT64_T
+-typedef __int64 int64_t;
+-typedef unsigned __int64 uint64_t;
+-#endif
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
++echo "${ECHO_T}$ac_cv_type_pid_t" >&6; }
++if test $ac_cv_type_pid_t = yes; then
++ :
++else
+
+-#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__
++cat >>confdefs.h <<_ACEOF
++#define pid_t int
++_ACEOF
+
+-#if !defined _NO_LONGLONG
+-#ifndef _HAVE_UINT64_T
+-#define _HAVE_UINT64_T
+-typedef long long int64_t;
+-typedef unsigned long long uint64_t;
+-#endif
+-#endif
++fi
+
+-#elif defined __alpha || (defined __mips && defined _ABIN32)
+
+-#if !defined _NO_LONGLONG
+-#ifndef _HAVE_UINT64_T
+-#define _HAVE_UINT64_T
+-typedef long int64_t;
+-typedef unsigned long uint64_t;
+-#endif
+-#endif
+- /* compiler/cpu type ... or just ISO C99 */
+-#endif
+-#endif
+-EOF
++for ac_header in vfork.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ { echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++else
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+-# plus a default 64-bit for systems that are likely to be 64-bit ready
+- case "$ac_cv_sizeof_x:$ac_cv_sizeof_voidp:$ac_cv_sizeof_long" in
+- 1:2:8:8) echo "$as_me:$LINENO: result: ..adding uint64_t default" >&5
+-echo "${ECHO_T}..adding uint64_t default" >&6
+-cat >>$ac_stdint_h <<EOF
+-/* DEFAULT: */
+-/* seen normal 64-bit system, CC has sizeof(long and void*) == 8 bytes */
+-#ifndef _HAVE_UINT64_T
+-#define _HAVE_UINT64_T
+-typedef long int64_t;
+-typedef unsigned long uint64_t;
+-#endif
+-EOF
+-;;
+- 1:2:4:8) echo "$as_me:$LINENO: result: ..adding uint64_t default" >&5
+-echo "${ECHO_T}..adding uint64_t default" >&6
+-cat >>$ac_stdint_h <<EOF
+-/* DEFAULT: */
+-/* seen 32-bit system prepared for 64-bit, CC has sizeof(long) == 8 bytes */
+-#ifndef _HAVE_UINT64_T
+-#define _HAVE_UINT64_T
+-typedef long int64_t;
+-typedef unsigned long uint64_t;
+-#endif
+-EOF
+-;;
+- 1:2:8:4) echo "$as_me:$LINENO: result: ..adding uint64_t default" >&5
+-echo "${ECHO_T}..adding uint64_t default" >&6
+-cat >>$ac_stdint_h <<EOF
+-/* DEFAULT: */
+-/* seen 64-bit derived from a 32-bit, CC has sizeof(long) == 4 bytes */
+-#ifndef _HAVE_UINT64_T
+-#define _HAVE_UINT64_T
+-typedef long long int64_t;
+-typedef unsigned long long uint64_t;
+-#endif
+-EOF
+-;;
+- *)
+-cat >>$ac_stdint_h <<EOF
+-/* NOTE: */
+-/* the configure-checks for the basic types did not make us believe */
+-/* that we could add a fallback to a 'long long' typedef to int64_t */
+-EOF
+- esac
++ ac_header_compiler=no
+ fi
+
+-# ------------- DONE int64_t types START intptr types ------------
+-if test "$ac_cv_header_stdint_x" = "no-file" ; then
+- cat >>$ac_stdint_h <<EOF
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+-/* -------------------------- INPTR SECTION --------------------------- */
+-EOF
+- case "$ac_cv_sizeof_x:$ac_cv_sizeof_voidp" in
+- 1:2:2)
+- a="int16_t" ; cat >>$ac_stdint_h <<EOF
+-/* we tested sizeof(void*) to be of 2 chars, hence we declare it 16-bit */
++# Is the header present?
++{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <$ac_header>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+-typedef uint16_t uintptr_t;
+-typedef int16_t intptr_t;
+-EOF
+-;;
+- 1:2:4)
+- a="int32_t" ; cat >>$ac_stdint_h <<EOF
+-/* we tested sizeof(void*) to be of 4 chars, hence we declare it 32-bit */
++ ac_header_preproc=no
++fi
+
+-typedef uint32_t uintptr_t;
+-typedef int32_t intptr_t;
+-EOF
+-;;
+- 1:2:8)
+- a="int64_t" ; cat >>$ac_stdint_h <<EOF
+-/* we tested sizeof(void*) to be of 8 chars, hence we declare it 64-bit */
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+-typedef uint64_t uintptr_t;
+-typedef int64_t intptr_t;
+-EOF
+-;;
+- *)
+- a="long" ; cat >>$ac_stdint_h <<EOF
+-/* we tested sizeof(void*) but got no guess, hence we declare it as if long */
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++## ----------------------------------------------------------- ##
++## Report this to http://sourceforge.net/projects/libvncserver ##
++## ----------------------------------------------------------- ##
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ eval "$as_ac_Header=\$ac_header_preproc"
++fi
++ac_res=`eval echo '${'$as_ac_Header'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
+
+-typedef unsigned long uintptr_t;
+-typedef long intptr_t;
+-EOF
+-;;
+- esac
+-echo "$as_me:$LINENO: result: ..adding typedef $a intptr_t" >&5
+-echo "${ECHO_T}..adding typedef $a intptr_t" >&6
+ fi
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
+
+-# ------------- DONE intptr types START int_least types ------------
+-if test "$ac_cv_type_int_least32_t" = "no"; then
+-echo "$as_me:$LINENO: result: ..adding generic int_least-types" >&5
+-echo "${ECHO_T}..adding generic int_least-types" >&6
+- cat >>$ac_stdint_h <<EOF
++fi
+
+-/* --------------GENERIC INT_LEAST ------------------ */
++done
+
+-typedef int8_t int_least8_t;
+-typedef int16_t int_least16_t;
+-typedef int32_t int_least32_t;
+-#ifdef _HAVE_INT64_T
+-typedef int64_t int_least64_t;
+-#endif
+
+-typedef uint8_t uint_least8_t;
+-typedef uint16_t uint_least16_t;
+-typedef uint32_t uint_least32_t;
+-#ifdef _HAVE_INT64_T
+-typedef uint64_t uint_least64_t;
+-#endif
+-EOF
+-fi
+
+-# ------------- DONE intptr types START int_least types ------------
+-if test "$ac_cv_type_int_fast32_t" = "no"; then
+-echo "$as_me:$LINENO: result: ..adding generic int_fast-types" >&5
+-echo "${ECHO_T}..adding generic int_fast-types" >&6
+- cat >>$ac_stdint_h <<EOF
++for ac_func in fork vfork
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
+
+-/* --------------GENERIC INT_FAST ------------------ */
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
+
+-typedef int8_t int_fast8_t;
+-typedef int32_t int_fast16_t;
+-typedef int32_t int_fast32_t;
+-#ifdef _HAVE_INT64_T
+-typedef int64_t int_fast64_t;
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
+ #endif
+
+-typedef uint8_t uint_fast8_t;
+-typedef uint32_t uint_fast16_t;
+-typedef uint32_t uint_fast32_t;
+-#ifdef _HAVE_INT64_T
+-typedef uint64_t uint_fast64_t;
++#undef $ac_func
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
+ #endif
+-EOF
+-fi
+
+-if test "$ac_cv_header_stdint_x" = "no-file" ; then
+- cat >>$ac_stdint_h <<EOF
++int
++main ()
++{
++return $ac_func ();
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ eval "$as_ac_var=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+-#ifdef _HAVE_INT64_T
+-typedef int64_t intmax_t;
+-typedef uint64_t uintmax_t;
+-#else
+-typedef long int intmax_t;
+-typedef unsigned long uintmax_t;
+-#endif
+-EOF
++ eval "$as_ac_var=no"
+ fi
+
+-echo "$as_me:$LINENO: result: ... DONE $ac_stdint_h" >&5
+-echo "${ECHO_T}... DONE $ac_stdint_h" >&6
+- cat >>$ac_stdint_h <<EOF
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++ac_res=`eval echo '${'$as_ac_var'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
+
+- /* once */
+-#endif
+-#endif
+-EOF
++fi
++done
+
+-echo "$as_me:$LINENO: checking for in_addr_t" >&5
+-echo $ECHO_N "checking for in_addr_t... $ECHO_C" >&6
+-if test "${inaddrt+set}" = set; then
++if test "x$ac_cv_func_fork" = xyes; then
++ { echo "$as_me:$LINENO: checking for working fork" >&5
++echo $ECHO_N "checking for working fork... $ECHO_C" >&6; }
++if test "${ac_cv_func_fork_works+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+-
+- cat >conftest.$ac_ext <<_ACEOF
++ if test "$cross_compiling" = yes; then
++ ac_cv_func_fork_works=cross
++else
++ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-#include <sys/types.h>
+-#include <netinet/in.h>
++$ac_includes_default
+ int
+ main ()
+ {
+-in_addr_t foo; return 0;
++
++ /* By Ruediger Kuhlmann. */
++ return fork () < 0;
++
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
+ ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++ (exit $ac_status); }; }; then
++ ac_cv_func_fork_works=yes
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_func_fork_works=no
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_fork_works" >&5
++echo "${ECHO_T}$ac_cv_func_fork_works" >&6; }
++
++else
++ ac_cv_func_fork_works=$ac_cv_func_fork
++fi
++if test "x$ac_cv_func_fork_works" = xcross; then
++ case $host in
++ *-*-amigaos* | *-*-msdosdjgpp*)
++ # Override, as these systems have only a dummy fork() stub
++ ac_cv_func_fork_works=no
++ ;;
++ *)
++ ac_cv_func_fork_works=yes
++ ;;
++ esac
++ { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5
++echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;}
++fi
++ac_cv_func_vfork_works=$ac_cv_func_vfork
++if test "x$ac_cv_func_vfork" = xyes; then
++ { echo "$as_me:$LINENO: checking for working vfork" >&5
++echo $ECHO_N "checking for working vfork... $ECHO_C" >&6; }
++if test "${ac_cv_func_vfork_works+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test "$cross_compiling" = yes; then
++ ac_cv_func_vfork_works=cross
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Thanks to Paul Eggert for this test. */
++$ac_includes_default
++#include <sys/wait.h>
++#ifdef HAVE_VFORK_H
++# include <vfork.h>
++#endif
++/* On some sparc systems, changes by the child to local and incoming
++ argument registers are propagated back to the parent. The compiler
++ is told about this with #include <vfork.h>, but some compilers
++ (e.g. gcc -O) don't grok <vfork.h>. Test for this by using a
++ static variable whose address is put into a register that is
++ clobbered by the vfork. */
++static void
++#ifdef __cplusplus
++sparc_address_test (int arg)
++# else
++sparc_address_test (arg) int arg;
++#endif
++{
++ static pid_t child;
++ if (!child) {
++ child = vfork ();
++ if (child < 0) {
++ perror ("vfork");
++ _exit(2);
++ }
++ if (!child) {
++ arg = getpid();
++ write(-1, "", 0);
++ _exit (arg);
++ }
++ }
++}
++
++int
++main ()
++{
++ pid_t parent = getpid ();
++ pid_t child;
++
++ sparc_address_test (0);
++
++ child = vfork ();
++
++ if (child == 0) {
++ /* Here is another test for sparc vfork register problems. This
++ test uses lots of local variables, at least as many local
++ variables as main has allocated so far including compiler
++ temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris
++ 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should
++ reuse the register of parent for one of the local variables,
++ since it will think that parent can't possibly be used any more
++ in this routine. Assigning to the local variable will thus
++ munge parent in the parent process. */
++ pid_t
++ p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),
++ p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();
++ /* Convince the compiler that p..p7 are live; otherwise, it might
++ use the same hardware register for all 8 local variables. */
++ if (p != p1 || p != p2 || p != p3 || p != p4
++ || p != p5 || p != p6 || p != p7)
++ _exit(1);
++
++ /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent
++ from child file descriptors. If the child closes a descriptor
++ before it execs or exits, this munges the parent's descriptor
++ as well. Test for this by closing stdout in the child. */
++ _exit(close(fileno(stdout)) != 0);
++ } else {
++ int status;
++ struct stat st;
++
++ while (wait(&status) != child)
++ ;
++ return (
++ /* Was there some problem with vforking? */
++ child < 0
++
++ /* Did the child fail? (This shouldn't happen.) */
++ || status
++
++ /* Did the vfork/compiler bug occur? */
++ || parent != getpid()
++
++ /* Did the file descriptor bug occur? */
++ || fstat(fileno(stdout), &st) != 0
++ );
++ }
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++ { (case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- inaddrt=yes
++ ac_cv_func_vfork_works=yes
++else
++ echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_func_vfork_works=no
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_func_vfork_works" >&5
++echo "${ECHO_T}$ac_cv_func_vfork_works" >&6; }
++
++fi;
++if test "x$ac_cv_func_fork_works" = xcross; then
++ ac_cv_func_vfork_works=$ac_cv_func_vfork
++ { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5
++echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;}
++fi
++
++if test "x$ac_cv_func_vfork_works" = xyes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_WORKING_VFORK 1
++_ACEOF
++
+ else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-inaddrt=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext,
++cat >>confdefs.h <<\_ACEOF
++#define vfork fork
++_ACEOF
+
+ fi
+-echo "$as_me:$LINENO: result: $inaddrt" >&5
+-echo "${ECHO_T}$inaddrt" >&6
+-
++if test "x$ac_cv_func_fork_works" = xyes; then
+
+-if test $inaddrt = no ; then
+- cat >>confdefs.h <<\_ACEOF
+-#define NEED_INADDR_T 1
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_WORKING_FORK 1
+ _ACEOF
+
+ fi
+
+-# Checks for library functions.
+-echo "$as_me:$LINENO: checking for working memcmp" >&5
+-echo $ECHO_N "checking for working memcmp... $ECHO_C" >&6
+-if test "${ac_cv_func_memcmp_working+set}" = set; then
++
++{ echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
++echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6; }
++if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- if test "$cross_compiling" = yes; then
+- ac_cv_func_memcmp_working=no
+-else
+- cat >conftest.$ac_ext <<_ACEOF
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lnsl $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-$ac_includes_default
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char gethostbyname ();
+ int
+ main ()
+ {
+-
+- /* Some versions of memcmp are not 8-bit clean. */
+- char c0 = 0x40, c1 = 0x80, c2 = 0x81;
+- if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0)
+- exit (1);
+-
+- /* The Next x86 OpenStep bug shows up only when comparing 16 bytes
+- or more and with at least one buffer not starting on a 4-byte boundary.
+- William Lewis provided this test program. */
+- {
+- char foo[21];
+- char bar[21];
+- int i;
+- for (i = 0; i < 4; i++)
+- {
+- char *a = foo + i;
+- char *b = bar + i;
+- strcpy (a, "--------01111111");
+- strcpy (b, "--------10000000");
+- if (memcmp (a, b, 16) >= 0)
+- exit (1);
+- }
+- exit (0);
+- }
+-
++return gethostbyname ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_memcmp_working=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_nsl_gethostbyname=yes
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
++ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-( exit $ac_status )
+-ac_cv_func_memcmp_working=no
++ ac_cv_lib_nsl_gethostbyname=no
+ fi
+-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
+ fi
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6; }
++if test $ac_cv_lib_nsl_gethostbyname = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define HAVE_LIBNSL 1
++_ACEOF
++
++ LIBS="-lnsl $LIBS"
++
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_func_memcmp_working" >&5
+-echo "${ECHO_T}$ac_cv_func_memcmp_working" >&6
+-test $ac_cv_func_memcmp_working = no && case $LIBOBJS in
+- "memcmp.$ac_objext" | \
+- *" memcmp.$ac_objext" | \
+- "memcmp.$ac_objext "* | \
+- *" memcmp.$ac_objext "* ) ;;
+- *) LIBOBJS="$LIBOBJS memcmp.$ac_objext" ;;
+-esac
+
+
+-echo "$as_me:$LINENO: checking whether lstat dereferences a symlink specified with a trailing slash" >&5
+-echo $ECHO_N "checking whether lstat dereferences a symlink specified with a trailing slash... $ECHO_C" >&6
+-if test "${ac_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then
++{ echo "$as_me:$LINENO: checking for socket in -lsocket" >&5
++echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6; }
++if test "${ac_cv_lib_socket_socket+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- rm -f conftest.sym conftest.file
+-echo >conftest.file
+-if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then
+- if test "$cross_compiling" = yes; then
+- ac_cv_func_lstat_dereferences_slashed_symlink=no
+-else
+- cat >conftest.$ac_ext <<_ACEOF
++ ac_check_lib_save_LIBS=$LIBS
++LIBS="-lsocket $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-$ac_includes_default
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char socket ();
+ int
+ main ()
+ {
+-struct stat sbuf;
+- /* Linux will dereference the symlink and fail.
+- That is better in the sense that it means we will not
+- have to compile and use the lstat wrapper. */
+- exit (lstat ("conftest.sym/", &sbuf) ? 0 : 1);
++return socket ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_lstat_dereferences_slashed_symlink=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_socket_socket=yes
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
++ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-( exit $ac_status )
+-ac_cv_func_lstat_dereferences_slashed_symlink=no
++ ac_cv_lib_socket_socket=no
+ fi
+-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
+ fi
+-else
+- # If the `ln -s' command failed, then we probably don't even
+- # have an lstat function.
+- ac_cv_func_lstat_dereferences_slashed_symlink=no
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5
++echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6; }
++if test $ac_cv_lib_socket_socket = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define HAVE_LIBSOCKET 1
++_ACEOF
++
++ LIBS="-lsocket $LIBS"
++
+ fi
+-rm -f conftest.sym conftest.file
+
++
++uname_s=`(uname -s) 2>/dev/null`
++if test "x$uname_s" = "xHP-UX"; then
++ # need -lsec for getspnam()
++ LDFLAGS="$LDFLAGS -lsec"
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5
+-echo "${ECHO_T}$ac_cv_func_lstat_dereferences_slashed_symlink" >&6
+
+-test $ac_cv_func_lstat_dereferences_slashed_symlink = yes &&
+
+-cat >>confdefs.h <<_ACEOF
+-#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
+-_ACEOF
+
+
+-if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then
+- case $LIBOBJS in
+- "lstat.$ac_objext" | \
+- *" lstat.$ac_objext" | \
+- "lstat.$ac_objext "* | \
+- *" lstat.$ac_objext "* ) ;;
+- *) LIBOBJS="$LIBOBJS lstat.$ac_objext" ;;
+-esac
+
+-fi
+
+-echo "$as_me:$LINENO: checking whether stat accepts an empty string" >&5
+-echo $ECHO_N "checking whether stat accepts an empty string... $ECHO_C" >&6
+-if test "${ac_cv_func_stat_empty_string_bug+set}" = set; then
++
++
++
++
++
++
++
++
++
++
++
++for ac_func in ftime gethostbyname gethostname gettimeofday inet_ntoa memmove memset mmap mkfifo select socket strchr strcspn strdup strerror strstr
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++{ echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- if test "$cross_compiling" = yes; then
+- ac_cv_func_stat_empty_string_bug=yes
+-else
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-$ac_includes_default
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
++#ifdef __cplusplus
++extern "C"
++#endif
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined __stub_$ac_func || defined __stub___$ac_func
++choke me
++#endif
++
+ int
+ main ()
+ {
+-struct stat sbuf;
+- exit (stat ("", &sbuf) ? 1 : 0);
++return $ac_func ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_stat_empty_string_bug=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ eval "$as_ac_var=yes"
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
++ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-( exit $ac_status )
+-ac_cv_func_stat_empty_string_bug=no
++ eval "$as_ac_var=no"
+ fi
+-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
++ conftest$ac_exeext conftest.$ac_ext
+ fi
++ac_res=`eval echo '${'$as_ac_var'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_func_stat_empty_string_bug" >&5
+-echo "${ECHO_T}$ac_cv_func_stat_empty_string_bug" >&6
+-if test $ac_cv_func_stat_empty_string_bug = yes; then
+- case $LIBOBJS in
+- "stat.$ac_objext" | \
+- *" stat.$ac_objext" | \
+- "stat.$ac_objext "* | \
+- *" stat.$ac_objext "* ) ;;
+- *) LIBOBJS="$LIBOBJS stat.$ac_objext" ;;
+-esac
++done
+
++# x11vnc only:
++if test "$build_x11vnc" = "yes"; then
+
+-cat >>confdefs.h <<_ACEOF
+-#define HAVE_STAT_EMPTY_STRING_BUG 1
+-_ACEOF
+
+-fi
+
+
+-for ac_func in strftime
++
++
++
++
++
++
++
++
++
++
++
++for ac_func in setsid setpgrp getpwuid getpwnam getspnam getuid geteuid setuid setgid seteuid setegid initgroups waitpid setutxent grantpt
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:$LINENO: checking for $ac_func" >&5
+-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_var+set}\" = set"; then
++{ echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+@@ -26592,82 +19730,79 @@
+
+ #undef $ac_func
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+-{
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+ char $ac_func ();
+ /* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
++#if defined __stub_$ac_func || defined __stub___$ac_func
+ choke me
+-#else
+-char (*f) () = $ac_func;
+-#endif
+-#ifdef __cplusplus
+-}
+ #endif
+
+ int
+ main ()
+ {
+-return f != $ac_func;
++return $ac_func ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-eval "$as_ac_var=no"
++ eval "$as_ac_var=no"
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
++ac_res=`eval echo '${'$as_ac_var'}'`
++ { echo "$as_me:$LINENO: result: $ac_res" >&5
++echo "${ECHO_T}$ac_res" >&6; }
+ if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+ #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+ _ACEOF
+
+-else
+- # strftime is in -lintl on SCO UNIX.
+-echo "$as_me:$LINENO: checking for strftime in -lintl" >&5
+-echo $ECHO_N "checking for strftime in -lintl... $ECHO_C" >&6
+-if test "${ac_cv_lib_intl_strftime+set}" = set; then
++fi
++done
++
++fi
++
++# check, if shmget is in cygipc.a
++
++{ echo "$as_me:$LINENO: checking for shmget in -lcygipc" >&5
++echo $ECHO_N "checking for shmget in -lcygipc... $ECHO_C" >&6; }
++if test "${ac_cv_lib_cygipc_shmget+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lintl $LIBS"
++LIBS="-lcygipc $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -26675,3171 +19810,2803 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
++/* Override any GCC internal prototype to avoid an error.
++ Use char because int might match the return type of a GCC
++ builtin and then its argument prototype would still apply. */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char strftime ();
++char shmget ();
+ int
+ main ()
+ {
+-strftime ();
++return shmget ();
+ ;
+ return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++if { (ac_try="$ac_link"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_intl_strftime=yes
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest$ac_exeext &&
++ $as_test_x conftest$ac_exeext; then
++ ac_cv_lib_cygipc_shmget=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_intl_strftime=no
++ ac_cv_lib_cygipc_shmget=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
++
++rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_intl_strftime" >&5
+-echo "${ECHO_T}$ac_cv_lib_intl_strftime" >&6
+-if test $ac_cv_lib_intl_strftime = yes; then
+- cat >>confdefs.h <<\_ACEOF
+-#define HAVE_STRFTIME 1
++{ echo "$as_me:$LINENO: result: $ac_cv_lib_cygipc_shmget" >&5
++echo "${ECHO_T}$ac_cv_lib_cygipc_shmget" >&6; }
++if test $ac_cv_lib_cygipc_shmget = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define HAVE_LIBCYGIPC 1
+ _ACEOF
+
+-LIBS="-lintl $LIBS"
++ LIBS="-lcygipc $LIBS"
++
++fi
++
++ if test "$HAVE_CYGIPC" = "true"; then
++ CYGIPC_TRUE=
++ CYGIPC_FALSE='#'
++else
++ CYGIPC_TRUE='#'
++ CYGIPC_FALSE=
+ fi
+
++
++# Check if /dev/vcsa1 exists, if so, define LINUX
++ if test -c /dev/vcsa1; then
++ LINUX_TRUE=
++ LINUX_FALSE='#'
++else
++ LINUX_TRUE='#'
++ LINUX_FALSE=
+ fi
+-done
+
+
+-for ac_func in vprintf
+-do
+-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:$LINENO: checking for $ac_func" >&5
+-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_var+set}\" = set"; then
++# Check for OS X specific header
++if test "${ac_cv_header_ApplicationServices_ApplicationServices_h+set}" = set; then
++ { echo "$as_me:$LINENO: checking for ApplicationServices/ApplicationServices.h" >&5
++echo $ECHO_N "checking for ApplicationServices/ApplicationServices.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_ApplicationServices_ApplicationServices_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_ApplicationServices_ApplicationServices_h" >&5
++echo "${ECHO_T}$ac_cv_header_ApplicationServices_ApplicationServices_h" >&6; }
+ else
+- cat >conftest.$ac_ext <<_ACEOF
++ # Is the header compilable?
++{ echo "$as_me:$LINENO: checking ApplicationServices/ApplicationServices.h usability" >&5
++echo $ECHO_N "checking ApplicationServices/ApplicationServices.h usability... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+- For example, HP-UX 11i <limits.h> declares gettimeofday. */
+-#define $ac_func innocuous_$ac_func
+-
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char $ac_func (); below.
+- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+- <limits.h> exists even on freestanding compilers. */
+-
+-#ifdef __STDC__
+-# include <limits.h>
+-#else
+-# include <assert.h>
+-#endif
++$ac_includes_default
++#include <ApplicationServices/ApplicationServices.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
+
+-#undef $ac_func
++ ac_header_compiler=no
++fi
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-{
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char $ac_func ();
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+-choke me
+-#else
+-char (*f) () = $ac_func;
+-#endif
+-#ifdef __cplusplus
+-}
+-#endif
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+-int
+-main ()
+-{
+-return f != $ac_func;
+- ;
+- return 0;
+-}
++# Is the header present?
++{ echo "$as_me:$LINENO: checking ApplicationServices/ApplicationServices.h presence" >&5
++echo $ECHO_N "checking ApplicationServices/ApplicationServices.h presence... $ECHO_C" >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <ApplicationServices/ApplicationServices.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- eval "$as_ac_var=yes"
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+-eval "$as_ac_var=no"
++ ac_header_preproc=no
+ fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
++
++rm -f conftest.err conftest.$ac_ext
++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++## ----------------------------------------------------------- ##
++## Report this to http://sourceforge.net/projects/libvncserver ##
++## ----------------------------------------------------------- ##
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ echo "$as_me:$LINENO: checking for ApplicationServices/ApplicationServices.h" >&5
++echo $ECHO_N "checking for ApplicationServices/ApplicationServices.h... $ECHO_C" >&6; }
++if test "${ac_cv_header_ApplicationServices_ApplicationServices_h+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ ac_cv_header_ApplicationServices_ApplicationServices_h=$ac_header_preproc
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_header_ApplicationServices_ApplicationServices_h" >&5
++echo "${ECHO_T}$ac_cv_header_ApplicationServices_ApplicationServices_h" >&6; }
++
++fi
++if test $ac_cv_header_ApplicationServices_ApplicationServices_h = yes; then
++ HAVE_OSX="true"
++fi
++
++
++ if test "$HAVE_OSX" = "true"; then
++ OSX_TRUE=
++ OSX_FALSE='#'
++else
++ OSX_TRUE='#'
++ OSX_FALSE=
++fi
++
++
++# On Solaris 2.7, write() returns ENOENT when it really means EAGAIN
++
++
++case `(uname -sr) 2>/dev/null` in
++ "SunOS 5.7")
++ cat >>confdefs.h <<\_ACEOF
++#define ENOENT_WORKAROUND 1
++_ACEOF
++
++ ;;
++esac
++
++# Check for rpm SOURCES path
++printf "checking for rpm sources path... "
++RPMSOURCEDIR="NOT-FOUND"
++for directory in packages OpenLinux redhat RedHat rpm RPM "" ; do
++ if test -d /usr/src/${directory}/SOURCES; then
++ RPMSOURCEDIR="/usr/src/${directory}/SOURCES/"
++ fi
++done
++echo "$RPMSOURCEDIR"
++ if test "$RPMSOURCEDIR" != "NOT-FOUND"; then
++ HAVE_RPM_TRUE=
++ HAVE_RPM_FALSE='#'
++else
++ HAVE_RPM_TRUE='#'
++ HAVE_RPM_FALSE=
++fi
++
++
++
++ac_config_files="$ac_config_files Makefile libvncserver/Makefile contrib/Makefile examples/Makefile vncterm/Makefile classes/Makefile classes/ssl/Makefile libvncclient/Makefile client_examples/Makefile test/Makefile libvncserver-config LibVNCServer.spec"
++
++# x11vnc only:
++# if test "$build_x11vnc" = "yes"; then
++# AC_CONFIG_FILES([x11vnc/Makefile x11vnc/misc/Makefile])
++# fi
++
++ac_config_commands="$ac_config_commands chmod-libvncserver-config"
++
++cat >confcache <<\_ACEOF
++# This file is a shell script that caches the results of configure
++# tests run on this system so they can be shared between configure
++# scripts and configure runs, see configure's option --config-cache.
++# It is not useful on other systems. If it contains results you don't
++# want to keep, you may remove or edit it.
++#
++# config.status only pays attention to the cache file if you give it
++# the --recheck option to rerun configure.
++#
++# `ac_cv_env_foo' variables (set or unset) will be overridden when
++# loading this file, other *unset* `ac_cv_foo' will be assigned the
++# following values.
++
++_ACEOF
++
++# The following way of writing the cache mishandles newlines in values,
++# but we know of no workaround that is simple, portable, and efficient.
++# So, we kill variables containing newlines.
++# Ultrix sh set writes to stderr and can't be redirected directly,
++# and sets the high bit in the cache file unless we assign to the vars.
++(
++ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
++ eval ac_val=\$$ac_var
++ case $ac_val in #(
++ *${as_nl}*)
++ case $ac_var in #(
++ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
++echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
++ esac
++ case $ac_var in #(
++ _ | IFS | as_nl) ;; #(
++ *) $as_unset $ac_var ;;
++ esac ;;
++ esac
++ done
++
++ (set) 2>&1 |
++ case $as_nl`(ac_space=' '; set) 2>&1` in #(
++ *${as_nl}ac_space=\ *)
++ # `set' does not quote correctly, so add quotes (double-quote
++ # substitution turns \\\\ into \\, and sed turns \\ into \).
++ sed -n \
++ "s/'/'\\\\''/g;
++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
++ ;; #(
++ *)
++ # `set' quotes correctly as required by POSIX, so do not add quotes.
++ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
++ ;;
++ esac |
++ sort
++) |
++ sed '
++ /^ac_cv_env_/b end
++ t clear
++ :clear
++ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
++ t end
++ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
++ :end' >>confcache
++if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
++ if test -w "$cache_file"; then
++ test "x$cache_file" != "x/dev/null" &&
++ { echo "$as_me:$LINENO: updating cache $cache_file" >&5
++echo "$as_me: updating cache $cache_file" >&6;}
++ cat confcache >$cache_file
++ else
++ { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
++echo "$as_me: not updating unwritable cache $cache_file" >&6;}
++ fi
+ fi
+-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+-if test `eval echo '${'$as_ac_var'}'` = yes; then
+- cat >>confdefs.h <<_ACEOF
+-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+-_ACEOF
+-
+-echo "$as_me:$LINENO: checking for _doprnt" >&5
+-echo $ECHO_N "checking for _doprnt... $ECHO_C" >&6
+-if test "${ac_cv_func__doprnt+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-/* Define _doprnt to an innocuous variant, in case <limits.h> declares _doprnt.
+- For example, HP-UX 11i <limits.h> declares gettimeofday. */
+-#define _doprnt innocuous__doprnt
++rm -f confcache
+
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char _doprnt (); below.
+- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+- <limits.h> exists even on freestanding compilers. */
++test "x$prefix" = xNONE && prefix=$ac_default_prefix
++# Let make expand exec_prefix.
++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+-#ifdef __STDC__
+-# include <limits.h>
+-#else
+-# include <assert.h>
+-#endif
++DEFS=-DHAVE_CONFIG_H
+
+-#undef _doprnt
++ac_libobjs=
++ac_ltlibobjs=
++for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
++ # 1. Remove the extension, and $U if already installed.
++ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
++ ac_i=`echo "$ac_i" | sed "$ac_script"`
++ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
++ # will be set to the directory where LIBOBJS objects are built.
++ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
++ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
++done
++LIBOBJS=$ac_libobjs
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-{
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char _doprnt ();
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub__doprnt) || defined (__stub____doprnt)
+-choke me
+-#else
+-char (*f) () = _doprnt;
+-#endif
+-#ifdef __cplusplus
+-}
+-#endif
++LTLIBOBJS=$ac_ltlibobjs
+
+-int
+-main ()
+-{
+-return f != _doprnt;
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func__doprnt=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_func__doprnt=no
++if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"AMDEP\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
++if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5
+-echo "${ECHO_T}$ac_cv_func__doprnt" >&6
+-if test $ac_cv_func__doprnt = yes; then
+-
+-cat >>confdefs.h <<\_ACEOF
+-#define HAVE_DOPRNT 1
+-_ACEOF
+-
++if test -z "${WITH_FFMPEG_TRUE}" && test -z "${WITH_FFMPEG_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"WITH_FFMPEG\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"WITH_FFMPEG\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+-
++if test -z "${HAVE_MP3LAME_TRUE}" && test -z "${HAVE_MP3LAME_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_MP3LAME\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_MP3LAME\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_X_TRUE}" && test -z "${HAVE_X_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_X\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_X\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_SYSTEM_LIBVNCSERVER_TRUE}" && test -z "${HAVE_SYSTEM_LIBVNCSERVER_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_SYSTEM_LIBVNCSERVER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_SYSTEM_LIBVNCSERVER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_LIBPTHREAD_TRUE}" && test -z "${HAVE_LIBPTHREAD_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBPTHREAD\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_LIBPTHREAD\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${WITH_TIGHTVNC_FILETRANSFER_TRUE}" && test -z "${WITH_TIGHTVNC_FILETRANSFER_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"WITH_TIGHTVNC_FILETRANSFER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"WITH_TIGHTVNC_FILETRANSFER\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_LIBZ_TRUE}" && test -z "${HAVE_LIBZ_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBZ\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_LIBZ\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_LIBJPEG_TRUE}" && test -z "${HAVE_LIBJPEG_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBJPEG\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_LIBJPEG\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_LIBSDL_TRUE}" && test -z "${HAVE_LIBSDL_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBSDL\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_LIBSDL\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${MINGW_TRUE}" && test -z "${MINGW_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"MINGW\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"MINGW\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${CYGIPC_TRUE}" && test -z "${CYGIPC_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"CYGIPC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"CYGIPC\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${LINUX_TRUE}" && test -z "${LINUX_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"LINUX\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"LINUX\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${OSX_TRUE}" && test -z "${OSX_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"OSX\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"OSX\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
++fi
++if test -z "${HAVE_RPM_TRUE}" && test -z "${HAVE_RPM_FALSE}"; then
++ { { echo "$as_me:$LINENO: error: conditional \"HAVE_RPM\" was never defined.
++Usually this means the macro was only invoked conditionally." >&5
++echo "$as_me: error: conditional \"HAVE_RPM\" was never defined.
++Usually this means the macro was only invoked conditionally." >&2;}
++ { (exit 1); exit 1; }; }
+ fi
+-done
+
++: ${CONFIG_STATUS=./config.status}
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files $CONFIG_STATUS"
++{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
++echo "$as_me: creating $CONFIG_STATUS" >&6;}
++cat >$CONFIG_STATUS <<_ACEOF
++#! $SHELL
++# Generated by $as_me.
++# Run this file to recreate the current configuration.
++# Compiler output produced by configure, useful for debugging
++# configure, is in config.log if it exists.
+
+-echo "$as_me:$LINENO: checking for pid_t" >&5
+-echo $ECHO_N "checking for pid_t... $ECHO_C" >&6
+-if test "${ac_cv_type_pid_t+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-$ac_includes_default
+-int
+-main ()
+-{
+-if ((pid_t *) 0)
+- return 0;
+-if (sizeof (pid_t))
+- return 0;
+- ;
+- return 0;
+-}
++debug=false
++ac_cs_recheck=false
++ac_cs_silent=false
++SHELL=\${CONFIG_SHELL-$SHELL}
+ _ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_type_pid_t=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_type_pid_t=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
+-echo "${ECHO_T}$ac_cv_type_pid_t" >&6
+-if test $ac_cv_type_pid_t = yes; then
+- :
++cat >>$CONFIG_STATUS <<\_ACEOF
++## --------------------- ##
++## M4sh Initialization. ##
++## --------------------- ##
++
++# Be more Bourne compatible
++DUALCASE=1; export DUALCASE # for MKS sh
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
++ # is contrary to our usage. Disable this feature.
++ alias -g '${1+"$@"}'='"$@"'
++ setopt NO_GLOB_SUBST
+ else
+-
+-cat >>confdefs.h <<_ACEOF
+-#define pid_t int
+-_ACEOF
++ case `(set -o) 2>/dev/null` in
++ *posix*) set -o posix ;;
++esac
+
+ fi
+
+
+
+-for ac_header in unistd.h vfork.h
+-do
+-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo "$as_me:$LINENO: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-fi
+-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+-else
+- # Is the header compilable?
+-echo "$as_me:$LINENO: checking $ac_header usability" >&5
+-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-$ac_includes_default
+-#include <$ac_header>
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_header_compiler=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_header_compiler=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+-echo "${ECHO_T}$ac_header_compiler" >&6
++# PATH needs CR
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+-# Is the header present?
+-echo "$as_me:$LINENO: checking $ac_header presence" >&5
+-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <$ac_header>
+-_ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
+ else
+- ac_cpp_err=
++ PATH_SEPARATOR=:
+ fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- ac_header_preproc=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+- ac_header_preproc=no
++ rm -f conf$$.sh
+ fi
+-rm -f conftest.err conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+-echo "${ECHO_T}$ac_header_preproc" >&6
+
+-# So? What about this header?
+-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+- yes:no: )
+- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+- ac_header_preproc=yes
+- ;;
+- no:yes:* )
+- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+- (
+- cat <<\_ASBOX
+-## ----------------------------------------------------------- ##
+-## Report this to http://sourceforge.net/projects/libvncserver ##
+-## ----------------------------------------------------------- ##
+-_ASBOX
+- ) |
+- sed "s/^/$as_me: WARNING: /" >&2
+- ;;
+-esac
+-echo "$as_me:$LINENO: checking for $ac_header" >&5
+-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
++# Support unset when possible.
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++ as_unset=unset
+ else
+- eval "$as_ac_Header=\$ac_header_preproc"
++ as_unset=false
+ fi
+-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+-fi
+-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+- cat >>confdefs.h <<_ACEOF
+-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+-_ACEOF
+
+-fi
++# IFS
++# We need space, tab and new line, in precisely that order. Quoting is
++# there to prevent editors from complaining about space-tab.
++# (If _AS_PATH_WALK were called with IFS unset, it would disable word
++# splitting by setting IFS to empty value.)
++as_nl='
++'
++IFS=" "" $as_nl"
+
++# Find who we are. Look in the path if we contain no directory separator.
++case $0 in
++ *[\\/]* ) as_myself=$0 ;;
++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
++IFS=$as_save_IFS
+
++ ;;
++esac
++# We did not find ourselves, most probably we were run as `sh COMMAND'
++# in which case we are not to be found in the path.
++if test "x$as_myself" = x; then
++ as_myself=$0
++fi
++if test ! -f "$as_myself"; then
++ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++ { (exit 1); exit 1; }
++fi
+
++# Work around bugs in pre-3.0 UWIN ksh.
++for as_var in ENV MAIL MAILPATH
++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++done
++PS1='$ '
++PS2='> '
++PS4='+ '
+
+-for ac_func in fork vfork
++# NLS nuisances.
++for as_var in \
++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
++ LC_TELEPHONE LC_TIME
+ do
+-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:$LINENO: checking for $ac_func" >&5
+-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_var+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+- For example, HP-UX 11i <limits.h> declares gettimeofday. */
+-#define $ac_func innocuous_$ac_func
+-
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char $ac_func (); below.
+- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+- <limits.h> exists even on freestanding compilers. */
+-
+-#ifdef __STDC__
+-# include <limits.h>
+-#else
+-# include <assert.h>
+-#endif
+-
+-#undef $ac_func
+-
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-{
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char $ac_func ();
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+-choke me
+-#else
+-char (*f) () = $ac_func;
+-#endif
+-#ifdef __cplusplus
+-}
+-#endif
+-
+-int
+-main ()
+-{
+-return f != $ac_func;
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- eval "$as_ac_var=yes"
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-eval "$as_ac_var=no"
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+-if test `eval echo '${'$as_ac_var'}'` = yes; then
+- cat >>confdefs.h <<_ACEOF
+-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+-_ACEOF
+-
+-fi
++ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
++ eval $as_var=C; export $as_var
++ else
++ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++ fi
+ done
+
+-if test "x$ac_cv_func_fork" = xyes; then
+- echo "$as_me:$LINENO: checking for working fork" >&5
+-echo $ECHO_N "checking for working fork... $ECHO_C" >&6
+-if test "${ac_cv_func_fork_works+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test "$cross_compiling" = yes; then
+- ac_cv_func_fork_works=cross
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* By Ruediger Kuhlmann. */
+- #include <sys/types.h>
+- #if HAVE_UNISTD_H
+- # include <unistd.h>
+- #endif
+- /* Some systems only have a dummy stub for fork() */
+- int main ()
+- {
+- if (fork() < 0)
+- exit (1);
+- exit (0);
+- }
+-_ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_fork_works=yes
++# Required to use basename.
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
++ as_expr=expr
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+-( exit $ac_status )
+-ac_cv_func_fork_works=no
+-fi
+-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+-fi
++ as_expr=false
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_func_fork_works" >&5
+-echo "${ECHO_T}$ac_cv_func_fork_works" >&6
+
++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
++ as_basename=basename
+ else
+- ac_cv_func_fork_works=$ac_cv_func_fork
+-fi
+-if test "x$ac_cv_func_fork_works" = xcross; then
+- case $host in
+- *-*-amigaos* | *-*-msdosdjgpp*)
+- # Override, as these systems have only a dummy fork() stub
+- ac_cv_func_fork_works=no
+- ;;
+- *)
+- ac_cv_func_fork_works=yes
+- ;;
+- esac
+- { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5
+-echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;}
++ as_basename=false
+ fi
+-ac_cv_func_vfork_works=$ac_cv_func_vfork
+-if test "x$ac_cv_func_vfork" = xyes; then
+- echo "$as_me:$LINENO: checking for working vfork" >&5
+-echo $ECHO_N "checking for working vfork... $ECHO_C" >&6
+-if test "${ac_cv_func_vfork_works+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test "$cross_compiling" = yes; then
+- ac_cv_func_vfork_works=cross
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-/* Thanks to Paul Eggert for this test. */
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-#include <sys/wait.h>
+-#if HAVE_UNISTD_H
+-# include <unistd.h>
+-#endif
+-#if HAVE_VFORK_H
+-# include <vfork.h>
+-#endif
+-/* On some sparc systems, changes by the child to local and incoming
+- argument registers are propagated back to the parent. The compiler
+- is told about this with #include <vfork.h>, but some compilers
+- (e.g. gcc -O) don't grok <vfork.h>. Test for this by using a
+- static variable whose address is put into a register that is
+- clobbered by the vfork. */
+-static void
+-#ifdef __cplusplus
+-sparc_address_test (int arg)
+-# else
+-sparc_address_test (arg) int arg;
+-#endif
+-{
+- static pid_t child;
+- if (!child) {
+- child = vfork ();
+- if (child < 0) {
+- perror ("vfork");
+- _exit(2);
+- }
+- if (!child) {
+- arg = getpid();
+- write(-1, "", 0);
+- _exit (arg);
+- }
+- }
+-}
+-
+-int
+-main ()
+-{
+- pid_t parent = getpid ();
+- pid_t child;
+
+- sparc_address_test (0);
+
+- child = vfork ();
++# Name of the executable.
++as_me=`$as_basename -- "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++ X"$0" : 'X\(//\)$' \| \
++ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++echo X/"$0" |
++ sed '/^.*\/\([^/][^/]*\)\/*$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
+
+- if (child == 0) {
+- /* Here is another test for sparc vfork register problems. This
+- test uses lots of local variables, at least as many local
+- variables as main has allocated so far including compiler
+- temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris
+- 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should
+- reuse the register of parent for one of the local variables,
+- since it will think that parent can't possibly be used any more
+- in this routine. Assigning to the local variable will thus
+- munge parent in the parent process. */
+- pid_t
+- p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),
+- p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();
+- /* Convince the compiler that p..p7 are live; otherwise, it might
+- use the same hardware register for all 8 local variables. */
+- if (p != p1 || p != p2 || p != p3 || p != p4
+- || p != p5 || p != p6 || p != p7)
+- _exit(1);
++# CDPATH.
++$as_unset CDPATH
+
+- /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent
+- from child file descriptors. If the child closes a descriptor
+- before it execs or exits, this munges the parent's descriptor
+- as well. Test for this by closing stdout in the child. */
+- _exit(close(fileno(stdout)) != 0);
+- } else {
+- int status;
+- struct stat st;
+
+- while (wait(&status) != child)
+- ;
+- exit(
+- /* Was there some problem with vforking? */
+- child < 0
+
+- /* Did the child fail? (This shouldn't happen.) */
+- || status
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+- /* Did the vfork/compiler bug occur? */
+- || parent != getpid()
++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
++ # uniformly replaced by the line number. The first 'sed' inserts a
++ # line-number line after each line using $LINENO; the second 'sed'
++ # does the real work. The second script uses 'N' to pair each
++ # line-number line with the line containing $LINENO, and appends
++ # trailing '-' during substitution so that $LINENO is not a special
++ # case at line end.
++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
++ # scripts with optimization help from Paolo Bonzini. Blame Lee
++ # E. McMahon (1931-1989) for sed's syntax. :-)
++ sed -n '
++ p
++ /[$]LINENO/=
++ ' <$as_myself |
++ sed '
++ s/[$]LINENO.*/&-/
++ t lineno
++ b
++ :lineno
++ N
++ :loop
++ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
++ t loop
++ s/-\n.*//
++ ' >$as_me.lineno &&
++ chmod +x "$as_me.lineno" ||
++ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
++ { (exit 1); exit 1; }; }
+
+- /* Did the file descriptor bug occur? */
+- || fstat(fileno(stdout), &st) != 0
+- );
+- }
++ # Don't try to exec as it changes $[0], causing all sort of problems
++ # (the dirname of $[0] is not the place where we might find the
++ # original and so on. Autoconf is especially sensitive to this).
++ . "./$as_me.lineno"
++ # Exit status is that of the last command.
++ exit
+ }
+-_ACEOF
+-rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_func_vfork_works=yes
++
++
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++ as_dirname=dirname
+ else
+- echo "$as_me: program exited with status $ac_status" >&5
+-echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++ as_dirname=false
++fi
+
+-( exit $ac_status )
+-ac_cv_func_vfork_works=no
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in
++-n*)
++ case `echo 'x\c'` in
++ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
++ *) ECHO_C='\c';;
++ esac;;
++*)
++ ECHO_N='-n';;
++esac
++
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
++ as_expr=expr
++else
++ as_expr=false
+ fi
+-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++
++rm -f conf$$ conf$$.exe conf$$.file
++if test -d conf$$.dir; then
++ rm -f conf$$.dir/conf$$.file
++else
++ rm -f conf$$.dir
++ mkdir conf$$.dir
+ fi
++echo >conf$$.file
++if ln -s conf$$.file conf$$ 2>/dev/null; then
++ as_ln_s='ln -s'
++ # ... but there are two gotchas:
++ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
++ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
++ # In both cases, we have to default to `cp -p'.
++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
++ as_ln_s='cp -p'
++elif ln conf$$.file conf$$ 2>/dev/null; then
++ as_ln_s=ln
++else
++ as_ln_s='cp -p'
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_func_vfork_works" >&5
+-echo "${ECHO_T}$ac_cv_func_vfork_works" >&6
++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
++rmdir conf$$.dir 2>/dev/null
+
+-fi;
+-if test "x$ac_cv_func_fork_works" = xcross; then
+- ac_cv_func_vfork_works=$ac_cv_func_vfork
+- { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5
+-echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;}
++if mkdir -p . 2>/dev/null; then
++ as_mkdir_p=:
++else
++ test -d ./-p && rmdir ./-p
++ as_mkdir_p=false
+ fi
+
+-if test "x$ac_cv_func_vfork_works" = xyes; then
+-
+-cat >>confdefs.h <<\_ACEOF
+-#define HAVE_WORKING_VFORK 1
+-_ACEOF
+-
++if test -x / >/dev/null 2>&1; then
++ as_test_x='test -x'
+ else
++ if ls -dL / >/dev/null 2>&1; then
++ as_ls_L_option=L
++ else
++ as_ls_L_option=
++ fi
++ as_test_x='
++ eval sh -c '\''
++ if test -d "$1"; then
++ test -d "$1/.";
++ else
++ case $1 in
++ -*)set "./$1";;
++ esac;
++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
++ ???[sx]*):;;*)false;;esac;fi
++ '\'' sh
++ '
++fi
++as_executable_p=$as_test_x
+
+-cat >>confdefs.h <<\_ACEOF
+-#define vfork fork
+-_ACEOF
++# Sed expression to map a string onto a valid CPP name.
++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+-fi
+-if test "x$ac_cv_func_fork_works" = xyes; then
++# Sed expression to map a string onto a valid variable name.
++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+-cat >>confdefs.h <<\_ACEOF
+-#define HAVE_WORKING_FORK 1
+-_ACEOF
+
+-fi
++exec 6>&1
+
++# Save the log message, to keep $[0] and so on meaningful, and to
++# report actual input values of CONFIG_FILES etc. instead of their
++# values after options handling.
++ac_log="
++This file was extended by LibVNCServer $as_me 0.9.1, which was
++generated by GNU Autoconf 2.61. Invocation command line was
+
+-echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
+-echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6
+-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lnsl $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
++ CONFIG_FILES = $CONFIG_FILES
++ CONFIG_HEADERS = $CONFIG_HEADERS
++ CONFIG_LINKS = $CONFIG_LINKS
++ CONFIG_COMMANDS = $CONFIG_COMMANDS
++ $ $0 $@
++
++on `(hostname || uname -n) 2>/dev/null | sed 1q`
++"
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char gethostbyname ();
+-int
+-main ()
+-{
+-gethostbyname ();
+- ;
+- return 0;
+-}
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_nsl_gethostbyname=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-ac_cv_lib_nsl_gethostbyname=no
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
+-echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6
+-if test $ac_cv_lib_nsl_gethostbyname = yes; then
+- cat >>confdefs.h <<_ACEOF
+-#define HAVE_LIBNSL 1
++cat >>$CONFIG_STATUS <<_ACEOF
++# Files that config.status was made for.
++config_files="$ac_config_files"
++config_headers="$ac_config_headers"
++config_commands="$ac_config_commands"
++
+ _ACEOF
+
+- LIBS="-lnsl $LIBS"
++cat >>$CONFIG_STATUS <<\_ACEOF
++ac_cs_usage="\
++\`$as_me' instantiates files from templates according to the
++current configuration.
+
+-fi
++Usage: $0 [OPTIONS] [FILE]...
+
++ -h, --help print this help, then exit
++ -V, --version print version number and configuration settings, then exit
++ -q, --quiet do not print progress messages
++ -d, --debug don't remove temporary files
++ --recheck update $as_me by reconfiguring in the same conditions
++ --file=FILE[:TEMPLATE]
++ instantiate the configuration file FILE
++ --header=FILE[:TEMPLATE]
++ instantiate the configuration header FILE
+
+-echo "$as_me:$LINENO: checking for socket in -lsocket" >&5
+-echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6
+-if test "${ac_cv_lib_socket_socket+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lsocket $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
++Configuration files:
++$config_files
++
++Configuration headers:
++$config_headers
++
++Configuration commands:
++$config_commands
++
++Report bugs to <bug-autoconf@gnu.org>."
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char socket ();
+-int
+-main ()
+-{
+-socket ();
+- ;
+- return 0;
+-}
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_socket_socket=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++cat >>$CONFIG_STATUS <<_ACEOF
++ac_cs_version="\\
++LibVNCServer config.status 0.9.1
++configured by $0, generated by GNU Autoconf 2.61,
++ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+-ac_cv_lib_socket_socket=no
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5
+-echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6
+-if test $ac_cv_lib_socket_socket = yes; then
+- cat >>confdefs.h <<_ACEOF
+-#define HAVE_LIBSOCKET 1
++Copyright (C) 2006 Free Software Foundation, Inc.
++This config.status script is free software; the Free Software Foundation
++gives unlimited permission to copy, distribute and modify it."
++
++ac_pwd='$ac_pwd'
++srcdir='$srcdir'
++INSTALL='$INSTALL'
++MKDIR_P='$MKDIR_P'
+ _ACEOF
+
+- LIBS="-lsocket $LIBS"
++cat >>$CONFIG_STATUS <<\_ACEOF
++# If no file are specified by the user, then we need to provide default
++# value. By we need to know if files were specified by the user.
++ac_need_defaults=:
++while test $# != 0
++do
++ case $1 in
++ --*=*)
++ ac_option=`expr "X$1" : 'X\([^=]*\)='`
++ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
++ ac_shift=:
++ ;;
++ *)
++ ac_option=$1
++ ac_optarg=$2
++ ac_shift=shift
++ ;;
++ esac
+
+-fi
++ case $ac_option in
++ # Handling of the options.
++ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
++ ac_cs_recheck=: ;;
++ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
++ echo "$ac_cs_version"; exit ;;
++ --debug | --debu | --deb | --de | --d | -d )
++ debug=: ;;
++ --file | --fil | --fi | --f )
++ $ac_shift
++ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
++ ac_need_defaults=false;;
++ --header | --heade | --head | --hea )
++ $ac_shift
++ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
++ ac_need_defaults=false;;
++ --he | --h)
++ # Conflict between --help and --header
++ { echo "$as_me: error: ambiguous option: $1
++Try \`$0 --help' for more information." >&2
++ { (exit 1); exit 1; }; };;
++ --help | --hel | -h )
++ echo "$ac_cs_usage"; exit ;;
++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++ | -silent | --silent | --silen | --sile | --sil | --si | --s)
++ ac_cs_silent=: ;;
++
++ # This is an error.
++ -*) { echo "$as_me: error: unrecognized option: $1
++Try \`$0 --help' for more information." >&2
++ { (exit 1); exit 1; }; } ;;
+
++ *) ac_config_targets="$ac_config_targets $1"
++ ac_need_defaults=false ;;
+
+-uname_s=`(uname -s) 2>/dev/null`
+-if test "x$uname_s" = "xHP-UX"; then
+- # need -lsec for getspnam()
+- LDFLAGS="$LDFLAGS -lsec"
++ esac
++ shift
++done
++
++ac_configure_extra_args=
++
++if $ac_cs_silent; then
++ exec 6>/dev/null
++ ac_configure_extra_args="$ac_configure_extra_args --silent"
+ fi
+
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++if \$ac_cs_recheck; then
++ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
++ CONFIG_SHELL=$SHELL
++ export CONFIG_SHELL
++ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
++fi
+
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF
++exec 5>>config.log
++{
++ echo
++ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
++## Running $as_me. ##
++_ASBOX
++ echo "$ac_log"
++} >&5
+
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++#
++# INIT-COMMANDS
++#
++PACKAGE="$PACKAGE"
++AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
++sed_quote_subst='$sed_quote_subst'
++double_quote_subst='$double_quote_subst'
++delay_variable_subst='$delay_variable_subst'
++macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
++macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
++enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
++enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
++pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
++enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
++host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
++host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
++host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
++build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
++build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
++build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
++SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
++Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
++GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
++EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
++FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
++LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
++NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
++LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
++max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
++ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
++exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
++lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
++lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
++lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
++reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
++reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
++file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
++AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
++AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
++STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
++RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
++old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
++CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
++compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
++GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
++objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
++SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
++ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
++MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
++lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
++lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
++need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
++DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
++NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
++LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
++OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
++OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
++libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
++shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
++enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
++export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
++whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
++compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
++allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
++no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
++inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
++link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
++fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
++always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
++export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
++include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
++prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
++variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
++need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
++need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
++version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
++runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
++shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
++shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
++libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
++library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
++soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
++postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
++finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
++sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
++sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
++hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
++enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
++enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
++enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
++old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
++striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
++
++LTCC='$LTCC'
++LTCFLAGS='$LTCFLAGS'
++compiler='$compiler_DEFAULT'
++
++# Quote evaled strings.
++for var in SED \
++GREP \
++EGREP \
++FGREP \
++LD \
++NM \
++LN_S \
++lt_SP2NL \
++lt_NL2SP \
++reload_flag \
++deplibs_check_method \
++file_magic_cmd \
++AR \
++AR_FLAGS \
++STRIP \
++RANLIB \
++CC \
++CFLAGS \
++compiler \
++lt_cv_sys_global_symbol_pipe \
++lt_cv_sys_global_symbol_to_cdecl \
++lt_cv_sys_global_symbol_to_c_name_address \
++lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
++SHELL \
++ECHO \
++lt_prog_compiler_no_builtin_flag \
++lt_prog_compiler_wl \
++lt_prog_compiler_pic \
++lt_prog_compiler_static \
++lt_cv_prog_compiler_c_o \
++need_locks \
++DSYMUTIL \
++NMEDIT \
++LIPO \
++OTOOL \
++OTOOL64 \
++shrext_cmds \
++export_dynamic_flag_spec \
++whole_archive_flag_spec \
++compiler_needs_object \
++with_gnu_ld \
++allow_undefined_flag \
++no_undefined_flag \
++hardcode_libdir_flag_spec \
++hardcode_libdir_flag_spec_ld \
++hardcode_libdir_separator \
++fix_srcfile_path \
++exclude_expsyms \
++include_expsyms \
++file_list_spec \
++variables_saved_for_relink \
++libname_spec \
++library_names_spec \
++soname_spec \
++finish_eval \
++old_striplib \
++striplib; do
++ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
++ *[\\\\\\\`\\"\\\$]*)
++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
++ ;;
++ *)
++ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
++ ;;
++ esac
++done
+
++# Double-quote double-evaled strings.
++for var in reload_cmds \
++old_postinstall_cmds \
++old_postuninstall_cmds \
++old_archive_cmds \
++extract_expsyms_cmds \
++old_archive_from_new_cmds \
++old_archive_from_expsyms_cmds \
++archive_cmds \
++archive_expsym_cmds \
++module_cmds \
++module_expsym_cmds \
++export_symbols_cmds \
++prelink_cmds \
++postinstall_cmds \
++postuninstall_cmds \
++finish_cmds \
++sys_lib_search_path_spec \
++sys_lib_dlsearch_path_spec; do
++ case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
++ *[\\\\\\\`\\"\\\$]*)
++ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
++ ;;
++ *)
++ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
++ ;;
++ esac
++done
+
++# Fix-up fallback echo if it was mangled by the above quoting rules.
++case \$lt_ECHO in
++*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
++ ;;
++esac
+
++ac_aux_dir='$ac_aux_dir'
++xsi_shell='$xsi_shell'
++lt_shell_append='$lt_shell_append'
++
++# See if we are running on zsh, and set the options which allow our
++# commands through without removal of \ escapes INIT.
++if test -n "\${ZSH_VERSION+set}" ; then
++ setopt NO_GLOB_SUBST
++fi
+
+
++ PACKAGE='$PACKAGE'
++ VERSION='$VERSION'
++ TIMESTAMP='$TIMESTAMP'
++ RM='$RM'
++ ofile='$ofile'
+
+
+
+
++_ACEOF
+
++cat >>$CONFIG_STATUS <<\_ACEOF
+
+-for ac_func in ftime gethostbyname gethostname gettimeofday inet_ntoa memmove memset mmap mkfifo select socket strchr strcspn strdup strerror strstr
++# Handling of arguments.
++for ac_config_target in $ac_config_targets
+ do
+-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:$LINENO: checking for $ac_func" >&5
+-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_var+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+- For example, HP-UX 11i <limits.h> declares gettimeofday. */
+-#define $ac_func innocuous_$ac_func
++ case $ac_config_target in
++ "rfbconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS rfbconfig.h" ;;
++ "rfb/rfbconfig.h") CONFIG_COMMANDS="$CONFIG_COMMANDS rfb/rfbconfig.h" ;;
++ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
++ "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
++ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
++ "libvncserver/Makefile") CONFIG_FILES="$CONFIG_FILES libvncserver/Makefile" ;;
++ "contrib/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/Makefile" ;;
++ "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
++ "vncterm/Makefile") CONFIG_FILES="$CONFIG_FILES vncterm/Makefile" ;;
++ "classes/Makefile") CONFIG_FILES="$CONFIG_FILES classes/Makefile" ;;
++ "classes/ssl/Makefile") CONFIG_FILES="$CONFIG_FILES classes/ssl/Makefile" ;;
++ "libvncclient/Makefile") CONFIG_FILES="$CONFIG_FILES libvncclient/Makefile" ;;
++ "client_examples/Makefile") CONFIG_FILES="$CONFIG_FILES client_examples/Makefile" ;;
++ "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
++ "libvncserver-config") CONFIG_FILES="$CONFIG_FILES libvncserver-config" ;;
++ "LibVNCServer.spec") CONFIG_FILES="$CONFIG_FILES LibVNCServer.spec" ;;
++ "chmod-libvncserver-config") CONFIG_COMMANDS="$CONFIG_COMMANDS chmod-libvncserver-config" ;;
+
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char $ac_func (); below.
+- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+- <limits.h> exists even on freestanding compilers. */
++ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
++echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
++ { (exit 1); exit 1; }; };;
++ esac
++done
+
+-#ifdef __STDC__
+-# include <limits.h>
+-#else
+-# include <assert.h>
+-#endif
+
+-#undef $ac_func
++# If the user did not use the arguments to specify the items to instantiate,
++# then the envvar interface is used. Set only those that are not.
++# We use the long form for the default assignment because of an extremely
++# bizarre bug on SunOS 4.1.3.
++if $ac_need_defaults; then
++ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
++ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
++ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
++fi
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
++# Have a temporary directory for convenience. Make it in the build tree
++# simply because there is no reason against having it here, and in addition,
++# creating and moving files from /tmp can sometimes cause problems.
++# Hook for its removal unless debugging.
++# Note that there is a small window in which the directory will not be cleaned:
++# after its creation but before its name has been assigned to `$tmp'.
++$debug ||
+ {
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char $ac_func ();
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+-choke me
+-#else
+-char (*f) () = $ac_func;
+-#endif
+-#ifdef __cplusplus
++ tmp=
++ trap 'exit_status=$?
++ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
++' 0
++ trap '{ (exit 1); exit 1; }' 1 2 13 15
+ }
+-#endif
++# Create a (secure) tmp directory for tmp files.
+
+-int
+-main ()
+ {
+-return f != $ac_func;
+- ;
+- return 0;
++ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
++ test -n "$tmp" && test -d "$tmp"
++} ||
++{
++ tmp=./conf$$-$RANDOM
++ (umask 077 && mkdir "$tmp")
++} ||
++{
++ echo "$me: cannot create a temporary directory in ." >&2
++ { (exit 1); exit 1; }
+ }
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- eval "$as_ac_var=yes"
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+
+-eval "$as_ac_var=no"
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+-if test `eval echo '${'$as_ac_var'}'` = yes; then
+- cat >>confdefs.h <<_ACEOF
+-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+-_ACEOF
++#
++# Set up the sed scripts for CONFIG_FILES section.
++#
++
++# No need to generate the scripts if there are no CONFIG_FILES.
++# This happens for instance when ./config.status config.h
++if test -n "$CONFIG_FILES"; then
+
+-fi
+-done
++_ACEOF
+
+-# x11vnc only:
+-if test "$build_x11vnc" = "yes"; then
+
+
++ac_delim='%!_!# '
++for ac_last_try in false false false false false :; do
++ cat >conf$$subs.sed <<_ACEOF
++SHELL!$SHELL$ac_delim
++PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
++PACKAGE_NAME!$PACKAGE_NAME$ac_delim
++PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
++PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
++PACKAGE_STRING!$PACKAGE_STRING$ac_delim
++PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
++exec_prefix!$exec_prefix$ac_delim
++prefix!$prefix$ac_delim
++program_transform_name!$program_transform_name$ac_delim
++bindir!$bindir$ac_delim
++sbindir!$sbindir$ac_delim
++libexecdir!$libexecdir$ac_delim
++datarootdir!$datarootdir$ac_delim
++datadir!$datadir$ac_delim
++sysconfdir!$sysconfdir$ac_delim
++sharedstatedir!$sharedstatedir$ac_delim
++localstatedir!$localstatedir$ac_delim
++includedir!$includedir$ac_delim
++oldincludedir!$oldincludedir$ac_delim
++docdir!$docdir$ac_delim
++infodir!$infodir$ac_delim
++htmldir!$htmldir$ac_delim
++dvidir!$dvidir$ac_delim
++pdfdir!$pdfdir$ac_delim
++psdir!$psdir$ac_delim
++libdir!$libdir$ac_delim
++localedir!$localedir$ac_delim
++mandir!$mandir$ac_delim
++DEFS!$DEFS$ac_delim
++ECHO_C!$ECHO_C$ac_delim
++ECHO_N!$ECHO_N$ac_delim
++ECHO_T!$ECHO_T$ac_delim
++LIBS!$LIBS$ac_delim
++build_alias!$build_alias$ac_delim
++host_alias!$host_alias$ac_delim
++target_alias!$target_alias$ac_delim
++INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
++INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
++INSTALL_DATA!$INSTALL_DATA$ac_delim
++am__isrc!$am__isrc$ac_delim
++CYGPATH_W!$CYGPATH_W$ac_delim
++PACKAGE!$PACKAGE$ac_delim
++VERSION!$VERSION$ac_delim
++ACLOCAL!$ACLOCAL$ac_delim
++AUTOCONF!$AUTOCONF$ac_delim
++AUTOMAKE!$AUTOMAKE$ac_delim
++AUTOHEADER!$AUTOHEADER$ac_delim
++MAKEINFO!$MAKEINFO$ac_delim
++install_sh!$install_sh$ac_delim
++STRIP!$STRIP$ac_delim
++INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
++mkdir_p!$mkdir_p$ac_delim
++AWK!$AWK$ac_delim
++SET_MAKE!$SET_MAKE$ac_delim
++am__leading_dot!$am__leading_dot$ac_delim
++AMTAR!$AMTAR$ac_delim
++am__tar!$am__tar$ac_delim
++am__untar!$am__untar$ac_delim
++CC!$CC$ac_delim
++CFLAGS!$CFLAGS$ac_delim
++LDFLAGS!$LDFLAGS$ac_delim
++CPPFLAGS!$CPPFLAGS$ac_delim
++ac_ct_CC!$ac_ct_CC$ac_delim
++EXEEXT!$EXEEXT$ac_delim
++OBJEXT!$OBJEXT$ac_delim
++DEPDIR!$DEPDIR$ac_delim
++am__include!$am__include$ac_delim
++am__quote!$am__quote$ac_delim
++AMDEP_TRUE!$AMDEP_TRUE$ac_delim
++AMDEP_FALSE!$AMDEP_FALSE$ac_delim
++AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
++CCDEPMODE!$CCDEPMODE$ac_delim
++am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
++am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
++LIBTOOL!$LIBTOOL$ac_delim
++build!$build$ac_delim
++build_cpu!$build_cpu$ac_delim
++build_vendor!$build_vendor$ac_delim
++build_os!$build_os$ac_delim
++host!$host$ac_delim
++host_cpu!$host_cpu$ac_delim
++host_vendor!$host_vendor$ac_delim
++host_os!$host_os$ac_delim
++SED!$SED$ac_delim
++GREP!$GREP$ac_delim
++EGREP!$EGREP$ac_delim
++FGREP!$FGREP$ac_delim
++LD!$LD$ac_delim
++DUMPBIN!$DUMPBIN$ac_delim
++ac_ct_DUMPBIN!$ac_ct_DUMPBIN$ac_delim
++NM!$NM$ac_delim
++LN_S!$LN_S$ac_delim
++AR!$AR$ac_delim
++RANLIB!$RANLIB$ac_delim
++lt_ECHO!$lt_ECHO$ac_delim
++DSYMUTIL!$DSYMUTIL$ac_delim
++_ACEOF
+
++ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
++ break
++ elif $ac_last_try; then
++ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
++echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
++ { (exit 1); exit 1; }; }
++ else
++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
++ fi
++done
+
++ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
++if test -n "$ac_eof"; then
++ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
++ ac_eof=`expr $ac_eof + 1`
++fi
+
++cat >>$CONFIG_STATUS <<_ACEOF
++cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
++_ACEOF
++sed '
++s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
++s/^/s,@/; s/!/@,|#_!!_#|/
++:n
++t n
++s/'"$ac_delim"'$/,g/; t
++s/$/\\/; p
++N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
++' >>$CONFIG_STATUS <conf$$subs.sed
++rm -f conf$$subs.sed
++cat >>$CONFIG_STATUS <<_ACEOF
++CEOF$ac_eof
++_ACEOF
+
+
++ac_delim='%!_!# '
++for ac_last_try in false false false false false :; do
++ cat >conf$$subs.sed <<_ACEOF
++NMEDIT!$NMEDIT$ac_delim
++LIPO!$LIPO$ac_delim
++OTOOL!$OTOOL$ac_delim
++OTOOL64!$OTOOL64$ac_delim
++CPP!$CPP$ac_delim
++with_ffmpeg!$with_ffmpeg$ac_delim
++WITH_FFMPEG_TRUE!$WITH_FFMPEG_TRUE$ac_delim
++WITH_FFMPEG_FALSE!$WITH_FFMPEG_FALSE$ac_delim
++HAVE_MP3LAME_TRUE!$HAVE_MP3LAME_TRUE$ac_delim
++HAVE_MP3LAME_FALSE!$HAVE_MP3LAME_FALSE$ac_delim
++X_CFLAGS!$X_CFLAGS$ac_delim
++X_PRE_LIBS!$X_PRE_LIBS$ac_delim
++X_LIBS!$X_LIBS$ac_delim
++X_EXTRA_LIBS!$X_EXTRA_LIBS$ac_delim
++HAVE_X_TRUE!$HAVE_X_TRUE$ac_delim
++HAVE_X_FALSE!$HAVE_X_FALSE$ac_delim
++CRYPT_LIBS!$CRYPT_LIBS$ac_delim
++SSL_LIBS!$SSL_LIBS$ac_delim
++AVAHI_CFLAGS!$AVAHI_CFLAGS$ac_delim
++AVAHI_LIBS!$AVAHI_LIBS$ac_delim
++SYSTEM_LIBVNCSERVER_CFLAGS!$SYSTEM_LIBVNCSERVER_CFLAGS$ac_delim
++SYSTEM_LIBVNCSERVER_LIBS!$SYSTEM_LIBVNCSERVER_LIBS$ac_delim
++HAVE_SYSTEM_LIBVNCSERVER_TRUE!$HAVE_SYSTEM_LIBVNCSERVER_TRUE$ac_delim
++HAVE_SYSTEM_LIBVNCSERVER_FALSE!$HAVE_SYSTEM_LIBVNCSERVER_FALSE$ac_delim
++HAVE_LIBPTHREAD_TRUE!$HAVE_LIBPTHREAD_TRUE$ac_delim
++HAVE_LIBPTHREAD_FALSE!$HAVE_LIBPTHREAD_FALSE$ac_delim
++WITH_TIGHTVNC_FILETRANSFER_TRUE!$WITH_TIGHTVNC_FILETRANSFER_TRUE$ac_delim
++WITH_TIGHTVNC_FILETRANSFER_FALSE!$WITH_TIGHTVNC_FILETRANSFER_FALSE$ac_delim
++HAVE_LIBZ_TRUE!$HAVE_LIBZ_TRUE$ac_delim
++HAVE_LIBZ_FALSE!$HAVE_LIBZ_FALSE$ac_delim
++HAVE_LIBJPEG_TRUE!$HAVE_LIBJPEG_TRUE$ac_delim
++HAVE_LIBJPEG_FALSE!$HAVE_LIBJPEG_FALSE$ac_delim
++HAVE_LIBSDL_TRUE!$HAVE_LIBSDL_TRUE$ac_delim
++HAVE_LIBSDL_FALSE!$HAVE_LIBSDL_FALSE$ac_delim
++SDL_CFLAGS!$SDL_CFLAGS$ac_delim
++SDL_LIBS!$SDL_LIBS$ac_delim
++MINGW_TRUE!$MINGW_TRUE$ac_delim
++MINGW_FALSE!$MINGW_FALSE$ac_delim
++WSOCKLIB!$WSOCKLIB$ac_delim
++LIBOBJS!$LIBOBJS$ac_delim
++CYGIPC_TRUE!$CYGIPC_TRUE$ac_delim
++CYGIPC_FALSE!$CYGIPC_FALSE$ac_delim
++LINUX_TRUE!$LINUX_TRUE$ac_delim
++LINUX_FALSE!$LINUX_FALSE$ac_delim
++OSX_TRUE!$OSX_TRUE$ac_delim
++OSX_FALSE!$OSX_FALSE$ac_delim
++HAVE_RPM_TRUE!$HAVE_RPM_TRUE$ac_delim
++HAVE_RPM_FALSE!$HAVE_RPM_FALSE$ac_delim
++RPMSOURCEDIR!$RPMSOURCEDIR$ac_delim
++LTLIBOBJS!$LTLIBOBJS$ac_delim
++_ACEOF
+
++ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 50; then
++ break
++ elif $ac_last_try; then
++ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
++echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
++ { (exit 1); exit 1; }; }
++ else
++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
++ fi
++done
+
++ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
++if test -n "$ac_eof"; then
++ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
++ ac_eof=`expr $ac_eof + 1`
++fi
+
++cat >>$CONFIG_STATUS <<_ACEOF
++cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
++_ACEOF
++sed '
++s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
++s/^/s,@/; s/!/@,|#_!!_#|/
++:n
++t n
++s/'"$ac_delim"'$/,g/; t
++s/$/\\/; p
++N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
++' >>$CONFIG_STATUS <conf$$subs.sed
++rm -f conf$$subs.sed
++cat >>$CONFIG_STATUS <<_ACEOF
++:end
++s/|#_!!_#|//g
++CEOF$ac_eof
++_ACEOF
+
+
++# VPATH may cause trouble with some makes, so we remove $(srcdir),
++# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
++# trailing colons and then remove the whole line if VPATH becomes empty
++# (actually we leave an empty line to preserve line numbers).
++if test "x$srcdir" = x.; then
++ ac_vpsub='/^[ ]*VPATH[ ]*=/{
++s/:*\$(srcdir):*/:/
++s/:*\${srcdir}:*/:/
++s/:*@srcdir@:*/:/
++s/^\([^=]*=[ ]*\):*/\1/
++s/:*$//
++s/^[^=]*=[ ]*$//
++}'
++fi
+
++cat >>$CONFIG_STATUS <<\_ACEOF
++fi # test -n "$CONFIG_FILES"
+
+
+-for ac_func in setsid setpgrp getpwuid getpwnam getspnam getuid geteuid setuid setgid seteuid setegid initgroups waitpid setutxent grantpt
++for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS
+ do
+-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:$LINENO: checking for $ac_func" >&5
+-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+-if eval "test \"\${$as_ac_var+set}\" = set"; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+- For example, HP-UX 11i <limits.h> declares gettimeofday. */
+-#define $ac_func innocuous_$ac_func
++ case $ac_tag in
++ :[FHLC]) ac_mode=$ac_tag; continue;;
++ esac
++ case $ac_mode$ac_tag in
++ :[FHL]*:*);;
++ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
++echo "$as_me: error: Invalid tag $ac_tag." >&2;}
++ { (exit 1); exit 1; }; };;
++ :[FH]-) ac_tag=-:-;;
++ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
++ esac
++ ac_save_IFS=$IFS
++ IFS=:
++ set x $ac_tag
++ IFS=$ac_save_IFS
++ shift
++ ac_file=$1
++ shift
+
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char $ac_func (); below.
+- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+- <limits.h> exists even on freestanding compilers. */
++ case $ac_mode in
++ :L) ac_source=$1;;
++ :[FH])
++ ac_file_inputs=
++ for ac_f
++ do
++ case $ac_f in
++ -) ac_f="$tmp/stdin";;
++ *) # Look for the file first in the build tree, then in the source tree
++ # (if the path is not absolute). The absolute path cannot be DOS-style,
++ # because $ac_f cannot contain `:'.
++ test -f "$ac_f" ||
++ case $ac_f in
++ [\\/$]*) false;;
++ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
++ esac ||
++ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
++echo "$as_me: error: cannot find input file: $ac_f" >&2;}
++ { (exit 1); exit 1; }; };;
++ esac
++ ac_file_inputs="$ac_file_inputs $ac_f"
++ done
+
+-#ifdef __STDC__
+-# include <limits.h>
+-#else
+-# include <assert.h>
+-#endif
++ # Let's still pretend it is `configure' which instantiates (i.e., don't
++ # use $as_me), people would be surprised to read:
++ # /* config.h. Generated by config.status. */
++ configure_input="Generated from "`IFS=:
++ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
++ if test x"$ac_file" != x-; then
++ configure_input="$ac_file. $configure_input"
++ { echo "$as_me:$LINENO: creating $ac_file" >&5
++echo "$as_me: creating $ac_file" >&6;}
++ fi
+
+-#undef $ac_func
++ case $ac_tag in
++ *:-:* | *:-) cat >"$tmp/stdin";;
++ esac
++ ;;
++ esac
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-{
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char $ac_func ();
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+-choke me
+-#else
+-char (*f) () = $ac_func;
+-#endif
+-#ifdef __cplusplus
+-}
+-#endif
++ ac_dir=`$as_dirname -- "$ac_file" ||
++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$ac_file" : 'X\(//\)[^/]' \| \
++ X"$ac_file" : 'X\(//\)$' \| \
++ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$ac_file" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ { as_dir="$ac_dir"
++ case $as_dir in #(
++ -*) as_dir=./$as_dir;;
++ esac
++ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
++ as_dirs=
++ while :; do
++ case $as_dir in #(
++ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
++ *) as_qdir=$as_dir;;
++ esac
++ as_dirs="'$as_qdir' $as_dirs"
++ as_dir=`$as_dirname -- "$as_dir" ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$as_dir" : 'X\(//\)[^/]' \| \
++ X"$as_dir" : 'X\(//\)$' \| \
++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$as_dir" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ test -d "$as_dir" && break
++ done
++ test -z "$as_dirs" || eval "mkdir $as_dirs"
++ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
++echo "$as_me: error: cannot create directory $as_dir" >&2;}
++ { (exit 1); exit 1; }; }; }
++ ac_builddir=.
+
+-int
+-main ()
+-{
+-return f != $ac_func;
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- eval "$as_ac_var=yes"
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
++ # A ".." for each directory in $ac_dir_suffix.
++ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
++ case $ac_top_builddir_sub in
++ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
++ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
++ esac ;;
++esac
++ac_abs_top_builddir=$ac_pwd
++ac_abs_builddir=$ac_pwd$ac_dir_suffix
++# for backward compatibility:
++ac_top_builddir=$ac_top_build_prefix
+
+-eval "$as_ac_var=no"
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-fi
+-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+-if test `eval echo '${'$as_ac_var'}'` = yes; then
+- cat >>confdefs.h <<_ACEOF
+-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+-_ACEOF
++case $srcdir in
++ .) # We are building in place.
++ ac_srcdir=.
++ ac_top_srcdir=$ac_top_builddir_sub
++ ac_abs_top_srcdir=$ac_pwd ;;
++ [\\/]* | ?:[\\/]* ) # Absolute name.
++ ac_srcdir=$srcdir$ac_dir_suffix;
++ ac_top_srcdir=$srcdir
++ ac_abs_top_srcdir=$srcdir ;;
++ *) # Relative name.
++ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
++ ac_top_srcdir=$ac_top_build_prefix$srcdir
++ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
++esac
++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+-fi
+-done
+
+-fi
++ case $ac_mode in
++ :F)
++ #
++ # CONFIG_FILE
++ #
+
+-# check, if shmget is in cygipc.a
++ case $INSTALL in
++ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
++ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
++ esac
++ ac_MKDIR_P=$MKDIR_P
++ case $MKDIR_P in
++ [\\/$]* | ?:[\\/]* ) ;;
++ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
++ esac
++_ACEOF
+
+-echo "$as_me:$LINENO: checking for shmget in -lcygipc" >&5
+-echo $ECHO_N "checking for shmget in -lcygipc... $ECHO_C" >&6
+-if test "${ac_cv_lib_cygipc_shmget+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lcygipc $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
++cat >>$CONFIG_STATUS <<\_ACEOF
++# If the template does not know about datarootdir, expand it.
++# FIXME: This hack should be removed a few years after 2.60.
++ac_datarootdir_hack=; ac_datarootdir_seen=
++
++case `sed -n '/datarootdir/ {
++ p
++ q
++}
++/@datadir@/p
++/@docdir@/p
++/@infodir@/p
++/@localedir@/p
++/@mandir@/p
++' $ac_file_inputs` in
++*datarootdir*) ac_datarootdir_seen=yes;;
++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
++ { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
++echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++ ac_datarootdir_hack='
++ s&@datadir@&$datadir&g
++ s&@docdir@&$docdir&g
++ s&@infodir@&$infodir&g
++ s&@localedir@&$localedir&g
++ s&@mandir@&$mandir&g
++ s&\\\${datarootdir}&$datarootdir&g' ;;
++esac
+ _ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+
+-/* Override any gcc2 internal prototype to avoid an error. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char shmget ();
+-int
+-main ()
+-{
+-shmget ();
+- ;
+- return 0;
+-}
++# Neutralize VPATH when `$srcdir' = `.'.
++# Shell code in configure.ac might set extrasub.
++# FIXME: do we really want to maintain this feature?
++cat >>$CONFIG_STATUS <<_ACEOF
++ sed "$ac_vpsub
++$extrasub
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+- (eval $ac_link) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_cv_lib_cygipc_shmget=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++cat >>$CONFIG_STATUS <<\_ACEOF
++:t
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
++s&@configure_input@&$configure_input&;t t
++s&@top_builddir@&$ac_top_builddir_sub&;t t
++s&@srcdir@&$ac_srcdir&;t t
++s&@abs_srcdir@&$ac_abs_srcdir&;t t
++s&@top_srcdir@&$ac_top_srcdir&;t t
++s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
++s&@builddir@&$ac_builddir&;t t
++s&@abs_builddir@&$ac_abs_builddir&;t t
++s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
++s&@INSTALL@&$ac_INSTALL&;t t
++s&@MKDIR_P@&$ac_MKDIR_P&;t t
++$ac_datarootdir_hack
++" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
++
++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
++ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
++ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
++ { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
++which seems to be undefined. Please make sure it is defined." >&5
++echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
++which seems to be undefined. Please make sure it is defined." >&2;}
+
+-ac_cv_lib_cygipc_shmget=no
+-fi
+-rm -f conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_lib_cygipc_shmget" >&5
+-echo "${ECHO_T}$ac_cv_lib_cygipc_shmget" >&6
+-if test $ac_cv_lib_cygipc_shmget = yes; then
+- cat >>confdefs.h <<_ACEOF
+-#define HAVE_LIBCYGIPC 1
++ rm -f "$tmp/stdin"
++ case $ac_file in
++ -) cat "$tmp/out"; rm -f "$tmp/out";;
++ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
++ esac
++ ;;
++ :H)
++ #
++ # CONFIG_HEADER
++ #
+ _ACEOF
+
+- LIBS="-lcygipc $LIBS"
++# Transform confdefs.h into a sed script `conftest.defines', that
++# substitutes the proper values into config.h.in to produce config.h.
++rm -f conftest.defines conftest.tail
++# First, append a space to every undef/define line, to ease matching.
++echo 's/$/ /' >conftest.defines
++# Then, protect against being on the right side of a sed subst, or in
++# an unquoted here document, in config.status. If some macros were
++# called several times there might be several #defines for the same
++# symbol, which is useless. But do not sort them, since the last
++# AC_DEFINE must be honored.
++ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
++# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
++# NAME is the cpp macro being defined, VALUE is the value it is being given.
++# PARAMS is the parameter list in the macro definition--in most cases, it's
++# just an empty string.
++ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
++ac_dB='\\)[ (].*,\\1define\\2'
++ac_dC=' '
++ac_dD=' ,'
+
+-fi
++uniq confdefs.h |
++ sed -n '
++ t rset
++ :rset
++ s/^[ ]*#[ ]*define[ ][ ]*//
++ t ok
++ d
++ :ok
++ s/[\\&,]/\\&/g
++ s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
++ s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
++ ' >>conftest.defines
++
++# Remove the space that was appended to ease matching.
++# Then replace #undef with comments. This is necessary, for
++# example, in the case of _POSIX_SOURCE, which is predefined and required
++# on some systems where configure will not decide to define it.
++# (The regexp can be short, since the line contains either #define or #undef.)
++echo 's/ $//
++s,^[ #]*u.*,/* & */,' >>conftest.defines
++
++# Break up conftest.defines:
++ac_max_sed_lines=50
++
++# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
++# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
++# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
++# et cetera.
++ac_in='$ac_file_inputs'
++ac_out='"$tmp/out1"'
++ac_nxt='"$tmp/out2"'
++
++while :
++do
++ # Write a here document:
++ cat >>$CONFIG_STATUS <<_ACEOF
++ # First, check the format of the line:
++ cat >"\$tmp/defines.sed" <<\\CEOF
++/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
++/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
++b
++:def
++_ACEOF
++ sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
++ echo 'CEOF
++ sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
++ ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
++ sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
++ grep . conftest.tail >/dev/null || break
++ rm -f conftest.defines
++ mv conftest.tail conftest.defines
++done
++rm -f conftest.defines conftest.tail
++
++echo "ac_result=$ac_in" >>$CONFIG_STATUS
++cat >>$CONFIG_STATUS <<\_ACEOF
++ if test x"$ac_file" != x-; then
++ echo "/* $configure_input */" >"$tmp/config.h"
++ cat "$ac_result" >>"$tmp/config.h"
++ if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
++ { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
++echo "$as_me: $ac_file is unchanged" >&6;}
++ else
++ rm -f $ac_file
++ mv "$tmp/config.h" $ac_file
++ fi
++ else
++ echo "/* $configure_input */"
++ cat "$ac_result"
++ fi
++ rm -f "$tmp/out12"
++# Compute $ac_file's index in $config_headers.
++_am_stamp_count=1
++for _am_header in $config_headers :; do
++ case $_am_header in
++ $ac_file | $ac_file:* )
++ break ;;
++ * )
++ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
++ esac
++done
++echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
++$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X$ac_file : 'X\(//\)[^/]' \| \
++ X$ac_file : 'X\(//\)$' \| \
++ X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
++echo X$ac_file |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`/stamp-h$_am_stamp_count
++ ;;
+
++ :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
++echo "$as_me: executing $ac_file commands" >&6;}
++ ;;
++ esac
+
+
+-if test "$HAVE_CYGIPC" = "true"; then
+- CYGIPC_TRUE=
+- CYGIPC_FALSE='#'
++ case $ac_file$ac_mode in
++ "rfb/rfbconfig.h":C) ac_prefix_conf_OUT=`echo rfb/rfbconfig.h`
++ac_prefix_conf_DEF=`echo _$ac_prefix_conf_OUT | sed -e "y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:" -e "s/[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g"`
++ac_prefix_conf_PKG=`echo $PACKAGE`
++ac_prefix_conf_LOW=`echo _$ac_prefix_conf_PKG | sed -e "y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:"`
++ac_prefix_conf_UPP=`echo $ac_prefix_conf_PKG | sed -e "y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:" -e "/^[0123456789]/s/^/_/"`
++ac_prefix_conf_INP=`echo _`
++if test "$ac_prefix_conf_INP" = "_"; then
++ for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue
++ test -f "$ac_prefix_conf_INP" && continue
++ case $ac_file in
++ *.h) test -f $ac_file && ac_prefix_conf_INP=$ac_file ;;
++ *)
++ esac
++ done
++fi
++if test "$ac_prefix_conf_INP" = "_"; then
++ case "$ac_prefix_conf_OUT" in
++ */*) ac_prefix_conf_INP=`basename "$ac_prefix_conf_OUT"`
++ ;;
++ *-*) ac_prefix_conf_INP=`echo "$ac_prefix_conf_OUT" | sed -e "s/[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*-//"`
++ ;;
++ *) ac_prefix_conf_INP=config.h
++ ;;
++ esac
++fi
++if test -z "$ac_prefix_conf_PKG" ; then
++ { { echo "$as_me:$LINENO: error: no prefix for _PREFIX_PKG_CONFIG_H" >&5
++echo "$as_me: error: no prefix for _PREFIX_PKG_CONFIG_H" >&2;}
++ { (exit 1); exit 1; }; }
+ else
+- CYGIPC_TRUE='#'
+- CYGIPC_FALSE=
++ if test ! -f "$ac_prefix_conf_INP" ; then if test -f "$srcdir/$ac_prefix_conf_INP" ; then
++ ac_prefix_conf_INP="$srcdir/$ac_prefix_conf_INP"
++ fi fi
++ { echo "$as_me:$LINENO: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5
++echo "$as_me: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6;}
++ if test -f $ac_prefix_conf_INP ; then
++ echo "s/#undef *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]\\)/#undef $ac_prefix_conf_UPP""_\\1/" > conftest.prefix
++ # no! these are things like socklen_t, const, vfork
++ # echo "s/#undef *\\([m4_cr_letters]\\)/#undef $_LOW""_\\1/" >> _script
++ echo "s/#define *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\\)\\(.*\\)/#ifndef $ac_prefix_conf_UPP""_\\1 \\" >> conftest.prefix
++ echo "#define $ac_prefix_conf_UPP""_\\1 \\2 \\" >> conftest.prefix
++ echo "#endif/" >>conftest.prefix
++ # no! these are things like socklen_t, const, vfork
++ # echo "s/#def[]ine *\\([m4_cr_letters][_symbol]*\\)\\(.*\\)/#ifndef $_LOW""_\\1 \\" >> _script
++ # echo "#define $_LOW""_\\1 \\2 \\" >> _script
++ # echo "#endif/" >> _script
++ # now executing _script on _DEF input to create _OUT output file
++ echo "#ifndef $ac_prefix_conf_DEF" >$tmp/pconfig.h
++ echo "#define $ac_prefix_conf_DEF 1" >>$tmp/pconfig.h
++ echo ' ' >>$tmp/pconfig.h
++ echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h
++
++ sed -f conftest.prefix $ac_prefix_conf_INP >>$tmp/pconfig.h
++ echo ' ' >>$tmp/pconfig.h
++ echo '/* once:' $ac_prefix_conf_DEF '*/' >>$tmp/pconfig.h
++ echo "#endif" >>$tmp/pconfig.h
++ if cmp -s $ac_prefix_conf_OUT $tmp/pconfig.h 2>/dev/null; then
++ { echo "$as_me:$LINENO: $ac_prefix_conf_OUT is unchanged" >&5
++echo "$as_me: $ac_prefix_conf_OUT is unchanged" >&6;}
++ else
++ ac_dir=`$as_dirname -- "$ac_prefix_conf_OUT" ||
++$as_expr X"$ac_prefix_conf_OUT" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$ac_prefix_conf_OUT" : 'X\(//\)[^/]' \| \
++ X"$ac_prefix_conf_OUT" : 'X\(//\)$' \| \
++ X"$ac_prefix_conf_OUT" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$ac_prefix_conf_OUT" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ { as_dir="$ac_dir"
++ case $as_dir in #(
++ -*) as_dir=./$as_dir;;
++ esac
++ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
++ as_dirs=
++ while :; do
++ case $as_dir in #(
++ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
++ *) as_qdir=$as_dir;;
++ esac
++ as_dirs="'$as_qdir' $as_dirs"
++ as_dir=`$as_dirname -- "$as_dir" ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$as_dir" : 'X\(//\)[^/]' \| \
++ X"$as_dir" : 'X\(//\)$' \| \
++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$as_dir" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ test -d "$as_dir" && break
++ done
++ test -z "$as_dirs" || eval "mkdir $as_dirs"
++ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
++echo "$as_me: error: cannot create directory $as_dir" >&2;}
++ { (exit 1); exit 1; }; }; }
++ rm -f "$ac_prefix_conf_OUT"
++ mv $tmp/pconfig.h "$ac_prefix_conf_OUT"
++ fi
++ cp conftest.prefix _configs.sed
++ else
++ { { echo "$as_me:$LINENO: error: input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" >&5
++echo "$as_me: error: input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++ rm -f conftest.*
+ fi
++ ;;
++ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
++ # Strip MF so we end up with the name of the file.
++ mf=`echo "$mf" | sed -e 's/:.*$//'`
++ # Check whether this is an Automake generated Makefile or not.
++ # We used to match only the files named `Makefile.in', but
++ # some people rename them; so instead we look at the file content.
++ # Grep'ing the first line is not enough: some people post-process
++ # each Makefile.in and add a new line on top of each file to say so.
++ # Grep'ing the whole file is not good either: AIX grep has a line
++ # limit of 2048, but all sed's we know have understand at least 4000.
++ if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
++ dirpart=`$as_dirname -- "$mf" ||
++$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$mf" : 'X\(//\)[^/]' \| \
++ X"$mf" : 'X\(//\)$' \| \
++ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$mf" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ else
++ continue
++ fi
++ # Extract the definition of DEPDIR, am__include, and am__quote
++ # from the Makefile without running `make'.
++ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
++ test -z "$DEPDIR" && continue
++ am__include=`sed -n 's/^am__include = //p' < "$mf"`
++ test -z "am__include" && continue
++ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
++ # When using ansi2knr, U may be empty or an underscore; expand it
++ U=`sed -n 's/^U = //p' < "$mf"`
++ # Find all dependency output files, they are included files with
++ # $(DEPDIR) in their names. We invoke sed twice because it is the
++ # simplest approach to changing $(DEPDIR) to its actual value in the
++ # expansion.
++ for file in `sed -n "
++ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
++ # Make sure the directory exists.
++ test -f "$dirpart/$file" && continue
++ fdir=`$as_dirname -- "$file" ||
++$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$file" : 'X\(//\)[^/]' \| \
++ X"$file" : 'X\(//\)$' \| \
++ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$file" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ { as_dir=$dirpart/$fdir
++ case $as_dir in #(
++ -*) as_dir=./$as_dir;;
++ esac
++ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
++ as_dirs=
++ while :; do
++ case $as_dir in #(
++ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
++ *) as_qdir=$as_dir;;
++ esac
++ as_dirs="'$as_qdir' $as_dirs"
++ as_dir=`$as_dirname -- "$as_dir" ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$as_dir" : 'X\(//\)[^/]' \| \
++ X"$as_dir" : 'X\(//\)$' \| \
++ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$as_dir" |
++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)[^/].*/{
++ s//\1/
++ q
++ }
++ /^X\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++ test -d "$as_dir" && break
++ done
++ test -z "$as_dirs" || eval "mkdir $as_dirs"
++ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
++echo "$as_me: error: cannot create directory $as_dir" >&2;}
++ { (exit 1); exit 1; }; }; }
++ # echo "creating $dirpart/$file"
++ echo '# dummy' > "$dirpart/$file"
++ done
++done
++ ;;
++ "libtool":C)
+
++ # See if we are running on zsh, and set the options which allow our
++ # commands through without removal of \ escapes.
++ if test -n "${ZSH_VERSION+set}" ; then
++ setopt NO_GLOB_SUBST
++ fi
+
+-# Check if /dev/vcsa1 exists, if so, define LINUX
++ cfgfile="${ofile}T"
++ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
++ $RM "$cfgfile"
+
++ cat <<_LT_EOF >> "$cfgfile"
++#! $SHELL
+
+-if test -c /dev/vcsa1; then
+- LINUX_TRUE=
+- LINUX_FALSE='#'
+-else
+- LINUX_TRUE='#'
+- LINUX_FALSE=
+-fi
++# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
++# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
++# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
++# NOTE: Changes made to this file will be lost: look at ltmain.sh.
++#
++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
++# 2006, 2007, 2008 Free Software Foundation, Inc.
++# Written by Gordon Matzigkeit, 1996
++#
++# This file is part of GNU Libtool.
++#
++# GNU Libtool 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.
++#
++# As a special exception to the GNU General Public License,
++# if you distribute this file as part of a program or library that
++# is built using GNU Libtool, you may include this file under the
++# same distribution terms that you use for the rest of that program.
++#
++# GNU Libtool 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.
++#
++# You should have received a copy of the GNU General Public License
++# along with GNU Libtool; see the file COPYING. If not, a copy
++# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
++# obtained by writing to the Free Software Foundation, Inc.,
++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+-# Check for OS X specific header
+-if test "${ac_cv_header_ApplicationServices_ApplicationServices_h+set}" = set; then
+- echo "$as_me:$LINENO: checking for ApplicationServices/ApplicationServices.h" >&5
+-echo $ECHO_N "checking for ApplicationServices/ApplicationServices.h... $ECHO_C" >&6
+-if test "${ac_cv_header_ApplicationServices_ApplicationServices_h+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_ApplicationServices_ApplicationServices_h" >&5
+-echo "${ECHO_T}$ac_cv_header_ApplicationServices_ApplicationServices_h" >&6
+-else
+- # Is the header compilable?
+-echo "$as_me:$LINENO: checking ApplicationServices/ApplicationServices.h usability" >&5
+-echo $ECHO_N "checking ApplicationServices/ApplicationServices.h usability... $ECHO_C" >&6
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-$ac_includes_default
+-#include <ApplicationServices/ApplicationServices.h>
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- ac_header_compiler=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++# The names of the tagged configurations supported by this script.
++available_tags=""
+
+-ac_header_compiler=no
+-fi
+-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+-echo "${ECHO_T}$ac_header_compiler" >&6
++# ### BEGIN LIBTOOL CONFIG
+
+-# Is the header present?
+-echo "$as_me:$LINENO: checking ApplicationServices/ApplicationServices.h presence" >&5
+-echo $ECHO_N "checking ApplicationServices/ApplicationServices.h presence... $ECHO_C" >&6
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <ApplicationServices/ApplicationServices.h>
+-_ACEOF
+-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null; then
+- if test -s conftest.err; then
+- ac_cpp_err=$ac_c_preproc_warn_flag
+- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
+- else
+- ac_cpp_err=
+- fi
+-else
+- ac_cpp_err=yes
+-fi
+-if test -z "$ac_cpp_err"; then
+- ac_header_preproc=yes
+-else
+- echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
++# Which release of libtool.m4 was used?
++macro_version=$macro_version
++macro_revision=$macro_revision
+
+- ac_header_preproc=no
+-fi
+-rm -f conftest.err conftest.$ac_ext
+-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+-echo "${ECHO_T}$ac_header_preproc" >&6
++# Whether or not to build shared libraries.
++build_libtool_libs=$enable_shared
+
+-# So? What about this header?
+-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+- yes:no: )
+- { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: accepted by the compiler, rejected by the preprocessor!" >&5
+-echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+- { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: proceeding with the compiler's result" >&5
+-echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: proceeding with the compiler's result" >&2;}
+- ac_header_preproc=yes
+- ;;
+- no:yes:* )
+- { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: present but cannot be compiled" >&5
+-echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: present but cannot be compiled" >&2;}
+- { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: check for missing prerequisite headers?" >&5
+-echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: check for missing prerequisite headers?" >&2;}
+- { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: see the Autoconf documentation" >&5
+-echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: see the Autoconf documentation" >&2;}
+- { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: section \"Present But Cannot Be Compiled\"" >&5
+-echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: section \"Present But Cannot Be Compiled\"" >&2;}
+- { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: proceeding with the preprocessor's result" >&5
+-echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: proceeding with the preprocessor's result" >&2;}
+- { echo "$as_me:$LINENO: WARNING: ApplicationServices/ApplicationServices.h: in the future, the compiler will take precedence" >&5
+-echo "$as_me: WARNING: ApplicationServices/ApplicationServices.h: in the future, the compiler will take precedence" >&2;}
+- (
+- cat <<\_ASBOX
+-## ----------------------------------------------------------- ##
+-## Report this to http://sourceforge.net/projects/libvncserver ##
+-## ----------------------------------------------------------- ##
+-_ASBOX
+- ) |
+- sed "s/^/$as_me: WARNING: /" >&2
+- ;;
+-esac
+-echo "$as_me:$LINENO: checking for ApplicationServices/ApplicationServices.h" >&5
+-echo $ECHO_N "checking for ApplicationServices/ApplicationServices.h... $ECHO_C" >&6
+-if test "${ac_cv_header_ApplicationServices_ApplicationServices_h+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- ac_cv_header_ApplicationServices_ApplicationServices_h=$ac_header_preproc
+-fi
+-echo "$as_me:$LINENO: result: $ac_cv_header_ApplicationServices_ApplicationServices_h" >&5
+-echo "${ECHO_T}$ac_cv_header_ApplicationServices_ApplicationServices_h" >&6
++# Whether or not to build static libraries.
++build_old_libs=$enable_static
++
++# What type of objects to build.
++pic_mode=$pic_mode
+
+-fi
+-if test $ac_cv_header_ApplicationServices_ApplicationServices_h = yes; then
+- HAVE_OSX="true"
+-fi
++# Whether or not to optimize for fast installation.
++fast_install=$enable_fast_install
+
++# The host system.
++host_alias=$host_alias
++host=$host
++host_os=$host_os
+
++# The build system.
++build_alias=$build_alias
++build=$build
++build_os=$build_os
+
++# A sed program that does not truncate output.
++SED=$lt_SED
+
+-if test "$HAVE_OSX" = "true"; then
+- OSX_TRUE=
+- OSX_FALSE='#'
+-else
+- OSX_TRUE='#'
+- OSX_FALSE=
+-fi
++# Sed that helps us avoid accidentally triggering echo(1) options like -n.
++Xsed="\$SED -e 1s/^X//"
+
++# A grep program that handles long lines.
++GREP=$lt_GREP
+
+-# On Solaris 2.7, write() returns ENOENT when it really means EAGAIN
++# An ERE matcher.
++EGREP=$lt_EGREP
+
++# A literal string matcher.
++FGREP=$lt_FGREP
+
+-case `(uname -sr) 2>/dev/null` in
+- "SunOS 5.7")
+- cat >>confdefs.h <<\_ACEOF
+-#define ENOENT_WORKAROUND 1
+-_ACEOF
++# A BSD- or MS-compatible name lister.
++NM=$lt_NM
+
+- ;;
+-esac
++# Whether we need soft or hard links.
++LN_S=$lt_LN_S
+
+-# Check for rpm SOURCES path
+-printf "checking for rpm sources path... "
+-RPMSOURCEDIR="NOT-FOUND"
+-for directory in packages OpenLinux redhat RedHat rpm RPM "" ; do
+- if test -d /usr/src/${directory}/SOURCES; then
+- RPMSOURCEDIR="/usr/src/${directory}/SOURCES/"
+- fi
+-done
+-echo "$RPMSOURCEDIR"
++# What is the maximum length of a command?
++max_cmd_len=$max_cmd_len
+
++# Object file suffix (normally "o").
++objext=$ac_objext
+
+-if test "$RPMSOURCEDIR" != "NOT-FOUND"; then
+- HAVE_RPM_TRUE=
+- HAVE_RPM_FALSE='#'
+-else
+- HAVE_RPM_TRUE='#'
+- HAVE_RPM_FALSE=
+-fi
++# Executable file suffix (normally "").
++exeext=$exeext
+
++# whether the shell understands "unset".
++lt_unset=$lt_unset
+
++# turn spaces into newlines.
++SP2NL=$lt_lt_SP2NL
+
+- ac_config_files="$ac_config_files Makefile libvncserver/Makefile contrib/Makefile examples/Makefile vncterm/Makefile classes/Makefile classes/ssl/Makefile libvncclient/Makefile client_examples/Makefile test/Makefile libvncserver-config LibVNCServer.spec"
++# turn newlines into spaces.
++NL2SP=$lt_lt_NL2SP
+
+-# x11vnc only:
+-if test "$build_x11vnc" = "yes"; then
+- ac_config_files="$ac_config_files x11vnc/Makefile x11vnc/misc/Makefile"
++# How to create reloadable object files.
++reload_flag=$lt_reload_flag
++reload_cmds=$lt_reload_cmds
+
+-fi
++# Method to check whether dependent libraries are shared objects.
++deplibs_check_method=$lt_deplibs_check_method
+
+- ac_config_commands="$ac_config_commands chmod-libvncserver-config"
++# Command to use when deplibs_check_method == "file_magic".
++file_magic_cmd=$lt_file_magic_cmd
+
+-cat >confcache <<\_ACEOF
+-# This file is a shell script that caches the results of configure
+-# tests run on this system so they can be shared between configure
+-# scripts and configure runs, see configure's option --config-cache.
+-# It is not useful on other systems. If it contains results you don't
+-# want to keep, you may remove or edit it.
+-#
+-# config.status only pays attention to the cache file if you give it
+-# the --recheck option to rerun configure.
+-#
+-# `ac_cv_env_foo' variables (set or unset) will be overridden when
+-# loading this file, other *unset* `ac_cv_foo' will be assigned the
+-# following values.
++# The archiver.
++AR=$lt_AR
++AR_FLAGS=$lt_AR_FLAGS
+
+-_ACEOF
++# A symbol stripping program.
++STRIP=$lt_STRIP
+
+-# The following way of writing the cache mishandles newlines in values,
+-# but we know of no workaround that is simple, portable, and efficient.
+-# So, don't put newlines in cache variables' values.
+-# Ultrix sh set writes to stderr and can't be redirected directly,
+-# and sets the high bit in the cache file unless we assign to the vars.
+-{
+- (set) 2>&1 |
+- case `(ac_space=' '; set | grep ac_space) 2>&1` in
+- *ac_space=\ *)
+- # `set' does not quote correctly, so add quotes (double-quote
+- # substitution turns \\\\ into \\, and sed turns \\ into \).
+- sed -n \
+- "s/'/'\\\\''/g;
+- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+- ;;
+- *)
+- # `set' quotes correctly as required by POSIX, so do not add quotes.
+- sed -n \
+- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+- ;;
+- esac;
+-} |
+- sed '
+- t clear
+- : clear
+- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+- t end
+- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+- : end' >>confcache
+-if diff $cache_file confcache >/dev/null 2>&1; then :; else
+- if test -w $cache_file; then
+- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+- cat confcache >$cache_file
+- else
+- echo "not updating unwritable cache $cache_file"
+- fi
+-fi
+-rm -f confcache
++# Commands used to install an old-style archive.
++RANLIB=$lt_RANLIB
++old_postinstall_cmds=$lt_old_postinstall_cmds
++old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+-test "x$prefix" = xNONE && prefix=$ac_default_prefix
+-# Let make expand exec_prefix.
+-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
++# A C compiler.
++LTCC=$lt_CC
+
+-# VPATH may cause trouble with some makes, so we remove $(srcdir),
+-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+-# trailing colons and then remove the whole line if VPATH becomes empty
+-# (actually we leave an empty line to preserve line numbers).
+-if test "x$srcdir" = x.; then
+- ac_vpsub='/^[ ]*VPATH[ ]*=/{
+-s/:*\$(srcdir):*/:/;
+-s/:*\${srcdir}:*/:/;
+-s/:*@srcdir@:*/:/;
+-s/^\([^=]*=[ ]*\):*/\1/;
+-s/:*$//;
+-s/^[^=]*=[ ]*$//;
+-}'
+-fi
++# LTCC compiler flags.
++LTCFLAGS=$lt_CFLAGS
+
+-DEFS=-DHAVE_CONFIG_H
++# Take the output of nm and produce a listing of raw symbols and C names.
++global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+-ac_libobjs=
+-ac_ltlibobjs=
+-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+- # 1. Remove the extension, and $U if already installed.
+- ac_i=`echo "$ac_i" |
+- sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+- # 2. Add them.
+- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+-done
+-LIBOBJS=$ac_libobjs
++# Transform the output of nm in a proper C declaration.
++global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+-LTLIBOBJS=$ac_ltlibobjs
++# Transform the output of nm in a C name address pair.
++global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
++# Transform the output of nm in a C name address pair when lib prefix is needed.
++global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+- { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&5
+-echo "$as_me: error: conditional \"AMDEP\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&5
+-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&5
+-echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-if test -z "${WITH_FFMPEG_TRUE}" && test -z "${WITH_FFMPEG_FALSE}"; then
+- { { echo "$as_me:$LINENO: error: conditional \"WITH_FFMPEG\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&5
+-echo "$as_me: error: conditional \"WITH_FFMPEG\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-if test -z "${HAVE_MP3LAME_TRUE}" && test -z "${HAVE_MP3LAME_FALSE}"; then
+- { { echo "$as_me:$LINENO: error: conditional \"HAVE_MP3LAME\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&5
+-echo "$as_me: error: conditional \"HAVE_MP3LAME\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-if test -z "${HAVE_X_TRUE}" && test -z "${HAVE_X_FALSE}"; then
+- { { echo "$as_me:$LINENO: error: conditional \"HAVE_X\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&5
+-echo "$as_me: error: conditional \"HAVE_X\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-if test -z "${HAVE_SYSTEM_LIBVNCSERVER_TRUE}" && test -z "${HAVE_SYSTEM_LIBVNCSERVER_FALSE}"; then
+- { { echo "$as_me:$LINENO: error: conditional \"HAVE_SYSTEM_LIBVNCSERVER\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&5
+-echo "$as_me: error: conditional \"HAVE_SYSTEM_LIBVNCSERVER\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-if test -z "${HAVE_LIBPTHREAD_TRUE}" && test -z "${HAVE_LIBPTHREAD_FALSE}"; then
+- { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBPTHREAD\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&5
+-echo "$as_me: error: conditional \"HAVE_LIBPTHREAD\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-if test -z "${WITH_TIGHTVNC_FILETRANSFER_TRUE}" && test -z "${WITH_TIGHTVNC_FILETRANSFER_FALSE}"; then
+- { { echo "$as_me:$LINENO: error: conditional \"WITH_TIGHTVNC_FILETRANSFER\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&5
+-echo "$as_me: error: conditional \"WITH_TIGHTVNC_FILETRANSFER\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-if test -z "${HAVE_LIBZ_TRUE}" && test -z "${HAVE_LIBZ_FALSE}"; then
+- { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBZ\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&5
+-echo "$as_me: error: conditional \"HAVE_LIBZ\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-if test -z "${HAVE_LIBJPEG_TRUE}" && test -z "${HAVE_LIBJPEG_FALSE}"; then
+- { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBJPEG\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&5
+-echo "$as_me: error: conditional \"HAVE_LIBJPEG\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-if test -z "${HAVE_LIBSDL_TRUE}" && test -z "${HAVE_LIBSDL_FALSE}"; then
+- { { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBSDL\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&5
+-echo "$as_me: error: conditional \"HAVE_LIBSDL\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-if test -z "${MINGW_TRUE}" && test -z "${MINGW_FALSE}"; then
+- { { echo "$as_me:$LINENO: error: conditional \"MINGW\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&5
+-echo "$as_me: error: conditional \"MINGW\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-if test -z "${CYGIPC_TRUE}" && test -z "${CYGIPC_FALSE}"; then
+- { { echo "$as_me:$LINENO: error: conditional \"CYGIPC\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&5
+-echo "$as_me: error: conditional \"CYGIPC\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-if test -z "${LINUX_TRUE}" && test -z "${LINUX_FALSE}"; then
+- { { echo "$as_me:$LINENO: error: conditional \"LINUX\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&5
+-echo "$as_me: error: conditional \"LINUX\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-if test -z "${OSX_TRUE}" && test -z "${OSX_FALSE}"; then
+- { { echo "$as_me:$LINENO: error: conditional \"OSX\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&5
+-echo "$as_me: error: conditional \"OSX\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-if test -z "${HAVE_RPM_TRUE}" && test -z "${HAVE_RPM_FALSE}"; then
+- { { echo "$as_me:$LINENO: error: conditional \"HAVE_RPM\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&5
+-echo "$as_me: error: conditional \"HAVE_RPM\" was never defined.
+-Usually this means the macro was only invoked conditionally." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
++# The name of the directory that contains temporary libtool files.
++objdir=$objdir
++
++# Shell to use when invoking shell scripts.
++SHELL=$lt_SHELL
++
++# An echo program that does not interpret backslashes.
++ECHO=$lt_ECHO
+
+-: ${CONFIG_STATUS=./config.status}
+-ac_clean_files_save=$ac_clean_files
+-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+-echo "$as_me: creating $CONFIG_STATUS" >&6;}
+-cat >$CONFIG_STATUS <<_ACEOF
+-#! $SHELL
+-# Generated by $as_me.
+-# Run this file to recreate the current configuration.
+-# Compiler output produced by configure, useful for debugging
+-# configure, is in config.log if it exists.
++# Used to examine libraries when file_magic_cmd begins with "file".
++MAGIC_CMD=$MAGIC_CMD
+
+-debug=false
+-ac_cs_recheck=false
+-ac_cs_silent=false
+-SHELL=\${CONFIG_SHELL-$SHELL}
+-_ACEOF
++# Must we lock files when doing compilation?
++need_locks=$lt_need_locks
+
+-cat >>$CONFIG_STATUS <<\_ACEOF
+-## --------------------- ##
+-## M4sh Initialization. ##
+-## --------------------- ##
++# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
++DSYMUTIL=$lt_DSYMUTIL
+
+-# Be Bourne compatible
+-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+- emulate sh
+- NULLCMD=:
+- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+- # is contrary to our usage. Disable this feature.
+- alias -g '${1+"$@"}'='"$@"'
+-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+- set -o posix
+-fi
+-DUALCASE=1; export DUALCASE # for MKS sh
++# Tool to change global to local symbols on Mac OS X.
++NMEDIT=$lt_NMEDIT
+
+-# Support unset when possible.
+-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+- as_unset=unset
+-else
+- as_unset=false
+-fi
++# Tool to manipulate fat objects and archives on Mac OS X.
++LIPO=$lt_LIPO
+
++# ldd/readelf like tool for Mach-O binaries on Mac OS X.
++OTOOL=$lt_OTOOL
+
+-# Work around bugs in pre-3.0 UWIN ksh.
+-$as_unset ENV MAIL MAILPATH
+-PS1='$ '
+-PS2='> '
+-PS4='+ '
++# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
++OTOOL64=$lt_OTOOL64
+
+-# NLS nuisances.
+-for as_var in \
+- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+- LC_TELEPHONE LC_TIME
+-do
+- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+- eval $as_var=C; export $as_var
+- else
+- $as_unset $as_var
+- fi
+-done
++# Old archive suffix (normally "a").
++libext=$libext
+
+-# Required to use basename.
+-if expr a : '\(a\)' >/dev/null 2>&1; then
+- as_expr=expr
+-else
+- as_expr=false
+-fi
++# Shared library suffix (normally ".so").
++shrext_cmds=$lt_shrext_cmds
+
+-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+- as_basename=basename
+-else
+- as_basename=false
+-fi
++# The commands to extract the exported symbol list from a shared archive.
++extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
++# Variables whose values should be saved in libtool wrapper scripts and
++# restored at link time.
++variables_saved_for_relink=$lt_variables_saved_for_relink
+
+-# Name of the executable.
+-as_me=`$as_basename "$0" ||
+-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+- X"$0" : 'X\(//\)$' \| \
+- X"$0" : 'X\(/\)$' \| \
+- . : '\(.\)' 2>/dev/null ||
+-echo X/"$0" |
+- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+- /^X\/\(\/\/\)$/{ s//\1/; q; }
+- /^X\/\(\/\).*/{ s//\1/; q; }
+- s/.*/./; q'`
++# Do we need the "lib" prefix for modules?
++need_lib_prefix=$need_lib_prefix
+
++# Do we need a version for libraries?
++need_version=$need_version
+
+-# PATH needs CR, and LINENO needs CR and PATH.
+-# Avoid depending upon Character Ranges.
+-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+-as_cr_digits='0123456789'
+-as_cr_alnum=$as_cr_Letters$as_cr_digits
++# Library versioning type.
++version_type=$version_type
+
+-# The user is always right.
+-if test "${PATH_SEPARATOR+set}" != set; then
+- echo "#! /bin/sh" >conf$$.sh
+- echo "exit 0" >>conf$$.sh
+- chmod +x conf$$.sh
+- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+- PATH_SEPARATOR=';'
+- else
+- PATH_SEPARATOR=:
+- fi
+- rm -f conf$$.sh
+-fi
++# Shared library runtime path variable.
++runpath_var=$runpath_var
+
++# Shared library path variable.
++shlibpath_var=$shlibpath_var
+
+- as_lineno_1=$LINENO
+- as_lineno_2=$LINENO
+- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+- test "x$as_lineno_1" != "x$as_lineno_2" &&
+- test "x$as_lineno_3" = "x$as_lineno_2" || {
+- # Find who we are. Look in the path if we contain no path at all
+- # relative or not.
+- case $0 in
+- *[\\/]* ) as_myself=$0 ;;
+- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+-done
++# Is shlibpath searched before the hard-coded library search path?
++shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+- ;;
+- esac
+- # We did not find ourselves, most probably we were run as `sh COMMAND'
+- # in which case we are not to be found in the path.
+- if test "x$as_myself" = x; then
+- as_myself=$0
+- fi
+- if test ! -f "$as_myself"; then
+- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+- { (exit 1); exit 1; }; }
+- fi
+- case $CONFIG_SHELL in
+- '')
+- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for as_base in sh bash ksh sh5; do
+- case $as_dir in
+- /*)
+- if ("$as_dir/$as_base" -c '
+- as_lineno_1=$LINENO
+- as_lineno_2=$LINENO
+- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+- test "x$as_lineno_1" != "x$as_lineno_2" &&
+- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+- CONFIG_SHELL=$as_dir/$as_base
+- export CONFIG_SHELL
+- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+- fi;;
+- esac
+- done
+-done
+-;;
+- esac
++# Format of library name prefix.
++libname_spec=$lt_libname_spec
+
+- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+- # uniformly replaced by the line number. The first 'sed' inserts a
+- # line-number line before each line; the second 'sed' does the real
+- # work. The second script uses 'N' to pair each line-number line
+- # with the numbered line, and appends trailing '-' during
+- # substitution so that $LINENO is not a special case at line end.
+- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+- sed '=' <$as_myself |
+- sed '
+- N
+- s,$,-,
+- : loop
+- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+- t loop
+- s,-$,,
+- s,^['$as_cr_digits']*\n,,
+- ' >$as_me.lineno &&
+- chmod +x $as_me.lineno ||
+- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+- { (exit 1); exit 1; }; }
++# List of archive names. First name is the real one, the rest are links.
++# The last name is the one that the linker finds with -lNAME
++library_names_spec=$lt_library_names_spec
+
+- # Don't try to exec as it changes $[0], causing all sort of problems
+- # (the dirname of $[0] is not the place where we might find the
+- # original and so on. Autoconf is especially sensible to this).
+- . ./$as_me.lineno
+- # Exit status is that of the last command.
+- exit
+-}
++# The coded name of the library, if different from the real name.
++soname_spec=$lt_soname_spec
+
++# Command to use after installation of a shared archive.
++postinstall_cmds=$lt_postinstall_cmds
+
+-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+- *c*,-n*) ECHO_N= ECHO_C='
+-' ECHO_T=' ' ;;
+- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+-esac
++# Command to use after uninstallation of a shared archive.
++postuninstall_cmds=$lt_postuninstall_cmds
+
+-if expr a : '\(a\)' >/dev/null 2>&1; then
+- as_expr=expr
+-else
+- as_expr=false
+-fi
++# Commands used to finish a libtool library installation in a directory.
++finish_cmds=$lt_finish_cmds
+
+-rm -f conf$$ conf$$.exe conf$$.file
+-echo >conf$$.file
+-if ln -s conf$$.file conf$$ 2>/dev/null; then
+- # We could just check for DJGPP; but this test a) works b) is more generic
+- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+- if test -f conf$$.exe; then
+- # Don't use ln at all; we don't have any links
+- as_ln_s='cp -p'
+- else
+- as_ln_s='ln -s'
+- fi
+-elif ln conf$$.file conf$$ 2>/dev/null; then
+- as_ln_s=ln
+-else
+- as_ln_s='cp -p'
+-fi
+-rm -f conf$$ conf$$.exe conf$$.file
++# As "finish_cmds", except a single script fragment to be evaled but
++# not shown.
++finish_eval=$lt_finish_eval
+
+-if mkdir -p . 2>/dev/null; then
+- as_mkdir_p=:
+-else
+- test -d ./-p && rmdir ./-p
+- as_mkdir_p=false
+-fi
++# Whether we should hardcode library paths into libraries.
++hardcode_into_libs=$hardcode_into_libs
+
+-as_executable_p="test -f"
++# Compile-time system search path for libraries.
++sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+-# Sed expression to map a string onto a valid CPP name.
+-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
++# Run-time system search path for libraries.
++sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+-# Sed expression to map a string onto a valid variable name.
+-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
++# Whether dlopen is supported.
++dlopen_support=$enable_dlopen
+
++# Whether dlopen of programs is supported.
++dlopen_self=$enable_dlopen_self
+
+-# IFS
+-# We need space, tab and new line, in precisely that order.
+-as_nl='
+-'
+-IFS=" $as_nl"
++# Whether dlopen of statically linked programs is supported.
++dlopen_self_static=$enable_dlopen_self_static
+
+-# CDPATH.
+-$as_unset CDPATH
++# Commands to strip libraries.
++old_striplib=$lt_old_striplib
++striplib=$lt_striplib
+
+-exec 6>&1
+
+-# Open the log real soon, to keep \$[0] and so on meaningful, and to
+-# report actual input values of CONFIG_FILES etc. instead of their
+-# values after options handling. Logging --version etc. is OK.
+-exec 5>>config.log
+-{
+- echo
+- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+-## Running $as_me. ##
+-_ASBOX
+-} >&5
+-cat >&5 <<_CSEOF
++# The linker used to build libraries.
++LD=$lt_LD
+
+-This file was extended by LibVNCServer $as_me 0.9.1, which was
+-generated by GNU Autoconf 2.59. Invocation command line was
++# Commands used to build an old-style archive.
++old_archive_cmds=$lt_old_archive_cmds
+
+- CONFIG_FILES = $CONFIG_FILES
+- CONFIG_HEADERS = $CONFIG_HEADERS
+- CONFIG_LINKS = $CONFIG_LINKS
+- CONFIG_COMMANDS = $CONFIG_COMMANDS
+- $ $0 $@
++# A language specific compiler.
++CC=$lt_compiler
+
+-_CSEOF
+-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+-echo >&5
+-_ACEOF
++# Is the compiler the GNU compiler?
++with_gcc=$GCC
+
+-# Files that config.status was made for.
+-if test -n "$ac_config_files"; then
+- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+-fi
++# Compiler flag to turn off builtin functions.
++no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+-if test -n "$ac_config_headers"; then
+- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+-fi
++# How to pass a linker flag through the compiler.
++wl=$lt_lt_prog_compiler_wl
+
+-if test -n "$ac_config_links"; then
+- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+-fi
++# Additional compiler flags for building library objects.
++pic_flag=$lt_lt_prog_compiler_pic
+
+-if test -n "$ac_config_commands"; then
+- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+-fi
++# Compiler flag to prevent dynamic linking.
++link_static_flag=$lt_lt_prog_compiler_static
+
+-cat >>$CONFIG_STATUS <<\_ACEOF
++# Does compiler simultaneously support -c and -o options?
++compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+-ac_cs_usage="\
+-\`$as_me' instantiates files from templates according to the
+-current configuration.
++# Whether or not to add -lc for building shared libraries.
++build_libtool_need_lc=$archive_cmds_need_lc
+
+-Usage: $0 [OPTIONS] [FILE]...
++# Whether or not to disallow shared libs when runtime libs are static.
++allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+- -h, --help print this help, then exit
+- -V, --version print version number, then exit
+- -q, --quiet do not print progress messages
+- -d, --debug don't remove temporary files
+- --recheck update $as_me by reconfiguring in the same conditions
+- --file=FILE[:TEMPLATE]
+- instantiate the configuration file FILE
+- --header=FILE[:TEMPLATE]
+- instantiate the configuration header FILE
++# Compiler flag to allow reflexive dlopens.
++export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+-Configuration files:
+-$config_files
++# Compiler flag to generate shared objects directly from archives.
++whole_archive_flag_spec=$lt_whole_archive_flag_spec
++
++# Whether the compiler copes with passing no objects directly.
++compiler_needs_object=$lt_compiler_needs_object
++
++# Create an old-style archive from a shared archive.
++old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
++
++# Create a temporary old-style archive to link instead of a shared archive.
++old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+-Configuration headers:
+-$config_headers
++# Commands used to build a shared archive.
++archive_cmds=$lt_archive_cmds
++archive_expsym_cmds=$lt_archive_expsym_cmds
+
+-Configuration commands:
+-$config_commands
++# Commands used to build a loadable module if different from building
++# a shared archive.
++module_cmds=$lt_module_cmds
++module_expsym_cmds=$lt_module_expsym_cmds
+
+-Report bugs to <bug-autoconf@gnu.org>."
+-_ACEOF
++# Whether we are building with GNU ld or not.
++with_gnu_ld=$lt_with_gnu_ld
+
+-cat >>$CONFIG_STATUS <<_ACEOF
+-ac_cs_version="\\
+-LibVNCServer config.status 0.9.1
+-configured by $0, generated by GNU Autoconf 2.59,
+- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
++# Flag that allows shared libraries with undefined symbols to be built.
++allow_undefined_flag=$lt_allow_undefined_flag
+
+-Copyright (C) 2003 Free Software Foundation, Inc.
+-This config.status script is free software; the Free Software Foundation
+-gives unlimited permission to copy, distribute and modify it."
+-srcdir=$srcdir
+-INSTALL="$INSTALL"
+-_ACEOF
++# Flag that enforces no undefined symbols.
++no_undefined_flag=$lt_no_undefined_flag
+
+-cat >>$CONFIG_STATUS <<\_ACEOF
+-# If no file are specified by the user, then we need to provide default
+-# value. By we need to know if files were specified by the user.
+-ac_need_defaults=:
+-while test $# != 0
+-do
+- case $1 in
+- --*=*)
+- ac_option=`expr "x$1" : 'x\([^=]*\)='`
+- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+- ac_shift=:
+- ;;
+- -*)
+- ac_option=$1
+- ac_optarg=$2
+- ac_shift=shift
+- ;;
+- *) # This is not an option, so the user has probably given explicit
+- # arguments.
+- ac_option=$1
+- ac_need_defaults=false;;
+- esac
++# Flag to hardcode \$libdir into a binary during linking.
++# This must work even if \$libdir does not exist
++hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+- case $ac_option in
+- # Handling of the options.
+-_ACEOF
+-cat >>$CONFIG_STATUS <<\_ACEOF
+- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+- ac_cs_recheck=: ;;
+- --version | --vers* | -V )
+- echo "$ac_cs_version"; exit 0 ;;
+- --he | --h)
+- # Conflict between --help and --header
+- { { echo "$as_me:$LINENO: error: ambiguous option: $1
+-Try \`$0 --help' for more information." >&5
+-echo "$as_me: error: ambiguous option: $1
+-Try \`$0 --help' for more information." >&2;}
+- { (exit 1); exit 1; }; };;
+- --help | --hel | -h )
+- echo "$ac_cs_usage"; exit 0 ;;
+- --debug | --d* | -d )
+- debug=: ;;
+- --file | --fil | --fi | --f )
+- $ac_shift
+- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+- ac_need_defaults=false;;
+- --header | --heade | --head | --hea )
+- $ac_shift
+- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+- ac_need_defaults=false;;
+- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+- | -silent | --silent | --silen | --sile | --sil | --si | --s)
+- ac_cs_silent=: ;;
++# If ld is used when linking, flag to hardcode \$libdir into a binary
++# during linking. This must work even if \$libdir does not exist.
++hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+
+- # This is an error.
+- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+-Try \`$0 --help' for more information." >&5
+-echo "$as_me: error: unrecognized option: $1
+-Try \`$0 --help' for more information." >&2;}
+- { (exit 1); exit 1; }; } ;;
++# Whether we need a single "-rpath" flag with a separated argument.
++hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+- *) ac_config_targets="$ac_config_targets $1" ;;
++# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
++# DIR into the resulting binary.
++hardcode_direct=$hardcode_direct
+
+- esac
+- shift
+-done
++# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
++# DIR into the resulting binary and the resulting library dependency is
++# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
++# library is relocated.
++hardcode_direct_absolute=$hardcode_direct_absolute
+
+-ac_configure_extra_args=
++# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
++# into the resulting binary.
++hardcode_minus_L=$hardcode_minus_L
+
+-if $ac_cs_silent; then
+- exec 6>/dev/null
+- ac_configure_extra_args="$ac_configure_extra_args --silent"
+-fi
++# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
++# into the resulting binary.
++hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+-_ACEOF
+-cat >>$CONFIG_STATUS <<_ACEOF
+-if \$ac_cs_recheck; then
+- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+-fi
++# Set to "yes" if building a shared library automatically hardcodes DIR
++# into the library and all subsequent libraries and executables linked
++# against it.
++hardcode_automatic=$hardcode_automatic
+
+-_ACEOF
++# Set to yes if linker adds runtime paths of dependent libraries
++# to runtime path list.
++inherit_rpath=$inherit_rpath
+
+-cat >>$CONFIG_STATUS <<_ACEOF
+-#
+-# INIT-COMMANDS section.
+-#
++# Whether libtool must link a program against all its dependency libraries.
++link_all_deplibs=$link_all_deplibs
+
+-PACKAGE="$PACKAGE"
+-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
++# Fix the shell variable \$srcfile for the compiler.
++fix_srcfile_path=$lt_fix_srcfile_path
+
+-_ACEOF
++# Set to "yes" if exported symbols are required.
++always_export_symbols=$always_export_symbols
+
++# The commands to list exported symbols.
++export_symbols_cmds=$lt_export_symbols_cmds
+
++# Symbols that should not be listed in the preloaded symbols.
++exclude_expsyms=$lt_exclude_expsyms
+
+-cat >>$CONFIG_STATUS <<\_ACEOF
+-for ac_config_target in $ac_config_targets
+-do
+- case "$ac_config_target" in
+- # Handling of arguments.
+- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+- "libvncserver/Makefile" ) CONFIG_FILES="$CONFIG_FILES libvncserver/Makefile" ;;
+- "contrib/Makefile" ) CONFIG_FILES="$CONFIG_FILES contrib/Makefile" ;;
+- "examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
+- "vncterm/Makefile" ) CONFIG_FILES="$CONFIG_FILES vncterm/Makefile" ;;
+- "classes/Makefile" ) CONFIG_FILES="$CONFIG_FILES classes/Makefile" ;;
+- "classes/ssl/Makefile" ) CONFIG_FILES="$CONFIG_FILES classes/ssl/Makefile" ;;
+- "libvncclient/Makefile" ) CONFIG_FILES="$CONFIG_FILES libvncclient/Makefile" ;;
+- "client_examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES client_examples/Makefile" ;;
+- "test/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
+- "libvncserver-config" ) CONFIG_FILES="$CONFIG_FILES libvncserver-config" ;;
+- "LibVNCServer.spec" ) CONFIG_FILES="$CONFIG_FILES LibVNCServer.spec" ;;
+- "x11vnc/Makefile" ) CONFIG_FILES="$CONFIG_FILES x11vnc/Makefile" ;;
+- "x11vnc/misc/Makefile" ) CONFIG_FILES="$CONFIG_FILES x11vnc/misc/Makefile" ;;
+- "rfb/rfbconfig.h" ) CONFIG_COMMANDS="$CONFIG_COMMANDS rfb/rfbconfig.h" ;;
+- "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+- "chmod-libvncserver-config" ) CONFIG_COMMANDS="$CONFIG_COMMANDS chmod-libvncserver-config" ;;
+- "rfbconfig.h" ) CONFIG_HEADERS="$CONFIG_HEADERS rfbconfig.h" ;;
+- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+- { (exit 1); exit 1; }; };;
+- esac
+-done
++# Symbols that must always be exported.
++include_expsyms=$lt_include_expsyms
+
+-# If the user did not use the arguments to specify the items to instantiate,
+-# then the envvar interface is used. Set only those that are not.
+-# We use the long form for the default assignment because of an extremely
+-# bizarre bug on SunOS 4.1.3.
+-if $ac_need_defaults; then
+- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+-fi
++# Commands necessary for linking programs (against libraries) with templates.
++prelink_cmds=$lt_prelink_cmds
+
+-# Have a temporary directory for convenience. Make it in the build tree
+-# simply because there is no reason to put it here, and in addition,
+-# creating and moving files from /tmp can sometimes cause problems.
+-# Create a temporary directory, and hook for its removal unless debugging.
+-$debug ||
+-{
+- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+- trap '{ (exit 1); exit 1; }' 1 2 13 15
+-}
++# Specify filename containing input files.
++file_list_spec=$lt_file_list_spec
+
+-# Create a (secure) tmp directory for tmp files.
++# How to hardcode a shared library path into an executable.
++hardcode_action=$hardcode_action
+
+-{
+- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+- test -n "$tmp" && test -d "$tmp"
+-} ||
+-{
+- tmp=./confstat$$-$RANDOM
+- (umask 077 && mkdir $tmp)
+-} ||
+-{
+- echo "$me: cannot create a temporary directory in ." >&2
+- { (exit 1); exit 1; }
+-}
++# ### END LIBTOOL CONFIG
+
+-_ACEOF
++_LT_EOF
+
+-cat >>$CONFIG_STATUS <<_ACEOF
++ case $host_os in
++ aix3*)
++ cat <<\_LT_EOF >> "$cfgfile"
++# AIX sometimes has problems with the GCC collect2 program. For some
++# reason, if we set the COLLECT_NAMES environment variable, the problems
++# vanish in a puff of smoke.
++if test "X${COLLECT_NAMES+set}" != Xset; then
++ COLLECT_NAMES=
++ export COLLECT_NAMES
++fi
++_LT_EOF
++ ;;
++ esac
+
+-#
+-# CONFIG_FILES section.
+-#
+
+-# No need to generate the scripts if there are no CONFIG_FILES.
+-# This happens for instance when ./config.status config.h
+-if test -n "\$CONFIG_FILES"; then
+- # Protect against being on the right side of a sed subst in config.status.
+- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+-s,@SHELL@,$SHELL,;t t
+-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+-s,@exec_prefix@,$exec_prefix,;t t
+-s,@prefix@,$prefix,;t t
+-s,@program_transform_name@,$program_transform_name,;t t
+-s,@bindir@,$bindir,;t t
+-s,@sbindir@,$sbindir,;t t
+-s,@libexecdir@,$libexecdir,;t t
+-s,@datadir@,$datadir,;t t
+-s,@sysconfdir@,$sysconfdir,;t t
+-s,@sharedstatedir@,$sharedstatedir,;t t
+-s,@localstatedir@,$localstatedir,;t t
+-s,@libdir@,$libdir,;t t
+-s,@includedir@,$includedir,;t t
+-s,@oldincludedir@,$oldincludedir,;t t
+-s,@infodir@,$infodir,;t t
+-s,@mandir@,$mandir,;t t
+-s,@build_alias@,$build_alias,;t t
+-s,@host_alias@,$host_alias,;t t
+-s,@target_alias@,$target_alias,;t t
+-s,@DEFS@,$DEFS,;t t
+-s,@ECHO_C@,$ECHO_C,;t t
+-s,@ECHO_N@,$ECHO_N,;t t
+-s,@ECHO_T@,$ECHO_T,;t t
+-s,@LIBS@,$LIBS,;t t
+-s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+-s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+-s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+-s,@CYGPATH_W@,$CYGPATH_W,;t t
+-s,@PACKAGE@,$PACKAGE,;t t
+-s,@VERSION@,$VERSION,;t t
+-s,@ACLOCAL@,$ACLOCAL,;t t
+-s,@AUTOCONF@,$AUTOCONF,;t t
+-s,@AUTOMAKE@,$AUTOMAKE,;t t
+-s,@AUTOHEADER@,$AUTOHEADER,;t t
+-s,@MAKEINFO@,$MAKEINFO,;t t
+-s,@install_sh@,$install_sh,;t t
+-s,@STRIP@,$STRIP,;t t
+-s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
+-s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
+-s,@mkdir_p@,$mkdir_p,;t t
+-s,@AWK@,$AWK,;t t
+-s,@SET_MAKE@,$SET_MAKE,;t t
+-s,@am__leading_dot@,$am__leading_dot,;t t
+-s,@AMTAR@,$AMTAR,;t t
+-s,@am__tar@,$am__tar,;t t
+-s,@am__untar@,$am__untar,;t t
+-s,@CC@,$CC,;t t
+-s,@CFLAGS@,$CFLAGS,;t t
+-s,@LDFLAGS@,$LDFLAGS,;t t
+-s,@CPPFLAGS@,$CPPFLAGS,;t t
+-s,@ac_ct_CC@,$ac_ct_CC,;t t
+-s,@EXEEXT@,$EXEEXT,;t t
+-s,@OBJEXT@,$OBJEXT,;t t
+-s,@DEPDIR@,$DEPDIR,;t t
+-s,@am__include@,$am__include,;t t
+-s,@am__quote@,$am__quote,;t t
+-s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
+-s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
+-s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
+-s,@CCDEPMODE@,$CCDEPMODE,;t t
+-s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
+-s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
+-s,@build@,$build,;t t
+-s,@build_cpu@,$build_cpu,;t t
+-s,@build_vendor@,$build_vendor,;t t
+-s,@build_os@,$build_os,;t t
+-s,@host@,$host,;t t
+-s,@host_cpu@,$host_cpu,;t t
+-s,@host_vendor@,$host_vendor,;t t
+-s,@host_os@,$host_os,;t t
+-s,@EGREP@,$EGREP,;t t
+-s,@LN_S@,$LN_S,;t t
+-s,@ECHO@,$ECHO,;t t
+-s,@AR@,$AR,;t t
+-s,@ac_ct_AR@,$ac_ct_AR,;t t
+-s,@RANLIB@,$RANLIB,;t t
+-s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
+-s,@CPP@,$CPP,;t t
+-s,@CXX@,$CXX,;t t
+-s,@CXXFLAGS@,$CXXFLAGS,;t t
+-s,@ac_ct_CXX@,$ac_ct_CXX,;t t
+-s,@CXXDEPMODE@,$CXXDEPMODE,;t t
+-s,@am__fastdepCXX_TRUE@,$am__fastdepCXX_TRUE,;t t
+-s,@am__fastdepCXX_FALSE@,$am__fastdepCXX_FALSE,;t t
+-s,@CXXCPP@,$CXXCPP,;t t
+-s,@F77@,$F77,;t t
+-s,@FFLAGS@,$FFLAGS,;t t
+-s,@ac_ct_F77@,$ac_ct_F77,;t t
+-s,@LIBTOOL@,$LIBTOOL,;t t
+-s,@with_ffmpeg@,$with_ffmpeg,;t t
+-s,@WITH_FFMPEG_TRUE@,$WITH_FFMPEG_TRUE,;t t
+-s,@WITH_FFMPEG_FALSE@,$WITH_FFMPEG_FALSE,;t t
+-s,@HAVE_MP3LAME_TRUE@,$HAVE_MP3LAME_TRUE,;t t
+-s,@HAVE_MP3LAME_FALSE@,$HAVE_MP3LAME_FALSE,;t t
+-s,@X_CFLAGS@,$X_CFLAGS,;t t
+-s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
+-s,@X_LIBS@,$X_LIBS,;t t
+-s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
+-s,@HAVE_X_TRUE@,$HAVE_X_TRUE,;t t
+-s,@HAVE_X_FALSE@,$HAVE_X_FALSE,;t t
+-s,@CRYPT_LIBS@,$CRYPT_LIBS,;t t
+-s,@SSL_LIBS@,$SSL_LIBS,;t t
+-s,@AVAHI_CFLAGS@,$AVAHI_CFLAGS,;t t
+-s,@AVAHI_LIBS@,$AVAHI_LIBS,;t t
+-s,@SYSTEM_LIBVNCSERVER_CFLAGS@,$SYSTEM_LIBVNCSERVER_CFLAGS,;t t
+-s,@SYSTEM_LIBVNCSERVER_LIBS@,$SYSTEM_LIBVNCSERVER_LIBS,;t t
+-s,@HAVE_SYSTEM_LIBVNCSERVER_TRUE@,$HAVE_SYSTEM_LIBVNCSERVER_TRUE,;t t
+-s,@HAVE_SYSTEM_LIBVNCSERVER_FALSE@,$HAVE_SYSTEM_LIBVNCSERVER_FALSE,;t t
+-s,@HAVE_LIBPTHREAD_TRUE@,$HAVE_LIBPTHREAD_TRUE,;t t
+-s,@HAVE_LIBPTHREAD_FALSE@,$HAVE_LIBPTHREAD_FALSE,;t t
+-s,@WITH_TIGHTVNC_FILETRANSFER_TRUE@,$WITH_TIGHTVNC_FILETRANSFER_TRUE,;t t
+-s,@WITH_TIGHTVNC_FILETRANSFER_FALSE@,$WITH_TIGHTVNC_FILETRANSFER_FALSE,;t t
+-s,@HAVE_LIBZ_TRUE@,$HAVE_LIBZ_TRUE,;t t
+-s,@HAVE_LIBZ_FALSE@,$HAVE_LIBZ_FALSE,;t t
+-s,@HAVE_LIBJPEG_TRUE@,$HAVE_LIBJPEG_TRUE,;t t
+-s,@HAVE_LIBJPEG_FALSE@,$HAVE_LIBJPEG_FALSE,;t t
+-s,@HAVE_LIBSDL_TRUE@,$HAVE_LIBSDL_TRUE,;t t
+-s,@HAVE_LIBSDL_FALSE@,$HAVE_LIBSDL_FALSE,;t t
+-s,@SDL_CFLAGS@,$SDL_CFLAGS,;t t
+-s,@SDL_LIBS@,$SDL_LIBS,;t t
+-s,@MINGW_TRUE@,$MINGW_TRUE,;t t
+-s,@MINGW_FALSE@,$MINGW_FALSE,;t t
+-s,@WSOCKLIB@,$WSOCKLIB,;t t
+-s,@LIBOBJS@,$LIBOBJS,;t t
+-s,@CYGIPC_TRUE@,$CYGIPC_TRUE,;t t
+-s,@CYGIPC_FALSE@,$CYGIPC_FALSE,;t t
+-s,@LINUX_TRUE@,$LINUX_TRUE,;t t
+-s,@LINUX_FALSE@,$LINUX_FALSE,;t t
+-s,@OSX_TRUE@,$OSX_TRUE,;t t
+-s,@OSX_FALSE@,$OSX_FALSE,;t t
+-s,@HAVE_RPM_TRUE@,$HAVE_RPM_TRUE,;t t
+-s,@HAVE_RPM_FALSE@,$HAVE_RPM_FALSE,;t t
+-s,@RPMSOURCEDIR@,$RPMSOURCEDIR,;t t
+-s,@LTLIBOBJS@,$LTLIBOBJS,;t t
+-CEOF
+-
+-_ACEOF
+-
+- cat >>$CONFIG_STATUS <<\_ACEOF
+- # Split the substitutions into bite-sized pieces for seds with
+- # small command number limits, like on Digital OSF/1 and HP-UX.
+- ac_max_sed_lines=48
+- ac_sed_frag=1 # Number of current file.
+- ac_beg=1 # First line for current file.
+- ac_end=$ac_max_sed_lines # Line after last line for current file.
+- ac_more_lines=:
+- ac_sed_cmds=
+- while $ac_more_lines; do
+- if test $ac_beg -gt 1; then
+- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+- else
+- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+- fi
+- if test ! -s $tmp/subs.frag; then
+- ac_more_lines=false
+- else
+- # The purpose of the label and of the branching condition is to
+- # speed up the sed processing (if there are no `@' at all, there
+- # is no need to browse any of the substitutions).
+- # These are the two extra sed commands mentioned above.
+- (echo ':t
+- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+- if test -z "$ac_sed_cmds"; then
+- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+- else
+- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+- fi
+- ac_sed_frag=`expr $ac_sed_frag + 1`
+- ac_beg=$ac_end
+- ac_end=`expr $ac_end + $ac_max_sed_lines`
+- fi
+- done
+- if test -z "$ac_sed_cmds"; then
+- ac_sed_cmds=cat
+- fi
+-fi # test -n "$CONFIG_FILES"
++ltmain="$ac_aux_dir/ltmain.sh"
+
+-_ACEOF
+-cat >>$CONFIG_STATUS <<\_ACEOF
+-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+- case $ac_file in
+- - | *:- | *:-:* ) # input from stdin
+- cat >$tmp/stdin
+- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+- * ) ac_file_in=$ac_file.in ;;
+- esac
+
+- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+- X"$ac_file" : 'X\(//\)[^/]' \| \
+- X"$ac_file" : 'X\(//\)$' \| \
+- X"$ac_file" : 'X\(/\)' \| \
+- . : '\(.\)' 2>/dev/null ||
+-echo X"$ac_file" |
+- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+- /^X\(\/\/\)$/{ s//\1/; q; }
+- /^X\(\/\).*/{ s//\1/; q; }
+- s/.*/./; q'`
+- { if $as_mkdir_p; then
+- mkdir -p "$ac_dir"
+- else
+- as_dir="$ac_dir"
+- as_dirs=
+- while test ! -d "$as_dir"; do
+- as_dirs="$as_dir $as_dirs"
+- as_dir=`(dirname "$as_dir") 2>/dev/null ||
+-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+- X"$as_dir" : 'X\(//\)[^/]' \| \
+- X"$as_dir" : 'X\(//\)$' \| \
+- X"$as_dir" : 'X\(/\)' \| \
+- . : '\(.\)' 2>/dev/null ||
+-echo X"$as_dir" |
+- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+- /^X\(\/\/\)$/{ s//\1/; q; }
+- /^X\(\/\).*/{ s//\1/; q; }
+- s/.*/./; q'`
+- done
+- test ! -n "$as_dirs" || mkdir $as_dirs
+- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+- { (exit 1); exit 1; }; }; }
++ # We use sed instead of cat because bash on DJGPP gets confused if
++ # if finds mixed CR/LF and LF-only lines. Since sed operates in
++ # text mode, it properly converts lines to CR/LF. This bash problem
++ # is reportedly fixed, but why not run on old versions too?
++ sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
+
+- ac_builddir=.
++ case $xsi_shell in
++ yes)
++ cat << \_LT_EOF >> "$cfgfile"
+
+-if test "$ac_dir" != .; then
+- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+- # A "../" for each directory in $ac_dir_suffix.
+- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+-else
+- ac_dir_suffix= ac_top_builddir=
+-fi
++# func_dirname file append nondir_replacement
++# Compute the dirname of FILE. If nonempty, add APPEND to the result,
++# otherwise set result to NONDIR_REPLACEMENT.
++func_dirname ()
++{
++ case ${1} in
++ */*) func_dirname_result="${1%/*}${2}" ;;
++ * ) func_dirname_result="${3}" ;;
++ esac
++}
+
+-case $srcdir in
+- .) # No --srcdir option. We are building in place.
+- ac_srcdir=.
+- if test -z "$ac_top_builddir"; then
+- ac_top_srcdir=.
+- else
+- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+- fi ;;
+- [\\/]* | ?:[\\/]* ) # Absolute path.
+- ac_srcdir=$srcdir$ac_dir_suffix;
+- ac_top_srcdir=$srcdir ;;
+- *) # Relative path.
+- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+- ac_top_srcdir=$ac_top_builddir$srcdir ;;
+-esac
++# func_basename file
++func_basename ()
++{
++ func_basename_result="${1##*/}"
++}
+
+-# Do not use `cd foo && pwd` to compute absolute paths, because
+-# the directories may not exist.
+-case `pwd` in
+-.) ac_abs_builddir="$ac_dir";;
+-*)
+- case "$ac_dir" in
+- .) ac_abs_builddir=`pwd`;;
+- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+- *) ac_abs_builddir=`pwd`/"$ac_dir";;
+- esac;;
+-esac
+-case $ac_abs_builddir in
+-.) ac_abs_top_builddir=${ac_top_builddir}.;;
+-*)
+- case ${ac_top_builddir}. in
+- .) ac_abs_top_builddir=$ac_abs_builddir;;
+- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+- esac;;
+-esac
+-case $ac_abs_builddir in
+-.) ac_abs_srcdir=$ac_srcdir;;
+-*)
+- case $ac_srcdir in
+- .) ac_abs_srcdir=$ac_abs_builddir;;
+- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+- esac;;
+-esac
+-case $ac_abs_builddir in
+-.) ac_abs_top_srcdir=$ac_top_srcdir;;
+-*)
+- case $ac_top_srcdir in
+- .) ac_abs_top_srcdir=$ac_abs_builddir;;
+- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+- esac;;
+-esac
++# func_dirname_and_basename file append nondir_replacement
++# perform func_basename and func_dirname in a single function
++# call:
++# dirname: Compute the dirname of FILE. If nonempty,
++# add APPEND to the result, otherwise set result
++# to NONDIR_REPLACEMENT.
++# value returned in "$func_dirname_result"
++# basename: Compute filename of FILE.
++# value retuned in "$func_basename_result"
++# Implementation must be kept synchronized with func_dirname
++# and func_basename. For efficiency, we do not delegate to
++# those functions but instead duplicate the functionality here.
++func_dirname_and_basename ()
++{
++ case ${1} in
++ */*) func_dirname_result="${1%/*}${2}" ;;
++ * ) func_dirname_result="${3}" ;;
++ esac
++ func_basename_result="${1##*/}"
++}
+
++# func_stripname prefix suffix name
++# strip PREFIX and SUFFIX off of NAME.
++# PREFIX and SUFFIX must not contain globbing or regex special
++# characters, hashes, percent signs, but SUFFIX may contain a leading
++# dot (in which case that matches only a dot).
++func_stripname ()
++{
++ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
++ # positional parameters, so assign one to ordinary parameter first.
++ func_stripname_result=${3}
++ func_stripname_result=${func_stripname_result#"${1}"}
++ func_stripname_result=${func_stripname_result%"${2}"}
++}
+
+- case $INSTALL in
+- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+- *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
++# func_opt_split
++func_opt_split ()
++{
++ func_opt_split_opt=${1%%=*}
++ func_opt_split_arg=${1#*=}
++}
++
++# func_lo2o object
++func_lo2o ()
++{
++ case ${1} in
++ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
++ *) func_lo2o_result=${1} ;;
+ esac
++}
+
+- if test x"$ac_file" != x-; then
+- { echo "$as_me:$LINENO: creating $ac_file" >&5
+-echo "$as_me: creating $ac_file" >&6;}
+- rm -f "$ac_file"
+- fi
+- # Let's still pretend it is `configure' which instantiates (i.e., don't
+- # use $as_me), people would be surprised to read:
+- # /* config.h. Generated by config.status. */
+- if test x"$ac_file" = x-; then
+- configure_input=
+- else
+- configure_input="$ac_file. "
+- fi
+- configure_input=$configure_input"Generated from `echo $ac_file_in |
+- sed 's,.*/,,'` by configure."
++# func_xform libobj-or-source
++func_xform ()
++{
++ func_xform_result=${1%.*}.lo
++}
+
+- # First look for the input files in the build tree, otherwise in the
+- # src tree.
+- ac_file_inputs=`IFS=:
+- for f in $ac_file_in; do
+- case $f in
+- -) echo $tmp/stdin ;;
+- [\\/$]*)
+- # Absolute (can't be DOS-style, as IFS=:)
+- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+-echo "$as_me: error: cannot find input file: $f" >&2;}
+- { (exit 1); exit 1; }; }
+- echo "$f";;
+- *) # Relative
+- if test -f "$f"; then
+- # Build tree
+- echo "$f"
+- elif test -f "$srcdir/$f"; then
+- # Source tree
+- echo "$srcdir/$f"
+- else
+- # /dev/null tree
+- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+-echo "$as_me: error: cannot find input file: $f" >&2;}
+- { (exit 1); exit 1; }; }
+- fi;;
+- esac
+- done` || { (exit 1); exit 1; }
+-_ACEOF
+-cat >>$CONFIG_STATUS <<_ACEOF
+- sed "$ac_vpsub
+-$extrasub
+-_ACEOF
+-cat >>$CONFIG_STATUS <<\_ACEOF
+-:t
+-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+-s,@configure_input@,$configure_input,;t t
+-s,@srcdir@,$ac_srcdir,;t t
+-s,@abs_srcdir@,$ac_abs_srcdir,;t t
+-s,@top_srcdir@,$ac_top_srcdir,;t t
+-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+-s,@builddir@,$ac_builddir,;t t
+-s,@abs_builddir@,$ac_abs_builddir,;t t
+-s,@top_builddir@,$ac_top_builddir,;t t
+-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
+-s,@INSTALL@,$ac_INSTALL,;t t
+-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+- rm -f $tmp/stdin
+- if test x"$ac_file" != x-; then
+- mv $tmp/out $ac_file
+- else
+- cat $tmp/out
+- rm -f $tmp/out
+- fi
++# func_arith arithmetic-term...
++func_arith ()
++{
++ func_arith_result=$(( $* ))
++}
+
+-done
+-_ACEOF
+-cat >>$CONFIG_STATUS <<\_ACEOF
++# func_len string
++# STRING may not start with a hyphen.
++func_len ()
++{
++ func_len_result=${#1}
++}
+
+-#
+-# CONFIG_HEADER section.
+-#
++_LT_EOF
++ ;;
++ *) # Bourne compatible functions.
++ cat << \_LT_EOF >> "$cfgfile"
+
+-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+-# NAME is the cpp macro being defined and VALUE is the value it is being given.
+-#
+-# ac_d sets the value in "#define NAME VALUE" lines.
+-ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+-ac_dB='[ ].*$,\1#\2'
+-ac_dC=' '
+-ac_dD=',;t'
+-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+-ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+-ac_uB='$,\1#\2define\3'
+-ac_uC=' '
+-ac_uD=',;t'
++# func_dirname file append nondir_replacement
++# Compute the dirname of FILE. If nonempty, add APPEND to the result,
++# otherwise set result to NONDIR_REPLACEMENT.
++func_dirname ()
++{
++ # Extract subdirectory from the argument.
++ func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
++ if test "X$func_dirname_result" = "X${1}"; then
++ func_dirname_result="${3}"
++ else
++ func_dirname_result="$func_dirname_result${2}"
++ fi
++}
+
+-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+- case $ac_file in
+- - | *:- | *:-:* ) # input from stdin
+- cat >$tmp/stdin
+- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+- * ) ac_file_in=$ac_file.in ;;
+- esac
++# func_basename file
++func_basename ()
++{
++ func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
++}
+
+- test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
+-echo "$as_me: creating $ac_file" >&6;}
+
+- # First look for the input files in the build tree, otherwise in the
+- # src tree.
+- ac_file_inputs=`IFS=:
+- for f in $ac_file_in; do
+- case $f in
+- -) echo $tmp/stdin ;;
+- [\\/$]*)
+- # Absolute (can't be DOS-style, as IFS=:)
+- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+-echo "$as_me: error: cannot find input file: $f" >&2;}
+- { (exit 1); exit 1; }; }
+- # Do quote $f, to prevent DOS paths from being IFS'd.
+- echo "$f";;
+- *) # Relative
+- if test -f "$f"; then
+- # Build tree
+- echo "$f"
+- elif test -f "$srcdir/$f"; then
+- # Source tree
+- echo "$srcdir/$f"
+- else
+- # /dev/null tree
+- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+-echo "$as_me: error: cannot find input file: $f" >&2;}
+- { (exit 1); exit 1; }; }
+- fi;;
+- esac
+- done` || { (exit 1); exit 1; }
+- # Remove the trailing spaces.
+- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
++# func_stripname prefix suffix name
++# strip PREFIX and SUFFIX off of NAME.
++# PREFIX and SUFFIX must not contain globbing or regex special
++# characters, hashes, percent signs, but SUFFIX may contain a leading
++# dot (in which case that matches only a dot).
++# func_strip_suffix prefix name
++func_stripname ()
++{
++ case ${2} in
++ .*) func_stripname_result=`$ECHO "X${3}" \
++ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
++ *) func_stripname_result=`$ECHO "X${3}" \
++ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
++ esac
++}
+
+-_ACEOF
++# sed scripts:
++my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
++my_sed_long_arg='1s/^-[^=]*=//'
+
+-# Transform confdefs.h into two sed scripts, `conftest.defines' and
+-# `conftest.undefs', that substitutes the proper values into
+-# config.h.in to produce config.h. The first handles `#define'
+-# templates, and the second `#undef' templates.
+-# And first: Protect against being on the right side of a sed subst in
+-# config.status. Protect against being in an unquoted here document
+-# in config.status.
+-rm -f conftest.defines conftest.undefs
+-# Using a here document instead of a string reduces the quoting nightmare.
+-# Putting comments in sed scripts is not portable.
+-#
+-# `end' is used to avoid that the second main sed command (meant for
+-# 0-ary CPP macros) applies to n-ary macro definitions.
+-# See the Autoconf documentation for `clear'.
+-cat >confdef2sed.sed <<\_ACEOF
+-s/[\\&,]/\\&/g
+-s,[\\$`],\\&,g
+-t clear
+-: clear
+-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
+-t end
+-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+-: end
+-_ACEOF
+-# If some macros were called several times there might be several times
+-# the same #defines, which is useless. Nevertheless, we may not want to
+-# sort them, since we want the *last* AC-DEFINE to be honored.
+-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+-rm -f confdef2sed.sed
++# func_opt_split
++func_opt_split ()
++{
++ func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
++ func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
++}
+
+-# This sed command replaces #undef with comments. This is necessary, for
+-# example, in the case of _POSIX_SOURCE, which is predefined and required
+-# on some systems where configure will not decide to define it.
+-cat >>conftest.undefs <<\_ACEOF
+-s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+-_ACEOF
++# func_lo2o object
++func_lo2o ()
++{
++ func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
++}
+
+-# Break up conftest.defines because some shells have a limit on the size
+-# of here documents, and old seds have small limits too (100 cmds).
+-echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+-echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+-echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+-echo ' :' >>$CONFIG_STATUS
+-rm -f conftest.tail
+-while grep . conftest.defines >/dev/null
+-do
+- # Write a limited-size here document to $tmp/defines.sed.
+- echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+- # Speed up: don't consider the non `#define' lines.
+- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
+- # Work around the forget-to-reset-the-flag bug.
+- echo 't clr' >>$CONFIG_STATUS
+- echo ': clr' >>$CONFIG_STATUS
+- sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+- echo 'CEOF
+- sed -f $tmp/defines.sed $tmp/in >$tmp/out
+- rm -f $tmp/in
+- mv $tmp/out $tmp/in
+-' >>$CONFIG_STATUS
+- sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+- rm -f conftest.defines
+- mv conftest.tail conftest.defines
+-done
+-rm -f conftest.defines
+-echo ' fi # grep' >>$CONFIG_STATUS
+-echo >>$CONFIG_STATUS
+-
+-# Break up conftest.undefs because some shells have a limit on the size
+-# of here documents, and old seds have small limits too (100 cmds).
+-echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
+-rm -f conftest.tail
+-while grep . conftest.undefs >/dev/null
+-do
+- # Write a limited-size here document to $tmp/undefs.sed.
+- echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+- # Speed up: don't consider the non `#undef'
+- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
+- # Work around the forget-to-reset-the-flag bug.
+- echo 't clr' >>$CONFIG_STATUS
+- echo ': clr' >>$CONFIG_STATUS
+- sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+- echo 'CEOF
+- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+- rm -f $tmp/in
+- mv $tmp/out $tmp/in
+-' >>$CONFIG_STATUS
+- sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+- rm -f conftest.undefs
+- mv conftest.tail conftest.undefs
+-done
+-rm -f conftest.undefs
++# func_xform libobj-or-source
++func_xform ()
++{
++ func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
++}
+
+-cat >>$CONFIG_STATUS <<\_ACEOF
+- # Let's still pretend it is `configure' which instantiates (i.e., don't
+- # use $as_me), people would be surprised to read:
+- # /* config.h. Generated by config.status. */
+- if test x"$ac_file" = x-; then
+- echo "/* Generated by configure. */" >$tmp/config.h
+- else
+- echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
+- fi
+- cat $tmp/in >>$tmp/config.h
+- rm -f $tmp/in
+- if test x"$ac_file" != x-; then
+- if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
+- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+-echo "$as_me: $ac_file is unchanged" >&6;}
+- else
+- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+- X"$ac_file" : 'X\(//\)[^/]' \| \
+- X"$ac_file" : 'X\(//\)$' \| \
+- X"$ac_file" : 'X\(/\)' \| \
+- . : '\(.\)' 2>/dev/null ||
+-echo X"$ac_file" |
+- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+- /^X\(\/\/\)$/{ s//\1/; q; }
+- /^X\(\/\).*/{ s//\1/; q; }
+- s/.*/./; q'`
+- { if $as_mkdir_p; then
+- mkdir -p "$ac_dir"
+- else
+- as_dir="$ac_dir"
+- as_dirs=
+- while test ! -d "$as_dir"; do
+- as_dirs="$as_dir $as_dirs"
+- as_dir=`(dirname "$as_dir") 2>/dev/null ||
+-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+- X"$as_dir" : 'X\(//\)[^/]' \| \
+- X"$as_dir" : 'X\(//\)$' \| \
+- X"$as_dir" : 'X\(/\)' \| \
+- . : '\(.\)' 2>/dev/null ||
+-echo X"$as_dir" |
+- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+- /^X\(\/\/\)$/{ s//\1/; q; }
+- /^X\(\/\).*/{ s//\1/; q; }
+- s/.*/./; q'`
+- done
+- test ! -n "$as_dirs" || mkdir $as_dirs
+- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+- { (exit 1); exit 1; }; }; }
++# func_arith arithmetic-term...
++func_arith ()
++{
++ func_arith_result=`expr "$@"`
++}
+
+- rm -f $ac_file
+- mv $tmp/config.h $ac_file
+- fi
+- else
+- cat $tmp/config.h
+- rm -f $tmp/config.h
+- fi
+-# Compute $ac_file's index in $config_headers.
+-_am_stamp_count=1
+-for _am_header in $config_headers :; do
+- case $_am_header in
+- $ac_file | $ac_file:* )
+- break ;;
+- * )
+- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+- esac
+-done
+-echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
+-$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+- X$ac_file : 'X\(//\)[^/]' \| \
+- X$ac_file : 'X\(//\)$' \| \
+- X$ac_file : 'X\(/\)' \| \
+- . : '\(.\)' 2>/dev/null ||
+-echo X$ac_file |
+- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+- /^X\(\/\/\)$/{ s//\1/; q; }
+- /^X\(\/\).*/{ s//\1/; q; }
+- s/.*/./; q'`/stamp-h$_am_stamp_count
+-done
+-_ACEOF
+-cat >>$CONFIG_STATUS <<\_ACEOF
++# func_len string
++# STRING may not start with a hyphen.
++func_len ()
++{
++ func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
++}
+
+-#
+-# CONFIG_COMMANDS section.
+-#
+-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+- ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+- ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+- ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
+-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+- X"$ac_dest" : 'X\(//\)[^/]' \| \
+- X"$ac_dest" : 'X\(//\)$' \| \
+- X"$ac_dest" : 'X\(/\)' \| \
+- . : '\(.\)' 2>/dev/null ||
+-echo X"$ac_dest" |
+- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+- /^X\(\/\/\)$/{ s//\1/; q; }
+- /^X\(\/\).*/{ s//\1/; q; }
+- s/.*/./; q'`
+- { if $as_mkdir_p; then
+- mkdir -p "$ac_dir"
+- else
+- as_dir="$ac_dir"
+- as_dirs=
+- while test ! -d "$as_dir"; do
+- as_dirs="$as_dir $as_dirs"
+- as_dir=`(dirname "$as_dir") 2>/dev/null ||
+-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+- X"$as_dir" : 'X\(//\)[^/]' \| \
+- X"$as_dir" : 'X\(//\)$' \| \
+- X"$as_dir" : 'X\(/\)' \| \
+- . : '\(.\)' 2>/dev/null ||
+-echo X"$as_dir" |
+- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+- /^X\(\/\/\)$/{ s//\1/; q; }
+- /^X\(\/\).*/{ s//\1/; q; }
+- s/.*/./; q'`
+- done
+- test ! -n "$as_dirs" || mkdir $as_dirs
+- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+- { (exit 1); exit 1; }; }; }
++_LT_EOF
++esac
+
+- ac_builddir=.
++case $lt_shell_append in
++ yes)
++ cat << \_LT_EOF >> "$cfgfile"
+
+-if test "$ac_dir" != .; then
+- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+- # A "../" for each directory in $ac_dir_suffix.
+- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+-else
+- ac_dir_suffix= ac_top_builddir=
+-fi
++# func_append var value
++# Append VALUE to the end of shell variable VAR.
++func_append ()
++{
++ eval "$1+=\$2"
++}
++_LT_EOF
++ ;;
++ *)
++ cat << \_LT_EOF >> "$cfgfile"
+
+-case $srcdir in
+- .) # No --srcdir option. We are building in place.
+- ac_srcdir=.
+- if test -z "$ac_top_builddir"; then
+- ac_top_srcdir=.
+- else
+- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+- fi ;;
+- [\\/]* | ?:[\\/]* ) # Absolute path.
+- ac_srcdir=$srcdir$ac_dir_suffix;
+- ac_top_srcdir=$srcdir ;;
+- *) # Relative path.
+- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+- ac_top_srcdir=$ac_top_builddir$srcdir ;;
+-esac
++# func_append var value
++# Append VALUE to the end of shell variable VAR.
++func_append ()
++{
++ eval "$1=\$$1\$2"
++}
+
+-# Do not use `cd foo && pwd` to compute absolute paths, because
+-# the directories may not exist.
+-case `pwd` in
+-.) ac_abs_builddir="$ac_dir";;
+-*)
+- case "$ac_dir" in
+- .) ac_abs_builddir=`pwd`;;
+- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+- *) ac_abs_builddir=`pwd`/"$ac_dir";;
+- esac;;
+-esac
+-case $ac_abs_builddir in
+-.) ac_abs_top_builddir=${ac_top_builddir}.;;
+-*)
+- case ${ac_top_builddir}. in
+- .) ac_abs_top_builddir=$ac_abs_builddir;;
+- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+- esac;;
+-esac
+-case $ac_abs_builddir in
+-.) ac_abs_srcdir=$ac_srcdir;;
+-*)
+- case $ac_srcdir in
+- .) ac_abs_srcdir=$ac_abs_builddir;;
+- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+- esac;;
+-esac
+-case $ac_abs_builddir in
+-.) ac_abs_top_srcdir=$ac_top_srcdir;;
+-*)
+- case $ac_top_srcdir in
+- .) ac_abs_top_srcdir=$ac_abs_builddir;;
+- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+- esac;;
+-esac
++_LT_EOF
++ ;;
++ esac
+
+
+- { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
+-echo "$as_me: executing $ac_dest commands" >&6;}
+- case $ac_dest in
+- rfb/rfbconfig.h ) ac_prefix_conf_OUT=`echo rfb/rfbconfig.h`
+-ac_prefix_conf_DEF=`echo _$ac_prefix_conf_OUT | sed -e "y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:" -e "s/[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g"`
+-ac_prefix_conf_PKG=`echo $PACKAGE`
+-ac_prefix_conf_LOW=`echo _$ac_prefix_conf_PKG | sed -e "y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:"`
+-ac_prefix_conf_UPP=`echo $ac_prefix_conf_PKG | sed -e "y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:" -e "/^[0123456789]/s/^/_/"`
+-ac_prefix_conf_INP=`echo _`
+-if test "$ac_prefix_conf_INP" = "_"; then
+- for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue
+- test -f "$ac_prefix_conf_INP" && continue
+- case $ac_file in
+- *.h) test -f $ac_file && ac_prefix_conf_INP=$ac_file ;;
+- *)
+- esac
+- done
+-fi
+-if test "$ac_prefix_conf_INP" = "_"; then
+- case "$ac_prefix_conf_OUT" in
+- */*) ac_prefix_conf_INP=`basename "$ac_prefix_conf_OUT"`
+- ;;
+- *-*) ac_prefix_conf_INP=`echo "$ac_prefix_conf_OUT" | sed -e "s/[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*-//"`
+- ;;
+- *) ac_prefix_conf_INP=config.h
+- ;;
+- esac
+-fi
+-if test -z "$ac_prefix_conf_PKG" ; then
+- { { echo "$as_me:$LINENO: error: no prefix for _PREFIX_PKG_CONFIG_H" >&5
+-echo "$as_me: error: no prefix for _PREFIX_PKG_CONFIG_H" >&2;}
+- { (exit 1); exit 1; }; }
+-else
+- if test ! -f "$ac_prefix_conf_INP" ; then if test -f "$srcdir/$ac_prefix_conf_INP" ; then
+- ac_prefix_conf_INP="$srcdir/$ac_prefix_conf_INP"
+- fi fi
+- { echo "$as_me:$LINENO: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5
+-echo "$as_me: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6;}
+- if test -f $ac_prefix_conf_INP ; then
+- echo "s/#undef *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]\\)/#undef $ac_prefix_conf_UPP""_\\1/" > conftest.prefix
+- # no! these are things like socklen_t, const, vfork
+- # echo "s/#undef *\\([m4_cr_letters]\\)/#undef $_LOW""_\\1/" >> _script
+- echo "s/#define *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\\)\\(.*\\)/#ifndef $ac_prefix_conf_UPP""_\\1 \\" >> conftest.prefix
+- echo "#define $ac_prefix_conf_UPP""_\\1 \\2 \\" >> conftest.prefix
+- echo "#endif/" >>conftest.prefix
+- # no! these are things like socklen_t, const, vfork
+- # echo "s/#def[]ine *\\([m4_cr_letters][_symbol]*\\)\\(.*\\)/#ifndef $_LOW""_\\1 \\" >> _script
+- # echo "#define $_LOW""_\\1 \\2 \\" >> _script
+- # echo "#endif/" >> _script
+- # now executing _script on _DEF input to create _OUT output file
+- echo "#ifndef $ac_prefix_conf_DEF" >$tmp/pconfig.h
+- echo "#define $ac_prefix_conf_DEF 1" >>$tmp/pconfig.h
+- echo ' ' >>$tmp/pconfig.h
+- echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h
++ sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
++ || (rm -f "$cfgfile"; exit 1)
+
+- sed -f conftest.prefix $ac_prefix_conf_INP >>$tmp/pconfig.h
+- echo ' ' >>$tmp/pconfig.h
+- echo '/* once:' $ac_prefix_conf_DEF '*/' >>$tmp/pconfig.h
+- echo "#endif" >>$tmp/pconfig.h
+- if cmp -s $ac_prefix_conf_OUT $tmp/pconfig.h 2>/dev/null; then
+- { echo "$as_me:$LINENO: $ac_prefix_conf_OUT is unchanged" >&5
+-echo "$as_me: $ac_prefix_conf_OUT is unchanged" >&6;}
+- else
+- ac_dir=`(dirname "$ac_prefix_conf_OUT") 2>/dev/null ||
+-$as_expr X"$ac_prefix_conf_OUT" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+- X"$ac_prefix_conf_OUT" : 'X\(//\)[^/]' \| \
+- X"$ac_prefix_conf_OUT" : 'X\(//\)$' \| \
+- X"$ac_prefix_conf_OUT" : 'X\(/\)' \| \
+- . : '\(.\)' 2>/dev/null ||
+-echo X"$ac_prefix_conf_OUT" |
+- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+- /^X\(\/\/\)$/{ s//\1/; q; }
+- /^X\(\/\).*/{ s//\1/; q; }
+- s/.*/./; q'`
+- { if $as_mkdir_p; then
+- mkdir -p "$ac_dir"
+- else
+- as_dir="$ac_dir"
+- as_dirs=
+- while test ! -d "$as_dir"; do
+- as_dirs="$as_dir $as_dirs"
+- as_dir=`(dirname "$as_dir") 2>/dev/null ||
+-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+- X"$as_dir" : 'X\(//\)[^/]' \| \
+- X"$as_dir" : 'X\(//\)$' \| \
+- X"$as_dir" : 'X\(/\)' \| \
+- . : '\(.\)' 2>/dev/null ||
+-echo X"$as_dir" |
+- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+- /^X\(\/\/\)$/{ s//\1/; q; }
+- /^X\(\/\).*/{ s//\1/; q; }
+- s/.*/./; q'`
+- done
+- test ! -n "$as_dirs" || mkdir $as_dirs
+- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+- { (exit 1); exit 1; }; }; }
++ mv -f "$cfgfile" "$ofile" ||
++ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
++ chmod +x "$ofile"
+
+- rm -f "$ac_prefix_conf_OUT"
+- mv $tmp/pconfig.h "$ac_prefix_conf_OUT"
+- fi
+- cp conftest.prefix _configs.sed
+- else
+- { { echo "$as_me:$LINENO: error: input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" >&5
+-echo "$as_me: error: input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" >&2;}
+- { (exit 1); exit 1; }; }
+- fi
+- rm -f conftest.*
+-fi
+ ;;
+- depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+- # Strip MF so we end up with the name of the file.
+- mf=`echo "$mf" | sed -e 's/:.*$//'`
+- # Check whether this is an Automake generated Makefile or not.
+- # We used to match only the files named `Makefile.in', but
+- # some people rename them; so instead we look at the file content.
+- # Grep'ing the first line is not enough: some people post-process
+- # each Makefile.in and add a new line on top of each file to say so.
+- # So let's grep whole file.
+- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+- dirpart=`(dirname "$mf") 2>/dev/null ||
+-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+- X"$mf" : 'X\(//\)[^/]' \| \
+- X"$mf" : 'X\(//\)$' \| \
+- X"$mf" : 'X\(/\)' \| \
+- . : '\(.\)' 2>/dev/null ||
+-echo X"$mf" |
+- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+- /^X\(\/\/\)$/{ s//\1/; q; }
+- /^X\(\/\).*/{ s//\1/; q; }
+- s/.*/./; q'`
+- else
+- continue
+- fi
+- # Extract the definition of DEPDIR, am__include, and am__quote
+- # from the Makefile without running `make'.
+- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+- test -z "$DEPDIR" && continue
+- am__include=`sed -n 's/^am__include = //p' < "$mf"`
+- test -z "am__include" && continue
+- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+- # When using ansi2knr, U may be empty or an underscore; expand it
+- U=`sed -n 's/^U = //p' < "$mf"`
+- # Find all dependency output files, they are included files with
+- # $(DEPDIR) in their names. We invoke sed twice because it is the
+- # simplest approach to changing $(DEPDIR) to its actual value in the
+- # expansion.
+- for file in `sed -n "
+- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+- # Make sure the directory exists.
+- test -f "$dirpart/$file" && continue
+- fdir=`(dirname "$file") 2>/dev/null ||
+-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+- X"$file" : 'X\(//\)[^/]' \| \
+- X"$file" : 'X\(//\)$' \| \
+- X"$file" : 'X\(/\)' \| \
+- . : '\(.\)' 2>/dev/null ||
+-echo X"$file" |
+- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+- /^X\(\/\/\)$/{ s//\1/; q; }
+- /^X\(\/\).*/{ s//\1/; q; }
+- s/.*/./; q'`
+- { if $as_mkdir_p; then
+- mkdir -p $dirpart/$fdir
+- else
+- as_dir=$dirpart/$fdir
+- as_dirs=
+- while test ! -d "$as_dir"; do
+- as_dirs="$as_dir $as_dirs"
+- as_dir=`(dirname "$as_dir") 2>/dev/null ||
+-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+- X"$as_dir" : 'X\(//\)[^/]' \| \
+- X"$as_dir" : 'X\(//\)$' \| \
+- X"$as_dir" : 'X\(/\)' \| \
+- . : '\(.\)' 2>/dev/null ||
+-echo X"$as_dir" |
+- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+- /^X\(\/\/\)$/{ s//\1/; q; }
+- /^X\(\/\).*/{ s//\1/; q; }
+- s/.*/./; q'`
+- done
+- test ! -n "$as_dirs" || mkdir $as_dirs
+- fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
+-echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
+- { (exit 1); exit 1; }; }; }
++ "chmod-libvncserver-config":C) chmod a+x libvncserver-config ;;
+
+- # echo "creating $dirpart/$file"
+- echo '# dummy' > "$dirpart/$file"
+- done
+-done
+- ;;
+- chmod-libvncserver-config ) chmod a+x libvncserver-config ;;
+ esac
+-done
+-_ACEOF
++done # for ac_tag
+
+-cat >>$CONFIG_STATUS <<\_ACEOF
+
+ { (exit 0); exit 0; }
+ _ACEOF
+diff -Nur LibVNCServer-0.9.1.orig/contrib/Makefile.in LibVNCServer-0.9.1/contrib/Makefile.in
+--- LibVNCServer-0.9.1.orig/contrib/Makefile.in 2008-10-31 18:44:00.000000000 -0200
++++ LibVNCServer-0.9.1/contrib/Makefile.in 2008-10-31 18:46:26.000000000 -0200
+@@ -1,8 +1,8 @@
+-# Makefile.in generated by automake 1.9.5 from Makefile.am.
++# Makefile.in generated by automake 1.10 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005 Free Software Foundation, Inc.
++# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -14,17 +14,11 @@
+
+ @SET_MAKE@
+
+-SOURCES = $(zippy_SOURCES)
+-
+-srcdir = @srcdir@
+-top_srcdir = @top_srcdir@
+ VPATH = @srcdir@
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+-top_builddir = ..
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+-INSTALL = @INSTALL@
+ install_sh_DATA = $(install_sh) -c -m 644
+ install_sh_PROGRAM = $(install_sh) -c
+ install_sh_SCRIPT = $(install_sh) -c
+@@ -54,25 +48,24 @@
+ zippy_OBJECTS = $(am_zippy_OBJECTS)
+ zippy_LDADD = $(LDADD)
+ zippy_DEPENDENCIES = ../libvncserver/libvncserver.la
+-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
++DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
+ depcomp = $(SHELL) $(top_srcdir)/depcomp
+ am__depfiles_maybe = depfiles
+ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
++LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+ CCLD = $(CC)
+-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+- $(AM_LDFLAGS) $(LDFLAGS) -o $@
++LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
++ $(LDFLAGS) -o $@
+ SOURCES = $(zippy_SOURCES)
+ DIST_SOURCES = $(zippy_SOURCES)
+ ETAGS = etags
+ CTAGS = ctags
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ ACLOCAL = @ACLOCAL@
+-AMDEP_FALSE = @AMDEP_FALSE@
+-AMDEP_TRUE = @AMDEP_TRUE@
+ AMTAR = @AMTAR@
+ AR = @AR@
+ AUTOCONF = @AUTOCONF@
+@@ -87,57 +80,38 @@
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CRYPT_LIBS = @CRYPT_LIBS@
+-CXX = @CXX@
+-CXXCPP = @CXXCPP@
+-CXXDEPMODE = @CXXDEPMODE@
+-CXXFLAGS = @CXXFLAGS@
+-CYGIPC_FALSE = @CYGIPC_FALSE@
+-CYGIPC_TRUE = @CYGIPC_TRUE@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
+-ECHO = @ECHO@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
+-F77 = @F77@
+-FFLAGS = @FFLAGS@
+-HAVE_LIBJPEG_FALSE = @HAVE_LIBJPEG_FALSE@
+-HAVE_LIBJPEG_TRUE = @HAVE_LIBJPEG_TRUE@
+-HAVE_LIBPTHREAD_FALSE = @HAVE_LIBPTHREAD_FALSE@
+-HAVE_LIBPTHREAD_TRUE = @HAVE_LIBPTHREAD_TRUE@
+-HAVE_LIBSDL_FALSE = @HAVE_LIBSDL_FALSE@
+-HAVE_LIBSDL_TRUE = @HAVE_LIBSDL_TRUE@
+-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
+-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
+-HAVE_MP3LAME_FALSE = @HAVE_MP3LAME_FALSE@
+-HAVE_MP3LAME_TRUE = @HAVE_MP3LAME_TRUE@
+-HAVE_RPM_FALSE = @HAVE_RPM_FALSE@
+-HAVE_RPM_TRUE = @HAVE_RPM_TRUE@
+-HAVE_SYSTEM_LIBVNCSERVER_FALSE = @HAVE_SYSTEM_LIBVNCSERVER_FALSE@
+-HAVE_SYSTEM_LIBVNCSERVER_TRUE = @HAVE_SYSTEM_LIBVNCSERVER_TRUE@
+-HAVE_X_FALSE = @HAVE_X_FALSE@
+-HAVE_X_TRUE = @HAVE_X_TRUE@
++FGREP = @FGREP@
++GREP = @GREP@
++INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LD = @LD@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBTOOL = @LIBTOOL@
+-LINUX_FALSE = @LINUX_FALSE@
+-LINUX_TRUE = @LINUX_TRUE@
++LIPO = @LIPO@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
+-MINGW_FALSE = @MINGW_FALSE@
+-MINGW_TRUE = @MINGW_TRUE@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
+ OBJEXT = @OBJEXT@
+-OSX_FALSE = @OSX_FALSE@
+-OSX_TRUE = @OSX_TRUE@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
+ PACKAGE = @PACKAGE@
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+@@ -149,6 +123,7 @@
+ RPMSOURCEDIR = @RPMSOURCEDIR@
+ SDL_CFLAGS = @SDL_CFLAGS@
+ SDL_LIBS = @SDL_LIBS@
++SED = @SED@
+ SET_MAKE = @SET_MAKE@
+ SHELL = @SHELL@
+ SSL_LIBS = @SSL_LIBS@
+@@ -156,25 +131,17 @@
+ SYSTEM_LIBVNCSERVER_CFLAGS = @SYSTEM_LIBVNCSERVER_CFLAGS@
+ SYSTEM_LIBVNCSERVER_LIBS = @SYSTEM_LIBVNCSERVER_LIBS@
+ VERSION = @VERSION@
+-WITH_FFMPEG_FALSE = @WITH_FFMPEG_FALSE@
+-WITH_FFMPEG_TRUE = @WITH_FFMPEG_TRUE@
+-WITH_TIGHTVNC_FILETRANSFER_FALSE = @WITH_TIGHTVNC_FILETRANSFER_FALSE@
+-WITH_TIGHTVNC_FILETRANSFER_TRUE = @WITH_TIGHTVNC_FILETRANSFER_TRUE@
+ WSOCKLIB = @WSOCKLIB@
+ X_CFLAGS = @X_CFLAGS@
+ X_EXTRA_LIBS = @X_EXTRA_LIBS@
+ X_LIBS = @X_LIBS@
+ X_PRE_LIBS = @X_PRE_LIBS@
+-ac_ct_AR = @ac_ct_AR@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
+ ac_ct_CC = @ac_ct_CC@
+-ac_ct_CXX = @ac_ct_CXX@
+-ac_ct_F77 = @ac_ct_F77@
+-ac_ct_RANLIB = @ac_ct_RANLIB@
+-ac_ct_STRIP = @ac_ct_STRIP@
+-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+@@ -186,28 +153,40 @@
+ build_cpu = @build_cpu@
+ build_os = @build_os@
+ build_vendor = @build_vendor@
++builddir = @builddir@
+ datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
+ exec_prefix = @exec_prefix@
+ host = @host@
+ host_alias = @host_alias@
+ host_cpu = @host_cpu@
+ host_os = @host_os@
+ host_vendor = @host_vendor@
++htmldir = @htmldir@
+ includedir = @includedir@
+ infodir = @infodir@
+ install_sh = @install_sh@
+ libdir = @libdir@
+ libexecdir = @libexecdir@
++localedir = @localedir@
+ localstatedir = @localstatedir@
++lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
+ prefix = @prefix@
+ program_transform_name = @program_transform_name@
++psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
+ with_ffmpeg = @with_ffmpeg@
+ AM_CFLAGS = -I $(top_srcdir)
+ LDADD = ../libvncserver/libvncserver.la @WSOCKLIB@
+@@ -225,9 +204,9 @@
+ exit 1;; \
+ esac; \
+ done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu contrib/Makefile'; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign contrib/Makefile'; \
+ cd $(top_srcdir) && \
+- $(AUTOMAKE) --gnu contrib/Makefile
++ $(AUTOMAKE) --foreign contrib/Makefile
+ .PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+@@ -254,7 +233,7 @@
+ done
+ zippy$(EXEEXT): $(zippy_OBJECTS) $(zippy_DEPENDENCIES)
+ @rm -f zippy$(EXEEXT)
+- $(LINK) $(zippy_LDFLAGS) $(zippy_OBJECTS) $(zippy_LDADD) $(LIBS)
++ $(LINK) $(zippy_OBJECTS) $(zippy_LDADD) $(LIBS)
+
+ mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+@@ -265,22 +244,22 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zippy.Po@am__quote@
+
+ .c.o:
+-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+ .c.obj:
+-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+ .c.lo:
+-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+@@ -291,10 +270,6 @@
+ clean-libtool:
+ -rm -rf .libs _libs
+
+-distclean-libtool:
+- -rm -f libtool
+-uninstall-info-am:
+-
+ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+@@ -344,22 +319,21 @@
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+ distdir: $(DISTFILES)
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ list='$(DISTFILES)'; \
++ dist_files=`for file in $$list; do echo $$file; done | \
++ sed -e "s|^$$srcdirstrip/||;t" \
++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
++ case $$dist_files in \
++ */*) $(MKDIR_P) `echo "$$dist_files" | \
++ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
++ sort -u` ;; \
++ esac; \
++ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+ if test -d $$d/$$file; then \
++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+@@ -407,7 +381,7 @@
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+ distclean-am: clean-am distclean-compile distclean-generic \
+- distclean-libtool distclean-tags
++ distclean-tags
+
+ dvi: dvi-am
+
+@@ -421,12 +395,20 @@
+
+ install-data-am:
+
++install-dvi: install-dvi-am
++
+ install-exec-am:
+
++install-html: install-html-am
++
+ install-info: install-info-am
+
+ install-man:
+
++install-pdf: install-pdf-am
++
++install-ps: install-ps-am
++
+ installcheck-am:
+
+ maintainer-clean: maintainer-clean-am
+@@ -447,19 +429,22 @@
+
+ ps-am:
+
+-uninstall-am: uninstall-info-am
++uninstall-am:
++
++.MAKE: install-am install-strip
+
+ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+- install install-am install-data install-data-am install-exec \
+- install-exec-am install-info install-info-am install-man \
++ install install-am install-data install-data-am install-dvi \
++ install-dvi-am install-exec install-exec-am install-html \
++ install-html-am install-info install-info-am install-man \
++ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+- pdf pdf-am ps ps-am tags uninstall uninstall-am \
+- uninstall-info-am
++ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+diff -Nur LibVNCServer-0.9.1.orig/examples/Makefile.in LibVNCServer-0.9.1/examples/Makefile.in
+--- LibVNCServer-0.9.1.orig/examples/Makefile.in 2008-10-31 18:44:00.000000000 -0200
++++ LibVNCServer-0.9.1/examples/Makefile.in 2008-10-31 18:46:27.000000000 -0200
+@@ -1,8 +1,8 @@
+-# Makefile.in generated by automake 1.9.5 from Makefile.am.
++# Makefile.in generated by automake 1.10 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005 Free Software Foundation, Inc.
++# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -15,17 +15,11 @@
+ @SET_MAKE@
+
+
+-SOURCES = backchannel.c blooptest.c camera.c colourmaptest.c example.c filetransfer.c fontsel.c mac.c pnmshow.c pnmshow24.c regiontest.c rotate.c simple.c simple15.c storepasswd.c vncev.c
+-
+-srcdir = @srcdir@
+-top_srcdir = @top_srcdir@
+ VPATH = @srcdir@
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+-top_builddir = ..
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+-INSTALL = @INSTALL@
+ install_sh_DATA = $(install_sh) -c -m 644
+ install_sh_PROGRAM = $(install_sh) -c
+ install_sh_SCRIPT = $(install_sh) -c
+@@ -92,6 +86,9 @@
+ mac_OBJECTS = mac.$(OBJEXT)
+ mac_LDADD = $(LDADD)
+ mac_DEPENDENCIES = ../libvncserver/libvncserver.la
++mac_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(mac_LDFLAGS) \
++ $(LDFLAGS) -o $@
+ pnmshow_SOURCES = pnmshow.c
+ pnmshow_OBJECTS = pnmshow.$(OBJEXT)
+ pnmshow_LDADD = $(LDADD)
+@@ -124,17 +121,18 @@
+ vncev_OBJECTS = vncev.$(OBJEXT)
+ vncev_LDADD = $(LDADD)
+ vncev_DEPENDENCIES = ../libvncserver/libvncserver.la
+-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
++DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
+ depcomp = $(SHELL) $(top_srcdir)/depcomp
+ am__depfiles_maybe = depfiles
+ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
++LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+ CCLD = $(CC)
+-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+- $(AM_LDFLAGS) $(LDFLAGS) -o $@
++LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
++ $(LDFLAGS) -o $@
+ SOURCES = backchannel.c blooptest.c camera.c colourmaptest.c example.c \
+ filetransfer.c fontsel.c mac.c pnmshow.c pnmshow24.c \
+ regiontest.c rotate.c simple.c simple15.c storepasswd.c \
+@@ -148,8 +146,6 @@
+ CTAGS = ctags
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ ACLOCAL = @ACLOCAL@
+-AMDEP_FALSE = @AMDEP_FALSE@
+-AMDEP_TRUE = @AMDEP_TRUE@
+ AMTAR = @AMTAR@
+ AR = @AR@
+ AUTOCONF = @AUTOCONF@
+@@ -164,57 +160,38 @@
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CRYPT_LIBS = @CRYPT_LIBS@
+-CXX = @CXX@
+-CXXCPP = @CXXCPP@
+-CXXDEPMODE = @CXXDEPMODE@
+-CXXFLAGS = @CXXFLAGS@
+-CYGIPC_FALSE = @CYGIPC_FALSE@
+-CYGIPC_TRUE = @CYGIPC_TRUE@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
+-ECHO = @ECHO@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
+-F77 = @F77@
+-FFLAGS = @FFLAGS@
+-HAVE_LIBJPEG_FALSE = @HAVE_LIBJPEG_FALSE@
+-HAVE_LIBJPEG_TRUE = @HAVE_LIBJPEG_TRUE@
+-HAVE_LIBPTHREAD_FALSE = @HAVE_LIBPTHREAD_FALSE@
+-HAVE_LIBPTHREAD_TRUE = @HAVE_LIBPTHREAD_TRUE@
+-HAVE_LIBSDL_FALSE = @HAVE_LIBSDL_FALSE@
+-HAVE_LIBSDL_TRUE = @HAVE_LIBSDL_TRUE@
+-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
+-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
+-HAVE_MP3LAME_FALSE = @HAVE_MP3LAME_FALSE@
+-HAVE_MP3LAME_TRUE = @HAVE_MP3LAME_TRUE@
+-HAVE_RPM_FALSE = @HAVE_RPM_FALSE@
+-HAVE_RPM_TRUE = @HAVE_RPM_TRUE@
+-HAVE_SYSTEM_LIBVNCSERVER_FALSE = @HAVE_SYSTEM_LIBVNCSERVER_FALSE@
+-HAVE_SYSTEM_LIBVNCSERVER_TRUE = @HAVE_SYSTEM_LIBVNCSERVER_TRUE@
+-HAVE_X_FALSE = @HAVE_X_FALSE@
+-HAVE_X_TRUE = @HAVE_X_TRUE@
++FGREP = @FGREP@
++GREP = @GREP@
++INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LD = @LD@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBTOOL = @LIBTOOL@
+-LINUX_FALSE = @LINUX_FALSE@
+-LINUX_TRUE = @LINUX_TRUE@
++LIPO = @LIPO@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
+-MINGW_FALSE = @MINGW_FALSE@
+-MINGW_TRUE = @MINGW_TRUE@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
+ OBJEXT = @OBJEXT@
+-OSX_FALSE = @OSX_FALSE@
+-OSX_TRUE = @OSX_TRUE@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
+ PACKAGE = @PACKAGE@
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+@@ -226,6 +203,7 @@
+ RPMSOURCEDIR = @RPMSOURCEDIR@
+ SDL_CFLAGS = @SDL_CFLAGS@
+ SDL_LIBS = @SDL_LIBS@
++SED = @SED@
+ SET_MAKE = @SET_MAKE@
+ SHELL = @SHELL@
+ SSL_LIBS = @SSL_LIBS@
+@@ -233,25 +211,17 @@
+ SYSTEM_LIBVNCSERVER_CFLAGS = @SYSTEM_LIBVNCSERVER_CFLAGS@
+ SYSTEM_LIBVNCSERVER_LIBS = @SYSTEM_LIBVNCSERVER_LIBS@
+ VERSION = @VERSION@
+-WITH_FFMPEG_FALSE = @WITH_FFMPEG_FALSE@
+-WITH_FFMPEG_TRUE = @WITH_FFMPEG_TRUE@
+-WITH_TIGHTVNC_FILETRANSFER_FALSE = @WITH_TIGHTVNC_FILETRANSFER_FALSE@
+-WITH_TIGHTVNC_FILETRANSFER_TRUE = @WITH_TIGHTVNC_FILETRANSFER_TRUE@
+ WSOCKLIB = @WSOCKLIB@
+ X_CFLAGS = @X_CFLAGS@
+ X_EXTRA_LIBS = @X_EXTRA_LIBS@
+ X_LIBS = @X_LIBS@
+ X_PRE_LIBS = @X_PRE_LIBS@
+-ac_ct_AR = @ac_ct_AR@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
+ ac_ct_CC = @ac_ct_CC@
+-ac_ct_CXX = @ac_ct_CXX@
+-ac_ct_F77 = @ac_ct_F77@
+-ac_ct_RANLIB = @ac_ct_RANLIB@
+-ac_ct_STRIP = @ac_ct_STRIP@
+-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+@@ -263,28 +233,40 @@
+ build_cpu = @build_cpu@
+ build_os = @build_os@
+ build_vendor = @build_vendor@
++builddir = @builddir@
+ datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
+ exec_prefix = @exec_prefix@
+ host = @host@
+ host_alias = @host_alias@
+ host_cpu = @host_cpu@
+ host_os = @host_os@
+ host_vendor = @host_vendor@
++htmldir = @htmldir@
+ includedir = @includedir@
+ infodir = @infodir@
+ install_sh = @install_sh@
+ libdir = @libdir@
+ libexecdir = @libexecdir@
++localedir = @localedir@
+ localstatedir = @localstatedir@
++lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
+ prefix = @prefix@
+ program_transform_name = @program_transform_name@
++psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
+ with_ffmpeg = @with_ffmpeg@
+ AM_CFLAGS = -I $(top_srcdir) -g -Wall
+ LDADD = ../libvncserver/libvncserver.la @WSOCKLIB@
+@@ -306,9 +288,9 @@
+ exit 1;; \
+ esac; \
+ done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Makefile'; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/Makefile'; \
+ cd $(top_srcdir) && \
+- $(AUTOMAKE) --gnu examples/Makefile
++ $(AUTOMAKE) --foreign examples/Makefile
+ .PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+@@ -335,52 +317,52 @@
+ done
+ backchannel$(EXEEXT): $(backchannel_OBJECTS) $(backchannel_DEPENDENCIES)
+ @rm -f backchannel$(EXEEXT)
+- $(LINK) $(backchannel_LDFLAGS) $(backchannel_OBJECTS) $(backchannel_LDADD) $(LIBS)
++ $(LINK) $(backchannel_OBJECTS) $(backchannel_LDADD) $(LIBS)
+ blooptest$(EXEEXT): $(blooptest_OBJECTS) $(blooptest_DEPENDENCIES)
+ @rm -f blooptest$(EXEEXT)
+- $(LINK) $(blooptest_LDFLAGS) $(blooptest_OBJECTS) $(blooptest_LDADD) $(LIBS)
++ $(LINK) $(blooptest_OBJECTS) $(blooptest_LDADD) $(LIBS)
+ camera$(EXEEXT): $(camera_OBJECTS) $(camera_DEPENDENCIES)
+ @rm -f camera$(EXEEXT)
+- $(LINK) $(camera_LDFLAGS) $(camera_OBJECTS) $(camera_LDADD) $(LIBS)
++ $(LINK) $(camera_OBJECTS) $(camera_LDADD) $(LIBS)
+ colourmaptest$(EXEEXT): $(colourmaptest_OBJECTS) $(colourmaptest_DEPENDENCIES)
+ @rm -f colourmaptest$(EXEEXT)
+- $(LINK) $(colourmaptest_LDFLAGS) $(colourmaptest_OBJECTS) $(colourmaptest_LDADD) $(LIBS)
++ $(LINK) $(colourmaptest_OBJECTS) $(colourmaptest_LDADD) $(LIBS)
+ example$(EXEEXT): $(example_OBJECTS) $(example_DEPENDENCIES)
+ @rm -f example$(EXEEXT)
+- $(LINK) $(example_LDFLAGS) $(example_OBJECTS) $(example_LDADD) $(LIBS)
++ $(LINK) $(example_OBJECTS) $(example_LDADD) $(LIBS)
+ filetransfer$(EXEEXT): $(filetransfer_OBJECTS) $(filetransfer_DEPENDENCIES)
+ @rm -f filetransfer$(EXEEXT)
+- $(LINK) $(filetransfer_LDFLAGS) $(filetransfer_OBJECTS) $(filetransfer_LDADD) $(LIBS)
++ $(LINK) $(filetransfer_OBJECTS) $(filetransfer_LDADD) $(LIBS)
+ fontsel$(EXEEXT): $(fontsel_OBJECTS) $(fontsel_DEPENDENCIES)
+ @rm -f fontsel$(EXEEXT)
+- $(LINK) $(fontsel_LDFLAGS) $(fontsel_OBJECTS) $(fontsel_LDADD) $(LIBS)
++ $(LINK) $(fontsel_OBJECTS) $(fontsel_LDADD) $(LIBS)
+ mac$(EXEEXT): $(mac_OBJECTS) $(mac_DEPENDENCIES)
+ @rm -f mac$(EXEEXT)
+- $(LINK) $(mac_LDFLAGS) $(mac_OBJECTS) $(mac_LDADD) $(LIBS)
++ $(mac_LINK) $(mac_OBJECTS) $(mac_LDADD) $(LIBS)
+ pnmshow$(EXEEXT): $(pnmshow_OBJECTS) $(pnmshow_DEPENDENCIES)
+ @rm -f pnmshow$(EXEEXT)
+- $(LINK) $(pnmshow_LDFLAGS) $(pnmshow_OBJECTS) $(pnmshow_LDADD) $(LIBS)
++ $(LINK) $(pnmshow_OBJECTS) $(pnmshow_LDADD) $(LIBS)
+ pnmshow24$(EXEEXT): $(pnmshow24_OBJECTS) $(pnmshow24_DEPENDENCIES)
+ @rm -f pnmshow24$(EXEEXT)
+- $(LINK) $(pnmshow24_LDFLAGS) $(pnmshow24_OBJECTS) $(pnmshow24_LDADD) $(LIBS)
++ $(LINK) $(pnmshow24_OBJECTS) $(pnmshow24_LDADD) $(LIBS)
+ regiontest$(EXEEXT): $(regiontest_OBJECTS) $(regiontest_DEPENDENCIES)
+ @rm -f regiontest$(EXEEXT)
+- $(LINK) $(regiontest_LDFLAGS) $(regiontest_OBJECTS) $(regiontest_LDADD) $(LIBS)
++ $(LINK) $(regiontest_OBJECTS) $(regiontest_LDADD) $(LIBS)
+ rotate$(EXEEXT): $(rotate_OBJECTS) $(rotate_DEPENDENCIES)
+ @rm -f rotate$(EXEEXT)
+- $(LINK) $(rotate_LDFLAGS) $(rotate_OBJECTS) $(rotate_LDADD) $(LIBS)
++ $(LINK) $(rotate_OBJECTS) $(rotate_LDADD) $(LIBS)
+ simple$(EXEEXT): $(simple_OBJECTS) $(simple_DEPENDENCIES)
+ @rm -f simple$(EXEEXT)
+- $(LINK) $(simple_LDFLAGS) $(simple_OBJECTS) $(simple_LDADD) $(LIBS)
++ $(LINK) $(simple_OBJECTS) $(simple_LDADD) $(LIBS)
+ simple15$(EXEEXT): $(simple15_OBJECTS) $(simple15_DEPENDENCIES)
+ @rm -f simple15$(EXEEXT)
+- $(LINK) $(simple15_LDFLAGS) $(simple15_OBJECTS) $(simple15_LDADD) $(LIBS)
++ $(LINK) $(simple15_OBJECTS) $(simple15_LDADD) $(LIBS)
+ storepasswd$(EXEEXT): $(storepasswd_OBJECTS) $(storepasswd_DEPENDENCIES)
+ @rm -f storepasswd$(EXEEXT)
+- $(LINK) $(storepasswd_LDFLAGS) $(storepasswd_OBJECTS) $(storepasswd_LDADD) $(LIBS)
++ $(LINK) $(storepasswd_OBJECTS) $(storepasswd_LDADD) $(LIBS)
+ vncev$(EXEEXT): $(vncev_OBJECTS) $(vncev_DEPENDENCIES)
+ @rm -f vncev$(EXEEXT)
+- $(LINK) $(vncev_LDFLAGS) $(vncev_OBJECTS) $(vncev_LDADD) $(LIBS)
++ $(LINK) $(vncev_OBJECTS) $(vncev_LDADD) $(LIBS)
+
+ mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+@@ -406,22 +388,22 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vncev.Po@am__quote@
+
+ .c.o:
+-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+ .c.obj:
+-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+ .c.lo:
+-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+@@ -432,10 +414,6 @@
+ clean-libtool:
+ -rm -rf .libs _libs
+
+-distclean-libtool:
+- -rm -f libtool
+-uninstall-info-am:
+-
+ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+@@ -485,22 +463,21 @@
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+ distdir: $(DISTFILES)
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ list='$(DISTFILES)'; \
++ dist_files=`for file in $$list; do echo $$file; done | \
++ sed -e "s|^$$srcdirstrip/||;t" \
++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
++ case $$dist_files in \
++ */*) $(MKDIR_P) `echo "$$dist_files" | \
++ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
++ sort -u` ;; \
++ esac; \
++ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+ if test -d $$d/$$file; then \
++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+@@ -548,7 +525,7 @@
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+ distclean-am: clean-am distclean-compile distclean-generic \
+- distclean-libtool distclean-tags
++ distclean-tags
+
+ dvi: dvi-am
+
+@@ -562,12 +539,20 @@
+
+ install-data-am:
+
++install-dvi: install-dvi-am
++
+ install-exec-am:
+
++install-html: install-html-am
++
+ install-info: install-info-am
+
+ install-man:
+
++install-pdf: install-pdf-am
++
++install-ps: install-ps-am
++
+ installcheck-am:
+
+ maintainer-clean: maintainer-clean-am
+@@ -588,19 +573,22 @@
+
+ ps-am:
+
+-uninstall-am: uninstall-info-am
++uninstall-am:
++
++.MAKE: install-am install-strip
+
+ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+- install install-am install-data install-data-am install-exec \
+- install-exec-am install-info install-info-am install-man \
++ install install-am install-data install-data-am install-dvi \
++ install-dvi-am install-exec install-exec-am install-html \
++ install-html-am install-info install-info-am install-man \
++ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+- pdf pdf-am ps ps-am tags uninstall uninstall-am \
+- uninstall-info-am
++ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+diff -Nur LibVNCServer-0.9.1.orig/libvncclient/Makefile.in LibVNCServer-0.9.1/libvncclient/Makefile.in
+--- LibVNCServer-0.9.1.orig/libvncclient/Makefile.in 2008-10-31 18:44:00.000000000 -0200
++++ LibVNCServer-0.9.1/libvncclient/Makefile.in 2008-10-31 18:46:27.000000000 -0200
+@@ -1,8 +1,8 @@
+-# Makefile.in generated by automake 1.9.5 from Makefile.am.
++# Makefile.in generated by automake 1.10 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005 Free Software Foundation, Inc.
++# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -15,17 +15,11 @@
+ @SET_MAKE@
+
+
+-SOURCES = $(libvncclient_la_SOURCES)
+-
+-srcdir = @srcdir@
+-top_srcdir = @top_srcdir@
+ VPATH = @srcdir@
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+-top_builddir = ..
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+-INSTALL = @INSTALL@
+ install_sh_DATA = $(install_sh) -c -m 644
+ install_sh_PROGRAM = $(install_sh) -c
+ install_sh_SCRIPT = $(install_sh) -c
+@@ -63,17 +57,18 @@
+ am_libvncclient_la_OBJECTS = cursor.lo listen.lo rfbproto.lo \
+ sockets.lo vncviewer.lo minilzo.lo
+ libvncclient_la_OBJECTS = $(am_libvncclient_la_OBJECTS)
+-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
++DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
+ depcomp = $(SHELL) $(top_srcdir)/depcomp
+ am__depfiles_maybe = depfiles
+ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
++LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+ CCLD = $(CC)
+-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+- $(AM_LDFLAGS) $(LDFLAGS) -o $@
++LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
++ $(LDFLAGS) -o $@
+ SOURCES = $(libvncclient_la_SOURCES)
+ DIST_SOURCES = $(libvncclient_la_SOURCES)
+ HEADERS = $(noinst_HEADERS)
+@@ -81,8 +76,6 @@
+ CTAGS = ctags
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ ACLOCAL = @ACLOCAL@
+-AMDEP_FALSE = @AMDEP_FALSE@
+-AMDEP_TRUE = @AMDEP_TRUE@
+ AMTAR = @AMTAR@
+ AR = @AR@
+ AUTOCONF = @AUTOCONF@
+@@ -97,57 +90,38 @@
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CRYPT_LIBS = @CRYPT_LIBS@
+-CXX = @CXX@
+-CXXCPP = @CXXCPP@
+-CXXDEPMODE = @CXXDEPMODE@
+-CXXFLAGS = @CXXFLAGS@
+-CYGIPC_FALSE = @CYGIPC_FALSE@
+-CYGIPC_TRUE = @CYGIPC_TRUE@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
+-ECHO = @ECHO@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
+-F77 = @F77@
+-FFLAGS = @FFLAGS@
+-HAVE_LIBJPEG_FALSE = @HAVE_LIBJPEG_FALSE@
+-HAVE_LIBJPEG_TRUE = @HAVE_LIBJPEG_TRUE@
+-HAVE_LIBPTHREAD_FALSE = @HAVE_LIBPTHREAD_FALSE@
+-HAVE_LIBPTHREAD_TRUE = @HAVE_LIBPTHREAD_TRUE@
+-HAVE_LIBSDL_FALSE = @HAVE_LIBSDL_FALSE@
+-HAVE_LIBSDL_TRUE = @HAVE_LIBSDL_TRUE@
+-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
+-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
+-HAVE_MP3LAME_FALSE = @HAVE_MP3LAME_FALSE@
+-HAVE_MP3LAME_TRUE = @HAVE_MP3LAME_TRUE@
+-HAVE_RPM_FALSE = @HAVE_RPM_FALSE@
+-HAVE_RPM_TRUE = @HAVE_RPM_TRUE@
+-HAVE_SYSTEM_LIBVNCSERVER_FALSE = @HAVE_SYSTEM_LIBVNCSERVER_FALSE@
+-HAVE_SYSTEM_LIBVNCSERVER_TRUE = @HAVE_SYSTEM_LIBVNCSERVER_TRUE@
+-HAVE_X_FALSE = @HAVE_X_FALSE@
+-HAVE_X_TRUE = @HAVE_X_TRUE@
++FGREP = @FGREP@
++GREP = @GREP@
++INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LD = @LD@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBTOOL = @LIBTOOL@
+-LINUX_FALSE = @LINUX_FALSE@
+-LINUX_TRUE = @LINUX_TRUE@
++LIPO = @LIPO@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
+-MINGW_FALSE = @MINGW_FALSE@
+-MINGW_TRUE = @MINGW_TRUE@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
+ OBJEXT = @OBJEXT@
+-OSX_FALSE = @OSX_FALSE@
+-OSX_TRUE = @OSX_TRUE@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
+ PACKAGE = @PACKAGE@
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+@@ -159,6 +133,7 @@
+ RPMSOURCEDIR = @RPMSOURCEDIR@
+ SDL_CFLAGS = @SDL_CFLAGS@
+ SDL_LIBS = @SDL_LIBS@
++SED = @SED@
+ SET_MAKE = @SET_MAKE@
+ SHELL = @SHELL@
+ SSL_LIBS = @SSL_LIBS@
+@@ -166,25 +141,17 @@
+ SYSTEM_LIBVNCSERVER_CFLAGS = @SYSTEM_LIBVNCSERVER_CFLAGS@
+ SYSTEM_LIBVNCSERVER_LIBS = @SYSTEM_LIBVNCSERVER_LIBS@
+ VERSION = @VERSION@
+-WITH_FFMPEG_FALSE = @WITH_FFMPEG_FALSE@
+-WITH_FFMPEG_TRUE = @WITH_FFMPEG_TRUE@
+-WITH_TIGHTVNC_FILETRANSFER_FALSE = @WITH_TIGHTVNC_FILETRANSFER_FALSE@
+-WITH_TIGHTVNC_FILETRANSFER_TRUE = @WITH_TIGHTVNC_FILETRANSFER_TRUE@
+ WSOCKLIB = @WSOCKLIB@
+ X_CFLAGS = @X_CFLAGS@
+ X_EXTRA_LIBS = @X_EXTRA_LIBS@
+ X_LIBS = @X_LIBS@
+ X_PRE_LIBS = @X_PRE_LIBS@
+-ac_ct_AR = @ac_ct_AR@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
+ ac_ct_CC = @ac_ct_CC@
+-ac_ct_CXX = @ac_ct_CXX@
+-ac_ct_F77 = @ac_ct_F77@
+-ac_ct_RANLIB = @ac_ct_RANLIB@
+-ac_ct_STRIP = @ac_ct_STRIP@
+-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+@@ -196,28 +163,40 @@
+ build_cpu = @build_cpu@
+ build_os = @build_os@
+ build_vendor = @build_vendor@
++builddir = @builddir@
+ datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
+ exec_prefix = @exec_prefix@
+ host = @host@
+ host_alias = @host_alias@
+ host_cpu = @host_cpu@
+ host_os = @host_os@
+ host_vendor = @host_vendor@
++htmldir = @htmldir@
+ includedir = @includedir@
+ infodir = @infodir@
+ install_sh = @install_sh@
+ libdir = @libdir@
+ libexecdir = @libexecdir@
++localedir = @localedir@
+ localstatedir = @localstatedir@
++lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
+ prefix = @prefix@
+ program_transform_name = @program_transform_name@
++psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
+ with_ffmpeg = @with_ffmpeg@
+ AM_CFLAGS = -g -I $(top_srcdir) -I. -Wall
+ libvncclient_la_SOURCES = cursor.c listen.c rfbproto.c sockets.c vncviewer.c minilzo.c
+@@ -237,9 +216,9 @@
+ exit 1;; \
+ esac; \
+ done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libvncclient/Makefile'; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libvncclient/Makefile'; \
+ cd $(top_srcdir) && \
+- $(AUTOMAKE) --gnu libvncclient/Makefile
++ $(AUTOMAKE) --foreign libvncclient/Makefile
+ .PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+@@ -259,7 +238,7 @@
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+- test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
++ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+@@ -270,7 +249,7 @@
+
+ uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+- @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
++ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+@@ -285,7 +264,7 @@
+ rm -f "$${dir}/so_locations"; \
+ done
+ libvncclient.la: $(libvncclient_la_OBJECTS) $(libvncclient_la_DEPENDENCIES)
+- $(LINK) -rpath $(libdir) $(libvncclient_la_LDFLAGS) $(libvncclient_la_OBJECTS) $(libvncclient_la_LIBADD) $(LIBS)
++ $(LINK) -rpath $(libdir) $(libvncclient_la_OBJECTS) $(libvncclient_la_LIBADD) $(LIBS)
+
+ mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+@@ -301,22 +280,22 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vncviewer.Plo@am__quote@
+
+ .c.o:
+-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+ .c.obj:
+-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+ .c.lo:
+-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+@@ -327,10 +306,6 @@
+ clean-libtool:
+ -rm -rf .libs _libs
+
+-distclean-libtool:
+- -rm -f libtool
+-uninstall-info-am:
+-
+ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+@@ -380,22 +355,21 @@
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+ distdir: $(DISTFILES)
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ list='$(DISTFILES)'; \
++ dist_files=`for file in $$list; do echo $$file; done | \
++ sed -e "s|^$$srcdirstrip/||;t" \
++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
++ case $$dist_files in \
++ */*) $(MKDIR_P) `echo "$$dist_files" | \
++ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
++ sort -u` ;; \
++ esac; \
++ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+ if test -d $$d/$$file; then \
++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+@@ -411,7 +385,7 @@
+ all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+ installdirs:
+ for dir in "$(DESTDIR)$(libdir)"; do \
+- test -z "$$dir" || $(mkdir_p) "$$dir"; \
++ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+ install: install-am
+ install-exec: install-exec-am
+@@ -446,7 +420,7 @@
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+ distclean-am: clean-am distclean-compile distclean-generic \
+- distclean-libtool distclean-tags
++ distclean-tags
+
+ dvi: dvi-am
+
+@@ -460,12 +434,20 @@
+
+ install-data-am:
+
++install-dvi: install-dvi-am
++
+ install-exec-am: install-libLTLIBRARIES
+
++install-html: install-html-am
++
+ install-info: install-info-am
+
+ install-man:
+
++install-pdf: install-pdf-am
++
++install-ps: install-ps-am
++
+ installcheck-am:
+
+ maintainer-clean: maintainer-clean-am
+@@ -486,20 +468,23 @@
+
+ ps-am:
+
+-uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES
++uninstall-am: uninstall-libLTLIBRARIES
++
++.MAKE: install-am install-strip
+
+ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+- install install-am install-data install-data-am install-exec \
+- install-exec-am install-info install-info-am \
+- install-libLTLIBRARIES install-man install-strip installcheck \
++ install install-am install-data install-data-am install-dvi \
++ install-dvi-am install-exec install-exec-am install-html \
++ install-html-am install-info install-info-am \
++ install-libLTLIBRARIES install-man install-pdf install-pdf-am \
++ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+- tags uninstall uninstall-am uninstall-info-am \
+- uninstall-libLTLIBRARIES
++ tags uninstall uninstall-am uninstall-libLTLIBRARIES
+
+
+ rfbproto.o: rfbproto.c corre.c hextile.c rre.c tight.c zlib.c zrle.c ultra.c
+diff -Nur LibVNCServer-0.9.1.orig/libvncserver/Makefile.in LibVNCServer-0.9.1/libvncserver/Makefile.in
+--- LibVNCServer-0.9.1.orig/libvncserver/Makefile.in 2008-10-31 18:44:00.000000000 -0200
++++ LibVNCServer-0.9.1/libvncserver/Makefile.in 2008-10-31 18:46:27.000000000 -0200
+@@ -1,8 +1,8 @@
+-# Makefile.in generated by automake 1.9.5 from Makefile.am.
++# Makefile.in generated by automake 1.10 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005 Free Software Foundation, Inc.
++# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -15,17 +15,11 @@
+ @SET_MAKE@
+
+
+-SOURCES = $(libvncserver_la_SOURCES)
+-
+-srcdir = @srcdir@
+-top_srcdir = @top_srcdir@
+ VPATH = @srcdir@
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+-top_builddir = ..
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+-INSTALL = @INSTALL@
+ install_sh_DATA = $(install_sh) -c -m 644
+ install_sh_PROGRAM = $(install_sh) -c
+ install_sh_SCRIPT = $(install_sh) -c
+@@ -83,17 +77,18 @@
+ $(am__objects_1) $(am__objects_2) $(am__objects_3)
+ am_libvncserver_la_OBJECTS = $(am__objects_4)
+ libvncserver_la_OBJECTS = $(am_libvncserver_la_OBJECTS)
+-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
++DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
+ depcomp = $(SHELL) $(top_srcdir)/depcomp
+ am__depfiles_maybe = depfiles
+ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
++LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+ CCLD = $(CC)
+-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+- $(AM_LDFLAGS) $(LDFLAGS) -o $@
++LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
++ $(LDFLAGS) -o $@
+ SOURCES = $(libvncserver_la_SOURCES)
+ DIST_SOURCES = $(am__libvncserver_la_SOURCES_DIST)
+ includeHEADERS_INSTALL = $(INSTALL_HEADER)
+@@ -108,8 +103,6 @@
+ CTAGS = ctags
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ ACLOCAL = @ACLOCAL@
+-AMDEP_FALSE = @AMDEP_FALSE@
+-AMDEP_TRUE = @AMDEP_TRUE@
+ AMTAR = @AMTAR@
+ AR = @AR@
+ AUTOCONF = @AUTOCONF@
+@@ -124,57 +117,38 @@
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CRYPT_LIBS = @CRYPT_LIBS@
+-CXX = @CXX@
+-CXXCPP = @CXXCPP@
+-CXXDEPMODE = @CXXDEPMODE@
+-CXXFLAGS = @CXXFLAGS@
+-CYGIPC_FALSE = @CYGIPC_FALSE@
+-CYGIPC_TRUE = @CYGIPC_TRUE@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
+-ECHO = @ECHO@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
+-F77 = @F77@
+-FFLAGS = @FFLAGS@
+-HAVE_LIBJPEG_FALSE = @HAVE_LIBJPEG_FALSE@
+-HAVE_LIBJPEG_TRUE = @HAVE_LIBJPEG_TRUE@
+-HAVE_LIBPTHREAD_FALSE = @HAVE_LIBPTHREAD_FALSE@
+-HAVE_LIBPTHREAD_TRUE = @HAVE_LIBPTHREAD_TRUE@
+-HAVE_LIBSDL_FALSE = @HAVE_LIBSDL_FALSE@
+-HAVE_LIBSDL_TRUE = @HAVE_LIBSDL_TRUE@
+-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
+-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
+-HAVE_MP3LAME_FALSE = @HAVE_MP3LAME_FALSE@
+-HAVE_MP3LAME_TRUE = @HAVE_MP3LAME_TRUE@
+-HAVE_RPM_FALSE = @HAVE_RPM_FALSE@
+-HAVE_RPM_TRUE = @HAVE_RPM_TRUE@
+-HAVE_SYSTEM_LIBVNCSERVER_FALSE = @HAVE_SYSTEM_LIBVNCSERVER_FALSE@
+-HAVE_SYSTEM_LIBVNCSERVER_TRUE = @HAVE_SYSTEM_LIBVNCSERVER_TRUE@
+-HAVE_X_FALSE = @HAVE_X_FALSE@
+-HAVE_X_TRUE = @HAVE_X_TRUE@
++FGREP = @FGREP@
++GREP = @GREP@
++INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LD = @LD@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBTOOL = @LIBTOOL@
+-LINUX_FALSE = @LINUX_FALSE@
+-LINUX_TRUE = @LINUX_TRUE@
++LIPO = @LIPO@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
+-MINGW_FALSE = @MINGW_FALSE@
+-MINGW_TRUE = @MINGW_TRUE@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
+ OBJEXT = @OBJEXT@
+-OSX_FALSE = @OSX_FALSE@
+-OSX_TRUE = @OSX_TRUE@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
+ PACKAGE = @PACKAGE@
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+@@ -186,6 +160,7 @@
+ RPMSOURCEDIR = @RPMSOURCEDIR@
+ SDL_CFLAGS = @SDL_CFLAGS@
+ SDL_LIBS = @SDL_LIBS@
++SED = @SED@
+ SET_MAKE = @SET_MAKE@
+ SHELL = @SHELL@
+ SSL_LIBS = @SSL_LIBS@
+@@ -193,25 +168,17 @@
+ SYSTEM_LIBVNCSERVER_CFLAGS = @SYSTEM_LIBVNCSERVER_CFLAGS@
+ SYSTEM_LIBVNCSERVER_LIBS = @SYSTEM_LIBVNCSERVER_LIBS@
+ VERSION = @VERSION@
+-WITH_FFMPEG_FALSE = @WITH_FFMPEG_FALSE@
+-WITH_FFMPEG_TRUE = @WITH_FFMPEG_TRUE@
+-WITH_TIGHTVNC_FILETRANSFER_FALSE = @WITH_TIGHTVNC_FILETRANSFER_FALSE@
+-WITH_TIGHTVNC_FILETRANSFER_TRUE = @WITH_TIGHTVNC_FILETRANSFER_TRUE@
+ WSOCKLIB = @WSOCKLIB@
+ X_CFLAGS = @X_CFLAGS@
+ X_EXTRA_LIBS = @X_EXTRA_LIBS@
+ X_LIBS = @X_LIBS@
+ X_PRE_LIBS = @X_PRE_LIBS@
+-ac_ct_AR = @ac_ct_AR@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
+ ac_ct_CC = @ac_ct_CC@
+-ac_ct_CXX = @ac_ct_CXX@
+-ac_ct_F77 = @ac_ct_F77@
+-ac_ct_RANLIB = @ac_ct_RANLIB@
+-ac_ct_STRIP = @ac_ct_STRIP@
+-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+@@ -223,28 +190,40 @@
+ build_cpu = @build_cpu@
+ build_os = @build_os@
+ build_vendor = @build_vendor@
++builddir = @builddir@
+ datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
+ exec_prefix = @exec_prefix@
+ host = @host@
+ host_alias = @host_alias@
+ host_cpu = @host_cpu@
+ host_os = @host_os@
+ host_vendor = @host_vendor@
++htmldir = @htmldir@
+ includedir = $(prefix)/include/rfb
+ infodir = @infodir@
+ install_sh = @install_sh@
+ libdir = @libdir@
+ libexecdir = @libexecdir@
++localedir = @localedir@
+ localstatedir = @localstatedir@
++lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
+ prefix = @prefix@
+ program_transform_name = @program_transform_name@
++psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
+ with_ffmpeg = @with_ffmpeg@
+ AM_CFLAGS = -g -Wall -I $(top_srcdir)
+ @WITH_TIGHTVNC_FILETRANSFER_TRUE@TIGHTVNCFILETRANSFERHDRS = tightvnc-filetransfer/filelistinfo.h \
+@@ -292,9 +271,9 @@
+ exit 1;; \
+ esac; \
+ done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libvncserver/Makefile'; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign libvncserver/Makefile'; \
+ cd $(top_srcdir) && \
+- $(AUTOMAKE) --gnu libvncserver/Makefile
++ $(AUTOMAKE) --foreign libvncserver/Makefile
+ .PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+@@ -314,7 +293,7 @@
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+- test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
++ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+@@ -325,7 +304,7 @@
+
+ uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+- @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
++ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+@@ -340,7 +319,7 @@
+ rm -f "$${dir}/so_locations"; \
+ done
+ libvncserver.la: $(libvncserver_la_OBJECTS) $(libvncserver_la_DEPENDENCIES)
+- $(LINK) -rpath $(libdir) $(libvncserver_la_LDFLAGS) $(libvncserver_la_OBJECTS) $(libvncserver_la_LIBADD) $(LIBS)
++ $(LINK) -rpath $(libdir) $(libvncserver_la_OBJECTS) $(libvncserver_la_LIBADD) $(LIBS)
+
+ mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+@@ -381,66 +360,62 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zrlepalettehelper.Plo@am__quote@
+
+ .c.o:
+-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+ .c.obj:
+-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+ .c.lo:
+-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+
+ rfbtightserver.lo: tightvnc-filetransfer/rfbtightserver.c
+-@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rfbtightserver.lo -MD -MP -MF "$(DEPDIR)/rfbtightserver.Tpo" -c -o rfbtightserver.lo `test -f 'tightvnc-filetransfer/rfbtightserver.c' || echo '$(srcdir)/'`tightvnc-filetransfer/rfbtightserver.c; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/rfbtightserver.Tpo" "$(DEPDIR)/rfbtightserver.Plo"; else rm -f "$(DEPDIR)/rfbtightserver.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT rfbtightserver.lo -MD -MP -MF $(DEPDIR)/rfbtightserver.Tpo -c -o rfbtightserver.lo `test -f 'tightvnc-filetransfer/rfbtightserver.c' || echo '$(srcdir)/'`tightvnc-filetransfer/rfbtightserver.c
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/rfbtightserver.Tpo $(DEPDIR)/rfbtightserver.Plo
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tightvnc-filetransfer/rfbtightserver.c' object='rfbtightserver.lo' libtool=yes @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rfbtightserver.lo `test -f 'tightvnc-filetransfer/rfbtightserver.c' || echo '$(srcdir)/'`tightvnc-filetransfer/rfbtightserver.c
++@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o rfbtightserver.lo `test -f 'tightvnc-filetransfer/rfbtightserver.c' || echo '$(srcdir)/'`tightvnc-filetransfer/rfbtightserver.c
+
+ handlefiletransferrequest.lo: tightvnc-filetransfer/handlefiletransferrequest.c
+-@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT handlefiletransferrequest.lo -MD -MP -MF "$(DEPDIR)/handlefiletransferrequest.Tpo" -c -o handlefiletransferrequest.lo `test -f 'tightvnc-filetransfer/handlefiletransferrequest.c' || echo '$(srcdir)/'`tightvnc-filetransfer/handlefiletransferrequest.c; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/handlefiletransferrequest.Tpo" "$(DEPDIR)/handlefiletransferrequest.Plo"; else rm -f "$(DEPDIR)/handlefiletransferrequest.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT handlefiletransferrequest.lo -MD -MP -MF $(DEPDIR)/handlefiletransferrequest.Tpo -c -o handlefiletransferrequest.lo `test -f 'tightvnc-filetransfer/handlefiletransferrequest.c' || echo '$(srcdir)/'`tightvnc-filetransfer/handlefiletransferrequest.c
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/handlefiletransferrequest.Tpo $(DEPDIR)/handlefiletransferrequest.Plo
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tightvnc-filetransfer/handlefiletransferrequest.c' object='handlefiletransferrequest.lo' libtool=yes @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o handlefiletransferrequest.lo `test -f 'tightvnc-filetransfer/handlefiletransferrequest.c' || echo '$(srcdir)/'`tightvnc-filetransfer/handlefiletransferrequest.c
++@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o handlefiletransferrequest.lo `test -f 'tightvnc-filetransfer/handlefiletransferrequest.c' || echo '$(srcdir)/'`tightvnc-filetransfer/handlefiletransferrequest.c
+
+ filetransfermsg.lo: tightvnc-filetransfer/filetransfermsg.c
+-@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT filetransfermsg.lo -MD -MP -MF "$(DEPDIR)/filetransfermsg.Tpo" -c -o filetransfermsg.lo `test -f 'tightvnc-filetransfer/filetransfermsg.c' || echo '$(srcdir)/'`tightvnc-filetransfer/filetransfermsg.c; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/filetransfermsg.Tpo" "$(DEPDIR)/filetransfermsg.Plo"; else rm -f "$(DEPDIR)/filetransfermsg.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT filetransfermsg.lo -MD -MP -MF $(DEPDIR)/filetransfermsg.Tpo -c -o filetransfermsg.lo `test -f 'tightvnc-filetransfer/filetransfermsg.c' || echo '$(srcdir)/'`tightvnc-filetransfer/filetransfermsg.c
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/filetransfermsg.Tpo $(DEPDIR)/filetransfermsg.Plo
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tightvnc-filetransfer/filetransfermsg.c' object='filetransfermsg.lo' libtool=yes @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o filetransfermsg.lo `test -f 'tightvnc-filetransfer/filetransfermsg.c' || echo '$(srcdir)/'`tightvnc-filetransfer/filetransfermsg.c
++@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o filetransfermsg.lo `test -f 'tightvnc-filetransfer/filetransfermsg.c' || echo '$(srcdir)/'`tightvnc-filetransfer/filetransfermsg.c
+
+ filelistinfo.lo: tightvnc-filetransfer/filelistinfo.c
+-@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT filelistinfo.lo -MD -MP -MF "$(DEPDIR)/filelistinfo.Tpo" -c -o filelistinfo.lo `test -f 'tightvnc-filetransfer/filelistinfo.c' || echo '$(srcdir)/'`tightvnc-filetransfer/filelistinfo.c; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/filelistinfo.Tpo" "$(DEPDIR)/filelistinfo.Plo"; else rm -f "$(DEPDIR)/filelistinfo.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT filelistinfo.lo -MD -MP -MF $(DEPDIR)/filelistinfo.Tpo -c -o filelistinfo.lo `test -f 'tightvnc-filetransfer/filelistinfo.c' || echo '$(srcdir)/'`tightvnc-filetransfer/filelistinfo.c
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/filelistinfo.Tpo $(DEPDIR)/filelistinfo.Plo
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='tightvnc-filetransfer/filelistinfo.c' object='filelistinfo.lo' libtool=yes @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o filelistinfo.lo `test -f 'tightvnc-filetransfer/filelistinfo.c' || echo '$(srcdir)/'`tightvnc-filetransfer/filelistinfo.c
++@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o filelistinfo.lo `test -f 'tightvnc-filetransfer/filelistinfo.c' || echo '$(srcdir)/'`tightvnc-filetransfer/filelistinfo.c
+
+ mostlyclean-libtool:
+ -rm -f *.lo
+
+ clean-libtool:
+ -rm -rf .libs _libs
+-
+-distclean-libtool:
+- -rm -f libtool
+-uninstall-info-am:
+ install-includeHEADERS: $(include_HEADERS)
+ @$(NORMAL_INSTALL)
+- test -z "$(includedir)" || $(mkdir_p) "$(DESTDIR)$(includedir)"
++ test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
+ @list='$(include_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+@@ -505,23 +480,21 @@
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+ distdir: $(DISTFILES)
+- $(mkdir_p) $(distdir)/../rfb $(distdir)/tightvnc-filetransfer
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ list='$(DISTFILES)'; \
++ dist_files=`for file in $$list; do echo $$file; done | \
++ sed -e "s|^$$srcdirstrip/||;t" \
++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
++ case $$dist_files in \
++ */*) $(MKDIR_P) `echo "$$dist_files" | \
++ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
++ sort -u` ;; \
++ esac; \
++ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+ if test -d $$d/$$file; then \
++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+@@ -537,7 +510,7 @@
+ all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+ installdirs:
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \
+- test -z "$$dir" || $(mkdir_p) "$$dir"; \
++ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+ install: install-am
+ install-exec: install-exec-am
+@@ -572,7 +545,7 @@
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+ distclean-am: clean-am distclean-compile distclean-generic \
+- distclean-libtool distclean-tags
++ distclean-tags
+
+ dvi: dvi-am
+
+@@ -586,12 +559,20 @@
+
+ install-data-am: install-includeHEADERS
+
++install-dvi: install-dvi-am
++
+ install-exec-am: install-libLTLIBRARIES
+
++install-html: install-html-am
++
+ install-info: install-info-am
+
+ install-man:
+
++install-pdf: install-pdf-am
++
++install-ps: install-ps-am
++
+ installcheck-am:
+
+ maintainer-clean: maintainer-clean-am
+@@ -612,21 +593,23 @@
+
+ ps-am:
+
+-uninstall-am: uninstall-includeHEADERS uninstall-info-am \
+- uninstall-libLTLIBRARIES
++uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES
++
++.MAKE: install-am install-strip
+
+ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+- install install-am install-data install-data-am install-exec \
+- install-exec-am install-includeHEADERS install-info \
+- install-info-am install-libLTLIBRARIES install-man \
+- install-strip installcheck installcheck-am installdirs \
+- maintainer-clean maintainer-clean-generic mostlyclean \
+- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+- pdf pdf-am ps ps-am tags uninstall uninstall-am \
+- uninstall-includeHEADERS uninstall-info-am \
++ install install-am install-data install-data-am install-dvi \
++ install-dvi-am install-exec install-exec-am install-html \
++ install-html-am install-includeHEADERS install-info \
++ install-info-am install-libLTLIBRARIES install-man install-pdf \
++ install-pdf-am install-ps install-ps-am install-strip \
++ installcheck installcheck-am installdirs maintainer-clean \
++ maintainer-clean-generic mostlyclean mostlyclean-compile \
++ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
++ tags uninstall uninstall-am uninstall-includeHEADERS \
+ uninstall-libLTLIBRARIES
+
+
+diff -Nur LibVNCServer-0.9.1.orig/rfbconfig.h.in LibVNCServer-0.9.1/rfbconfig.h.in
+--- LibVNCServer-0.9.1.orig/rfbconfig.h.in 2008-10-31 18:44:00.000000000 -0200
++++ LibVNCServer-0.9.1/rfbconfig.h.in 2008-10-31 18:46:26.000000000 -0200
+@@ -302,6 +302,10 @@
+ slash. */
+ #undef LSTAT_FOLLOWS_SLASHED_SYMLINK
+
++/* Define to the sub-directory in which libtool stores uninstalled libraries.
++ */
++#undef LT_OBJDIR
++
+ /* Need a typedef for in_addr_t */
+ #undef NEED_INADDR_T
+
+@@ -369,7 +373,7 @@
+ /* Define to `int' if <sys/types.h> does not define. */
+ #undef pid_t
+
+-/* Define to `unsigned' if <sys/types.h> does not define. */
++/* Define to `unsigned int' if <sys/types.h> does not define. */
+ #undef size_t
+
+ /* The type for socklen */
+diff -Nur LibVNCServer-0.9.1.orig/rfbconfig.h.in~ LibVNCServer-0.9.1/rfbconfig.h.in~
+--- LibVNCServer-0.9.1.orig/rfbconfig.h.in~ 1969-12-31 21:00:00.000000000 -0300
++++ LibVNCServer-0.9.1/rfbconfig.h.in~ 2008-10-31 18:44:10.000000000 -0200
+@@ -0,0 +1,379 @@
++/* rfbconfig.h.in. Generated from configure.ac by autoheader. */
++
++/* Enable 24 bit per pixel in native framebuffer */
++#undef ALLOW24BPP
++
++/* work around when write() returns ENOENT but does not mean it */
++#undef ENOENT_WORKAROUND
++
++/* Use ffmpeg (for vnc2mpg) */
++#undef FFMPEG
++
++/* Define to 1 if you have the <arpa/inet.h> header file. */
++#undef HAVE_ARPA_INET_H
++
++/* Avahi/mDNS client build environment present */
++#undef HAVE_AVAHI
++
++/* Define to 1 if you have the `crypt' function. */
++#undef HAVE_CRYPT
++
++/* Define to 1 if you have the <dlfcn.h> header file. */
++#undef HAVE_DLFCN_H
++
++/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
++#undef HAVE_DOPRNT
++
++/* DPMS extension build environment present */
++#undef HAVE_DPMS
++
++/* FBPM extension build environment present */
++#undef HAVE_FBPM
++
++/* Define to 1 if you have the <fcntl.h> header file. */
++#undef HAVE_FCNTL_H
++
++/* Define to 1 if you have the `fork' function. */
++#undef HAVE_FORK
++
++/* Define to 1 if you have the `ftime' function. */
++#undef HAVE_FTIME
++
++/* Define to 1 if you have the `geteuid' function. */
++#undef HAVE_GETEUID
++
++/* Define to 1 if you have the `gethostbyname' function. */
++#undef HAVE_GETHOSTBYNAME
++
++/* Define to 1 if you have the `gethostname' function. */
++#undef HAVE_GETHOSTNAME
++
++/* Define to 1 if you have the `getpwnam' function. */
++#undef HAVE_GETPWNAM
++
++/* Define to 1 if you have the `getpwuid' function. */
++#undef HAVE_GETPWUID
++
++/* Define to 1 if you have the `getspnam' function. */
++#undef HAVE_GETSPNAM
++
++/* Define to 1 if you have the `gettimeofday' function. */
++#undef HAVE_GETTIMEOFDAY
++
++/* Define to 1 if you have the `getuid' function. */
++#undef HAVE_GETUID
++
++/* Define to 1 if you have the `grantpt' function. */
++#undef HAVE_GRANTPT
++
++/* Define to 1 if you have the `inet_ntoa' function. */
++#undef HAVE_INET_NTOA
++
++/* Define to 1 if you have the `initgroups' function. */
++#undef HAVE_INITGROUPS
++
++/* Define to 1 if you have the <inttypes.h> header file. */
++#undef HAVE_INTTYPES_H
++
++/* IRIX XReadDisplay available */
++#undef HAVE_IRIX_XREADDISPLAY
++
++/* libcrypt library present */
++#undef HAVE_LIBCRYPT
++
++/* openssl libcrypto library present */
++#undef HAVE_LIBCRYPTO
++
++/* Define to 1 if you have the `cygipc' library (-lcygipc). */
++#undef HAVE_LIBCYGIPC
++
++/* Define to 1 if you have the `jpeg' library (-ljpeg). */
++#undef HAVE_LIBJPEG
++
++/* Define to 1 if you have the `nsl' library (-lnsl). */
++#undef HAVE_LIBNSL
++
++/* Define to 1 if you have the `pthread' library (-lpthread). */
++#undef HAVE_LIBPTHREAD
++
++/* Define to 1 if you have the `socket' library (-lsocket). */
++#undef HAVE_LIBSOCKET
++
++/* openssl libssl library present */
++#undef HAVE_LIBSSL
++
++/* XDAMAGE extension build environment present */
++#undef HAVE_LIBXDAMAGE
++
++/* XFIXES extension build environment present */
++#undef HAVE_LIBXFIXES
++
++/* XINERAMA extension build environment present */
++#undef HAVE_LIBXINERAMA
++
++/* XRANDR extension build environment present */
++#undef HAVE_LIBXRANDR
++
++/* DEC-XTRAP extension build environment present */
++#undef HAVE_LIBXTRAP
++
++/* Define to 1 if you have the `z' library (-lz). */
++#undef HAVE_LIBZ
++
++/* linux fb device build environment present */
++#undef HAVE_LINUX_FB_H
++
++/* linux/input.h present */
++#undef HAVE_LINUX_INPUT_H
++
++/* linux uinput device build environment present */
++#undef HAVE_LINUX_UINPUT_H
++
++/* video4linux build environment present */
++#undef HAVE_LINUX_VIDEODEV_H
++
++/* build MacOS X native display support */
++#undef HAVE_MACOSX_NATIVE_DISPLAY
++
++/* Define to 1 if you have the `memmove' function. */
++#undef HAVE_MEMMOVE
++
++/* Define to 1 if you have the <memory.h> header file. */
++#undef HAVE_MEMORY_H
++
++/* Define to 1 if you have the `memset' function. */
++#undef HAVE_MEMSET
++
++/* Define to 1 if you have the `mkfifo' function. */
++#undef HAVE_MKFIFO
++
++/* Define to 1 if you have the `mmap' function. */
++#undef HAVE_MMAP
++
++/* Define to 1 if you have the <netdb.h> header file. */
++#undef HAVE_NETDB_H
++
++/* Define to 1 if you have the <netinet/in.h> header file. */
++#undef HAVE_NETINET_IN_H
++
++/* Define to 1 if you have the <pwd.h> header file. */
++#undef HAVE_PWD_H
++
++/* RECORD extension build environment present */
++#undef HAVE_RECORD
++
++/* Define to 1 if you have the `select' function. */
++#undef HAVE_SELECT
++
++/* Define to 1 if you have the `setegid' function. */
++#undef HAVE_SETEGID
++
++/* Define to 1 if you have the `seteuid' function. */
++#undef HAVE_SETEUID
++
++/* Define to 1 if you have the `setgid' function. */
++#undef HAVE_SETGID
++
++/* Define to 1 if you have the `setpgrp' function. */
++#undef HAVE_SETPGRP
++
++/* Define to 1 if you have the `setsid' function. */
++#undef HAVE_SETSID
++
++/* Define to 1 if you have the `setuid' function. */
++#undef HAVE_SETUID
++
++/* Define to 1 if you have the `setutxent' function. */
++#undef HAVE_SETUTXENT
++
++/* Define to 1 if you have the `socket' function. */
++#undef HAVE_SOCKET
++
++/* Solaris XReadScreen available */
++#undef HAVE_SOLARIS_XREADSCREEN
++
++/* Define to 1 if `stat' has the bug that it succeeds when given the
++ zero-length file name argument. */
++#undef HAVE_STAT_EMPTY_STRING_BUG
++
++/* Define to 1 if you have the <stdint.h> header file. */
++#undef HAVE_STDINT_H
++
++/* Define to 1 if you have the <stdlib.h> header file. */
++#undef HAVE_STDLIB_H
++
++/* Define to 1 if you have the `strchr' function. */
++#undef HAVE_STRCHR
++
++/* Define to 1 if you have the `strcspn' function. */
++#undef HAVE_STRCSPN
++
++/* Define to 1 if you have the `strdup' function. */
++#undef HAVE_STRDUP
++
++/* Define to 1 if you have the `strerror' function. */
++#undef HAVE_STRERROR
++
++/* Define to 1 if you have the `strftime' function. */
++#undef HAVE_STRFTIME
++
++/* Define to 1 if you have the <strings.h> header file. */
++#undef HAVE_STRINGS_H
++
++/* Define to 1 if you have the <string.h> header file. */
++#undef HAVE_STRING_H
++
++/* Define to 1 if you have the `strstr' function. */
++#undef HAVE_STRSTR
++
++/* Define to 1 if you have the <syslog.h> header file. */
++#undef HAVE_SYSLOG_H
++
++/* Use the system libvncserver build environment for x11vnc. */
++#undef HAVE_SYSTEM_LIBVNCSERVER
++
++/* Define to 1 if you have the <sys/ioctl.h> header file. */
++#undef HAVE_SYS_IOCTL_H
++
++/* Define to 1 if you have the <sys/socket.h> header file. */
++#undef HAVE_SYS_SOCKET_H
++
++/* Define to 1 if you have the <sys/stat.h> header file. */
++#undef HAVE_SYS_STAT_H
++
++/* Define to 1 if you have the <sys/stropts.h> header file. */
++#undef HAVE_SYS_STROPTS_H
++
++/* Define to 1 if you have the <sys/timeb.h> header file. */
++#undef HAVE_SYS_TIMEB_H
++
++/* Define to 1 if you have the <sys/time.h> header file. */
++#undef HAVE_SYS_TIME_H
++
++/* Define to 1 if you have the <sys/types.h> header file. */
++#undef HAVE_SYS_TYPES_H
++
++/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
++#undef HAVE_SYS_WAIT_H
++
++/* Define to 1 if you have the <termios.h> header file. */
++#undef HAVE_TERMIOS_H
++
++/* Define to 1 if you have the <unistd.h> header file. */
++#undef HAVE_UNISTD_H
++
++/* Define to 1 if you have the <utmpx.h> header file. */
++#undef HAVE_UTMPX_H
++
++/* Define to 1 if you have the `vfork' function. */
++#undef HAVE_VFORK
++
++/* Define to 1 if you have the <vfork.h> header file. */
++#undef HAVE_VFORK_H
++
++/* Define to 1 if you have the `vprintf' function. */
++#undef HAVE_VPRINTF
++
++/* Define to 1 if you have the `waitpid' function. */
++#undef HAVE_WAITPID
++
++/* Define to 1 if `fork' works. */
++#undef HAVE_WORKING_FORK
++
++/* Define to 1 if `vfork' works. */
++#undef HAVE_WORKING_VFORK
++
++/* X11 build environment present */
++#undef HAVE_X11
++
++/* XKEYBOARD extension build environment present */
++#undef HAVE_XKEYBOARD
++
++/* MIT-SHM extension build environment present */
++#undef HAVE_XSHM
++
++/* XTEST extension build environment present */
++#undef HAVE_XTEST
++
++/* XTEST extension has XTestGrabControl */
++#undef HAVE_XTESTGRABCONTROL
++
++/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
++ slash. */
++#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
++
++/* Need a typedef for in_addr_t */
++#undef NEED_INADDR_T
++
++/* Name of package */
++#undef PACKAGE
++
++/* Define to the address where bug reports for this package should be sent. */
++#undef PACKAGE_BUGREPORT
++
++/* Define to the full name of this package. */
++#undef PACKAGE_NAME
++
++/* Define to the full name and version of this package. */
++#undef PACKAGE_STRING
++
++/* Define to the one symbol short name of this package. */
++#undef PACKAGE_TARNAME
++
++/* Define to the version of this package. */
++#undef PACKAGE_VERSION
++
++/* The number of bytes in type char */
++#undef SIZEOF_CHAR
++
++/* The number of bytes in type int */
++#undef SIZEOF_INT
++
++/* The number of bytes in type long */
++#undef SIZEOF_LONG
++
++/* The number of bytes in type short */
++#undef SIZEOF_SHORT
++
++/* The number of bytes in type void* */
++#undef SIZEOF_VOIDP
++
++/* Define to 1 if you have the ANSI C header files. */
++#undef STDC_HEADERS
++
++/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
++#undef TIME_WITH_SYS_TIME
++
++/* Version number of package */
++#undef VERSION
++
++/* Disable TightVNCFileTransfer protocol */
++#undef WITH_TIGHTVNC_FILETRANSFER
++
++/* Define to 1 if your processor stores words with the most significant byte
++ first (like Motorola and SPARC, unlike Intel and VAX). */
++#undef WORDS_BIGENDIAN
++
++/* Define to 1 if the X Window System is missing or not being used. */
++#undef X_DISPLAY_MISSING
++
++/* Define to empty if `const' does not conform to ANSI C. */
++#undef const
++
++/* Define to `__inline__' or `__inline' if that's what the C compiler
++ calls it, or to nothing if 'inline' is not supported under any name. */
++#ifndef __cplusplus
++#undef inline
++#endif
++
++/* Define to `int' if <sys/types.h> does not define. */
++#undef pid_t
++
++/* Define to `unsigned int' if <sys/types.h> does not define. */
++#undef size_t
++
++/* The type for socklen */
++#undef socklen_t
++
++/* Define as `fork' if `vfork' does not work. */
++#undef vfork
+diff -Nur LibVNCServer-0.9.1.orig/test/Makefile.in LibVNCServer-0.9.1/test/Makefile.in
+--- LibVNCServer-0.9.1.orig/test/Makefile.in 2008-10-31 18:44:00.000000000 -0200
++++ LibVNCServer-0.9.1/test/Makefile.in 2008-10-31 18:46:27.000000000 -0200
+@@ -1,8 +1,8 @@
+-# Makefile.in generated by automake 1.9.5 from Makefile.am.
++# Makefile.in generated by automake 1.10 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005 Free Software Foundation, Inc.
++# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -14,17 +14,11 @@
+
+ @SET_MAKE@
+
+-SOURCES = blooptest.c cargstest.c copyrecttest.c cursortest.c encodingstest.c
+-
+-srcdir = @srcdir@
+-top_srcdir = @top_srcdir@
+ VPATH = @srcdir@
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+-top_builddir = ..
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+-INSTALL = @INSTALL@
+ install_sh_DATA = $(install_sh) -c -m 644
+ install_sh_PROGRAM = $(install_sh) -c
+ install_sh_SCRIPT = $(install_sh) -c
+@@ -78,17 +72,18 @@
+ encodingstest_LDADD = $(LDADD)
+ encodingstest_DEPENDENCIES = ../libvncserver/libvncserver.la \
+ ../libvncclient/libvncclient.la
+-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
++DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
+ depcomp = $(SHELL) $(top_srcdir)/depcomp
+ am__depfiles_maybe = depfiles
+ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
++LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+ CCLD = $(CC)
+-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+- $(AM_LDFLAGS) $(LDFLAGS) -o $@
++LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
++ $(LDFLAGS) -o $@
+ SOURCES = blooptest.c cargstest.c copyrecttest.c cursortest.c \
+ encodingstest.c
+ DIST_SOURCES = blooptest.c cargstest.c copyrecttest.c cursortest.c \
+@@ -97,8 +92,6 @@
+ CTAGS = ctags
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ ACLOCAL = @ACLOCAL@
+-AMDEP_FALSE = @AMDEP_FALSE@
+-AMDEP_TRUE = @AMDEP_TRUE@
+ AMTAR = @AMTAR@
+ AR = @AR@
+ AUTOCONF = @AUTOCONF@
+@@ -113,57 +106,38 @@
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CRYPT_LIBS = @CRYPT_LIBS@
+-CXX = @CXX@
+-CXXCPP = @CXXCPP@
+-CXXDEPMODE = @CXXDEPMODE@
+-CXXFLAGS = @CXXFLAGS@
+-CYGIPC_FALSE = @CYGIPC_FALSE@
+-CYGIPC_TRUE = @CYGIPC_TRUE@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
+-ECHO = @ECHO@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
+-F77 = @F77@
+-FFLAGS = @FFLAGS@
+-HAVE_LIBJPEG_FALSE = @HAVE_LIBJPEG_FALSE@
+-HAVE_LIBJPEG_TRUE = @HAVE_LIBJPEG_TRUE@
+-HAVE_LIBPTHREAD_FALSE = @HAVE_LIBPTHREAD_FALSE@
+-HAVE_LIBPTHREAD_TRUE = @HAVE_LIBPTHREAD_TRUE@
+-HAVE_LIBSDL_FALSE = @HAVE_LIBSDL_FALSE@
+-HAVE_LIBSDL_TRUE = @HAVE_LIBSDL_TRUE@
+-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
+-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
+-HAVE_MP3LAME_FALSE = @HAVE_MP3LAME_FALSE@
+-HAVE_MP3LAME_TRUE = @HAVE_MP3LAME_TRUE@
+-HAVE_RPM_FALSE = @HAVE_RPM_FALSE@
+-HAVE_RPM_TRUE = @HAVE_RPM_TRUE@
+-HAVE_SYSTEM_LIBVNCSERVER_FALSE = @HAVE_SYSTEM_LIBVNCSERVER_FALSE@
+-HAVE_SYSTEM_LIBVNCSERVER_TRUE = @HAVE_SYSTEM_LIBVNCSERVER_TRUE@
+-HAVE_X_FALSE = @HAVE_X_FALSE@
+-HAVE_X_TRUE = @HAVE_X_TRUE@
++FGREP = @FGREP@
++GREP = @GREP@
++INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LD = @LD@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBTOOL = @LIBTOOL@
+-LINUX_FALSE = @LINUX_FALSE@
+-LINUX_TRUE = @LINUX_TRUE@
++LIPO = @LIPO@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
+-MINGW_FALSE = @MINGW_FALSE@
+-MINGW_TRUE = @MINGW_TRUE@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
+ OBJEXT = @OBJEXT@
+-OSX_FALSE = @OSX_FALSE@
+-OSX_TRUE = @OSX_TRUE@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
+ PACKAGE = @PACKAGE@
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+@@ -175,6 +149,7 @@
+ RPMSOURCEDIR = @RPMSOURCEDIR@
+ SDL_CFLAGS = @SDL_CFLAGS@
+ SDL_LIBS = @SDL_LIBS@
++SED = @SED@
+ SET_MAKE = @SET_MAKE@
+ SHELL = @SHELL@
+ SSL_LIBS = @SSL_LIBS@
+@@ -182,25 +157,17 @@
+ SYSTEM_LIBVNCSERVER_CFLAGS = @SYSTEM_LIBVNCSERVER_CFLAGS@
+ SYSTEM_LIBVNCSERVER_LIBS = @SYSTEM_LIBVNCSERVER_LIBS@
+ VERSION = @VERSION@
+-WITH_FFMPEG_FALSE = @WITH_FFMPEG_FALSE@
+-WITH_FFMPEG_TRUE = @WITH_FFMPEG_TRUE@
+-WITH_TIGHTVNC_FILETRANSFER_FALSE = @WITH_TIGHTVNC_FILETRANSFER_FALSE@
+-WITH_TIGHTVNC_FILETRANSFER_TRUE = @WITH_TIGHTVNC_FILETRANSFER_TRUE@
+ WSOCKLIB = @WSOCKLIB@
+ X_CFLAGS = @X_CFLAGS@
+ X_EXTRA_LIBS = @X_EXTRA_LIBS@
+ X_LIBS = @X_LIBS@
+ X_PRE_LIBS = @X_PRE_LIBS@
+-ac_ct_AR = @ac_ct_AR@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
+ ac_ct_CC = @ac_ct_CC@
+-ac_ct_CXX = @ac_ct_CXX@
+-ac_ct_F77 = @ac_ct_F77@
+-ac_ct_RANLIB = @ac_ct_RANLIB@
+-ac_ct_STRIP = @ac_ct_STRIP@
+-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+@@ -212,28 +179,40 @@
+ build_cpu = @build_cpu@
+ build_os = @build_os@
+ build_vendor = @build_vendor@
++builddir = @builddir@
+ datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
+ exec_prefix = @exec_prefix@
+ host = @host@
+ host_alias = @host_alias@
+ host_cpu = @host_cpu@
+ host_os = @host_os@
+ host_vendor = @host_vendor@
++htmldir = @htmldir@
+ includedir = @includedir@
+ infodir = @infodir@
+ install_sh = @install_sh@
+ libdir = @libdir@
+ libexecdir = @libexecdir@
++localedir = @localedir@
+ localstatedir = @localstatedir@
++lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
+ prefix = @prefix@
+ program_transform_name = @program_transform_name@
++psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
+ with_ffmpeg = @with_ffmpeg@
+ AM_CFLAGS = -I $(top_srcdir) -g -Wall
+ LDADD = ../libvncserver/libvncserver.la ../libvncclient/libvncclient.la @WSOCKLIB@
+@@ -253,9 +232,9 @@
+ exit 1;; \
+ esac; \
+ done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile'; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/Makefile'; \
+ cd $(top_srcdir) && \
+- $(AUTOMAKE) --gnu test/Makefile
++ $(AUTOMAKE) --foreign test/Makefile
+ .PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+@@ -282,19 +261,19 @@
+ done
+ blooptest$(EXEEXT): $(blooptest_OBJECTS) $(blooptest_DEPENDENCIES)
+ @rm -f blooptest$(EXEEXT)
+- $(LINK) $(blooptest_LDFLAGS) $(blooptest_OBJECTS) $(blooptest_LDADD) $(LIBS)
++ $(LINK) $(blooptest_OBJECTS) $(blooptest_LDADD) $(LIBS)
+ cargstest$(EXEEXT): $(cargstest_OBJECTS) $(cargstest_DEPENDENCIES)
+ @rm -f cargstest$(EXEEXT)
+- $(LINK) $(cargstest_LDFLAGS) $(cargstest_OBJECTS) $(cargstest_LDADD) $(LIBS)
++ $(LINK) $(cargstest_OBJECTS) $(cargstest_LDADD) $(LIBS)
+ copyrecttest$(EXEEXT): $(copyrecttest_OBJECTS) $(copyrecttest_DEPENDENCIES)
+ @rm -f copyrecttest$(EXEEXT)
+- $(LINK) $(copyrecttest_LDFLAGS) $(copyrecttest_OBJECTS) $(copyrecttest_LDADD) $(LIBS)
++ $(LINK) $(copyrecttest_OBJECTS) $(copyrecttest_LDADD) $(LIBS)
+ cursortest$(EXEEXT): $(cursortest_OBJECTS) $(cursortest_DEPENDENCIES)
+ @rm -f cursortest$(EXEEXT)
+- $(LINK) $(cursortest_LDFLAGS) $(cursortest_OBJECTS) $(cursortest_LDADD) $(LIBS)
++ $(LINK) $(cursortest_OBJECTS) $(cursortest_LDADD) $(LIBS)
+ encodingstest$(EXEEXT): $(encodingstest_OBJECTS) $(encodingstest_DEPENDENCIES)
+ @rm -f encodingstest$(EXEEXT)
+- $(LINK) $(encodingstest_LDFLAGS) $(encodingstest_OBJECTS) $(encodingstest_LDADD) $(LIBS)
++ $(LINK) $(encodingstest_OBJECTS) $(encodingstest_LDADD) $(LIBS)
+
+ mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+@@ -309,22 +288,22 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encodingstest.Po@am__quote@
+
+ .c.o:
+-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+ .c.obj:
+-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+ .c.lo:
+-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+@@ -335,10 +314,6 @@
+ clean-libtool:
+ -rm -rf .libs _libs
+
+-distclean-libtool:
+- -rm -f libtool
+-uninstall-info-am:
+-
+ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+@@ -388,22 +363,21 @@
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+ distdir: $(DISTFILES)
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ list='$(DISTFILES)'; \
++ dist_files=`for file in $$list; do echo $$file; done | \
++ sed -e "s|^$$srcdirstrip/||;t" \
++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
++ case $$dist_files in \
++ */*) $(MKDIR_P) `echo "$$dist_files" | \
++ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
++ sort -u` ;; \
++ esac; \
++ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+ if test -d $$d/$$file; then \
++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+@@ -451,7 +425,7 @@
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+ distclean-am: clean-am distclean-compile distclean-generic \
+- distclean-libtool distclean-tags
++ distclean-tags
+
+ dvi: dvi-am
+
+@@ -465,12 +439,20 @@
+
+ install-data-am:
+
++install-dvi: install-dvi-am
++
+ install-exec-am:
+
++install-html: install-html-am
++
+ install-info: install-info-am
+
+ install-man:
+
++install-pdf: install-pdf-am
++
++install-ps: install-ps-am
++
+ installcheck-am:
+
+ maintainer-clean: maintainer-clean-am
+@@ -491,19 +473,22 @@
+
+ ps-am:
+
+-uninstall-am: uninstall-info-am
++uninstall-am:
++
++.MAKE: install-am install-strip
+
+ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+ clean-libtool clean-noinstPROGRAMS ctags distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+- install install-am install-data install-data-am install-exec \
+- install-exec-am install-info install-info-am install-man \
++ install install-am install-data install-data-am install-dvi \
++ install-dvi-am install-exec install-exec-am install-html \
++ install-html-am install-info install-info-am install-man \
++ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+- pdf pdf-am ps ps-am tags uninstall uninstall-am \
+- uninstall-info-am
++ pdf pdf-am ps ps-am tags uninstall uninstall-am
+
+
+ test: encodingstest$(EXEEXT) cargstest$(EXEEXT) copyrecttest$(EXEEXT)
+diff -Nur LibVNCServer-0.9.1.orig/vncterm/Makefile.in LibVNCServer-0.9.1/vncterm/Makefile.in
+--- LibVNCServer-0.9.1.orig/vncterm/Makefile.in 2008-10-31 18:44:00.000000000 -0200
++++ LibVNCServer-0.9.1/vncterm/Makefile.in 2008-10-31 18:46:27.000000000 -0200
+@@ -1,8 +1,8 @@
+-# Makefile.in generated by automake 1.9.5 from Makefile.am.
++# Makefile.in generated by automake 1.10 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+-# 2003, 2004, 2005 Free Software Foundation, Inc.
++# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -15,17 +15,11 @@
+ @SET_MAKE@
+
+
+-SOURCES = $(LinuxVNC_SOURCES) $(VNCommand_SOURCES) $(example_SOURCES)
+-
+-srcdir = @srcdir@
+-top_srcdir = @top_srcdir@
+ VPATH = @srcdir@
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+-top_builddir = ..
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+-INSTALL = @INSTALL@
+ install_sh_DATA = $(install_sh) -c -m 644
+ install_sh_PROGRAM = $(install_sh) -c
+ install_sh_SCRIPT = $(install_sh) -c
+@@ -70,17 +64,18 @@
+ example_OBJECTS = $(am_example_OBJECTS)
+ example_LDADD = $(LDADD)
+ example_DEPENDENCIES = ../libvncserver/libvncserver.la
+-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
++DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
+ depcomp = $(SHELL) $(top_srcdir)/depcomp
+ am__depfiles_maybe = depfiles
+ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
+- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+- $(AM_CFLAGS) $(CFLAGS)
++LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+ CCLD = $(CC)
+-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+- $(AM_LDFLAGS) $(LDFLAGS) -o $@
++LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
++ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
++ $(LDFLAGS) -o $@
+ SOURCES = $(LinuxVNC_SOURCES) $(VNCommand_SOURCES) $(example_SOURCES)
+ DIST_SOURCES = $(am__LinuxVNC_SOURCES_DIST) $(VNCommand_SOURCES) \
+ $(example_SOURCES)
+@@ -89,8 +84,6 @@
+ CTAGS = ctags
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ ACLOCAL = @ACLOCAL@
+-AMDEP_FALSE = @AMDEP_FALSE@
+-AMDEP_TRUE = @AMDEP_TRUE@
+ AMTAR = @AMTAR@
+ AR = @AR@
+ AUTOCONF = @AUTOCONF@
+@@ -105,57 +98,38 @@
+ CPP = @CPP@
+ CPPFLAGS = @CPPFLAGS@
+ CRYPT_LIBS = @CRYPT_LIBS@
+-CXX = @CXX@
+-CXXCPP = @CXXCPP@
+-CXXDEPMODE = @CXXDEPMODE@
+-CXXFLAGS = @CXXFLAGS@
+-CYGIPC_FALSE = @CYGIPC_FALSE@
+-CYGIPC_TRUE = @CYGIPC_TRUE@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
+-ECHO = @ECHO@
++DSYMUTIL = @DSYMUTIL@
++DUMPBIN = @DUMPBIN@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EXEEXT = @EXEEXT@
+-F77 = @F77@
+-FFLAGS = @FFLAGS@
+-HAVE_LIBJPEG_FALSE = @HAVE_LIBJPEG_FALSE@
+-HAVE_LIBJPEG_TRUE = @HAVE_LIBJPEG_TRUE@
+-HAVE_LIBPTHREAD_FALSE = @HAVE_LIBPTHREAD_FALSE@
+-HAVE_LIBPTHREAD_TRUE = @HAVE_LIBPTHREAD_TRUE@
+-HAVE_LIBSDL_FALSE = @HAVE_LIBSDL_FALSE@
+-HAVE_LIBSDL_TRUE = @HAVE_LIBSDL_TRUE@
+-HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
+-HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
+-HAVE_MP3LAME_FALSE = @HAVE_MP3LAME_FALSE@
+-HAVE_MP3LAME_TRUE = @HAVE_MP3LAME_TRUE@
+-HAVE_RPM_FALSE = @HAVE_RPM_FALSE@
+-HAVE_RPM_TRUE = @HAVE_RPM_TRUE@
+-HAVE_SYSTEM_LIBVNCSERVER_FALSE = @HAVE_SYSTEM_LIBVNCSERVER_FALSE@
+-HAVE_SYSTEM_LIBVNCSERVER_TRUE = @HAVE_SYSTEM_LIBVNCSERVER_TRUE@
+-HAVE_X_FALSE = @HAVE_X_FALSE@
+-HAVE_X_TRUE = @HAVE_X_TRUE@
++FGREP = @FGREP@
++GREP = @GREP@
++INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LD = @LD@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBTOOL = @LIBTOOL@
+-LINUX_FALSE = @LINUX_FALSE@
+-LINUX_TRUE = @LINUX_TRUE@
++LIPO = @LIPO@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
+-MINGW_FALSE = @MINGW_FALSE@
+-MINGW_TRUE = @MINGW_TRUE@
++MKDIR_P = @MKDIR_P@
++NM = @NM@
++NMEDIT = @NMEDIT@
+ OBJEXT = @OBJEXT@
+-OSX_FALSE = @OSX_FALSE@
+-OSX_TRUE = @OSX_TRUE@
++OTOOL = @OTOOL@
++OTOOL64 = @OTOOL64@
+ PACKAGE = @PACKAGE@
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+@@ -167,6 +141,7 @@
+ RPMSOURCEDIR = @RPMSOURCEDIR@
+ SDL_CFLAGS = @SDL_CFLAGS@
+ SDL_LIBS = @SDL_LIBS@
++SED = @SED@
+ SET_MAKE = @SET_MAKE@
+ SHELL = @SHELL@
+ SSL_LIBS = @SSL_LIBS@
+@@ -174,25 +149,17 @@
+ SYSTEM_LIBVNCSERVER_CFLAGS = @SYSTEM_LIBVNCSERVER_CFLAGS@
+ SYSTEM_LIBVNCSERVER_LIBS = @SYSTEM_LIBVNCSERVER_LIBS@
+ VERSION = @VERSION@
+-WITH_FFMPEG_FALSE = @WITH_FFMPEG_FALSE@
+-WITH_FFMPEG_TRUE = @WITH_FFMPEG_TRUE@
+-WITH_TIGHTVNC_FILETRANSFER_FALSE = @WITH_TIGHTVNC_FILETRANSFER_FALSE@
+-WITH_TIGHTVNC_FILETRANSFER_TRUE = @WITH_TIGHTVNC_FILETRANSFER_TRUE@
+ WSOCKLIB = @WSOCKLIB@
+ X_CFLAGS = @X_CFLAGS@
+ X_EXTRA_LIBS = @X_EXTRA_LIBS@
+ X_LIBS = @X_LIBS@
+ X_PRE_LIBS = @X_PRE_LIBS@
+-ac_ct_AR = @ac_ct_AR@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
+ ac_ct_CC = @ac_ct_CC@
+-ac_ct_CXX = @ac_ct_CXX@
+-ac_ct_F77 = @ac_ct_F77@
+-ac_ct_RANLIB = @ac_ct_RANLIB@
+-ac_ct_STRIP = @ac_ct_STRIP@
+-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ am__include = @am__include@
+ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+@@ -204,28 +171,40 @@
+ build_cpu = @build_cpu@
+ build_os = @build_os@
+ build_vendor = @build_vendor@
++builddir = @builddir@
+ datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
+ exec_prefix = @exec_prefix@
+ host = @host@
+ host_alias = @host_alias@
+ host_cpu = @host_cpu@
+ host_os = @host_os@
+ host_vendor = @host_vendor@
++htmldir = @htmldir@
+ includedir = @includedir@
+ infodir = @infodir@
+ install_sh = @install_sh@
+ libdir = @libdir@
+ libexecdir = @libexecdir@
++localedir = @localedir@
+ localstatedir = @localstatedir@
++lt_ECHO = @lt_ECHO@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
+ prefix = @prefix@
+ program_transform_name = @program_transform_name@
++psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
+ with_ffmpeg = @with_ffmpeg@
+ AM_CFLAGS = -I $(top_srcdir)
+ CONSOLE_SRCS = VNConsole.c
+@@ -249,9 +228,9 @@
+ exit 1;; \
+ esac; \
+ done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu vncterm/Makefile'; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign vncterm/Makefile'; \
+ cd $(top_srcdir) && \
+- $(AUTOMAKE) --gnu vncterm/Makefile
++ $(AUTOMAKE) --foreign vncterm/Makefile
+ .PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+@@ -271,7 +250,7 @@
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+ install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+- test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
++ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ if test -f $$p \
+@@ -306,13 +285,13 @@
+ done
+ LinuxVNC$(EXEEXT): $(LinuxVNC_OBJECTS) $(LinuxVNC_DEPENDENCIES)
+ @rm -f LinuxVNC$(EXEEXT)
+- $(LINK) $(LinuxVNC_LDFLAGS) $(LinuxVNC_OBJECTS) $(LinuxVNC_LDADD) $(LIBS)
++ $(LINK) $(LinuxVNC_OBJECTS) $(LinuxVNC_LDADD) $(LIBS)
+ VNCommand$(EXEEXT): $(VNCommand_OBJECTS) $(VNCommand_DEPENDENCIES)
+ @rm -f VNCommand$(EXEEXT)
+- $(LINK) $(VNCommand_LDFLAGS) $(VNCommand_OBJECTS) $(VNCommand_LDADD) $(LIBS)
++ $(LINK) $(VNCommand_OBJECTS) $(VNCommand_LDADD) $(LIBS)
+ example$(EXEEXT): $(example_OBJECTS) $(example_DEPENDENCIES)
+ @rm -f example$(EXEEXT)
+- $(LINK) $(example_LDFLAGS) $(example_OBJECTS) $(example_LDADD) $(LIBS)
++ $(LINK) $(example_OBJECTS) $(example_LDADD) $(LIBS)
+
+ mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+@@ -326,22 +305,22 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/example.Po@am__quote@
+
+ .c.o:
+-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+ .c.obj:
+-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+ .c.lo:
+-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
++@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
++@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+@@ -352,10 +331,6 @@
+ clean-libtool:
+ -rm -rf .libs _libs
+
+-distclean-libtool:
+- -rm -f libtool
+-uninstall-info-am:
+-
+ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+@@ -405,22 +380,21 @@
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+ distdir: $(DISTFILES)
+- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+- list='$(DISTFILES)'; for file in $$list; do \
+- case $$file in \
+- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+- esac; \
++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
++ list='$(DISTFILES)'; \
++ dist_files=`for file in $$list; do echo $$file; done | \
++ sed -e "s|^$$srcdirstrip/||;t" \
++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
++ case $$dist_files in \
++ */*) $(MKDIR_P) `echo "$$dist_files" | \
++ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
++ sort -u` ;; \
++ esac; \
++ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+- dir="/$$dir"; \
+- $(mkdir_p) "$(distdir)$$dir"; \
+- else \
+- dir=''; \
+- fi; \
+ if test -d $$d/$$file; then \
++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+@@ -436,7 +410,7 @@
+ all-am: Makefile $(PROGRAMS) $(HEADERS)
+ installdirs:
+ for dir in "$(DESTDIR)$(bindir)"; do \
+- test -z "$$dir" || $(mkdir_p) "$$dir"; \
++ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+ install: install-am
+ install-exec: install-exec-am
+@@ -471,7 +445,7 @@
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+ distclean-am: clean-am distclean-compile distclean-generic \
+- distclean-libtool distclean-tags
++ distclean-tags
+
+ dvi: dvi-am
+
+@@ -485,12 +459,20 @@
+
+ install-data-am:
+
++install-dvi: install-dvi-am
++
+ install-exec-am: install-binPROGRAMS
+
++install-html: install-html-am
++
+ install-info: install-info-am
+
+ install-man:
+
++install-pdf: install-pdf-am
++
++install-ps: install-ps-am
++
+ installcheck-am:
+
+ maintainer-clean: maintainer-clean-am
+@@ -511,20 +493,23 @@
+
+ ps-am:
+
+-uninstall-am: uninstall-binPROGRAMS uninstall-info-am
++uninstall-am: uninstall-binPROGRAMS
++
++.MAKE: install-am install-strip
+
+ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+ clean-generic clean-libtool clean-noinstPROGRAMS ctags \
+ distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
+- install-data install-data-am install-exec install-exec-am \
+- install-info install-info-am install-man install-strip \
++ install-data install-data-am install-dvi install-dvi-am \
++ install-exec install-exec-am install-html install-html-am \
++ install-info install-info-am install-man install-pdf \
++ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+- tags uninstall uninstall-am uninstall-binPROGRAMS \
+- uninstall-info-am
++ tags uninstall uninstall-am uninstall-binPROGRAMS
+
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/packages/vnc/libvncserver_0.9.1.bb b/packages/vnc/libvncserver_0.9.1.bb
index c7ea06f0af..488ed0d87f 100644
--- a/packages/vnc/libvncserver_0.9.1.bb
+++ b/packages/vnc/libvncserver_0.9.1.bb
@@ -11,7 +11,8 @@ DEFAULT_PREFERENCE = "-1"
SRC_URI = "${SOURCEFORGE_MIRROR}/libvncserver/LibVNCServer-${PV}.tar.gz \
file://configure_ac.patch;patch=1 \
- file://clientlogger.patch;patch=1"
+ file://clientlogger.patch;patch=1 \
+ file://autoreconf.patch;patch=1"
S = "${WORKDIR}/LibVNCServer-${PV}"
# => create libvncserver only
diff --git a/packages/vnc/tightvnc/Vncviewer b/packages/vnc/tightvnc/Vncviewer
new file mode 100644
index 0000000000..ed60ecdbaf
--- /dev/null
+++ b/packages/vnc/tightvnc/Vncviewer
@@ -0,0 +1,66 @@
+Vncviewer.title: TightVNC: %s
+Vncviewer.translations:\
+ <Enter>: SelectionToVNC()\n\
+ <Leave>: SelectionFromVNC()
+*form.background: black
+*viewport.allowHoriz: True
+*viewport.allowVert: True
+*viewport.useBottom: True
+*viewport.useRight: True
+*viewport*Scrollbar*thumb: None
+*desktop.baseTranslations:\
+ <Key>F8: ShowPopup()\n\
+ <ButtonPress>: SendRFBEvent()\n\
+ <ButtonRelease>: SendRFBEvent()\n\
+ <Motion>: SendRFBEvent()\n\
+ <KeyPress>: SendRFBEvent()\n\
+ <KeyRelease>: SendRFBEvent()
+*serverDialog.dialog.label: VNC server:
+*serverDialog.dialog.value:
+*serverDialog.dialog.value.translations: #override\n\
+ <Key>Return: ServerDialogDone()
+*passwordDialog.dialog.label: Password:
+*passwordDialog.dialog.value:
+*passwordDialog.dialog.value.AsciiSink.echo: False
+*passwordDialog.dialog.value.translations: #override\n\
+ <Key>Return: PasswordDialogDone()
+*popup.title: TightVNC popup
+*popup*background: grey
+*popup*font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
+*popup.buttonForm.Command.borderWidth: 0
+*popup.buttonForm.Toggle.borderWidth: 0
+*popup.translations: #override <Message>WM_PROTOCOLS: HidePopup()
+*popup.buttonForm.translations: #override\n\
+ <KeyPress>: SendRFBEvent() HidePopup()
+*popupButtonCount: 8
+*popup*button1.label: Dismiss popup
+*popup*button1.translations: #override\n\
+ <Btn1Down>,<Btn1Up>: HidePopup()
+*popup*button2.label: Quit viewer
+*popup*button2.translations: #override\n\
+ <Btn1Down>,<Btn1Up>: Quit()
+*popup*button3.label: Full screen
+*popup*button3.type: toggle
+*popup*button3.translations: #override\n\
+ <Visible>: SetFullScreenState()\n\
+ <Btn1Down>,<Btn1Up>: toggle() HidePopup() ToggleFullScreen()
+*popup*button4.label: Clipboard: local -> remote
+*popup*button4.translations: #override\n\
+ <Btn1Down>,<Btn1Up>: SelectionToVNC(always) HidePopup()
+*popup*button5.label: Clipboard: local <- remote
+*popup*button5.translations: #override\n\
+ <Btn1Down>,<Btn1Up>: SelectionFromVNC(always) HidePopup()
+*popup*button6.label: Request refresh
+*popup*button6.translations: #override\n\
+ <Btn1Down>,<Btn1Up>: SendRFBEvent(fbupdate) HidePopup()
+*popup*button7.label: Send ctrl-alt-del
+*popup*button7.translations: #override\n\
+ <Btn1Down>,<Btn1Up>: SendRFBEvent(keydown,Control_L)\
+ SendRFBEvent(keydown,Alt_L)\
+ SendRFBEvent(key,Delete)\
+ SendRFBEvent(keyup,Alt_L)\
+ SendRFBEvent(keyup,Control_L)\
+ HidePopup()
+*popup*button8.label: Send F8
+*popup*button8.translations: #override\n\
+ <Btn1Down>,<Btn1Up>: SendRFBEvent(key,F8) HidePopup()
diff --git a/packages/vnc/tightvnc_1.3.9.bb b/packages/vnc/tightvnc_1.3.9.bb
index ec6a7057d9..58ca15e1f7 100644
--- a/packages/vnc/tightvnc_1.3.9.bb
+++ b/packages/vnc/tightvnc_1.3.9.bb
@@ -3,16 +3,17 @@ HOMEPAGE = "http://www.tightvnc.com/"
DEPENDS = "virtual/libx11 zlib libxmu libxaw"
LICENSE = "GPL"
-PR = "r0"
+PR = "r2"
SRC_URI = "${SOURCEFORGE_MIRROR}/vnc-tight/${PN}-${PV}_unixsrc.tar.gz \
- file://Makefile"
+ file://Makefile \
+ file://Vncviewer"
S = "${WORKDIR}/vnc_unixsrc/vncviewer/"
PACKAGES = "${PN}-viewer-dbg ${PN}-viewer"
FILES_${PN}-viewer-dbg = "${bindir}/.debug"
-FILES_${PN}-viewer = "${bindir}/${PN}viewer"
+FILES_${PN}-viewer = "${bindir}/${PN}viewer ${sysconfdir}"
do_compile () {
install ${WORKDIR}/Makefile ${S}
@@ -22,4 +23,15 @@ do_compile () {
do_install () {
install -d ${D}${bindir}
install ${PN}viewer ${D}${bindir}
+ install -d ${D}${sysconfdir}/X11/app-defaults
+ install -m 644 ${WORKDIR}/Vncviewer ${D}${sysconfdir}/X11/app-defaults/Vncviewer
+}
+
+pkg_postinst_${PN}-viewer () {
+ update-alternatives --install ${bindir}/vncviewer vncviewer tightvncviewer 100
+}
+
+
+pkg_prerm_${PN}-viewer () {
+ update-alternatives --remove ${bindir}/vncviewer vncviewer tightvncviewer 100
}
diff --git a/packages/webkit/webkit-gtk_svn.bb b/packages/webkit/webkit-gtk_svn.bb
index b78844fc53..3abf37a409 100644
--- a/packages/webkit/webkit-gtk_svn.bb
+++ b/packages/webkit/webkit-gtk_svn.bb
@@ -5,7 +5,7 @@ SRCREV_FORMAT = "webcore-rwebkit"
# Yes, this is wrong...
PV = "0.1+svnr${SRCREV}"
-PR = "r5"
+PR = "r7"
SRC_URI = "\
svn://svn.webkit.org/repository/webkit/trunk/;module=JavaScriptCore;proto=http \
@@ -27,6 +27,7 @@ S = "${WORKDIR}/"
inherit autotools pkgconfig lib_package
+ARM_INSTRUCTION_SET = "arm"
# FIXME: Segfaulting without --with-http-backend=curl
EXTRA_OECONF = "\
--enable-debug=no \
@@ -35,6 +36,11 @@ EXTRA_OECONF = "\
--with-http-backend=curl \
"
+# Dolt gets used on x86 and ppc and hardcodes 'libtool'
+do_configure_append() {
+ cp ${TARGET_PREFIX}libtool libtool || true
+}
+
do_compile_prepend() {
mkdir -p ${S}/WebKitBuilds/Debug/JavaScriptCore/pcre/tmp/
mkdir -p ${S}/Programs/
diff --git a/packages/xerces-c/xerces-c_2.8.0.bb b/packages/xerces-c/xerces-c_2.8.0.bb
index 4f72e9dc77..d78bb22ad9 100644
--- a/packages/xerces-c/xerces-c_2.8.0.bb
+++ b/packages/xerces-c/xerces-c_2.8.0.bb
@@ -5,7 +5,7 @@ PRIORITY = "optional"
LICENSE = "MIT"
PR = "r1"
-SRC_URI = "http://mirror.serversupportforum.de/apache/xerces/c/sources/xerces-c-src_2_8_0.tar.gz"
+SRC_URI = "http://mirror.serversupportforum.de/apache/xerces/c/2/sources/xerces-c-src_2_8_0.tar.gz"
S = "${WORKDIR}/xerces-c-src_2_8_0/src/xercesc"
inherit autotools pkgconfig
diff --git a/packages/xfce/exo/exo-no-tests.patch b/packages/xfce/exo/exo-no-tests.patch
new file mode 100644
index 0000000000..1cb51ab600
--- /dev/null
+++ b/packages/xfce/exo/exo-no-tests.patch
@@ -0,0 +1,14 @@
+The tests/ subdir consists of stuff trying to run a generated file ('exo-csource'), which doesn't work on host systems
+
+--- /tmp/Makefile.am 2008-10-30 09:23:41.000000000 +0100
++++ exo-0.3.4/Makefile.am 2008-10-30 09:24:03.011124000 +0100
+@@ -23,8 +23,7 @@
+ pixmaps \
+ po \
+ po-doc \
+- $(PYTHON_SUBDIR) \
+- tests
++ $(PYTHON_SUBDIR)
+
+ AUTOMAKE_OPTIONS = \
+ 1.8 \
diff --git a/packages/xfce/exo_0.3.4.bb b/packages/xfce/exo_0.3.4.bb
index 49ab44582c..17ea87d3d3 100644
--- a/packages/xfce/exo_0.3.4.bb
+++ b/packages/xfce/exo_0.3.4.bb
@@ -4,8 +4,12 @@ inherit xfce
XFCE_VERSION = 4.4.2
SRC_URI += " file://configure.patch;patch=1"
+SRC_URI += " file://exo-no-tests.patch;patch=1"
# Note: Python checking is broken
+do_configure_prepend() {
+ sed -i -e s:'`$PKG_CONFIG --variable=defsdir pygtk-2.0`':\"${STAGING_DATADIR}/pygtk/2.0/defs\":g ${S}/configure.in
+}
do_stage() {
autotools_stage_all
diff --git a/packages/xfce/thunar_0.9.0.bb b/packages/xfce/thunar_0.9.0.bb
index 8638b5add3..44afb06774 100644
--- a/packages/xfce/thunar_0.9.0.bb
+++ b/packages/xfce/thunar_0.9.0.bb
@@ -1,10 +1,11 @@
DESCRIPTION = "File manager for the Xfce Desktop Environment"
-DEPENDS = "libxfcegui4 exo dbus-glib libexif xfce4-panel libice libsm"
+DEPENDS = "libxfcegui4 exo dbus-glib libexif xfce4-panel libice libsm gamin"
+RRECOMMENDS = "shared-mime-info"
inherit xfce pkgconfig
SRC_URI = "http://www.us.xfce.org/archive/xfce-4.4.2/src/Thunar-${PV}.tar.bz2"
-PR = 'r1'
+PR = 'r3'
S = "${WORKDIR}/Thunar-${PV}/"
diff --git a/packages/xfce/xfdesktop/fix-segfault-when-removable-icons-are-disabled.patch b/packages/xfce/xfdesktop/fix-segfault-when-removable-icons-are-disabled.patch
new file mode 100644
index 0000000000..af5bc4cd96
--- /dev/null
+++ b/packages/xfce/xfdesktop/fix-segfault-when-removable-icons-are-disabled.patch
@@ -0,0 +1,16 @@
+diff -Nur xfdesktop-4.4.2-BKP/src/xfdesktop-file-icon-manager.c xfdesktop-4.4.2/src/xfdesktop-file-icon-manager.c
+--- xfdesktop-4.4.2-BKP/src/xfdesktop-file-icon-manager.c 2008-11-03 16:19:46.000000000 -0200
++++ xfdesktop-4.4.2/src/xfdesktop-file-icon-manager.c 2008-11-03 16:20:45.000000000 -0200
+@@ -2046,8 +2046,10 @@
+
+ g_hash_table_foreach(fmanager->priv->icons,
+ file_icon_hash_write_icons, rcfile);
+- g_hash_table_foreach(fmanager->priv->removable_icons,
+- file_icon_hash_write_icons, rcfile);
++ if(fmanager->priv->show_removable_media) {
++ g_hash_table_foreach(fmanager->priv->removable_icons,
++ file_icon_hash_write_icons, rcfile);
++ }
+ g_hash_table_foreach(fmanager->priv->special_icons,
+ file_icon_hash_write_icons, rcfile);
+
diff --git a/packages/xfce/xfdesktop_4.4.2.bb b/packages/xfce/xfdesktop_4.4.2.bb
index 2e6a9365f3..3129feba23 100644
--- a/packages/xfce/xfdesktop_4.4.2.bb
+++ b/packages/xfce/xfdesktop_4.4.2.bb
@@ -5,11 +5,12 @@
DESCRIPTION="xfce4 Desktop Background Manager"
SECTION = "x11/base"
DEPENDS = "virtual/libx11 libxfcegui4 libxfce4mcs libxml2 xfce4-panel thunar"
-PR = "r1"
+PR = "r2"
inherit xfce
-SRC_URI += " file://relocation-and-memleak.patch;patch=1 "
+SRC_URI += " file://relocation-and-memleak.patch;patch=1 \
+ file://fix-segfault-when-removable-icons-are-disabled.patch;patch=1"
PACKAGES += "xfdesktop-backdrops ${PN}-mcs-plugins"
diff --git a/packages/xkeyboard-config/xkeyboard-config_1.3.bb b/packages/xkeyboard-config/xkeyboard-config_1.4.bb
index cb448be243..cb448be243 100644
--- a/packages/xkeyboard-config/xkeyboard-config_1.3.bb
+++ b/packages/xkeyboard-config/xkeyboard-config_1.4.bb
diff --git a/packages/xmms-embedded/xmms-embedded_20040327.bb b/packages/xmms-embedded/xmms-embedded_20040327.bb
index d429449435..a8b24e709a 100644
--- a/packages/xmms-embedded/xmms-embedded_20040327.bb
+++ b/packages/xmms-embedded/xmms-embedded_20040327.bb
@@ -1,8 +1,9 @@
DESCRIPTION = "XMMS embedded - lightweight audio player with video and codec plugins"
SECTION = "opie/multimedia"
-DEPENDS = "zlib tremor libmad libid3tag libsidplay glib-2.0 libmikmod"
+DEPENDS = "zlib tremor glib-2.0 libmikmod \
+ ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libsidplay libmad libid3tag', d)}"
LICENSE = "GPL"
-PR = "r5"
+PR = "r6"
SRC_URI = "cvs://anonymous@xmms-embedded.cvs.sourceforge.net/cvsroot/xmms-embedded;module=xmms-embedded;date=${PV} \
file://bogusincdir.patch;patch=1 \
diff --git a/packages/xorg-app/xcursorgen-native_1.0.2.bb b/packages/xorg-app/xcursorgen-native_1.0.2.bb
new file mode 100644
index 0000000000..0cbf9fc716
--- /dev/null
+++ b/packages/xorg-app/xcursorgen-native_1.0.2.bb
@@ -0,0 +1,7 @@
+inherit native
+require xcursorgen_${PV}.bb
+
+DEPENDS = "libx11-native libpng-native"
+
+S="${WORKDIR}/xcursorgen-${PV}"
+XORG_PN="xcursorgen"
diff --git a/packages/xorg-app/xwd_1.0.2.bb b/packages/xorg-app/xwd_1.0.2.bb
new file mode 100644
index 0000000000..7b712390c6
--- /dev/null
+++ b/packages/xorg-app/xwd_1.0.2.bb
@@ -0,0 +1,5 @@
+require xorg-app-common.inc
+PE = "1"
+
+DEPENDS += " libxmu virtual/libx11"
+
diff --git a/packages/xorg-app/xwininfo_1.0.4.bb b/packages/xorg-app/xwininfo_1.0.4.bb
new file mode 100644
index 0000000000..069dd30aa8
--- /dev/null
+++ b/packages/xorg-app/xwininfo_1.0.4.bb
@@ -0,0 +1,5 @@
+require xorg-app-common.inc
+PE = "1"
+
+DEPENDS += " libxmu libxext virtual/libx11"
+
diff --git a/packages/xorg-data/xcursor-themes_1.0.1.bb b/packages/xorg-data/xcursor-themes_1.0.1.bb
index 8cf822e56f..1107d08da9 100644
--- a/packages/xorg-data/xcursor-themes_1.0.1.bb
+++ b/packages/xorg-data/xcursor-themes_1.0.1.bb
@@ -1,5 +1,7 @@
require xorg-data-common.inc
PE = "1"
-DEPENDS += " libxcursor"
+DEPENDS += " libxcursor xcursorgen-native"
+
+FILES_${PN} += "${datadir}/icons"
diff --git a/packages/xorg-driver/xf86-input-evdev_2.0.4.bb b/packages/xorg-driver/xf86-input-evdev_2.0.4.bb
new file mode 100644
index 0000000000..792909621a
--- /dev/null
+++ b/packages/xorg-driver/xf86-input-evdev_2.0.4.bb
@@ -0,0 +1,4 @@
+require xorg-driver-input.inc
+
+DESCRIPTION = "X.Org X server -- evdev input driver"
+PE = "1"
diff --git a/packages/xorg-driver/xf86-input-joystick_1.3.2.bb b/packages/xorg-driver/xf86-input-joystick_1.3.2.bb
new file mode 100644
index 0000000000..a53297fd8a
--- /dev/null
+++ b/packages/xorg-driver/xf86-input-joystick_1.3.2.bb
@@ -0,0 +1,4 @@
+require xorg-driver-input.inc
+
+DESCRIPTION = "X.Org X server -- joystick input driver"
+PE = "1"
diff --git a/packages/xorg-driver/xf86-input-synaptics_0.15.0.bb b/packages/xorg-driver/xf86-input-synaptics_0.15.0.bb
new file mode 100644
index 0000000000..e6325675f8
--- /dev/null
+++ b/packages/xorg-driver/xf86-input-synaptics_0.15.0.bb
@@ -0,0 +1,4 @@
+require xorg-driver-input.inc
+
+DESCRIPTION = "X.Org X server -- mouse input driver"
+PE = "1"
diff --git a/packages/xorg-driver/xf86-input-tslib/01_fix-wrong-value-range-for-the-axises.diff b/packages/xorg-driver/xf86-input-tslib/01_fix-wrong-value-range-for-the-axises.diff
new file mode 100644
index 0000000000..b5407102b9
--- /dev/null
+++ b/packages/xorg-driver/xf86-input-tslib/01_fix-wrong-value-range-for-the-axises.diff
@@ -0,0 +1,47 @@
+--- xf86-input-tslib-0.0.5.orig/src/tslib.c
++++ xf86-input-tslib-0.0.5/src/tslib.c
+@@ -183,7 +185,7 @@
+ {
+ InputInfoPtr pInfo;
+ unsigned char map[MAXBUTTONS + 1];
+- int i;
++ int i, axiswidth, axisheight;
+ struct ts_priv *priv;
+
+ ErrorF("%s\n", __FUNCTION__);
+@@ -212,17 +226,29 @@
+ return !Success;
+ }
+
++ switch(priv->rotate) {
++ case TSLIB_ROTATE_CW:
++ case TSLIB_ROTATE_CCW:
++ axiswidth = priv->height;
++ axisheight = priv->width;
++ break;
++ default:
++ axiswidth = priv->width;
++ axisheight = priv->height;
++ break;
++ }
++
+ InitValuatorAxisStruct(device, 0, 0, /* min val */
+- priv->width - 1, /* max val */
+- priv->width, /* resolution */
++ axiswidth - 1, /* max val */
++ axiswidth, /* resolution */
+ 0, /* min_res */
+- priv->width); /* max_res */
++ axiswidth); /* max_res */
+
+ InitValuatorAxisStruct(device, 1, 0, /* min val */
+- priv->height - 1,/* max val */
+- priv->height, /* resolution */
++ axisheight - 1, /* max val */
++ axisheight, /* resolution */
+ 0, /* min_res */
+- priv->height); /* max_res */
++ axisheight); /* max_res */
+
+ if (InitProximityClassDeviceStruct (device) == FALSE) {
+ ErrorF ("Unable to allocate EVTouch touchscreen ProximityClassDeviceStruct\n");
diff --git a/packages/xorg-driver/xf86-input-tslib/dynamic-xy.patch b/packages/xorg-driver/xf86-input-tslib/dynamic-xy.patch
new file mode 100644
index 0000000000..e4ff346d28
--- /dev/null
+++ b/packages/xorg-driver/xf86-input-tslib/dynamic-xy.patch
@@ -0,0 +1,17 @@
+Index: xf86-input-tslib-0.0.5/src/tslib.c
+===================================================================
+--- xf86-input-tslib-0.0.5.orig/src/tslib.c 2008-11-11 13:48:12.000000000 +0000
++++ xf86-input-tslib-0.0.5/src/tslib.c 2008-11-11 13:51:51.000000000 +0000
+@@ -321,10 +321,10 @@
+ priv->screen_num = xf86SetIntOption(pInfo->options, "ScreenNumber", 0 );
+
+ priv->width = xf86SetIntOption(pInfo->options, "Width", 0);
+- if (priv->width <= 0) priv->width = DEFAULT_WIDTH;
++ if (priv->width <= 0) priv->width = screenInfo.screens[0]->width;
+
+ priv->height = xf86SetIntOption(pInfo->options, "Height", 0);
+- if (priv->height <= 0) priv->height = DEFAULT_HEIGHT;
++ if (priv->height <= 0) priv->height = screenInfo.screens[0]->height;
+
+ s = xf86SetStrOption(pInfo->options, "Rotate", 0);
+ if (s > 0) {
diff --git a/packages/xorg-driver/xf86-input-tslib/use-hal-for-device.diff b/packages/xorg-driver/xf86-input-tslib/use-hal-for-device.diff
new file mode 100644
index 0000000000..9f2cfa25d9
--- /dev/null
+++ b/packages/xorg-driver/xf86-input-tslib/use-hal-for-device.diff
@@ -0,0 +1,45 @@
+From: Markku Vire markku.vire@movial.fi <mvire@movial.fi>
+Date: Tue, 9 Oct 2007 07:29:08 +0000 (+0300)
+Subject: Changed tslib device path to use the data provided by
+X-Git-Url: http://linux.onarm.com/gitweb/?p=generic%2Fsource%2Fxf86-input-tslib.git;a=commitdiff_plain;h=9ead96bb85857c0122b7a1a4653a5863f187d511
+
+Changed tslib device path to use the data provided by
+automatic device detection.
+---
+
+--- /tmp/tslib.c 2008-11-11 13:05:57.000000000 +0100
++++ xf86-input-tslib-0.0.5/src/tslib.c 2008-11-11 13:10:55.000000000 +0100
+@@ -72,11 +72,6 @@
+ int width;
+ };
+
+-static const char *DEFAULTS[] = {
+- "TslibDevice", "/dev/event0",
+- NULL
+-};
+-
+ static void
+ BellProc(int percent, DeviceIntPtr pDev, pointer ctrl, int unused)
+ {
+@@ -308,7 +303,7 @@
+ pInfo->private = priv;
+
+ /* Collect the options, and process the common options. */
+- xf86CollectInputOptions(pInfo, DEFAULTS, NULL);
++ xf86CollectInputOptions(pInfo, NULL, NULL);
+ xf86ProcessCommonOptions(pInfo, pInfo->options);
+
+ priv->screen_num = xf86SetIntOption(pInfo->options, "ScreenNumber", 0 );
+@@ -334,8 +329,10 @@
+ priv->rotate = TSLIB_ROTATE_NONE;
+ }
+
+- s = xf86SetStrOption(pInfo->options, "TslibDevice", NULL);
+-
++ s = xf86CheckStrOption(dev->commonOptions, "path", NULL);
++ if (!s)
++ s = xf86CheckStrOption(dev->commonOptions, "Device", NULL);
++
+ priv->ts = ts_open(s, 0);
+ if (!priv->ts) {
+ ErrorF("ts_open failed (device=%s)\n",s);
diff --git a/packages/xorg-driver/xf86-input-tslib_0.0.5.bb b/packages/xorg-driver/xf86-input-tslib_0.0.5.bb
index db477c2c89..f5c0186565 100644
--- a/packages/xorg-driver/xf86-input-tslib_0.0.5.bb
+++ b/packages/xorg-driver/xf86-input-tslib_0.0.5.bb
@@ -2,14 +2,24 @@ require xorg-driver-input.inc
DESCRIPTION = "X.Org X server -- tslib input driver"
RRECOMMENDS += "hal"
-PR = "r3"
+DEPENDS += "tslib"
+
+PR = "r6"
SRC_URI = "http://www.pengutronix.de/software/xf86-input-tslib/download/xf86-input-tslib-${PV}.tar.bz2 \
+ file://use-hal-for-device.diff;patch=1 \
+ file://01_fix-wrong-value-range-for-the-axises.diff;patch=1 \
+ file://dynamic-xy.patch;patch=1 \
file://10-x11-input-tslib.fdi"
+do_configure_prepend() {
+ rm -rf ${S}/m4/ || true
+}
+
do_install_append() {
install -d ${D}/${datadir}/hal/fdi/policy/20thirdparty
install -m 0644 ${WORKDIR}/10-x11-input-tslib.fdi ${D}/${datadir}/hal/fdi/policy/20thirdparty
}
+FILES_${PN} += "${datadir}/hal"
diff --git a/packages/xorg-driver/xf86-video-geode_2.10.1.bb b/packages/xorg-driver/xf86-video-geode_2.10.1.bb
new file mode 100644
index 0000000000..380ce2ea0b
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-geode_2.10.1.bb
@@ -0,0 +1,5 @@
+require xorg-driver-video.inc
+PE = "1"
+
+COMPATIBLE_HOST = 'i.86.*-linux'
+DESCRIPTION = "X.org server -- Geode GX2/LX display driver"
diff --git a/packages/xorg-driver/xf86-video-glint_1.2.1.bb b/packages/xorg-driver/xf86-video-glint_1.2.1.bb
new file mode 100644
index 0000000000..eac23c74d9
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-glint_1.2.1.bb
@@ -0,0 +1,6 @@
+require xorg-driver-video.inc
+
+DESCRIPTION = "X.Org X server -- Glint display driver"
+
+DEPENDS += " xf86dgaproto drm xf86driproto"
+
diff --git a/packages/xorg-driver/xf86-video-i128_1.3.1.bb b/packages/xorg-driver/xf86-video-i128_1.3.1.bb
new file mode 100644
index 0000000000..78d5eda810
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-i128_1.3.1.bb
@@ -0,0 +1,4 @@
+require xorg-driver-video.inc
+
+DESCRIPTION = "X.Org X server -- i128 display driver"
+PE = "1"
diff --git a/packages/xorg-driver/xf86-video-impact_0.2.0.bb b/packages/xorg-driver/xf86-video-impact_0.2.0.bb
new file mode 100644
index 0000000000..c2b6b7608a
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-impact_0.2.0.bb
@@ -0,0 +1,2 @@
+require xorg-driver-video.inc
+PE = "1"
diff --git a/packages/xorg-driver/xf86-video-intel_2.4.2.bb b/packages/xorg-driver/xf86-video-intel_2.4.2.bb
new file mode 100644
index 0000000000..eed1fcb600
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-intel_2.4.2.bb
@@ -0,0 +1,5 @@
+require xorg-driver-video.inc
+
+DESCRIPTION = "X.Org X server -- Intel i8xx, i9xx display driver"
+DEPENDS += " virtual/libx11 libxvmc drm xf86driproto"
+PE = "1"
diff --git a/packages/xorg-driver/xf86-video-mach64_6.8.0.bb b/packages/xorg-driver/xf86-video-mach64_6.8.0.bb
new file mode 100644
index 0000000000..eed1fcb600
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-mach64_6.8.0.bb
@@ -0,0 +1,5 @@
+require xorg-driver-video.inc
+
+DESCRIPTION = "X.Org X server -- Intel i8xx, i9xx display driver"
+DEPENDS += " virtual/libx11 libxvmc drm xf86driproto"
+PE = "1"
diff --git a/packages/xorg-driver/xf86-video-mga_1.4.9.bb b/packages/xorg-driver/xf86-video-mga_1.4.9.bb
new file mode 100644
index 0000000000..c2b6b7608a
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-mga_1.4.9.bb
@@ -0,0 +1,2 @@
+require xorg-driver-video.inc
+PE = "1"
diff --git a/packages/xorg-driver/xf86-video-nv_2.1.12.bb b/packages/xorg-driver/xf86-video-nv_2.1.12.bb
new file mode 100644
index 0000000000..0d4ee2ed19
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-nv_2.1.12.bb
@@ -0,0 +1,4 @@
+require xorg-driver-video.inc
+
+DESCRIPTION = "X.Org X server -- NV display driver"
+PE = "1"
diff --git a/packages/xorg-driver/xf86-video-omapfb_git.bb b/packages/xorg-driver/xf86-video-omapfb_git.bb
index c6b03061ef..d81f7622be 100644
--- a/packages/xorg-driver/xf86-video-omapfb_git.bb
+++ b/packages/xorg-driver/xf86-video-omapfb_git.bb
@@ -2,9 +2,9 @@ require xorg-driver-video.inc
DESCRIPTION = "X.Org X server -- OMAP display driver"
-PR ="r11"
+PR ="r14"
-SRCREV = "da20e7edbff31ac0a5a496af947424b0991a36be"
+SRCREV = "e33601fe4c4c5e0d093321f86a633047056c7445"
PV = "0.0.1+${PR}+git${SRCREV}"
SRC_URI = "git://git.pingu.fi/xf86-video-omapfb.git;protocol=http"
diff --git a/packages/xorg-driver/xf86-video-openchrome_0.2.903.bb b/packages/xorg-driver/xf86-video-openchrome_0.2.903.bb
new file mode 100644
index 0000000000..facae8950a
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-openchrome_0.2.903.bb
@@ -0,0 +1,9 @@
+require xorg-driver-video.inc
+
+DESCRIPTION = "X.Org X server -- openchrome display driver"
+PE = "1"
+
+do_configure_prepend() {
+ rm ${S}/acinclude.m4 || true
+}
+
diff --git a/packages/xorg-driver/xf86-video-r128_6.8.0.bb b/packages/xorg-driver/xf86-video-r128_6.8.0.bb
new file mode 100644
index 0000000000..994ea24d8f
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-r128_6.8.0.bb
@@ -0,0 +1,4 @@
+require xorg-driver-video.inc
+
+DESCRIPTION = "X.Org X server -- r128 display driver"
+PE = "1"
diff --git a/packages/xorg-driver/xf86-video-sunffb_1.2.0.bb b/packages/xorg-driver/xf86-video-sunffb_1.2.0.bb
new file mode 100644
index 0000000000..c2b6b7608a
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-sunffb_1.2.0.bb
@@ -0,0 +1,2 @@
+require xorg-driver-video.inc
+PE = "1"
diff --git a/packages/xorg-driver/xf86-video-sunleo_1.2.0.bb b/packages/xorg-driver/xf86-video-sunleo_1.2.0.bb
new file mode 100644
index 0000000000..c2b6b7608a
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-sunleo_1.2.0.bb
@@ -0,0 +1,2 @@
+require xorg-driver-video.inc
+PE = "1"
diff --git a/packages/xorg-driver/xf86-video-tga_1.2.0.bb b/packages/xorg-driver/xf86-video-tga_1.2.0.bb
new file mode 100644
index 0000000000..d3cf65f034
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-tga_1.2.0.bb
@@ -0,0 +1,8 @@
+require xorg-driver-video.inc
+
+PE = "1"
+
+DESCRIPTION = "DEC 21030 X11 driver"
+
+DEPENDS += " xf86dgaproto"
+
diff --git a/packages/xorg-driver/xf86-video-vermilion_1.0.1.bb b/packages/xorg-driver/xf86-video-vermilion_1.0.1.bb
new file mode 100644
index 0000000000..c3054b9051
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-vermilion_1.0.1.bb
@@ -0,0 +1,4 @@
+require xorg-driver-video.inc
+
+PE = "1"
+
diff --git a/packages/xorg-driver/xf86-video-vesa/fix-configure-includes.patch b/packages/xorg-driver/xf86-video-vesa/fix-configure-includes.patch
new file mode 100644
index 0000000000..a886e6c150
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-vesa/fix-configure-includes.patch
@@ -0,0 +1,13 @@
+Index: xf86-video-vesa-2.0.0/configure.ac
+===================================================================
+--- xf86-video-vesa-2.0.0.orig/configure.ac 2008-11-06 15:13:02.000000000 +0000
++++ xf86-video-vesa-2.0.0/configure.ac 2008-11-06 15:13:16.000000000 +0000
+@@ -69,7 +69,7 @@
+ AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
+
+ CFLAGS="$CFLAGS $XORG_CFLAGS "' -I$(top_srcdir)/src'
+-INCLUDES="$XORG_INCS -I${sdkdir} "'-I$(top_srcdir)/src'
++INCLUDES="$XORG_INCS "'-I$(top_srcdir)/src'
+ AC_SUBST([CFLAGS])
+ AC_SUBST([INCLUDES])
+
diff --git a/packages/xorg-driver/xf86-video-vesa_2.0.0.bb b/packages/xorg-driver/xf86-video-vesa_2.0.0.bb
new file mode 100644
index 0000000000..bd2f7cf7c1
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-vesa_2.0.0.bb
@@ -0,0 +1,9 @@
+require xorg-driver-video.inc
+PE = "1"
+
+SRC_URI += "file://fix-includepath.patch;patch=1 \
+ file://fix-configure-includes.patch;patch=1"
+
+#DESCRIPTION = ""
+
+#DEPENDS += " "
diff --git a/packages/xorg-driver/xf86-video-vmware_10.16.5.bb b/packages/xorg-driver/xf86-video-vmware_10.16.5.bb
new file mode 100644
index 0000000000..994b8b6a3c
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-vmware_10.16.5.bb
@@ -0,0 +1,6 @@
+require xorg-driver-video.inc
+PE = "1"
+
+#DESCRIPTION = ""
+
+DEPENDS += " xineramaproto xf86miscproto drm xf86driproto"
diff --git a/packages/xorg-driver/xf86-video-wsfb_0.2.1.bb b/packages/xorg-driver/xf86-video-wsfb_0.2.1.bb
new file mode 100644
index 0000000000..ea1c005e8c
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-wsfb_0.2.1.bb
@@ -0,0 +1,4 @@
+require xorg-driver-video.inc
+
+DESCRIPTION = "X.Org X server -- wsfb display driver"
+PE = "1"
diff --git a/packages/xorg-driver/xf86-video-xgixp_1.7.99.3.bb b/packages/xorg-driver/xf86-video-xgixp_1.7.99.3.bb
new file mode 100644
index 0000000000..994b8b6a3c
--- /dev/null
+++ b/packages/xorg-driver/xf86-video-xgixp_1.7.99.3.bb
@@ -0,0 +1,6 @@
+require xorg-driver-video.inc
+PE = "1"
+
+#DESCRIPTION = ""
+
+DEPENDS += " xineramaproto xf86miscproto drm xf86driproto"
diff --git a/packages/xorg-driver/xorg-driver-common.inc b/packages/xorg-driver/xorg-driver-common.inc
index a75e409c8c..0f24dd5e30 100644
--- a/packages/xorg-driver/xorg-driver-common.inc
+++ b/packages/xorg-driver/xorg-driver-common.inc
@@ -25,10 +25,10 @@ do_stage() {
# Of course this will blow up when cross compiling.
do_configure_prepend() {
- incdir=${STAGING_INCDIR}/xorg
- for f in dri.h sarea.h dristruct.h exa.h damage.h; do
+ incdir=${layout_includedir}/xorg
+ for f in dri.h sarea.h dristruct.h exa.h damage.h xf86Module.h; do
path="$incdir/$f"
- if [ -f "$path" ]; then
+ if [ -f "${STAGING_DIR_HOST}/$path" ]; then
p=`echo "$path" | sed 'y%*+%pp%;s%[^_[:alnum:]]%_%g'`
eval "export ac_cv_file_$p=yes"
fi
diff --git a/packages/xorg-lib/diet-x11_1.1.5.bb b/packages/xorg-lib/diet-x11_1.1.5.bb
new file mode 100644
index 0000000000..19a9efecbf
--- /dev/null
+++ b/packages/xorg-lib/diet-x11_1.1.5.bb
@@ -0,0 +1,10 @@
+require libx11_${PV}.bb
+
+SRC_URI += "file://X18NCMSstubs.diff;patch=1 \
+ file://fix-disable-xlocale.diff;patch=1 \
+ file://fix-utf8-wrong-define.patch;patch=1"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libx11"
+
+EXTRA_OECONF += "--disable-udc --disable-xcms --disable-xlocale --disable-xkb"
+CFLAGS += "-D_GNU_SOURCE"
diff --git a/packages/xorg-lib/libsm_1.1.0.bb b/packages/xorg-lib/libsm_1.1.0.bb
new file mode 100644
index 0000000000..7a3089894d
--- /dev/null
+++ b/packages/xorg-lib/libsm_1.1.0.bb
@@ -0,0 +1,8 @@
+require xorg-lib-common.inc
+
+DESCRIPTION = "X11 Session management library"
+DEPENDS += "libice xproto xtrans e2fsprogs-libs"
+PR = "r0"
+PE = "1"
+
+XORG_PN = "libSM"
diff --git a/packages/xorg-lib/libx11/keysymdef_include.patch b/packages/xorg-lib/libx11/keysymdef_include.patch
new file mode 100644
index 0000000000..07487b6b2e
--- /dev/null
+++ b/packages/xorg-lib/libx11/keysymdef_include.patch
@@ -0,0 +1,29 @@
+Index: libX11-1.1.5/configure.ac
+===================================================================
+--- libX11-1.1.5.orig/configure.ac 2008-10-28 11:36:49.000000000 +0000
++++ libX11-1.1.5/configure.ac 2008-10-28 11:40:05.000000000 +0000
+@@ -221,13 +221,21 @@
+ # Find keysymdef.h
+ #
+ AC_MSG_CHECKING([keysymdef.h])
+-dir=`pkg-config --variable=includedir xproto`
+-KEYSYMDEF="$dir/X11/keysymdef.h"
++AC_ARG_WITH(keysymdef,
++ AC_HELP_STRING([--with-keysymdef=DIR/keysymdef.h], [The location of keysymdef.h]),
++ KEYSYMDEF=$withval, KEYSYMDEF="")
++
++if test x$KEYSYMDEF = x; then
++ dir=`pkg-config --variable=includedir xproto`
++ KEYSYMDEF="$dir/X11/keysymdef.h"
++fi
++
+ if test -f "$KEYSYMDEF"; then
+- AC_MSG_RESULT([$KEYSYMDEF])
++ AC_MSG_RESULT([$KEYSYMDEF])
+ else
+ AC_MSG_ERROR([Cannot find keysymdef.h])
+ fi
++
+ AC_SUBST(KEYSYMDEF)
+
+ AM_CONDITIONAL(UDC, test xfalse = xtrue)
diff --git a/packages/xorg-lib/libx11_1.1.5.bb b/packages/xorg-lib/libx11_1.1.5.bb
new file mode 100644
index 0000000000..a22b7a0158
--- /dev/null
+++ b/packages/xorg-lib/libx11_1.1.5.bb
@@ -0,0 +1,31 @@
+require xorg-lib-common.inc
+
+DESCRIPTION = "Base X libs."
+DEPENDS += "bigreqsproto xproto xextproto xtrans libxau xcmiscproto \
+ libxdmcp xf86bigfontproto kbproto inputproto xproto-native"
+PROVIDES = "virtual/libx11"
+PE = "1"
+PR = "r3"
+
+XORG_PN = "libX11"
+
+SRC_URI += "file://x11_disable_makekeys.patch;patch=1 \
+ file://keysymdef_include.patch;patch=1"
+
+EXTRA_OECONF += "--without-xcb --with-keysymdef=${STAGING_INCDIR}/X11/keysymdef.h"
+
+do_compile() {
+ (
+ unset CC LD CXX CCLD CFLAGS CPPFLAGS LDFLAGS CXXFLAGS
+ cd src/util;
+ mv makekeys.c.orig makekeys.c || true
+ touch makekeys-makekeys.o ; ${BUILD_CC} ${BUILD_CFLAGS} -I${STAGING_INCDIR_NATIVE} makekeys.c -o makekeys
+ # mv to stop it getting rebuilt
+ mv makekeys.c makekeys.c.orig
+ cd ../../
+ ) || exit 1
+ oe_runmake
+}
+
+FILES_${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB ${libdir}/X11/Xcms.txt"
+FILES_${PN}-locale += "${datadir}/X11/locale ${libdir}/X11/locale"
diff --git a/packages/xorg-lib/libxcursor-native_1.1.9.bb b/packages/xorg-lib/libxcursor-native_1.1.9.bb
new file mode 100644
index 0000000000..403030e93d
--- /dev/null
+++ b/packages/xorg-lib/libxcursor-native_1.1.9.bb
@@ -0,0 +1,6 @@
+require libxcursor_${PV}.bb
+
+DEPENDS = "libx11-native fixesproto-native libxfixes-native"
+PE = "1"
+
+inherit native
diff --git a/packages/xorg-lib/libxfixes-native_4.0.3.bb b/packages/xorg-lib/libxfixes-native_4.0.3.bb
new file mode 100644
index 0000000000..5ef6ded80a
--- /dev/null
+++ b/packages/xorg-lib/libxfixes-native_4.0.3.bb
@@ -0,0 +1,6 @@
+require libxfixes_${PV}.bb
+
+DEPENDS = "libx11-native"
+PE = "1"
+
+inherit native
diff --git a/packages/xorg-lib/libxft_2.1.13.bb b/packages/xorg-lib/libxft_2.1.13.bb
new file mode 100644
index 0000000000..84d0cc2cbe
--- /dev/null
+++ b/packages/xorg-lib/libxft_2.1.13.bb
@@ -0,0 +1,20 @@
+require xorg-lib-common.inc
+
+DESCRIPTION = "FreeType-based font drawing library for X"
+DEPENDS += "libxrender freetype fontconfig"
+PROVIDES = "xft"
+PR = "r0"
+PE = "1"
+
+XORG_PN = "libXft"
+
+python do_package() {
+ if bb.data.getVar('DEBIAN_NAMES', d, 1):
+ bb.data.setVar('PKG_${PN}', 'libxft2', d)
+ bb.build.exec_func('package_do_package', d)
+}
+
+FILES_${PN} = "${libdir}/lib*${SOLIBS}"
+FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \
+ ${libdir}/*.a ${libdir}/pkgconfig \
+ ${datadir}/aclocal ${bindir} ${sbindir}"
diff --git a/packages/xorg-lib/libxrandr_1.2.3.bb b/packages/xorg-lib/libxrandr_1.2.3.bb
new file mode 100644
index 0000000000..f6d7623bca
--- /dev/null
+++ b/packages/xorg-lib/libxrandr_1.2.3.bb
@@ -0,0 +1,9 @@
+require xorg-lib-common.inc
+
+DESCRIPTION = "X11 Resize and Rotate extension library"
+LICENSE = "BSD-X"
+DEPENDS += "randrproto libxrender libxext"
+PR = "r0"
+PE = "1"
+
+XORG_PN = "libXrandr"
diff --git a/packages/xorg-lib/libxrender-native_0.9.4.bb b/packages/xorg-lib/libxrender-native_0.9.4.bb
new file mode 100644
index 0000000000..a4f4ba9e36
--- /dev/null
+++ b/packages/xorg-lib/libxrender-native_0.9.4.bb
@@ -0,0 +1,6 @@
+require libxrender_${PV}.bb
+
+DEPENDS = "libx11-native renderproto-native"
+PE = "1"
+
+inherit native
diff --git a/packages/xorg-lib/libxxf86vm_1.0.2.bb b/packages/xorg-lib/libxxf86vm_1.0.2.bb
new file mode 100644
index 0000000000..2d1af9c9aa
--- /dev/null
+++ b/packages/xorg-lib/libxxf86vm_1.0.2.bb
@@ -0,0 +1,8 @@
+require xorg-lib-common.inc
+
+DESCRIPTION = "X11 XFree86 video mode extension library"
+DEPENDS += "libxext xf86vidmodeproto"
+PR = "r0"
+PE = "1"
+
+XORG_PN = "libXxf86vm"
diff --git a/packages/xorg-lib/xtrans_1.0.3.bb b/packages/xorg-lib/xtrans_1.0.3.bb
index 42cf655a3f..4ddc351919 100644
--- a/packages/xorg-lib/xtrans_1.0.3.bb
+++ b/packages/xorg-lib/xtrans_1.0.3.bb
@@ -4,4 +4,6 @@ DESCRIPTION = "network API translation layer to insulate X applications and \
libraries from OS network vageries."
PE = "1"
+ALLOW_EMPTY = "1"
+
SRC_URI += "file://fix-missing-includepath.patch;patch=1"
diff --git a/packages/xorg-lib/xtrans_1.0.4.bb b/packages/xorg-lib/xtrans_1.0.4.bb
index be2588b074..3fa509849e 100644
--- a/packages/xorg-lib/xtrans_1.0.4.bb
+++ b/packages/xorg-lib/xtrans_1.0.4.bb
@@ -4,6 +4,8 @@ DESCRIPTION = "network API translation layer to insulate X applications and \
libraries from OS network vageries."
PE = "1"
+ALLOW_EMPTY = "1"
+
XORG_PN = "xtrans"
SRC_URI += "file://fix-missing-includepath.patch;patch=1"
diff --git a/packages/xorg-lib/xtrans_1.1.bb b/packages/xorg-lib/xtrans_1.1.bb
index 42cf655a3f..4ddc351919 100644
--- a/packages/xorg-lib/xtrans_1.1.bb
+++ b/packages/xorg-lib/xtrans_1.1.bb
@@ -4,4 +4,6 @@ DESCRIPTION = "network API translation layer to insulate X applications and \
libraries from OS network vageries."
PE = "1"
+ALLOW_EMPTY = "1"
+
SRC_URI += "file://fix-missing-includepath.patch;patch=1"
diff --git a/packages/xorg-lib/xtrans_1.2.1.bb b/packages/xorg-lib/xtrans_1.2.1.bb
index 75ba93c783..81464f49bc 100644
--- a/packages/xorg-lib/xtrans_1.2.1.bb
+++ b/packages/xorg-lib/xtrans_1.2.1.bb
@@ -5,6 +5,8 @@ libraries from OS network vageries."
PE = "1"
PR = "r0"
+ALLOW_EMPTY = "1"
+
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/xtrans"
RDEPENDS_${PN}-dev = ""
diff --git a/packages/xorg-lib/xtrans_1.2.bb b/packages/xorg-lib/xtrans_1.2.bb
index 42cf655a3f..4ddc351919 100644
--- a/packages/xorg-lib/xtrans_1.2.bb
+++ b/packages/xorg-lib/xtrans_1.2.bb
@@ -4,4 +4,6 @@ DESCRIPTION = "network API translation layer to insulate X applications and \
libraries from OS network vageries."
PE = "1"
+ALLOW_EMPTY = "1"
+
SRC_URI += "file://fix-missing-includepath.patch;patch=1"
diff --git a/packages/xorg-proto/fixesproto-native_4.0.bb b/packages/xorg-proto/fixesproto-native_4.0.bb
new file mode 100644
index 0000000000..927e004437
--- /dev/null
+++ b/packages/xorg-proto/fixesproto-native_4.0.bb
@@ -0,0 +1,7 @@
+require fixesproto_${PV}.bb
+
+PR = "r1"
+
+XORG_PN = "fixesproto"
+
+inherit native
diff --git a/packages/xorg-proto/renderproto-native_0.9.3.bb b/packages/xorg-proto/renderproto-native_0.9.3.bb
new file mode 100644
index 0000000000..8d83c99774
--- /dev/null
+++ b/packages/xorg-proto/renderproto-native_0.9.3.bb
@@ -0,0 +1,7 @@
+require renderproto_${PV}.bb
+
+PR = "r1"
+
+XORG_PN = "renderproto"
+
+inherit native
diff --git a/packages/xorg-proto/xorg-proto-common.inc b/packages/xorg-proto/xorg-proto-common.inc
index 248bbc7e11..c2b47572cf 100644
--- a/packages/xorg-proto/xorg-proto-common.inc
+++ b/packages/xorg-proto/xorg-proto-common.inc
@@ -5,6 +5,8 @@ LICENSE = "MIT-X"
XORG_PN = "${PN}"
+ALLOW_EMPTY = "1"
+
SRC_URI = "${XORG_MIRROR}/individual/proto/${XORG_PN}-${PV}.tar.bz2"
S = "${WORKDIR}/${XORG_PN}-${PV}"
diff --git a/packages/xorg-proto/xproto-native_7.0.13.bb b/packages/xorg-proto/xproto-native_7.0.13.bb
new file mode 100644
index 0000000000..5dde8a7d4a
--- /dev/null
+++ b/packages/xorg-proto/xproto-native_7.0.13.bb
@@ -0,0 +1,3 @@
+require xproto_${PV}.bb
+
+inherit native
diff --git a/packages/xorg-proto/xproto_7.0.13.bb b/packages/xorg-proto/xproto_7.0.13.bb
new file mode 100644
index 0000000000..b403ff5615
--- /dev/null
+++ b/packages/xorg-proto/xproto_7.0.13.bb
@@ -0,0 +1,6 @@
+require xorg-proto-common.inc
+
+PR = "r0"
+PE = "1"
+
+XORG_PN = "xproto"
diff --git a/packages/xorg-util/util-macros_1.1.5.bb b/packages/xorg-util/util-macros_1.1.5.bb
index 22634bffd2..46fc0a8d19 100644
--- a/packages/xorg-util/util-macros_1.1.5.bb
+++ b/packages/xorg-util/util-macros_1.1.5.bb
@@ -4,4 +4,6 @@ DESCRIPTION = "X autotools macros"
PR = "r1"
PE = "1"
+ALLOW_EMPTY = "1"
+
SRC_URI += "file://unbreak_cross_compile.patch;patch=1"
diff --git a/packages/xorg-util/util-macros_1.1.6.bb b/packages/xorg-util/util-macros_1.1.6.bb
index ae656f3707..4775fc6901 100644
--- a/packages/xorg-util/util-macros_1.1.6.bb
+++ b/packages/xorg-util/util-macros_1.1.6.bb
@@ -2,3 +2,5 @@ require xorg-util-common.inc
DESCRIPTION = "X autotools macros"
PE = "1"
+
+ALLOW_EMPTY = "1"
diff --git a/packages/xorg-xserver/files/xcalibrate-xorg.diff b/packages/xorg-xserver/files/xcalibrate-xorg.diff
new file mode 100644
index 0000000000..65121efc3b
--- /dev/null
+++ b/packages/xorg-xserver/files/xcalibrate-xorg.diff
@@ -0,0 +1,11 @@
+--- /tmp/configure.ac 2008-10-29 18:53:23.000000000 +0100
++++ xorg-server-1.4.2/configure.ac 2008-10-29 18:53:40.000000000 +0100
+@@ -865,7 +865,7 @@
+ FONTPATH="built-ins"
+ fi
+
+-if test "x$XCALIBRATE" = xyes && test "$KDRIVE" = yes; then
++if test "x$XCALIBRATE" = xyes ; then
+ AC_DEFINE(XCALIBRATE, 1, [Build XCalibrate extension])
+ REQUIRED_MODULES="$REQUIRED_MODULES xcalibrateproto"
+ else
diff --git a/packages/xorg-xserver/xorg-xserver-common.inc b/packages/xorg-xserver/xorg-xserver-common.inc
index 63a62a5b08..df594133ba 100644
--- a/packages/xorg-xserver/xorg-xserver-common.inc
+++ b/packages/xorg-xserver/xorg-xserver-common.inc
@@ -16,42 +16,42 @@ libxkbui libxxf86misc libxi libdmx libxtst libxres mesa libxcalibrate"
RECOMMENDS_${PN} = "hal"
XORG_PN = "xorg-server"
-SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.bz2 \
- file://xorg.conf"
+SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.bz2"
S = "${WORKDIR}/${XORG_PN}-${PV}"
inherit autotools pkgconfig
EXTRA_OECONF += " --enable-xcalibrate \
+ --enable-kdrive \
+ --enable-xephyr \
+ --with-default-font-path="/usr/share/fonts/X11/misc" \
ac_cv_file__usr_share_sgml_X11_defs_ent=no"
+EXTRA_OECONF_append_arm = " ac_cv_header_linux_apm_bios_h=no "
+
PACKAGES =+ "xserver-security-policy"
FILES_xserver-security-policy += "${libdir}/xserver/SecurityPolicy"
-RRECOMMENDS_${PN} += "xserver-security-policy xkeyboard-config xorg-minimal-fonts rgb"
+RRECOMMENDS_${PN} += "xserver-security-policy xkeyboard-config xorg-minimal-fonts rgb xserver-xorg-conf"
-PACKAGES =+ "${PN}-xprint ${PN}-xvfb ${PN}-utils"
+PACKAGES =+ "${PN}-xprint ${PN}-xvfb ${PN}-utils ${PN}-xephyr"
FILES_${PN}-xprint = "${libdir}/X11/xserver/*/print"
FILES_${PN}-xvfb = "${bindir}/Xvfb"
FILES_${PN}-utils = "${bindir}/scanpci ${bindir}/pcitweak ${bindir}/ioport ${bindir}/in[bwl] ${bindir}/out[bwl] ${bindir}/mmap[rw] ${bindir}/gtf ${bindir}/getconfig ${bindir}/getconfig.pl"
FILES_${PN} = "${bindir} ${libdir}/X11/Options ${libdir}/X11/Cards ${libdir}/X11/getconfig ${libdir}/X11/etc ${libdir}/modules ${libdir}/xorg/modules /etc/X11 "
FILES_${PN}-doc += "${libdir}/X11/doc /usr/share/X11/xkb/compiled/README.compiled"
+FILES_${PN}-xephyr = "${bindir}/Xephyr"
FILES_${PN}-dbg += "${libdir}/xorg/modules/.debug \
${libdir}/xorg/modules/*/.debug \
${libdir}/xorg/modules/*/*/.debug \
"
-CONFFILES_${PN} += "${sysconfdir}/X11/xorg.conf"
-
do_stage() {
autotools_stage_all
}
do_install_append () {
- install -d ${D}/${sysconfdir}/X11
- install -m 0644 ${WORKDIR}/xorg.conf ${D}/${sysconfdir}/X11/
ln -sf ${datadir}/fonts/X11 ${D}/${libdir}/X11/fonts
- chmod u+s ${D}/usr/bin/Xorg
}
diff --git a/packages/xorg-xserver/xserver-kdrive_1.4.0.90.bb b/packages/xorg-xserver/xserver-kdrive_1.4.0.90.bb
index 48ff0ea6fa..5caec02a7b 100644
--- a/packages/xorg-xserver/xserver-kdrive_1.4.0.90.bb
+++ b/packages/xorg-xserver/xserver-kdrive_1.4.0.90.bb
@@ -3,7 +3,7 @@ require xserver-kdrive-common.inc
DEPENDS += "hal libxkbfile libxcalibrate pixman"
PE = "1"
-PR = "r3"
+PR = "r4"
SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
${KDRIVE_COMMON_PATCHES} \
diff --git a/packages/xorg-xserver/xserver-xorg-1.5.1/drmfix.patch b/packages/xorg-xserver/xserver-xorg-1.5.1/drmfix.patch
new file mode 100644
index 0000000000..e0f633bc24
--- /dev/null
+++ b/packages/xorg-xserver/xserver-xorg-1.5.1/drmfix.patch
@@ -0,0 +1,13 @@
+Index: xorg-server-1.5.1/hw/xfree86/os-support/linux/Makefile.am
+===================================================================
+--- xorg-server-1.5.1.orig/hw/xfree86/os-support/linux/Makefile.am 2008-09-23 19:24:59.000000000 +0100
++++ xorg-server-1.5.1/hw/xfree86/os-support/linux/Makefile.am 2008-10-27 13:27:40.000000000 +0000
+@@ -40,7 +40,7 @@
+
+ AM_CFLAGS = -DUSESTDRES -DHAVE_SYSV_IPC $(DIX_CFLAGS) $(XORG_CFLAGS) $(PLATFORM_DEFINES)
+
+-INCLUDES = $(XORG_INCS) $(PLATFORM_INCLUDES) -I/usr/include/drm # FIXME this last part is crack
++INCLUDES = $(XORG_INCS) $(PLATFORM_INCLUDES) $(LIBDRM_CFLAGS)
+
+ # FIXME: These need to be added to the build
+ LNX_EXTRA_SRCS = \
diff --git a/packages/xorg-xserver/xserver-xorg-1.5.3/drmfix.patch b/packages/xorg-xserver/xserver-xorg-1.5.3/drmfix.patch
new file mode 100644
index 0000000000..e0f633bc24
--- /dev/null
+++ b/packages/xorg-xserver/xserver-xorg-1.5.3/drmfix.patch
@@ -0,0 +1,13 @@
+Index: xorg-server-1.5.1/hw/xfree86/os-support/linux/Makefile.am
+===================================================================
+--- xorg-server-1.5.1.orig/hw/xfree86/os-support/linux/Makefile.am 2008-09-23 19:24:59.000000000 +0100
++++ xorg-server-1.5.1/hw/xfree86/os-support/linux/Makefile.am 2008-10-27 13:27:40.000000000 +0000
+@@ -40,7 +40,7 @@
+
+ AM_CFLAGS = -DUSESTDRES -DHAVE_SYSV_IPC $(DIX_CFLAGS) $(XORG_CFLAGS) $(PLATFORM_DEFINES)
+
+-INCLUDES = $(XORG_INCS) $(PLATFORM_INCLUDES) -I/usr/include/drm # FIXME this last part is crack
++INCLUDES = $(XORG_INCS) $(PLATFORM_INCLUDES) $(LIBDRM_CFLAGS)
+
+ # FIXME: These need to be added to the build
+ LNX_EXTRA_SRCS = \
diff --git a/packages/xorg-xserver/xserver-xorg/xorg.conf b/packages/xorg-xserver/xserver-xorg-conf/beagleboard/xorg.conf
index 4b327022f6..1778960638 100644
--- a/packages/xorg-xserver/xserver-xorg/xorg.conf
+++ b/packages/xorg-xserver/xserver-xorg-conf/beagleboard/xorg.conf
@@ -100,7 +100,7 @@ EndSection
Section "Device"
Identifier "FBDev"
- Driver "fbdev"
+ Driver "omapfb"
#Option "shadowfb" "off"
EndSection
diff --git a/packages/xorg-xserver/xserver-xorg-conf/omap3evm/xorg.conf b/packages/xorg-xserver/xserver-xorg-conf/omap3evm/xorg.conf
new file mode 100644
index 0000000000..983bb0823a
--- /dev/null
+++ b/packages/xorg-xserver/xserver-xorg-conf/omap3evm/xorg.conf
@@ -0,0 +1,29 @@
+Section "Module"
+ Load "extmod"
+ Load "dbe"
+ Load "glx"
+ Load "freetype"
+ Load "type1"
+ Load "record"
+ Load "dri"
+EndSection
+
+Section "Monitor"
+ Identifier "Builtin Default Monitor"
+EndSection
+
+Section "Device"
+ Identifier "Builtin Default fbdev Device 0"
+ Driver "omapfb"
+EndSection
+
+Section "Screen"
+ Identifier "Builtin Default fbdev Screen 0"
+ Device "Builtin Default fbdev Device 0"
+ Monitor "Builtin Default Monitor"
+EndSection
+
+Section "ServerLayout"
+ Identifier "Builtin Default Layout"
+ Screen "Builtin Default fbdev Screen 0"
+EndSection
diff --git a/packages/xorg-xserver/xserver-xorg-conf/xorg.conf b/packages/xorg-xserver/xserver-xorg-conf/xorg.conf
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/xorg-xserver/xserver-xorg-conf/xorg.conf
diff --git a/packages/xorg-xserver/xserver-xorg-conf_0.1.bb b/packages/xorg-xserver/xserver-xorg-conf_0.1.bb
new file mode 100644
index 0000000000..1ff83ea27b
--- /dev/null
+++ b/packages/xorg-xserver/xserver-xorg-conf_0.1.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Machine specific xorg.conf files"
+
+SRC_URI = "file://xorg.conf"
+
+do_install() {
+ install -d ${D}/${sysconfdir}/X11
+ install -m 0644 ${WORKDIR}/xorg.conf ${D}/${sysconfdir}/X11/
+}
+
+CONFFILES_${PN} += "${sysconfdir}/X11/xorg.conf"
+
diff --git a/packages/xorg-xserver/xserver-xorg_1.2.0.bb b/packages/xorg-xserver/xserver-xorg_1.2.0.bb
index 218e6dc026..61f73b3454 100644
--- a/packages/xorg-xserver/xserver-xorg_1.2.0.bb
+++ b/packages/xorg-xserver/xserver-xorg_1.2.0.bb
@@ -2,9 +2,7 @@ MESA_VER = "6.5.2"
require xorg-xserver-common.inc
PE = "1"
-PR = "r3"
-
-EXTRA_OECONF += " ac_cv_file__usr_share_sgml_X11_defs_ent=no "
+PR = "r4"
export LDFLAGS += " -ldl "
diff --git a/packages/xorg-xserver/xserver-xorg_1.3.0.0.bb b/packages/xorg-xserver/xserver-xorg_1.3.0.0.bb
index d28fec16e1..9d6dca4489 100644
--- a/packages/xorg-xserver/xserver-xorg_1.3.0.0.bb
+++ b/packages/xorg-xserver/xserver-xorg_1.3.0.0.bb
@@ -2,13 +2,11 @@ MESA_VER = "6.5.2"
require xorg-xserver-common.inc
PE = "1"
-PR = "r7"
+PR = "r8"
SRC_URI += "file://drmfix.patch;patch=1 \
file://glyphstr.patch;patch=1"
-EXTRA_OECONF += " ac_cv_file__usr_share_sgml_X11_defs_ent=no "
-
export LDFLAGS += " -ldl "
#DESCRIPTION = ""
diff --git a/packages/xorg-xserver/xserver-xorg_1.4.2.bb b/packages/xorg-xserver/xserver-xorg_1.4.2.bb
index 3f53002a34..852e847265 100644
--- a/packages/xorg-xserver/xserver-xorg_1.4.2.bb
+++ b/packages/xorg-xserver/xserver-xorg_1.4.2.bb
@@ -3,14 +3,14 @@ require xorg-xserver-common.inc
DESCRIPTION = "the X.Org X server"
DEPENDS += "pixman"
PE = "1"
-PR = "r7"
+PR = "r10"
SRC_URI += "file://drmfix.patch;patch=1 \
file://pkgconfig_fix.patch;patch=1 \
- file://sysroot_fix.patch;patch=1"
+ file://sysroot_fix.patch;patch=1 \
+ file://xcalibrate-xorg.diff \
+"
MESA_VER = "7.0.2"
-EXTRA_OECONF += " ac_cv_file__usr_share_sgml_X11_defs_ent=no "
-
export LDFLAGS += " -ldl "
diff --git a/packages/xorg-xserver/xserver-xorg_1.4.bb b/packages/xorg-xserver/xserver-xorg_1.4.bb
index 3f53002a34..ba64d72d35 100644
--- a/packages/xorg-xserver/xserver-xorg_1.4.bb
+++ b/packages/xorg-xserver/xserver-xorg_1.4.bb
@@ -3,7 +3,7 @@ require xorg-xserver-common.inc
DESCRIPTION = "the X.Org X server"
DEPENDS += "pixman"
PE = "1"
-PR = "r7"
+PR = "r8"
SRC_URI += "file://drmfix.patch;patch=1 \
file://pkgconfig_fix.patch;patch=1 \
@@ -11,6 +11,4 @@ SRC_URI += "file://drmfix.patch;patch=1 \
MESA_VER = "7.0.2"
-EXTRA_OECONF += " ac_cv_file__usr_share_sgml_X11_defs_ent=no "
-
export LDFLAGS += " -ldl "
diff --git a/packages/xorg-xserver/xserver-xorg_1.5.1.bb b/packages/xorg-xserver/xserver-xorg_1.5.1.bb
new file mode 100644
index 0000000000..92ef22fd63
--- /dev/null
+++ b/packages/xorg-xserver/xserver-xorg_1.5.1.bb
@@ -0,0 +1,13 @@
+require xorg-xserver-common.inc
+
+DESCRIPTION = "the X.Org X server"
+DEPENDS += "pixman libpciaccess openssl"
+PE = "1"
+PR = "r1"
+
+SRC_URI += "file://drmfix.patch;patch=1 \
+ file://sysroot_fix.patch;patch=1"
+
+MESA_VER = "7.2"
+
+export LDFLAGS += " -ldl "
diff --git a/packages/xorg-xserver/xserver-xorg_1.5.3.bb b/packages/xorg-xserver/xserver-xorg_1.5.3.bb
new file mode 100644
index 0000000000..92ef22fd63
--- /dev/null
+++ b/packages/xorg-xserver/xserver-xorg_1.5.3.bb
@@ -0,0 +1,13 @@
+require xorg-xserver-common.inc
+
+DESCRIPTION = "the X.Org X server"
+DEPENDS += "pixman libpciaccess openssl"
+PE = "1"
+PR = "r1"
+
+SRC_URI += "file://drmfix.patch;patch=1 \
+ file://sysroot_fix.patch;patch=1"
+
+MESA_VER = "7.2"
+
+export LDFLAGS += " -ldl "
diff --git a/packages/xserver-common/files/gta-xorg-fixes.patch b/packages/xserver-common/files/gta-xorg-fixes.patch
new file mode 100644
index 0000000000..adf6798a99
--- /dev/null
+++ b/packages/xserver-common/files/gta-xorg-fixes.patch
@@ -0,0 +1,29 @@
+Index: xserver-common-1.22/X11/Xserver
+===================================================================
+--- xserver-common-1.22.orig/X11/Xserver 2008-11-12 09:16:50.000000000 +0000
++++ xserver-common-1.22/X11/Xserver 2008-11-12 09:18:53.000000000 +0000
+@@ -109,7 +109,11 @@
+ "Nokia RX-44")
+ ARGS="$ARGS -dpi 225 -screen ${SCREEN_SIZE} -mouse tslib" ;;
+ "GTA01" )
+- ARGS="$ARGS -dpi 285 -screen 480x640" ;;
++ ARGS="$ARGS -dpi 285"
++ if [ "$XSERVER" != "Xorg" ] ; then
++ ARGS="$ARGS -screen 480x640"
++ fi
++ ;;
+ "Motorola Ezx Platform")
+ ARGS="$ARGS -dpi 170 -screen 240x320" ;;
+ "ARM-IntegratorCP" | "ARM-Versatile PB")
+@@ -118,7 +122,10 @@
+ modprobe mbxfb
+ ARGS="$ARGS -fb /dev/fb1" ;;
+ "GTA02")
+- ARGS="$ARGS -dpi 285 -screen ${SCREEN_SIZE}"
++ ARGS="$ARGS -dpi 285"
++ if [ "$XSERVER" != "Xorg" ] ; then
++ ARGS="$ARGS -screen ${SCREEN_SIZE}"
++ fi
+ ;;
+ "Boundary Devices Neon board")
+ ARGS="$ARGS -dpi 100 -screen ${SCREEN_SIZE} -mouse tslib"
diff --git a/packages/xserver-common/files/xorg-fixes.patch b/packages/xserver-common/files/xorg-fixes.patch
new file mode 100644
index 0000000000..b2fd544fb5
--- /dev/null
+++ b/packages/xserver-common/files/xorg-fixes.patch
@@ -0,0 +1,25 @@
+Index: xserver-common-1.22/X11/Xserver
+===================================================================
+--- xserver-common-1.22.orig/X11/Xserver 2008-11-12 09:14:55.000000000 +0000
++++ xserver-common-1.22/X11/Xserver 2008-11-12 09:16:22.000000000 +0000
+@@ -48,6 +48,7 @@
+
+ ARGS="-br -pn $INPUT_EXTRA_ARGS"
+
++if [ "$XSERVER" != "Xorg" ] ; then
+ # use ucb 1x00 touchscreen if present
+ if [ -z "$TSLIB_TSDEVICE" ] && [ -e /dev/touchscreen/ucb1x00 ]; then
+ ARGS="$ARGS -mouse /dev/touchscreen/ucb1x00"
+@@ -58,10 +59,11 @@
+ if [ -e "$TSLIB_TSDEVICE" ] ; then
+ ARGS="$ARGS -mouse tslib"
+ else
+- if [ -e /dev/input/mice ] && [ "$XSERVER" != "Xorg" ] ; then
++ if [ -e /dev/input/mice ] ; then
+ ARGS="$ARGS -mouse mouse"
+ fi
+ fi
++fi
+
+ # start off server in conventional location.
+ case `module_id` in
diff --git a/packages/xserver-common/xserver-common_1.22.bb b/packages/xserver-common/xserver-common_1.22.bb
index 6dcbc6862d..05b15ae564 100644
--- a/packages/xserver-common/xserver-common_1.22.bb
+++ b/packages/xserver-common/xserver-common_1.22.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Common X11 scripts and support files"
LICENSE = "GPL"
SECTION = "x11"
RDEPENDS_${PN} = "xmodmap xrandr xdpyinfo"
-PR = "r7"
+PR = "r8"
PACKAGE_ARCH = "all"
@@ -11,6 +11,8 @@ inherit gpe
SRC_URI_append = " file://setDPI.sh "
SRC_URI_append_angstrom = " file://kdrive-1.4-fixes.patch;patch=1 \
+ file://xorg-fixes.patch;patch=1 \
+ file://gta-xorg-fixes.patch;patch=1 \
file://default.xmodmap "
do_install_append() {
diff --git a/packages/xserver-kdrive-common/xserver-kdrive-common/openmoko/Xserver b/packages/xserver-kdrive-common/xserver-kdrive-common/openmoko/Xserver
index d9ee794b75..e1adfa32a5 100644
--- a/packages/xserver-kdrive-common/xserver-kdrive-common/openmoko/Xserver
+++ b/packages/xserver-kdrive-common/xserver-kdrive-common/openmoko/Xserver
@@ -2,7 +2,6 @@
#
# note xinit needs full server path
-XSERVER=/usr/bin/Xipaq
if [ -f /usr/bin/Xfbdev ]; then
XSERVER=/usr/bin/Xfbdev
fi
@@ -12,12 +11,6 @@ fi
if [ -f /usr/bin/Xorg ]; then
XSERVER=/usr/bin/Xorg
fi
-if [ -f /usr/bin/Xomap ]; then
- XSERVER=/usr/bin/Xomap
-fi
-if [ -f /usr/bin/Xglamo ]; then
- XSERVER=/usr/bin/Xglamo
-fi
. /etc/profile
@@ -29,6 +22,13 @@ fallback_screen_arg() {
echo -n "${w}x${h}x${b}"
}
+screen_width() {
+ geom=`fbset | grep geometry`
+ w=`echo $geom | awk '{ print $2 }'`
+ echo -n "${w}"
+}
+
+
module_id() {
## used to read from assets, but sometimes assets is corrupted
# grep "Module ID" /proc/hal/assets | sed "s/.*://"
@@ -39,7 +39,9 @@ module_id() {
export USER=root
-ARGS=" -pn"
+SCREEN_SIZE=`fallback_screen_arg`
+
+ARGS=" -br -pn"
# use ucb 1x00 touchscreen if present
if [ -z "$TSLIB_TSDEVICE" ] && [ -e /dev/touchscreen/ucb1x00 ]; then
@@ -55,57 +57,82 @@ fi
# start off server in conventional location.
case `module_id` in
"HP iPAQ H3100" | "HP iPAQ H3800")
- ARGS="$ARGS -br -dpi 100 -rgba vrgb -screen 320x240@90" ;;
+ ARGS="$ARGS -dpi 100 -rgba vrgb -screen ${SCREEN_SIZE}@90" ;;
"HP iPAQ H3600" | "HP iPAQ H3700" | "HP iPAQ H3900")
- ARGS="$ARGS -br -dpi 100 -rgba vbgr -screen 320x240@270" ;;
+ ARGS="$ARGS -dpi 100 -rgba vbgr -screen ${SCREEN_SIZE}@270" ;;
"HP iPAQ H5400" | "HP iPAQ H2200")
- ARGS="$ARGS -br -dpi 100 -rgba rgb" ;;
+ ARGS="$ARGS -dpi 100 -rgba rgb" ;;
"HP iPAQ HX4700")
- ARGS="$ARGS -br -dpi 200"
+ ARGS="$ARGS -dpi 200"
IMAGEON="w3220"
;;
"Ramses")
- ARGS="$ARGS -br -dpi 100 -rgba vrgb -screen 320x240@90 vt2" ;;
+ # What is this "vt2" in aid of?
+ ARGS="$ARGS -dpi 100 -rgba vrgb -screen ${SCREEN_SIZE}@90 vt2" ;;
# both 'Sharp-Collie' and just 'Collie' have been reported
*Poodle)
- ARGS="$ARGS -br -dpi 100 -rgba vrgb -screen 320x240@270" ;;
+ ARGS="$ARGS -dpi 100 -rgba vrgb -screen ${SCREEN_SIZE}@270" ;;
*Collie)
- ARGS="$ARGS -br -dpi 100 -rgba vrgb -screen 320x240@270" ;;
+ ARGS="$ARGS -dpi 100 -rgba vrgb -screen ${SCREEN_SIZE}@270" ;;
"SHARP Shepherd" | "SHARP Husky" | "SHARP Corgi")
- ARGS="$ARGS -br -dpi 200 -rgba rgb"
+ if [ `screen_width` -gt 330 ] ; then
+ DPI=200
+ else
+ DPI=100
+ fi
+ ARGS="$ARGS -dpi ${DPI} -rgba rgb"
IMAGEON="w100"
;;
"SHARP Spitz" | "SHARP Akita" | "SHARP Borzoi")
- ARGS="$ARGS -br -dpi 200 -rgba rgb -screen 480x640@270" ;;
+ ARGS="$ARGS -dpi 200 -rgba rgb -screen ${SCREEN_SIZE}@270" ;;
"Simpad")
- ARGS="$ARGS -br -dpi 100 -rgba rgb" ;;
+ ARGS="$ARGS -dpi 100 -rgba rgb" ;;
"Generic OMAP1510/1610/1710")
- ARGS="$ARGS -br -dpi 220 -mouse /dev/input/event0" ;;
+ ARGS="$ARGS -dpi 220 -mouse /dev/input/event0" ;;
"Cellon C8000 Board")
- ARGS="$ARGS -br -dpi 100 -screen 240x320,10,1" ;;
+ ARGS="$ARGS -dpi 100 -screen ${SCREEN_SIZE},10,1" ;;
"HTC Magician")
- ARGS="$ARGS -br -dpi 142" ;;
+ ARGS="$ARGS -dpi 142" ;;
"HTC Universal")
- ARGS="$ARGS -br -dpi 225 -screen 480x640@270" ;;
+ ARGS="$ARGS -dpi 225 -screen ${SCREEN_SIZE}@270" ;;
"ARM-IntegratorCP" | "ARM-Versatile PB")
- ARGS="$ARGS -br -rgba vrgb" ;;
+ ARGS="$ARGS -rgba vrgb" ;;
"Compulab CM-x270")
modprobe mbxfb
- ARGS="$ARGS -br -fb /dev/fb1" ;;
- "GTA01" | "GTA02")
- ARGS="$ARGS -dpi 285 -screen 480x640 -hide-cursor -root-ppm /usr/share/pixmaps/xsplash-vga.ppm vt1" ;;
- "Motorola Ezx Platform")
- ARGS="$ARGS -dpi 170 -screen 240x320 -hide-cursor -root-ppm /usr/share/pixmaps/xsplash-qvga.ppm vt1" ;;
+ ARGS="$ARGS -fb /dev/fb1" ;;
+ "GTA01")
+ if [ `screen_width` -gt 330 ] ; then
+ DPI=285
+ else
+ DPI=140
+ fi
+ ARGS="$ARGS -dpi ${DPI} -screen ${SCREEN_SIZE} -mouse tslib -hide-cursor -root-ppm /usr/share/pixmaps/xsplash-vga.ppm vt1" ;;
+ "GTA02")
+ if [ `screen_width` -gt 330 ] ; then
+ DPI=285
+ else
+ DPI=140
+ fi
+ ARGS="$ARGS -dpi ${DPI} -screen ${SCREEN_SIZE} -mouse tslib -hide-cursor -root-ppm /usr/share/pixmaps/xsplash-vga.ppm vt1"
+ XSERVER=/usr/bin/Xglamo
+ ;;
+ "Nokia N770")
+ ARGS="$ARGS -dpi 225 -screen ${SCREEN_SIZE} -mouse tslib"
+ XSERVER=/usr/bin/Xomap ;;
"Nokia N800")
- ARGS="$ARGS -br -dpi 225 -screen 800x480x16 -mouse tslib" ;;
+ ARGS="$ARGS -dpi 225 -screen ${SCREEN_SIZE} -mouse tslib"
+ XSERVER=/usr/bin/Xomap ;;
+ "Motorola Ezx Platform")
+ ARGS="$ARGS -dpi 170 -screen ${SCREEN_SIZE} -hide-cursor -root-ppm /usr/share/pixmaps/xsplash-qvga.ppm vt1" ;;
"Freescale MX21ADS")
# That's what /proc/cpuinfo shows as hardware on the chumby
ARGS="$ARGS -dpi 121 -screen 320x240 -hide-cursor -mouse tslib -root-ppm /usr/share/pixmaps/xsplash-qvga.ppm vt1" ;;
+
*)
# It is a device we do not know about, in which case we force
# kdrive to use the current framebuffer geometry -- otherwise
# it will default to trying to achieve 1024x768
- S=`fallback_screen_arg`
+ S=${SCREEN_SIZE}
ARGS="$ARGS -screen $S" ;;
esac
diff --git a/packages/zaurusd/files/zaurus-hinge.in b/packages/zaurusd/files/zaurus-hinge.in
index 9670e8803e..0fcad38f98 100644
--- a/packages/zaurusd/files/zaurus-hinge.in
+++ b/packages/zaurusd/files/zaurus-hinge.in
@@ -21,13 +21,18 @@ fi
panel_user="`ps aux|grep matchbox-panel|grep -v grep | awk '{print $1}'`"
+STATE=$1
+
# touch ~/.norot can disable rotation.
if test -f /home/$panel_user/.norot ; then
+ if [ $STATE = "3" ]; then
+ . /etc/zaurusd/hinge-close.d/00-backlight-off
+ else
+ . /etc/zaurusd/hinge-landscape.d/00-backlight-on
+ fi
exit
fi
-STATE=$1
-
if [ $STATE = "3" ]; then
for script in `ls -1 /etc/zaurusd/hinge-close.d`
diff --git a/packages/zaurusd/zaurusd_svn.bb b/packages/zaurusd/zaurusd_svn.bb
index be9379eced..2ad405e419 100644
--- a/packages/zaurusd/zaurusd_svn.bb
+++ b/packages/zaurusd/zaurusd_svn.bb
@@ -4,7 +4,7 @@ LICENSE = "GPL"
DEPENDS = "tslib"
RDEPENDS = "procps"
PV = "0.0+svn${SRCDATE}"
-PR = "r17"
+PR = "r18"
SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=zaurusd;proto=http \
file://zaurus-hinge.in \